blob: d7bd4dc286333503fef16fb0ed0fda407726bead [file] [edit]
<html><body>
<style>
body, h1, h2, h3, div, span, p, pre, a {
margin: 0;
padding: 0;
border: 0;
font-weight: inherit;
font-style: inherit;
font-size: 100%;
font-family: inherit;
vertical-align: baseline;
}
body {
font-size: 13px;
padding: 1em;
}
h1 {
font-size: 26px;
margin-bottom: 1em;
}
h2 {
font-size: 24px;
margin-bottom: 1em;
}
h3 {
font-size: 20px;
margin-bottom: 1em;
margin-top: 1em;
}
pre, code {
line-height: 1.5;
font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}
pre {
margin-top: 0.5em;
}
h1, h2, h3, p {
font-family: Arial, sans serif;
}
h1, h2, h3 {
border-bottom: solid #CCC 1px;
}
.toc_element {
margin-top: 0.5em;
}
.firstline {
margin-left: 2 em;
}
.method {
margin-top: 1em;
border: solid 1px #CCC;
padding: 1em;
background: #EEE;
}
.details {
font-weight: bold;
font-size: 14px;
}
</style>
<h1><a href="aiplatform_v1beta1.html">Agent Platform API</a> . <a href="aiplatform_v1beta1.interactions.html">interactions</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
<code><a href="#cancel">cancel(name, x__xgafv=None)</a></code></p>
<p class="firstline">Cancels an interaction.</p>
<p class="toc_element">
<code><a href="#close">close()</a></code></p>
<p class="firstline">Close httplib2 connections.</p>
<p class="toc_element">
<code><a href="#getPoll">getPoll(name, includeInput=None, lastEventId=None, stream=None, x__xgafv=None)</a></code></p>
<p class="firstline">Fully typed proto, unary version of GetInteraction that returns Interaction proto.</p>
<p class="toc_element">
<code><a href="#getStream">getStream(name, includeInput=None, lastEventId=None, stream=None, x__xgafv=None)</a></code></p>
<p class="firstline">Fully typed proto, streaming version of GetInteraction that returns Interaction proto.</p>
<h3>Method Details</h3>
<div class="method">
<code class="details" id="cancel">cancel(name, x__xgafv=None)</code>
<pre>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.
&quot;agentInteraction&quot;: { # Interaction for generating the completion using agents. # Interaction for generating the completion using agents.
&quot;agent&quot;: &quot;A String&quot;, # The name of the `Agent` used for generating the completion.
&quot;deepResearchConfig&quot;: { # Configuration for the Deep Research agent.
&quot;collaborativePlanning&quot;: 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.
&quot;enableBigqueryTool&quot;: True or False, # Enables bigquery tool for the Deep Research agent.
&quot;thinkingSummaries&quot;: &quot;A String&quot;, # Whether to include thought summaries in the response.
&quot;visualization&quot;: &quot;A String&quot;, # Whether to include visualizations in the response.
},
&quot;dynamicConfig&quot;: { # Configuration for dynamic agents.
&quot;config&quot;: { # `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.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
},
&quot;content&quot;: { # The content of the response. # The content for the interaction.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
&quot;contentList&quot;: { # A list of Content. # The inputs for the interaction.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;created&quot;: &quot;A String&quot;, # Required. Output only. The time at which the response was created in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ).
&quot;envId&quot;: &quot;A String&quot;, # The environment ID for the interaction. Can be &#x27;remote&#x27; for default environment.
&quot;environmentId&quot;: &quot;A String&quot;, # Output only. The environment ID for the interaction. Only populated if environment config is set in the request.
&quot;id&quot;: &quot;A String&quot;, # Required. Output only. A unique identifier for the interaction completion.
&quot;modelInteraction&quot;: { # Interaction for generating the completion using models. # Interaction for generating the completion using models.
&quot;cached_content&quot;: &quot;A String&quot;, # The name of the cached content used as context to serve the prediction. Note: only used in explicit caching, where users can have control over caching (e.g. what content to cache) and enjoy guaranteed cost savings. Format: `projects/{project}/locations/{location}/cachedContents/{cachedContent}`
&quot;generationConfig&quot;: { # Configuration parameters for model interactions. # Input only. Configuration parameters for the model interaction.
&quot;frequency_penalty&quot;: 3.14, # Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0].
&quot;imageConfig&quot;: { # The configuration for image interaction. # Configuration for image interaction.
&quot;aspectRatio&quot;: &quot;A String&quot;, # 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.
&quot;imageSize&quot;: &quot;A String&quot;, # Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`.
},
&quot;maxOutputTokens&quot;: 42, # The maximum number of tokens to include in the response.
&quot;presence_penalty&quot;: 3.14, # Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0].
&quot;seed&quot;: 42, # Seed used in decoding for reproducibility.
&quot;speechConfig&quot;: [ # Configuration for speech interaction.
{ # The configuration for speech interaction.
&quot;language&quot;: &quot;A String&quot;, # The language of the speech.
&quot;speaker&quot;: &quot;A String&quot;, # The speaker&#x27;s name, it should match the speaker name given in the prompt.
&quot;voice&quot;: &quot;A String&quot;, # The voice of the speaker.
},
],
&quot;stopSequences&quot;: [ # A list of character sequences that will stop output interaction.
&quot;A String&quot;,
],
&quot;temperature&quot;: 3.14, # Controls the randomness of the output.
&quot;thinkingLevel&quot;: &quot;A String&quot;, # The level of thought tokens that the model should generate.
&quot;thinkingSummaries&quot;: &quot;A String&quot;, # Whether to include thought summaries in the response.
&quot;toolChoiceConfig&quot;: { # The tool choice configuration containing allowed tools. # The config for the tool choice.
&quot;allowedTools&quot;: { # The configuration for allowed tools. # The allowed tools.
&quot;mode&quot;: &quot;A String&quot;, # The mode of the tool choice.
&quot;tools&quot;: [ # The names of the allowed tools.
&quot;A String&quot;,
],
},
},
&quot;toolChoiceMode&quot;: &quot;A String&quot;, # The mode of the tool choice.
&quot;topP&quot;: 3.14, # The maximum cumulative probability of tokens to consider when sampling.
},
&quot;model&quot;: &quot;A String&quot;, # The name of the `Model` used for generating the completion.
},
&quot;outputs&quot;: [ # Output only. Responses from the model.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
&quot;previousInteractionId&quot;: &quot;A String&quot;, # The ID of the previous interaction, if any.
&quot;remoteEnvironment&quot;: { # Configuration for a custom environment.
&quot;networkAllowlist&quot;: { # Network egress configuration for the environment. # Allow only specific domains.
&quot;allowlist&quot;: [ # List of allowed domains and their configurations.
{ # A network egress rule that controls which external domains the environment is allowed to reach. Each rule identifies a target domain and, optionally, a set of HTTP headers to inject into every matching outbound request.
&quot;domain&quot;: &quot;A String&quot;, # The domain pattern to match for this rule. Use an exact hostname (e.g., `github.com`), a wildcard prefix (e.g., `*.googleapis.com`), or `*` to match all domains.
&quot;transform&quot;: { # Headers to inject into requests matching this rule. Key: header name (e.g., &quot;Authorization&quot;). Value: header value (e.g., &quot;Bearer your-token&quot;).
&quot;a_key&quot;: &quot;A String&quot;,
},
},
],
},
&quot;networkMode&quot;: &quot;A String&quot;, # Network egress mode.
&quot;sources&quot;: [
{ # A source to be mounted into the environment.
&quot;content&quot;: &quot;A String&quot;, # The inline content if `type` is `INLINE`.
&quot;encoding&quot;: &quot;A String&quot;, # Optional encoding for inline content (e.g. `base64`).
&quot;source&quot;: &quot;A String&quot;, # The source of the environment. For GCS, this is the GCS path. For GitHub, this is the GitHub path.
&quot;target&quot;: &quot;A String&quot;, # Where the source should appear in the environment.
&quot;type&quot;: &quot;A String&quot;,
},
],
},
&quot;responseFormat&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, 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.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
&quot;responseFormatList&quot;: {
&quot;responseFormats&quot;: [
{
&quot;audio&quot;: { # Configuration for audio output format.
&quot;bitRate&quot;: 42, # Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus).
&quot;delivery&quot;: &quot;A String&quot;, # The delivery mode for the audio output.
&quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the audio output.
&quot;sampleRate&quot;: 42, # Sample rate in Hz.
},
&quot;image&quot;: { # Configuration for image output format.
&quot;aspectRatio&quot;: &quot;A String&quot;, # The aspect ratio for the image output.
&quot;delivery&quot;: &quot;A String&quot;, # The delivery mode for the image output.
&quot;imageSize&quot;: &quot;A String&quot;, # The size of the image output.
&quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the image output.
},
&quot;structValue&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Multi-discriminator values is already enabled in GAOS
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;text&quot;: { # Configuration for text output format.
&quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the text output.
&quot;schema&quot;: { # `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.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
},
],
},
&quot;responseFormatSingleton&quot;: {
&quot;audio&quot;: { # Configuration for audio output format.
&quot;bitRate&quot;: 42, # Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus).
&quot;delivery&quot;: &quot;A String&quot;, # The delivery mode for the audio output.
&quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the audio output.
&quot;sampleRate&quot;: 42, # Sample rate in Hz.
},
&quot;image&quot;: { # Configuration for image output format.
&quot;aspectRatio&quot;: &quot;A String&quot;, # The aspect ratio for the image output.
&quot;delivery&quot;: &quot;A String&quot;, # The delivery mode for the image output.
&quot;imageSize&quot;: &quot;A String&quot;, # The size of the image output.
&quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the image output.
},
&quot;structValue&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Multi-discriminator values is already enabled in GAOS
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;text&quot;: { # Configuration for text output format.
&quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the text output.
&quot;schema&quot;: { # `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.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
},
&quot;responseMimeType&quot;: &quot;A String&quot;, # The mime type of the response. This is required if response_format is set.
&quot;responseModalities&quot;: [ # The requested modalities of the response (TEXT, IMAGE, AUDIO).
&quot;A String&quot;,
],
&quot;role&quot;: &quot;A String&quot;, # Output only. The role of the interaction.
&quot;status&quot;: &quot;A String&quot;, # Required. Output only. The status of the interaction.
&quot;stepList&quot;: { # A list of Steps. # Input only. The steps for the interaction.
&quot;steps&quot;: [ # The steps of the list.
{ # A step in the interaction.
&quot;modelOutput&quot;: { # Output generated by the model.
&quot;content&quot;: [
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;thought&quot;: { # A thought step.
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;summary&quot;: [ # A summary of the thought.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;toolCall&quot;: { # Tool call step.
&quot;codeExecutionCall&quot;: { # Code execution call step.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search call step.
},
&quot;functionCall&quot;: { # A function tool call step.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps call step.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search call step.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call step.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context call step.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result step.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result step.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result step.
},
&quot;functionResult&quot;: { # Result of a function tool call.
&quot;contentList&quot;: { # A list of Content.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result step.
&quot;result&quot;: [
{ # The result of the Google Maps.
&quot;places&quot;: [
{
&quot;name&quot;: &quot;A String&quot;,
&quot;placeId&quot;: &quot;A String&quot;,
&quot;reviewSnippets&quot;: [
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;,
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;,
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result step.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result step.
&quot;contentList&quot;: { # A list of Content.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result step.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;userInput&quot;: { # Input provided by the user. # DO NOT USE -- These are for 3P JSON only
&quot;contentList&quot;: { # A list of Content. # The content of the step. An array of Content objects.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;contentString&quot;: &quot;A String&quot;, # The content of the step. A single string.
},
},
],
},
&quot;steps&quot;: [ # Required. Output only. The steps that make up the interaction.
{ # A step in the interaction.
&quot;modelOutput&quot;: { # Output generated by the model.
&quot;content&quot;: [
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;thought&quot;: { # A thought step.
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;summary&quot;: [ # A summary of the thought.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;toolCall&quot;: { # Tool call step.
&quot;codeExecutionCall&quot;: { # Code execution call step.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search call step.
},
&quot;functionCall&quot;: { # A function tool call step.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps call step.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search call step.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call step.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context call step.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result step.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result step.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result step.
},
&quot;functionResult&quot;: { # Result of a function tool call.
&quot;contentList&quot;: { # A list of Content.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result step.
&quot;result&quot;: [
{ # The result of the Google Maps.
&quot;places&quot;: [
{
&quot;name&quot;: &quot;A String&quot;,
&quot;placeId&quot;: &quot;A String&quot;,
&quot;reviewSnippets&quot;: [
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;,
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;,
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result step.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result step.
&quot;contentList&quot;: { # A list of Content.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result step.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;userInput&quot;: { # Input provided by the user. # DO NOT USE -- These are for 3P JSON only
&quot;contentList&quot;: { # A list of Content. # The content of the step. An array of Content objects.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;contentString&quot;: &quot;A String&quot;, # The content of the step. A single string.
},
},
],
&quot;stringContent&quot;: &quot;A String&quot;, # A string input for the interaction, it will be processed as a single text input.
&quot;systemInstruction&quot;: &quot;A String&quot;, # System instruction for the interaction.
&quot;tools&quot;: [ # A list of tool declarations the model may call during interaction.
{ # A tool that can be used by the model.
&quot;codeExecution&quot;: { # A tool that can be used by the model to execute code. # A tool that can be used by the model to execute code.
},
&quot;computerUse&quot;: { # A tool that can be used by the model to interact with the computer. # Tool to support the model interacting directly with the computer.
&quot;enablePromptInjectionDetection&quot;: True or False, # Whether enable the prompt injection detection check on computer-use request.
&quot;environment&quot;: &quot;A String&quot;, # The environment being operated.
&quot;excludedPredefinedFunctions&quot;: [ # The list of predefined functions that are excluded from the model call.
&quot;A String&quot;,
],
},
&quot;fileSearch&quot;: { # A tool that can be used by the model to search files. # A tool that can be used by the model to search files.
&quot;fileSearchStoreNames&quot;: [ # The file search store names to search.
&quot;A String&quot;,
],
&quot;metadataFilter&quot;: &quot;A String&quot;, # Metadata filter to apply to the semantic retrieval documents and chunks.
&quot;topK&quot;: 42, # The number of semantic retrieval chunks to retrieve.
},
&quot;function&quot;: { # A tool that can be used by the model. # A function that can be used by the model.
&quot;description&quot;: &quot;A String&quot;, # A description of the function.
&quot;name&quot;: &quot;A String&quot;, # The name of the function.
&quot;parameters&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, 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&#x27;s parameters.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
&quot;googleMaps&quot;: { # 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.
&quot;enableWidget&quot;: True or False, # Whether to return a widget context token in the tool call result of the response.
&quot;latitude&quot;: 3.14, # The latitude of the user&#x27;s location.
&quot;longitude&quot;: 3.14, # The longitude of the user&#x27;s location.
},
&quot;googleSearch&quot;: { # A tool that can be used by the model to search Google. # A tool that can be used by the model to search Google.
&quot;searchTypes&quot;: [ # The types of search grounding to enable.
&quot;A String&quot;,
],
},
&quot;mcpServer&quot;: { # 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.
&quot;allowedTools&quot;: [ # The allowed tools.
{ # The configuration for allowed tools.
&quot;mode&quot;: &quot;A String&quot;, # The mode of the tool choice.
&quot;tools&quot;: [ # The names of the allowed tools.
&quot;A String&quot;,
],
},
],
&quot;headers&quot;: { # Optional: Fields for authentication headers, timeouts, etc., if needed.
&quot;a_key&quot;: &quot;A String&quot;,
},
&quot;name&quot;: &quot;A String&quot;, # The name of the MCPServer.
&quot;url&quot;: &quot;A String&quot;, # The full URL for the MCPServer endpoint. Example: &quot;https://api.example.com/mcp&quot;
},
&quot;retrieval&quot;: { # A tool that can be used by the model to retrieve files. # A tool that can be used by the model to retrieve files.
&quot;exa_ai_search_config&quot;: { # Used to specify configuration for ExaAISearch. # Used to specify configuration for ExaAISearch.
&quot;api_key&quot;: &quot;A String&quot;, # Required. The API key for ExaAiSearch.
&quot;custom_config&quot;: { # Optional. This field can be used to pass any parameter from the Exa.ai Search API.
&quot;a_key&quot;: &quot;&quot;, # Properties of the object.
},
},
&quot;parallel_ai_search_config&quot;: { # Used to specify configuration for ParallelAISearch. # Used to specify configuration for ParallelAISearch.
&quot;api_key&quot;: &quot;A String&quot;, # Optional. The API key for ParallelAiSearch.
&quot;custom_config&quot;: { # Optional. Custom configs for ParallelAiSearch.
&quot;a_key&quot;: &quot;&quot;, # Properties of the object.
},
},
&quot;rag_store_config&quot;: { # Use to specify configuration for RAG Store. # Used to specify configuration for RagStore.
&quot;rag_resources&quot;: [ # Optional. The representation of the rag source.
{ # The definition of the Rag resource.
&quot;rag_corpus&quot;: &quot;A String&quot;, # Optional. RagCorpora resource name.
&quot;rag_file_ids&quot;: [ # Optional. rag_file_id. The files should be in the same rag_corpus set in rag_corpus field.
&quot;A String&quot;,
],
},
],
&quot;rag_retrieval_config&quot;: { # Specifies the context retrieval config. # Optional. The retrieval config for the Rag query.
&quot;filter&quot;: { # Config for filters. # Optional. Config for filters.
&quot;metadata_filter&quot;: &quot;A String&quot;, # Optional. String for metadata filtering.
&quot;vector_distance_threshold&quot;: 3.14, # Optional. Only returns contexts with vector distance smaller than the threshold.
&quot;vector_similarity_threshold&quot;: 3.14, # Optional. Only returns contexts with vector similarity larger than the threshold.
},
&quot;hybrid_search&quot;: { # Config for Hybrid Search. # Optional. Config for Hybrid Search.
&quot;alpha&quot;: 3.14, # Optional. Alpha value controls the weight between dense and sparse vector search results.
},
&quot;ranking&quot;: { # Config for ranking and reranking. # Optional. Config for ranking and reranking.
&quot;rank_service&quot;: { # Config for Rank Service. # Optional. Config for Rank Service.
&quot;model_name&quot;: &quot;A String&quot;, # Optional. The model name of the rank service.
},
},
&quot;top_k&quot;: 42, # Optional. The number of contexts to retrieve.
},
&quot;similarity_top_k&quot;: 42, # Optional. Number of top k results to return from the selected corpora.
&quot;vector_distance_threshold&quot;: 3.14, # Optional. Only return results with vector distance smaller than the threshold.
},
&quot;retrievalTypes&quot;: [ # The types of file retrieval to enable.
&quot;A String&quot;,
],
&quot;vertex_ai_search_config&quot;: { # Used to specify configuration for VertexAISearch. # Used to specify configuration for VertexAISearch.
&quot;datastores&quot;: [ # Optional. Used to specify Vertex AI Search datastores.
&quot;A String&quot;,
],
&quot;engine&quot;: &quot;A String&quot;, # Optional. Used to specify Vertex AI Search engine.
},
},
&quot;urlContext&quot;: { # 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.
},
},
],
&quot;turnList&quot;: { # A list of Turns. # The turns for the interaction.
&quot;turns&quot;: [
{
&quot;contentList&quot;: { # A list of Content. # The content of the turn. An array of Content objects.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;contentString&quot;: &quot;A String&quot;, # The content of the turn. A single string.
&quot;role&quot;: &quot;A String&quot;, # The originator of this turn. Must be user for input or model for model output.
},
],
},
&quot;updated&quot;: &quot;A String&quot;, # Required. Output only. The time at which the response was last updated in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ).
&quot;usage&quot;: { # Statistics on the interaction request&#x27;s token usage. # Output only. Statistics on the interaction request&#x27;s token usage.
&quot;cachedTokensByModality&quot;: [ # A breakdown of cached token usage by modality.
{ # The token count for a single response modality.
&quot;modality&quot;: &quot;A String&quot;, # The modality associated with the token count.
&quot;tokens&quot;: 42, # Number of tokens for the modality.
},
],
&quot;groundingToolCount&quot;: [ # Grounding tool count.
{ # The number of grounding tool counts.
&quot;count&quot;: 42, # The number of grounding tool counts.
&quot;type&quot;: &quot;A String&quot;, # The grounding tool type associated with the count.
},
],
&quot;inputTokensByModality&quot;: [ # A breakdown of input token usage by modality.
{ # The token count for a single response modality.
&quot;modality&quot;: &quot;A String&quot;, # The modality associated with the token count.
&quot;tokens&quot;: 42, # Number of tokens for the modality.
},
],
&quot;outputTokensByModality&quot;: [ # A breakdown of output token usage by modality.
{ # The token count for a single response modality.
&quot;modality&quot;: &quot;A String&quot;, # The modality associated with the token count.
&quot;tokens&quot;: 42, # Number of tokens for the modality.
},
],
&quot;toolUseTokensByModality&quot;: [ # A breakdown of tool-use token usage by modality.
{ # The token count for a single response modality.
&quot;modality&quot;: &quot;A String&quot;, # The modality associated with the token count.
&quot;tokens&quot;: 42, # Number of tokens for the modality.
},
],
&quot;totalCachedTokens&quot;: 42, # Number of tokens in the cached part of the prompt (the cached content).
&quot;totalInputTokens&quot;: 42, # Number of tokens in the prompt (context).
&quot;totalOutputTokens&quot;: 42, # Total number of tokens across all the generated responses.
&quot;totalThoughtTokens&quot;: 42, # Number of tokens of thoughts for thinking models.
&quot;totalTokens&quot;: 42, # Total token count for the interaction request (prompt + responses + other internal tokens).
&quot;totalToolUseTokens&quot;: 42, # Number of tokens present in tool-use prompt(s).
},
}</pre>
</div>
<div class="method">
<code class="details" id="close">close()</code>
<pre>Close httplib2 connections.</pre>
</div>
<div class="method">
<code class="details" id="getPoll">getPoll(name, includeInput=None, lastEventId=None, stream=None, x__xgafv=None)</code>
<pre>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)
includeInput: boolean, Optional. If true, includes the input in the response.
lastEventId: 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.
&quot;agentInteraction&quot;: { # Interaction for generating the completion using agents. # Interaction for generating the completion using agents.
&quot;agent&quot;: &quot;A String&quot;, # The name of the `Agent` used for generating the completion.
&quot;deepResearchConfig&quot;: { # Configuration for the Deep Research agent.
&quot;collaborativePlanning&quot;: 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.
&quot;enableBigqueryTool&quot;: True or False, # Enables bigquery tool for the Deep Research agent.
&quot;thinkingSummaries&quot;: &quot;A String&quot;, # Whether to include thought summaries in the response.
&quot;visualization&quot;: &quot;A String&quot;, # Whether to include visualizations in the response.
},
&quot;dynamicConfig&quot;: { # Configuration for dynamic agents.
&quot;config&quot;: { # `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.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
},
&quot;content&quot;: { # The content of the response. # The content for the interaction.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
&quot;contentList&quot;: { # A list of Content. # The inputs for the interaction.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;created&quot;: &quot;A String&quot;, # Required. Output only. The time at which the response was created in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ).
&quot;envId&quot;: &quot;A String&quot;, # The environment ID for the interaction. Can be &#x27;remote&#x27; for default environment.
&quot;environmentId&quot;: &quot;A String&quot;, # Output only. The environment ID for the interaction. Only populated if environment config is set in the request.
&quot;id&quot;: &quot;A String&quot;, # Required. Output only. A unique identifier for the interaction completion.
&quot;modelInteraction&quot;: { # Interaction for generating the completion using models. # Interaction for generating the completion using models.
&quot;cached_content&quot;: &quot;A String&quot;, # The name of the cached content used as context to serve the prediction. Note: only used in explicit caching, where users can have control over caching (e.g. what content to cache) and enjoy guaranteed cost savings. Format: `projects/{project}/locations/{location}/cachedContents/{cachedContent}`
&quot;generationConfig&quot;: { # Configuration parameters for model interactions. # Input only. Configuration parameters for the model interaction.
&quot;frequency_penalty&quot;: 3.14, # Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0].
&quot;imageConfig&quot;: { # The configuration for image interaction. # Configuration for image interaction.
&quot;aspectRatio&quot;: &quot;A String&quot;, # 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.
&quot;imageSize&quot;: &quot;A String&quot;, # Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`.
},
&quot;maxOutputTokens&quot;: 42, # The maximum number of tokens to include in the response.
&quot;presence_penalty&quot;: 3.14, # Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0].
&quot;seed&quot;: 42, # Seed used in decoding for reproducibility.
&quot;speechConfig&quot;: [ # Configuration for speech interaction.
{ # The configuration for speech interaction.
&quot;language&quot;: &quot;A String&quot;, # The language of the speech.
&quot;speaker&quot;: &quot;A String&quot;, # The speaker&#x27;s name, it should match the speaker name given in the prompt.
&quot;voice&quot;: &quot;A String&quot;, # The voice of the speaker.
},
],
&quot;stopSequences&quot;: [ # A list of character sequences that will stop output interaction.
&quot;A String&quot;,
],
&quot;temperature&quot;: 3.14, # Controls the randomness of the output.
&quot;thinkingLevel&quot;: &quot;A String&quot;, # The level of thought tokens that the model should generate.
&quot;thinkingSummaries&quot;: &quot;A String&quot;, # Whether to include thought summaries in the response.
&quot;toolChoiceConfig&quot;: { # The tool choice configuration containing allowed tools. # The config for the tool choice.
&quot;allowedTools&quot;: { # The configuration for allowed tools. # The allowed tools.
&quot;mode&quot;: &quot;A String&quot;, # The mode of the tool choice.
&quot;tools&quot;: [ # The names of the allowed tools.
&quot;A String&quot;,
],
},
},
&quot;toolChoiceMode&quot;: &quot;A String&quot;, # The mode of the tool choice.
&quot;topP&quot;: 3.14, # The maximum cumulative probability of tokens to consider when sampling.
},
&quot;model&quot;: &quot;A String&quot;, # The name of the `Model` used for generating the completion.
},
&quot;outputs&quot;: [ # Output only. Responses from the model.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
&quot;previousInteractionId&quot;: &quot;A String&quot;, # The ID of the previous interaction, if any.
&quot;remoteEnvironment&quot;: { # Configuration for a custom environment.
&quot;networkAllowlist&quot;: { # Network egress configuration for the environment. # Allow only specific domains.
&quot;allowlist&quot;: [ # List of allowed domains and their configurations.
{ # A network egress rule that controls which external domains the environment is allowed to reach. Each rule identifies a target domain and, optionally, a set of HTTP headers to inject into every matching outbound request.
&quot;domain&quot;: &quot;A String&quot;, # The domain pattern to match for this rule. Use an exact hostname (e.g., `github.com`), a wildcard prefix (e.g., `*.googleapis.com`), or `*` to match all domains.
&quot;transform&quot;: { # Headers to inject into requests matching this rule. Key: header name (e.g., &quot;Authorization&quot;). Value: header value (e.g., &quot;Bearer your-token&quot;).
&quot;a_key&quot;: &quot;A String&quot;,
},
},
],
},
&quot;networkMode&quot;: &quot;A String&quot;, # Network egress mode.
&quot;sources&quot;: [
{ # A source to be mounted into the environment.
&quot;content&quot;: &quot;A String&quot;, # The inline content if `type` is `INLINE`.
&quot;encoding&quot;: &quot;A String&quot;, # Optional encoding for inline content (e.g. `base64`).
&quot;source&quot;: &quot;A String&quot;, # The source of the environment. For GCS, this is the GCS path. For GitHub, this is the GitHub path.
&quot;target&quot;: &quot;A String&quot;, # Where the source should appear in the environment.
&quot;type&quot;: &quot;A String&quot;,
},
],
},
&quot;responseFormat&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, 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.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
&quot;responseFormatList&quot;: {
&quot;responseFormats&quot;: [
{
&quot;audio&quot;: { # Configuration for audio output format.
&quot;bitRate&quot;: 42, # Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus).
&quot;delivery&quot;: &quot;A String&quot;, # The delivery mode for the audio output.
&quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the audio output.
&quot;sampleRate&quot;: 42, # Sample rate in Hz.
},
&quot;image&quot;: { # Configuration for image output format.
&quot;aspectRatio&quot;: &quot;A String&quot;, # The aspect ratio for the image output.
&quot;delivery&quot;: &quot;A String&quot;, # The delivery mode for the image output.
&quot;imageSize&quot;: &quot;A String&quot;, # The size of the image output.
&quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the image output.
},
&quot;structValue&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Multi-discriminator values is already enabled in GAOS
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;text&quot;: { # Configuration for text output format.
&quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the text output.
&quot;schema&quot;: { # `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.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
},
],
},
&quot;responseFormatSingleton&quot;: {
&quot;audio&quot;: { # Configuration for audio output format.
&quot;bitRate&quot;: 42, # Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus).
&quot;delivery&quot;: &quot;A String&quot;, # The delivery mode for the audio output.
&quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the audio output.
&quot;sampleRate&quot;: 42, # Sample rate in Hz.
},
&quot;image&quot;: { # Configuration for image output format.
&quot;aspectRatio&quot;: &quot;A String&quot;, # The aspect ratio for the image output.
&quot;delivery&quot;: &quot;A String&quot;, # The delivery mode for the image output.
&quot;imageSize&quot;: &quot;A String&quot;, # The size of the image output.
&quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the image output.
},
&quot;structValue&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Multi-discriminator values is already enabled in GAOS
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;text&quot;: { # Configuration for text output format.
&quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the text output.
&quot;schema&quot;: { # `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.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
},
&quot;responseMimeType&quot;: &quot;A String&quot;, # The mime type of the response. This is required if response_format is set.
&quot;responseModalities&quot;: [ # The requested modalities of the response (TEXT, IMAGE, AUDIO).
&quot;A String&quot;,
],
&quot;role&quot;: &quot;A String&quot;, # Output only. The role of the interaction.
&quot;status&quot;: &quot;A String&quot;, # Required. Output only. The status of the interaction.
&quot;stepList&quot;: { # A list of Steps. # Input only. The steps for the interaction.
&quot;steps&quot;: [ # The steps of the list.
{ # A step in the interaction.
&quot;modelOutput&quot;: { # Output generated by the model.
&quot;content&quot;: [
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;thought&quot;: { # A thought step.
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;summary&quot;: [ # A summary of the thought.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;toolCall&quot;: { # Tool call step.
&quot;codeExecutionCall&quot;: { # Code execution call step.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search call step.
},
&quot;functionCall&quot;: { # A function tool call step.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps call step.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search call step.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call step.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context call step.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result step.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result step.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result step.
},
&quot;functionResult&quot;: { # Result of a function tool call.
&quot;contentList&quot;: { # A list of Content.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result step.
&quot;result&quot;: [
{ # The result of the Google Maps.
&quot;places&quot;: [
{
&quot;name&quot;: &quot;A String&quot;,
&quot;placeId&quot;: &quot;A String&quot;,
&quot;reviewSnippets&quot;: [
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;,
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;,
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result step.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result step.
&quot;contentList&quot;: { # A list of Content.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result step.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;userInput&quot;: { # Input provided by the user. # DO NOT USE -- These are for 3P JSON only
&quot;contentList&quot;: { # A list of Content. # The content of the step. An array of Content objects.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;contentString&quot;: &quot;A String&quot;, # The content of the step. A single string.
},
},
],
},
&quot;steps&quot;: [ # Required. Output only. The steps that make up the interaction.
{ # A step in the interaction.
&quot;modelOutput&quot;: { # Output generated by the model.
&quot;content&quot;: [
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;thought&quot;: { # A thought step.
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;summary&quot;: [ # A summary of the thought.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;toolCall&quot;: { # Tool call step.
&quot;codeExecutionCall&quot;: { # Code execution call step.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search call step.
},
&quot;functionCall&quot;: { # A function tool call step.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps call step.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search call step.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call step.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context call step.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result step.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result step.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result step.
},
&quot;functionResult&quot;: { # Result of a function tool call.
&quot;contentList&quot;: { # A list of Content.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result step.
&quot;result&quot;: [
{ # The result of the Google Maps.
&quot;places&quot;: [
{
&quot;name&quot;: &quot;A String&quot;,
&quot;placeId&quot;: &quot;A String&quot;,
&quot;reviewSnippets&quot;: [
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;,
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;,
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result step.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result step.
&quot;contentList&quot;: { # A list of Content.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result step.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;userInput&quot;: { # Input provided by the user. # DO NOT USE -- These are for 3P JSON only
&quot;contentList&quot;: { # A list of Content. # The content of the step. An array of Content objects.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;contentString&quot;: &quot;A String&quot;, # The content of the step. A single string.
},
},
],
&quot;stringContent&quot;: &quot;A String&quot;, # A string input for the interaction, it will be processed as a single text input.
&quot;systemInstruction&quot;: &quot;A String&quot;, # System instruction for the interaction.
&quot;tools&quot;: [ # A list of tool declarations the model may call during interaction.
{ # A tool that can be used by the model.
&quot;codeExecution&quot;: { # A tool that can be used by the model to execute code. # A tool that can be used by the model to execute code.
},
&quot;computerUse&quot;: { # A tool that can be used by the model to interact with the computer. # Tool to support the model interacting directly with the computer.
&quot;enablePromptInjectionDetection&quot;: True or False, # Whether enable the prompt injection detection check on computer-use request.
&quot;environment&quot;: &quot;A String&quot;, # The environment being operated.
&quot;excludedPredefinedFunctions&quot;: [ # The list of predefined functions that are excluded from the model call.
&quot;A String&quot;,
],
},
&quot;fileSearch&quot;: { # A tool that can be used by the model to search files. # A tool that can be used by the model to search files.
&quot;fileSearchStoreNames&quot;: [ # The file search store names to search.
&quot;A String&quot;,
],
&quot;metadataFilter&quot;: &quot;A String&quot;, # Metadata filter to apply to the semantic retrieval documents and chunks.
&quot;topK&quot;: 42, # The number of semantic retrieval chunks to retrieve.
},
&quot;function&quot;: { # A tool that can be used by the model. # A function that can be used by the model.
&quot;description&quot;: &quot;A String&quot;, # A description of the function.
&quot;name&quot;: &quot;A String&quot;, # The name of the function.
&quot;parameters&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, 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&#x27;s parameters.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
&quot;googleMaps&quot;: { # 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.
&quot;enableWidget&quot;: True or False, # Whether to return a widget context token in the tool call result of the response.
&quot;latitude&quot;: 3.14, # The latitude of the user&#x27;s location.
&quot;longitude&quot;: 3.14, # The longitude of the user&#x27;s location.
},
&quot;googleSearch&quot;: { # A tool that can be used by the model to search Google. # A tool that can be used by the model to search Google.
&quot;searchTypes&quot;: [ # The types of search grounding to enable.
&quot;A String&quot;,
],
},
&quot;mcpServer&quot;: { # 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.
&quot;allowedTools&quot;: [ # The allowed tools.
{ # The configuration for allowed tools.
&quot;mode&quot;: &quot;A String&quot;, # The mode of the tool choice.
&quot;tools&quot;: [ # The names of the allowed tools.
&quot;A String&quot;,
],
},
],
&quot;headers&quot;: { # Optional: Fields for authentication headers, timeouts, etc., if needed.
&quot;a_key&quot;: &quot;A String&quot;,
},
&quot;name&quot;: &quot;A String&quot;, # The name of the MCPServer.
&quot;url&quot;: &quot;A String&quot;, # The full URL for the MCPServer endpoint. Example: &quot;https://api.example.com/mcp&quot;
},
&quot;retrieval&quot;: { # A tool that can be used by the model to retrieve files. # A tool that can be used by the model to retrieve files.
&quot;exa_ai_search_config&quot;: { # Used to specify configuration for ExaAISearch. # Used to specify configuration for ExaAISearch.
&quot;api_key&quot;: &quot;A String&quot;, # Required. The API key for ExaAiSearch.
&quot;custom_config&quot;: { # Optional. This field can be used to pass any parameter from the Exa.ai Search API.
&quot;a_key&quot;: &quot;&quot;, # Properties of the object.
},
},
&quot;parallel_ai_search_config&quot;: { # Used to specify configuration for ParallelAISearch. # Used to specify configuration for ParallelAISearch.
&quot;api_key&quot;: &quot;A String&quot;, # Optional. The API key for ParallelAiSearch.
&quot;custom_config&quot;: { # Optional. Custom configs for ParallelAiSearch.
&quot;a_key&quot;: &quot;&quot;, # Properties of the object.
},
},
&quot;rag_store_config&quot;: { # Use to specify configuration for RAG Store. # Used to specify configuration for RagStore.
&quot;rag_resources&quot;: [ # Optional. The representation of the rag source.
{ # The definition of the Rag resource.
&quot;rag_corpus&quot;: &quot;A String&quot;, # Optional. RagCorpora resource name.
&quot;rag_file_ids&quot;: [ # Optional. rag_file_id. The files should be in the same rag_corpus set in rag_corpus field.
&quot;A String&quot;,
],
},
],
&quot;rag_retrieval_config&quot;: { # Specifies the context retrieval config. # Optional. The retrieval config for the Rag query.
&quot;filter&quot;: { # Config for filters. # Optional. Config for filters.
&quot;metadata_filter&quot;: &quot;A String&quot;, # Optional. String for metadata filtering.
&quot;vector_distance_threshold&quot;: 3.14, # Optional. Only returns contexts with vector distance smaller than the threshold.
&quot;vector_similarity_threshold&quot;: 3.14, # Optional. Only returns contexts with vector similarity larger than the threshold.
},
&quot;hybrid_search&quot;: { # Config for Hybrid Search. # Optional. Config for Hybrid Search.
&quot;alpha&quot;: 3.14, # Optional. Alpha value controls the weight between dense and sparse vector search results.
},
&quot;ranking&quot;: { # Config for ranking and reranking. # Optional. Config for ranking and reranking.
&quot;rank_service&quot;: { # Config for Rank Service. # Optional. Config for Rank Service.
&quot;model_name&quot;: &quot;A String&quot;, # Optional. The model name of the rank service.
},
},
&quot;top_k&quot;: 42, # Optional. The number of contexts to retrieve.
},
&quot;similarity_top_k&quot;: 42, # Optional. Number of top k results to return from the selected corpora.
&quot;vector_distance_threshold&quot;: 3.14, # Optional. Only return results with vector distance smaller than the threshold.
},
&quot;retrievalTypes&quot;: [ # The types of file retrieval to enable.
&quot;A String&quot;,
],
&quot;vertex_ai_search_config&quot;: { # Used to specify configuration for VertexAISearch. # Used to specify configuration for VertexAISearch.
&quot;datastores&quot;: [ # Optional. Used to specify Vertex AI Search datastores.
&quot;A String&quot;,
],
&quot;engine&quot;: &quot;A String&quot;, # Optional. Used to specify Vertex AI Search engine.
},
},
&quot;urlContext&quot;: { # 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.
},
},
],
&quot;turnList&quot;: { # A list of Turns. # The turns for the interaction.
&quot;turns&quot;: [
{
&quot;contentList&quot;: { # A list of Content. # The content of the turn. An array of Content objects.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;contentString&quot;: &quot;A String&quot;, # The content of the turn. A single string.
&quot;role&quot;: &quot;A String&quot;, # The originator of this turn. Must be user for input or model for model output.
},
],
},
&quot;updated&quot;: &quot;A String&quot;, # Required. Output only. The time at which the response was last updated in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ).
&quot;usage&quot;: { # Statistics on the interaction request&#x27;s token usage. # Output only. Statistics on the interaction request&#x27;s token usage.
&quot;cachedTokensByModality&quot;: [ # A breakdown of cached token usage by modality.
{ # The token count for a single response modality.
&quot;modality&quot;: &quot;A String&quot;, # The modality associated with the token count.
&quot;tokens&quot;: 42, # Number of tokens for the modality.
},
],
&quot;groundingToolCount&quot;: [ # Grounding tool count.
{ # The number of grounding tool counts.
&quot;count&quot;: 42, # The number of grounding tool counts.
&quot;type&quot;: &quot;A String&quot;, # The grounding tool type associated with the count.
},
],
&quot;inputTokensByModality&quot;: [ # A breakdown of input token usage by modality.
{ # The token count for a single response modality.
&quot;modality&quot;: &quot;A String&quot;, # The modality associated with the token count.
&quot;tokens&quot;: 42, # Number of tokens for the modality.
},
],
&quot;outputTokensByModality&quot;: [ # A breakdown of output token usage by modality.
{ # The token count for a single response modality.
&quot;modality&quot;: &quot;A String&quot;, # The modality associated with the token count.
&quot;tokens&quot;: 42, # Number of tokens for the modality.
},
],
&quot;toolUseTokensByModality&quot;: [ # A breakdown of tool-use token usage by modality.
{ # The token count for a single response modality.
&quot;modality&quot;: &quot;A String&quot;, # The modality associated with the token count.
&quot;tokens&quot;: 42, # Number of tokens for the modality.
},
],
&quot;totalCachedTokens&quot;: 42, # Number of tokens in the cached part of the prompt (the cached content).
&quot;totalInputTokens&quot;: 42, # Number of tokens in the prompt (context).
&quot;totalOutputTokens&quot;: 42, # Total number of tokens across all the generated responses.
&quot;totalThoughtTokens&quot;: 42, # Number of tokens of thoughts for thinking models.
&quot;totalTokens&quot;: 42, # Total token count for the interaction request (prompt + responses + other internal tokens).
&quot;totalToolUseTokens&quot;: 42, # Number of tokens present in tool-use prompt(s).
},
}</pre>
</div>
<div class="method">
<code class="details" id="getStream">getStream(name, includeInput=None, lastEventId=None, stream=None, x__xgafv=None)</code>
<pre>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)
includeInput: boolean, Optional. If true, includes the input in the response.
lastEventId: 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:
{
&quot;contentDelta&quot;: { # The content block delta data, used for content.delta events.
&quot;delta&quot;: { # The delta content data for a content block.
&quot;audio&quot;: {
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;,
&quot;mimeType&quot;: &quot;A String&quot;,
&quot;rate&quot;: 42, # Deprecated. Use sample_rate instead. The value is ignored.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;,
},
&quot;document&quot;: {
&quot;data&quot;: &quot;A String&quot;,
&quot;mimeType&quot;: &quot;A String&quot;,
&quot;uri&quot;: &quot;A String&quot;,
},
&quot;image&quot;: {
&quot;data&quot;: &quot;A String&quot;,
&quot;mimeType&quot;: &quot;A String&quot;,
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;,
},
&quot;text&quot;: {
&quot;text&quot;: &quot;A String&quot;,
},
&quot;textAnnotation&quot;: {
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
},
&quot;thoughtSignature&quot;: {
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
},
&quot;thoughtSummary&quot;: {
&quot;content&quot;: { # The content of the response. # A new summary item to be added to the thought.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
},
&quot;toolCall&quot;: {
&quot;codeExecutionCall&quot;: {
&quot;arguments&quot;: { # The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: {
},
&quot;functionCall&quot;: {
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;,
},
&quot;googleMapsCall&quot;: {
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: {
&quot;arguments&quot;: { # The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: {
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;,
&quot;serverName&quot;: &quot;A String&quot;,
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: {
&quot;arguments&quot;: { # The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: {
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: {
&quot;isError&quot;: True or False,
&quot;result&quot;: &quot;A String&quot;,
},
&quot;fileSearchResult&quot;: {
&quot;result&quot;: [
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: {
&quot;contentList&quot;: { # A list of Content.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;isError&quot;: True or False,
&quot;name&quot;: &quot;A String&quot;,
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: {
&quot;result&quot;: [ # The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: {
&quot;isError&quot;: True or False,
&quot;result&quot;: [
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: {
&quot;contentList&quot;: { # A list of Content.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;,
&quot;serverName&quot;: &quot;A String&quot;,
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: {
&quot;isError&quot;: True or False,
&quot;result&quot;: [
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: {
&quot;data&quot;: &quot;A String&quot;,
&quot;mimeType&quot;: &quot;A String&quot;,
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;,
},
},
&quot;index&quot;: 42,
},
&quot;contentStart&quot;: { # The content block start data, used for content.start events.
&quot;content&quot;: { # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
&quot;index&quot;: 42,
},
&quot;contentStop&quot;: { # The content block stop data, used for content.stop events.
&quot;index&quot;: 42,
},
&quot;errorEvent&quot;: { # The error event data, used for error events.
&quot;error&quot;: { # Error message from an interaction.
&quot;code&quot;: &quot;A String&quot;, # A URI that identifies the error type.
&quot;message&quot;: &quot;A String&quot;, # A human-readable error message.
},
},
&quot;eventId&quot;: &quot;A String&quot;, # The event_id token to be used to resume the interaction stream, from this event.
&quot;interactionCompleteEvent&quot;: { # The interaction data, used for interaction.complete events.
&quot;interaction&quot;: { # 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.
&quot;agentInteraction&quot;: { # Interaction for generating the completion using agents. # Interaction for generating the completion using agents.
&quot;agent&quot;: &quot;A String&quot;, # The name of the `Agent` used for generating the completion.
&quot;deepResearchConfig&quot;: { # Configuration for the Deep Research agent.
&quot;collaborativePlanning&quot;: 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.
&quot;enableBigqueryTool&quot;: True or False, # Enables bigquery tool for the Deep Research agent.
&quot;thinkingSummaries&quot;: &quot;A String&quot;, # Whether to include thought summaries in the response.
&quot;visualization&quot;: &quot;A String&quot;, # Whether to include visualizations in the response.
},
&quot;dynamicConfig&quot;: { # Configuration for dynamic agents.
&quot;config&quot;: { # `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.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
},
&quot;content&quot;: { # The content of the response. # The content for the interaction.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
&quot;contentList&quot;: { # A list of Content. # The inputs for the interaction.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;created&quot;: &quot;A String&quot;, # Required. Output only. The time at which the response was created in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ).
&quot;envId&quot;: &quot;A String&quot;, # The environment ID for the interaction. Can be &#x27;remote&#x27; for default environment.
&quot;environmentId&quot;: &quot;A String&quot;, # Output only. The environment ID for the interaction. Only populated if environment config is set in the request.
&quot;id&quot;: &quot;A String&quot;, # Required. Output only. A unique identifier for the interaction completion.
&quot;modelInteraction&quot;: { # Interaction for generating the completion using models. # Interaction for generating the completion using models.
&quot;cached_content&quot;: &quot;A String&quot;, # The name of the cached content used as context to serve the prediction. Note: only used in explicit caching, where users can have control over caching (e.g. what content to cache) and enjoy guaranteed cost savings. Format: `projects/{project}/locations/{location}/cachedContents/{cachedContent}`
&quot;generationConfig&quot;: { # Configuration parameters for model interactions. # Input only. Configuration parameters for the model interaction.
&quot;frequency_penalty&quot;: 3.14, # Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0].
&quot;imageConfig&quot;: { # The configuration for image interaction. # Configuration for image interaction.
&quot;aspectRatio&quot;: &quot;A String&quot;, # 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.
&quot;imageSize&quot;: &quot;A String&quot;, # Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`.
},
&quot;maxOutputTokens&quot;: 42, # The maximum number of tokens to include in the response.
&quot;presence_penalty&quot;: 3.14, # Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0].
&quot;seed&quot;: 42, # Seed used in decoding for reproducibility.
&quot;speechConfig&quot;: [ # Configuration for speech interaction.
{ # The configuration for speech interaction.
&quot;language&quot;: &quot;A String&quot;, # The language of the speech.
&quot;speaker&quot;: &quot;A String&quot;, # The speaker&#x27;s name, it should match the speaker name given in the prompt.
&quot;voice&quot;: &quot;A String&quot;, # The voice of the speaker.
},
],
&quot;stopSequences&quot;: [ # A list of character sequences that will stop output interaction.
&quot;A String&quot;,
],
&quot;temperature&quot;: 3.14, # Controls the randomness of the output.
&quot;thinkingLevel&quot;: &quot;A String&quot;, # The level of thought tokens that the model should generate.
&quot;thinkingSummaries&quot;: &quot;A String&quot;, # Whether to include thought summaries in the response.
&quot;toolChoiceConfig&quot;: { # The tool choice configuration containing allowed tools. # The config for the tool choice.
&quot;allowedTools&quot;: { # The configuration for allowed tools. # The allowed tools.
&quot;mode&quot;: &quot;A String&quot;, # The mode of the tool choice.
&quot;tools&quot;: [ # The names of the allowed tools.
&quot;A String&quot;,
],
},
},
&quot;toolChoiceMode&quot;: &quot;A String&quot;, # The mode of the tool choice.
&quot;topP&quot;: 3.14, # The maximum cumulative probability of tokens to consider when sampling.
},
&quot;model&quot;: &quot;A String&quot;, # The name of the `Model` used for generating the completion.
},
&quot;outputs&quot;: [ # Output only. Responses from the model.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
&quot;previousInteractionId&quot;: &quot;A String&quot;, # The ID of the previous interaction, if any.
&quot;remoteEnvironment&quot;: { # Configuration for a custom environment.
&quot;networkAllowlist&quot;: { # Network egress configuration for the environment. # Allow only specific domains.
&quot;allowlist&quot;: [ # List of allowed domains and their configurations.
{ # A network egress rule that controls which external domains the environment is allowed to reach. Each rule identifies a target domain and, optionally, a set of HTTP headers to inject into every matching outbound request.
&quot;domain&quot;: &quot;A String&quot;, # The domain pattern to match for this rule. Use an exact hostname (e.g., `github.com`), a wildcard prefix (e.g., `*.googleapis.com`), or `*` to match all domains.
&quot;transform&quot;: { # Headers to inject into requests matching this rule. Key: header name (e.g., &quot;Authorization&quot;). Value: header value (e.g., &quot;Bearer your-token&quot;).
&quot;a_key&quot;: &quot;A String&quot;,
},
},
],
},
&quot;networkMode&quot;: &quot;A String&quot;, # Network egress mode.
&quot;sources&quot;: [
{ # A source to be mounted into the environment.
&quot;content&quot;: &quot;A String&quot;, # The inline content if `type` is `INLINE`.
&quot;encoding&quot;: &quot;A String&quot;, # Optional encoding for inline content (e.g. `base64`).
&quot;source&quot;: &quot;A String&quot;, # The source of the environment. For GCS, this is the GCS path. For GitHub, this is the GitHub path.
&quot;target&quot;: &quot;A String&quot;, # Where the source should appear in the environment.
&quot;type&quot;: &quot;A String&quot;,
},
],
},
&quot;responseFormat&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, 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.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
&quot;responseFormatList&quot;: {
&quot;responseFormats&quot;: [
{
&quot;audio&quot;: { # Configuration for audio output format.
&quot;bitRate&quot;: 42, # Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus).
&quot;delivery&quot;: &quot;A String&quot;, # The delivery mode for the audio output.
&quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the audio output.
&quot;sampleRate&quot;: 42, # Sample rate in Hz.
},
&quot;image&quot;: { # Configuration for image output format.
&quot;aspectRatio&quot;: &quot;A String&quot;, # The aspect ratio for the image output.
&quot;delivery&quot;: &quot;A String&quot;, # The delivery mode for the image output.
&quot;imageSize&quot;: &quot;A String&quot;, # The size of the image output.
&quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the image output.
},
&quot;structValue&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Multi-discriminator values is already enabled in GAOS
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;text&quot;: { # Configuration for text output format.
&quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the text output.
&quot;schema&quot;: { # `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.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
},
],
},
&quot;responseFormatSingleton&quot;: {
&quot;audio&quot;: { # Configuration for audio output format.
&quot;bitRate&quot;: 42, # Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus).
&quot;delivery&quot;: &quot;A String&quot;, # The delivery mode for the audio output.
&quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the audio output.
&quot;sampleRate&quot;: 42, # Sample rate in Hz.
},
&quot;image&quot;: { # Configuration for image output format.
&quot;aspectRatio&quot;: &quot;A String&quot;, # The aspect ratio for the image output.
&quot;delivery&quot;: &quot;A String&quot;, # The delivery mode for the image output.
&quot;imageSize&quot;: &quot;A String&quot;, # The size of the image output.
&quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the image output.
},
&quot;structValue&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Multi-discriminator values is already enabled in GAOS
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;text&quot;: { # Configuration for text output format.
&quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the text output.
&quot;schema&quot;: { # `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.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
},
&quot;responseMimeType&quot;: &quot;A String&quot;, # The mime type of the response. This is required if response_format is set.
&quot;responseModalities&quot;: [ # The requested modalities of the response (TEXT, IMAGE, AUDIO).
&quot;A String&quot;,
],
&quot;role&quot;: &quot;A String&quot;, # Output only. The role of the interaction.
&quot;status&quot;: &quot;A String&quot;, # Required. Output only. The status of the interaction.
&quot;stepList&quot;: { # A list of Steps. # Input only. The steps for the interaction.
&quot;steps&quot;: [ # The steps of the list.
{ # A step in the interaction.
&quot;modelOutput&quot;: { # Output generated by the model.
&quot;content&quot;: [
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;thought&quot;: { # A thought step.
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;summary&quot;: [ # A summary of the thought.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;toolCall&quot;: { # Tool call step.
&quot;codeExecutionCall&quot;: { # Code execution call step.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search call step.
},
&quot;functionCall&quot;: { # A function tool call step.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps call step.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search call step.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call step.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context call step.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result step.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result step.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result step.
},
&quot;functionResult&quot;: { # Result of a function tool call.
&quot;contentList&quot;: { # A list of Content.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result step.
&quot;result&quot;: [
{ # The result of the Google Maps.
&quot;places&quot;: [
{
&quot;name&quot;: &quot;A String&quot;,
&quot;placeId&quot;: &quot;A String&quot;,
&quot;reviewSnippets&quot;: [
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;,
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;,
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result step.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result step.
&quot;contentList&quot;: { # A list of Content.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result step.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;userInput&quot;: { # Input provided by the user. # DO NOT USE -- These are for 3P JSON only
&quot;contentList&quot;: { # A list of Content. # The content of the step. An array of Content objects.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;contentString&quot;: &quot;A String&quot;, # The content of the step. A single string.
},
},
],
},
&quot;steps&quot;: [ # Required. Output only. The steps that make up the interaction.
{ # A step in the interaction.
&quot;modelOutput&quot;: { # Output generated by the model.
&quot;content&quot;: [
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;thought&quot;: { # A thought step.
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;summary&quot;: [ # A summary of the thought.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;toolCall&quot;: { # Tool call step.
&quot;codeExecutionCall&quot;: { # Code execution call step.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search call step.
},
&quot;functionCall&quot;: { # A function tool call step.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps call step.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search call step.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call step.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context call step.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result step.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result step.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result step.
},
&quot;functionResult&quot;: { # Result of a function tool call.
&quot;contentList&quot;: { # A list of Content.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result step.
&quot;result&quot;: [
{ # The result of the Google Maps.
&quot;places&quot;: [
{
&quot;name&quot;: &quot;A String&quot;,
&quot;placeId&quot;: &quot;A String&quot;,
&quot;reviewSnippets&quot;: [
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;,
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;,
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result step.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result step.
&quot;contentList&quot;: { # A list of Content.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result step.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;userInput&quot;: { # Input provided by the user. # DO NOT USE -- These are for 3P JSON only
&quot;contentList&quot;: { # A list of Content. # The content of the step. An array of Content objects.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;contentString&quot;: &quot;A String&quot;, # The content of the step. A single string.
},
},
],
&quot;stringContent&quot;: &quot;A String&quot;, # A string input for the interaction, it will be processed as a single text input.
&quot;systemInstruction&quot;: &quot;A String&quot;, # System instruction for the interaction.
&quot;tools&quot;: [ # A list of tool declarations the model may call during interaction.
{ # A tool that can be used by the model.
&quot;codeExecution&quot;: { # A tool that can be used by the model to execute code. # A tool that can be used by the model to execute code.
},
&quot;computerUse&quot;: { # A tool that can be used by the model to interact with the computer. # Tool to support the model interacting directly with the computer.
&quot;enablePromptInjectionDetection&quot;: True or False, # Whether enable the prompt injection detection check on computer-use request.
&quot;environment&quot;: &quot;A String&quot;, # The environment being operated.
&quot;excludedPredefinedFunctions&quot;: [ # The list of predefined functions that are excluded from the model call.
&quot;A String&quot;,
],
},
&quot;fileSearch&quot;: { # A tool that can be used by the model to search files. # A tool that can be used by the model to search files.
&quot;fileSearchStoreNames&quot;: [ # The file search store names to search.
&quot;A String&quot;,
],
&quot;metadataFilter&quot;: &quot;A String&quot;, # Metadata filter to apply to the semantic retrieval documents and chunks.
&quot;topK&quot;: 42, # The number of semantic retrieval chunks to retrieve.
},
&quot;function&quot;: { # A tool that can be used by the model. # A function that can be used by the model.
&quot;description&quot;: &quot;A String&quot;, # A description of the function.
&quot;name&quot;: &quot;A String&quot;, # The name of the function.
&quot;parameters&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, 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&#x27;s parameters.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
&quot;googleMaps&quot;: { # 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.
&quot;enableWidget&quot;: True or False, # Whether to return a widget context token in the tool call result of the response.
&quot;latitude&quot;: 3.14, # The latitude of the user&#x27;s location.
&quot;longitude&quot;: 3.14, # The longitude of the user&#x27;s location.
},
&quot;googleSearch&quot;: { # A tool that can be used by the model to search Google. # A tool that can be used by the model to search Google.
&quot;searchTypes&quot;: [ # The types of search grounding to enable.
&quot;A String&quot;,
],
},
&quot;mcpServer&quot;: { # 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.
&quot;allowedTools&quot;: [ # The allowed tools.
{ # The configuration for allowed tools.
&quot;mode&quot;: &quot;A String&quot;, # The mode of the tool choice.
&quot;tools&quot;: [ # The names of the allowed tools.
&quot;A String&quot;,
],
},
],
&quot;headers&quot;: { # Optional: Fields for authentication headers, timeouts, etc., if needed.
&quot;a_key&quot;: &quot;A String&quot;,
},
&quot;name&quot;: &quot;A String&quot;, # The name of the MCPServer.
&quot;url&quot;: &quot;A String&quot;, # The full URL for the MCPServer endpoint. Example: &quot;https://api.example.com/mcp&quot;
},
&quot;retrieval&quot;: { # A tool that can be used by the model to retrieve files. # A tool that can be used by the model to retrieve files.
&quot;exa_ai_search_config&quot;: { # Used to specify configuration for ExaAISearch. # Used to specify configuration for ExaAISearch.
&quot;api_key&quot;: &quot;A String&quot;, # Required. The API key for ExaAiSearch.
&quot;custom_config&quot;: { # Optional. This field can be used to pass any parameter from the Exa.ai Search API.
&quot;a_key&quot;: &quot;&quot;, # Properties of the object.
},
},
&quot;parallel_ai_search_config&quot;: { # Used to specify configuration for ParallelAISearch. # Used to specify configuration for ParallelAISearch.
&quot;api_key&quot;: &quot;A String&quot;, # Optional. The API key for ParallelAiSearch.
&quot;custom_config&quot;: { # Optional. Custom configs for ParallelAiSearch.
&quot;a_key&quot;: &quot;&quot;, # Properties of the object.
},
},
&quot;rag_store_config&quot;: { # Use to specify configuration for RAG Store. # Used to specify configuration for RagStore.
&quot;rag_resources&quot;: [ # Optional. The representation of the rag source.
{ # The definition of the Rag resource.
&quot;rag_corpus&quot;: &quot;A String&quot;, # Optional. RagCorpora resource name.
&quot;rag_file_ids&quot;: [ # Optional. rag_file_id. The files should be in the same rag_corpus set in rag_corpus field.
&quot;A String&quot;,
],
},
],
&quot;rag_retrieval_config&quot;: { # Specifies the context retrieval config. # Optional. The retrieval config for the Rag query.
&quot;filter&quot;: { # Config for filters. # Optional. Config for filters.
&quot;metadata_filter&quot;: &quot;A String&quot;, # Optional. String for metadata filtering.
&quot;vector_distance_threshold&quot;: 3.14, # Optional. Only returns contexts with vector distance smaller than the threshold.
&quot;vector_similarity_threshold&quot;: 3.14, # Optional. Only returns contexts with vector similarity larger than the threshold.
},
&quot;hybrid_search&quot;: { # Config for Hybrid Search. # Optional. Config for Hybrid Search.
&quot;alpha&quot;: 3.14, # Optional. Alpha value controls the weight between dense and sparse vector search results.
},
&quot;ranking&quot;: { # Config for ranking and reranking. # Optional. Config for ranking and reranking.
&quot;rank_service&quot;: { # Config for Rank Service. # Optional. Config for Rank Service.
&quot;model_name&quot;: &quot;A String&quot;, # Optional. The model name of the rank service.
},
},
&quot;top_k&quot;: 42, # Optional. The number of contexts to retrieve.
},
&quot;similarity_top_k&quot;: 42, # Optional. Number of top k results to return from the selected corpora.
&quot;vector_distance_threshold&quot;: 3.14, # Optional. Only return results with vector distance smaller than the threshold.
},
&quot;retrievalTypes&quot;: [ # The types of file retrieval to enable.
&quot;A String&quot;,
],
&quot;vertex_ai_search_config&quot;: { # Used to specify configuration for VertexAISearch. # Used to specify configuration for VertexAISearch.
&quot;datastores&quot;: [ # Optional. Used to specify Vertex AI Search datastores.
&quot;A String&quot;,
],
&quot;engine&quot;: &quot;A String&quot;, # Optional. Used to specify Vertex AI Search engine.
},
},
&quot;urlContext&quot;: { # 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.
},
},
],
&quot;turnList&quot;: { # A list of Turns. # The turns for the interaction.
&quot;turns&quot;: [
{
&quot;contentList&quot;: { # A list of Content. # The content of the turn. An array of Content objects.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;contentString&quot;: &quot;A String&quot;, # The content of the turn. A single string.
&quot;role&quot;: &quot;A String&quot;, # The originator of this turn. Must be user for input or model for model output.
},
],
},
&quot;updated&quot;: &quot;A String&quot;, # Required. Output only. The time at which the response was last updated in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ).
&quot;usage&quot;: { # Statistics on the interaction request&#x27;s token usage. # Output only. Statistics on the interaction request&#x27;s token usage.
&quot;cachedTokensByModality&quot;: [ # A breakdown of cached token usage by modality.
{ # The token count for a single response modality.
&quot;modality&quot;: &quot;A String&quot;, # The modality associated with the token count.
&quot;tokens&quot;: 42, # Number of tokens for the modality.
},
],
&quot;groundingToolCount&quot;: [ # Grounding tool count.
{ # The number of grounding tool counts.
&quot;count&quot;: 42, # The number of grounding tool counts.
&quot;type&quot;: &quot;A String&quot;, # The grounding tool type associated with the count.
},
],
&quot;inputTokensByModality&quot;: [ # A breakdown of input token usage by modality.
{ # The token count for a single response modality.
&quot;modality&quot;: &quot;A String&quot;, # The modality associated with the token count.
&quot;tokens&quot;: 42, # Number of tokens for the modality.
},
],
&quot;outputTokensByModality&quot;: [ # A breakdown of output token usage by modality.
{ # The token count for a single response modality.
&quot;modality&quot;: &quot;A String&quot;, # The modality associated with the token count.
&quot;tokens&quot;: 42, # Number of tokens for the modality.
},
],
&quot;toolUseTokensByModality&quot;: [ # A breakdown of tool-use token usage by modality.
{ # The token count for a single response modality.
&quot;modality&quot;: &quot;A String&quot;, # The modality associated with the token count.
&quot;tokens&quot;: 42, # Number of tokens for the modality.
},
],
&quot;totalCachedTokens&quot;: 42, # Number of tokens in the cached part of the prompt (the cached content).
&quot;totalInputTokens&quot;: 42, # Number of tokens in the prompt (context).
&quot;totalOutputTokens&quot;: 42, # Total number of tokens across all the generated responses.
&quot;totalThoughtTokens&quot;: 42, # Number of tokens of thoughts for thinking models.
&quot;totalTokens&quot;: 42, # Total token count for the interaction request (prompt + responses + other internal tokens).
&quot;totalToolUseTokens&quot;: 42, # Number of tokens present in tool-use prompt(s).
},
},
},
&quot;interactionCompletedEvent&quot;: { # The interaction data, used for interaction.completed events.
&quot;interaction&quot;: { # 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.
&quot;agentInteraction&quot;: { # Interaction for generating the completion using agents. # Interaction for generating the completion using agents.
&quot;agent&quot;: &quot;A String&quot;, # The name of the `Agent` used for generating the completion.
&quot;deepResearchConfig&quot;: { # Configuration for the Deep Research agent.
&quot;collaborativePlanning&quot;: 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.
&quot;enableBigqueryTool&quot;: True or False, # Enables bigquery tool for the Deep Research agent.
&quot;thinkingSummaries&quot;: &quot;A String&quot;, # Whether to include thought summaries in the response.
&quot;visualization&quot;: &quot;A String&quot;, # Whether to include visualizations in the response.
},
&quot;dynamicConfig&quot;: { # Configuration for dynamic agents.
&quot;config&quot;: { # `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.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
},
&quot;content&quot;: { # The content of the response. # The content for the interaction.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
&quot;contentList&quot;: { # A list of Content. # The inputs for the interaction.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;created&quot;: &quot;A String&quot;, # Required. Output only. The time at which the response was created in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ).
&quot;envId&quot;: &quot;A String&quot;, # The environment ID for the interaction. Can be &#x27;remote&#x27; for default environment.
&quot;environmentId&quot;: &quot;A String&quot;, # Output only. The environment ID for the interaction. Only populated if environment config is set in the request.
&quot;id&quot;: &quot;A String&quot;, # Required. Output only. A unique identifier for the interaction completion.
&quot;modelInteraction&quot;: { # Interaction for generating the completion using models. # Interaction for generating the completion using models.
&quot;cached_content&quot;: &quot;A String&quot;, # The name of the cached content used as context to serve the prediction. Note: only used in explicit caching, where users can have control over caching (e.g. what content to cache) and enjoy guaranteed cost savings. Format: `projects/{project}/locations/{location}/cachedContents/{cachedContent}`
&quot;generationConfig&quot;: { # Configuration parameters for model interactions. # Input only. Configuration parameters for the model interaction.
&quot;frequency_penalty&quot;: 3.14, # Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0].
&quot;imageConfig&quot;: { # The configuration for image interaction. # Configuration for image interaction.
&quot;aspectRatio&quot;: &quot;A String&quot;, # 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.
&quot;imageSize&quot;: &quot;A String&quot;, # Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`.
},
&quot;maxOutputTokens&quot;: 42, # The maximum number of tokens to include in the response.
&quot;presence_penalty&quot;: 3.14, # Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0].
&quot;seed&quot;: 42, # Seed used in decoding for reproducibility.
&quot;speechConfig&quot;: [ # Configuration for speech interaction.
{ # The configuration for speech interaction.
&quot;language&quot;: &quot;A String&quot;, # The language of the speech.
&quot;speaker&quot;: &quot;A String&quot;, # The speaker&#x27;s name, it should match the speaker name given in the prompt.
&quot;voice&quot;: &quot;A String&quot;, # The voice of the speaker.
},
],
&quot;stopSequences&quot;: [ # A list of character sequences that will stop output interaction.
&quot;A String&quot;,
],
&quot;temperature&quot;: 3.14, # Controls the randomness of the output.
&quot;thinkingLevel&quot;: &quot;A String&quot;, # The level of thought tokens that the model should generate.
&quot;thinkingSummaries&quot;: &quot;A String&quot;, # Whether to include thought summaries in the response.
&quot;toolChoiceConfig&quot;: { # The tool choice configuration containing allowed tools. # The config for the tool choice.
&quot;allowedTools&quot;: { # The configuration for allowed tools. # The allowed tools.
&quot;mode&quot;: &quot;A String&quot;, # The mode of the tool choice.
&quot;tools&quot;: [ # The names of the allowed tools.
&quot;A String&quot;,
],
},
},
&quot;toolChoiceMode&quot;: &quot;A String&quot;, # The mode of the tool choice.
&quot;topP&quot;: 3.14, # The maximum cumulative probability of tokens to consider when sampling.
},
&quot;model&quot;: &quot;A String&quot;, # The name of the `Model` used for generating the completion.
},
&quot;outputs&quot;: [ # Output only. Responses from the model.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
&quot;previousInteractionId&quot;: &quot;A String&quot;, # The ID of the previous interaction, if any.
&quot;remoteEnvironment&quot;: { # Configuration for a custom environment.
&quot;networkAllowlist&quot;: { # Network egress configuration for the environment. # Allow only specific domains.
&quot;allowlist&quot;: [ # List of allowed domains and their configurations.
{ # A network egress rule that controls which external domains the environment is allowed to reach. Each rule identifies a target domain and, optionally, a set of HTTP headers to inject into every matching outbound request.
&quot;domain&quot;: &quot;A String&quot;, # The domain pattern to match for this rule. Use an exact hostname (e.g., `github.com`), a wildcard prefix (e.g., `*.googleapis.com`), or `*` to match all domains.
&quot;transform&quot;: { # Headers to inject into requests matching this rule. Key: header name (e.g., &quot;Authorization&quot;). Value: header value (e.g., &quot;Bearer your-token&quot;).
&quot;a_key&quot;: &quot;A String&quot;,
},
},
],
},
&quot;networkMode&quot;: &quot;A String&quot;, # Network egress mode.
&quot;sources&quot;: [
{ # A source to be mounted into the environment.
&quot;content&quot;: &quot;A String&quot;, # The inline content if `type` is `INLINE`.
&quot;encoding&quot;: &quot;A String&quot;, # Optional encoding for inline content (e.g. `base64`).
&quot;source&quot;: &quot;A String&quot;, # The source of the environment. For GCS, this is the GCS path. For GitHub, this is the GitHub path.
&quot;target&quot;: &quot;A String&quot;, # Where the source should appear in the environment.
&quot;type&quot;: &quot;A String&quot;,
},
],
},
&quot;responseFormat&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, 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.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
&quot;responseFormatList&quot;: {
&quot;responseFormats&quot;: [
{
&quot;audio&quot;: { # Configuration for audio output format.
&quot;bitRate&quot;: 42, # Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus).
&quot;delivery&quot;: &quot;A String&quot;, # The delivery mode for the audio output.
&quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the audio output.
&quot;sampleRate&quot;: 42, # Sample rate in Hz.
},
&quot;image&quot;: { # Configuration for image output format.
&quot;aspectRatio&quot;: &quot;A String&quot;, # The aspect ratio for the image output.
&quot;delivery&quot;: &quot;A String&quot;, # The delivery mode for the image output.
&quot;imageSize&quot;: &quot;A String&quot;, # The size of the image output.
&quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the image output.
},
&quot;structValue&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Multi-discriminator values is already enabled in GAOS
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;text&quot;: { # Configuration for text output format.
&quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the text output.
&quot;schema&quot;: { # `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.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
},
],
},
&quot;responseFormatSingleton&quot;: {
&quot;audio&quot;: { # Configuration for audio output format.
&quot;bitRate&quot;: 42, # Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus).
&quot;delivery&quot;: &quot;A String&quot;, # The delivery mode for the audio output.
&quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the audio output.
&quot;sampleRate&quot;: 42, # Sample rate in Hz.
},
&quot;image&quot;: { # Configuration for image output format.
&quot;aspectRatio&quot;: &quot;A String&quot;, # The aspect ratio for the image output.
&quot;delivery&quot;: &quot;A String&quot;, # The delivery mode for the image output.
&quot;imageSize&quot;: &quot;A String&quot;, # The size of the image output.
&quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the image output.
},
&quot;structValue&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Multi-discriminator values is already enabled in GAOS
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;text&quot;: { # Configuration for text output format.
&quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the text output.
&quot;schema&quot;: { # `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.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
},
&quot;responseMimeType&quot;: &quot;A String&quot;, # The mime type of the response. This is required if response_format is set.
&quot;responseModalities&quot;: [ # The requested modalities of the response (TEXT, IMAGE, AUDIO).
&quot;A String&quot;,
],
&quot;role&quot;: &quot;A String&quot;, # Output only. The role of the interaction.
&quot;status&quot;: &quot;A String&quot;, # Required. Output only. The status of the interaction.
&quot;stepList&quot;: { # A list of Steps. # Input only. The steps for the interaction.
&quot;steps&quot;: [ # The steps of the list.
{ # A step in the interaction.
&quot;modelOutput&quot;: { # Output generated by the model.
&quot;content&quot;: [
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;thought&quot;: { # A thought step.
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;summary&quot;: [ # A summary of the thought.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;toolCall&quot;: { # Tool call step.
&quot;codeExecutionCall&quot;: { # Code execution call step.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search call step.
},
&quot;functionCall&quot;: { # A function tool call step.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps call step.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search call step.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call step.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context call step.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result step.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result step.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result step.
},
&quot;functionResult&quot;: { # Result of a function tool call.
&quot;contentList&quot;: { # A list of Content.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result step.
&quot;result&quot;: [
{ # The result of the Google Maps.
&quot;places&quot;: [
{
&quot;name&quot;: &quot;A String&quot;,
&quot;placeId&quot;: &quot;A String&quot;,
&quot;reviewSnippets&quot;: [
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;,
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;,
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result step.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result step.
&quot;contentList&quot;: { # A list of Content.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result step.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;userInput&quot;: { # Input provided by the user. # DO NOT USE -- These are for 3P JSON only
&quot;contentList&quot;: { # A list of Content. # The content of the step. An array of Content objects.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;contentString&quot;: &quot;A String&quot;, # The content of the step. A single string.
},
},
],
},
&quot;steps&quot;: [ # Required. Output only. The steps that make up the interaction.
{ # A step in the interaction.
&quot;modelOutput&quot;: { # Output generated by the model.
&quot;content&quot;: [
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;thought&quot;: { # A thought step.
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;summary&quot;: [ # A summary of the thought.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;toolCall&quot;: { # Tool call step.
&quot;codeExecutionCall&quot;: { # Code execution call step.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search call step.
},
&quot;functionCall&quot;: { # A function tool call step.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps call step.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search call step.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call step.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context call step.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result step.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result step.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result step.
},
&quot;functionResult&quot;: { # Result of a function tool call.
&quot;contentList&quot;: { # A list of Content.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result step.
&quot;result&quot;: [
{ # The result of the Google Maps.
&quot;places&quot;: [
{
&quot;name&quot;: &quot;A String&quot;,
&quot;placeId&quot;: &quot;A String&quot;,
&quot;reviewSnippets&quot;: [
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;,
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;,
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result step.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result step.
&quot;contentList&quot;: { # A list of Content.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result step.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;userInput&quot;: { # Input provided by the user. # DO NOT USE -- These are for 3P JSON only
&quot;contentList&quot;: { # A list of Content. # The content of the step. An array of Content objects.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;contentString&quot;: &quot;A String&quot;, # The content of the step. A single string.
},
},
],
&quot;stringContent&quot;: &quot;A String&quot;, # A string input for the interaction, it will be processed as a single text input.
&quot;systemInstruction&quot;: &quot;A String&quot;, # System instruction for the interaction.
&quot;tools&quot;: [ # A list of tool declarations the model may call during interaction.
{ # A tool that can be used by the model.
&quot;codeExecution&quot;: { # A tool that can be used by the model to execute code. # A tool that can be used by the model to execute code.
},
&quot;computerUse&quot;: { # A tool that can be used by the model to interact with the computer. # Tool to support the model interacting directly with the computer.
&quot;enablePromptInjectionDetection&quot;: True or False, # Whether enable the prompt injection detection check on computer-use request.
&quot;environment&quot;: &quot;A String&quot;, # The environment being operated.
&quot;excludedPredefinedFunctions&quot;: [ # The list of predefined functions that are excluded from the model call.
&quot;A String&quot;,
],
},
&quot;fileSearch&quot;: { # A tool that can be used by the model to search files. # A tool that can be used by the model to search files.
&quot;fileSearchStoreNames&quot;: [ # The file search store names to search.
&quot;A String&quot;,
],
&quot;metadataFilter&quot;: &quot;A String&quot;, # Metadata filter to apply to the semantic retrieval documents and chunks.
&quot;topK&quot;: 42, # The number of semantic retrieval chunks to retrieve.
},
&quot;function&quot;: { # A tool that can be used by the model. # A function that can be used by the model.
&quot;description&quot;: &quot;A String&quot;, # A description of the function.
&quot;name&quot;: &quot;A String&quot;, # The name of the function.
&quot;parameters&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, 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&#x27;s parameters.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
&quot;googleMaps&quot;: { # 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.
&quot;enableWidget&quot;: True or False, # Whether to return a widget context token in the tool call result of the response.
&quot;latitude&quot;: 3.14, # The latitude of the user&#x27;s location.
&quot;longitude&quot;: 3.14, # The longitude of the user&#x27;s location.
},
&quot;googleSearch&quot;: { # A tool that can be used by the model to search Google. # A tool that can be used by the model to search Google.
&quot;searchTypes&quot;: [ # The types of search grounding to enable.
&quot;A String&quot;,
],
},
&quot;mcpServer&quot;: { # 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.
&quot;allowedTools&quot;: [ # The allowed tools.
{ # The configuration for allowed tools.
&quot;mode&quot;: &quot;A String&quot;, # The mode of the tool choice.
&quot;tools&quot;: [ # The names of the allowed tools.
&quot;A String&quot;,
],
},
],
&quot;headers&quot;: { # Optional: Fields for authentication headers, timeouts, etc., if needed.
&quot;a_key&quot;: &quot;A String&quot;,
},
&quot;name&quot;: &quot;A String&quot;, # The name of the MCPServer.
&quot;url&quot;: &quot;A String&quot;, # The full URL for the MCPServer endpoint. Example: &quot;https://api.example.com/mcp&quot;
},
&quot;retrieval&quot;: { # A tool that can be used by the model to retrieve files. # A tool that can be used by the model to retrieve files.
&quot;exa_ai_search_config&quot;: { # Used to specify configuration for ExaAISearch. # Used to specify configuration for ExaAISearch.
&quot;api_key&quot;: &quot;A String&quot;, # Required. The API key for ExaAiSearch.
&quot;custom_config&quot;: { # Optional. This field can be used to pass any parameter from the Exa.ai Search API.
&quot;a_key&quot;: &quot;&quot;, # Properties of the object.
},
},
&quot;parallel_ai_search_config&quot;: { # Used to specify configuration for ParallelAISearch. # Used to specify configuration for ParallelAISearch.
&quot;api_key&quot;: &quot;A String&quot;, # Optional. The API key for ParallelAiSearch.
&quot;custom_config&quot;: { # Optional. Custom configs for ParallelAiSearch.
&quot;a_key&quot;: &quot;&quot;, # Properties of the object.
},
},
&quot;rag_store_config&quot;: { # Use to specify configuration for RAG Store. # Used to specify configuration for RagStore.
&quot;rag_resources&quot;: [ # Optional. The representation of the rag source.
{ # The definition of the Rag resource.
&quot;rag_corpus&quot;: &quot;A String&quot;, # Optional. RagCorpora resource name.
&quot;rag_file_ids&quot;: [ # Optional. rag_file_id. The files should be in the same rag_corpus set in rag_corpus field.
&quot;A String&quot;,
],
},
],
&quot;rag_retrieval_config&quot;: { # Specifies the context retrieval config. # Optional. The retrieval config for the Rag query.
&quot;filter&quot;: { # Config for filters. # Optional. Config for filters.
&quot;metadata_filter&quot;: &quot;A String&quot;, # Optional. String for metadata filtering.
&quot;vector_distance_threshold&quot;: 3.14, # Optional. Only returns contexts with vector distance smaller than the threshold.
&quot;vector_similarity_threshold&quot;: 3.14, # Optional. Only returns contexts with vector similarity larger than the threshold.
},
&quot;hybrid_search&quot;: { # Config for Hybrid Search. # Optional. Config for Hybrid Search.
&quot;alpha&quot;: 3.14, # Optional. Alpha value controls the weight between dense and sparse vector search results.
},
&quot;ranking&quot;: { # Config for ranking and reranking. # Optional. Config for ranking and reranking.
&quot;rank_service&quot;: { # Config for Rank Service. # Optional. Config for Rank Service.
&quot;model_name&quot;: &quot;A String&quot;, # Optional. The model name of the rank service.
},
},
&quot;top_k&quot;: 42, # Optional. The number of contexts to retrieve.
},
&quot;similarity_top_k&quot;: 42, # Optional. Number of top k results to return from the selected corpora.
&quot;vector_distance_threshold&quot;: 3.14, # Optional. Only return results with vector distance smaller than the threshold.
},
&quot;retrievalTypes&quot;: [ # The types of file retrieval to enable.
&quot;A String&quot;,
],
&quot;vertex_ai_search_config&quot;: { # Used to specify configuration for VertexAISearch. # Used to specify configuration for VertexAISearch.
&quot;datastores&quot;: [ # Optional. Used to specify Vertex AI Search datastores.
&quot;A String&quot;,
],
&quot;engine&quot;: &quot;A String&quot;, # Optional. Used to specify Vertex AI Search engine.
},
},
&quot;urlContext&quot;: { # 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.
},
},
],
&quot;turnList&quot;: { # A list of Turns. # The turns for the interaction.
&quot;turns&quot;: [
{
&quot;contentList&quot;: { # A list of Content. # The content of the turn. An array of Content objects.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;contentString&quot;: &quot;A String&quot;, # The content of the turn. A single string.
&quot;role&quot;: &quot;A String&quot;, # The originator of this turn. Must be user for input or model for model output.
},
],
},
&quot;updated&quot;: &quot;A String&quot;, # Required. Output only. The time at which the response was last updated in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ).
&quot;usage&quot;: { # Statistics on the interaction request&#x27;s token usage. # Output only. Statistics on the interaction request&#x27;s token usage.
&quot;cachedTokensByModality&quot;: [ # A breakdown of cached token usage by modality.
{ # The token count for a single response modality.
&quot;modality&quot;: &quot;A String&quot;, # The modality associated with the token count.
&quot;tokens&quot;: 42, # Number of tokens for the modality.
},
],
&quot;groundingToolCount&quot;: [ # Grounding tool count.
{ # The number of grounding tool counts.
&quot;count&quot;: 42, # The number of grounding tool counts.
&quot;type&quot;: &quot;A String&quot;, # The grounding tool type associated with the count.
},
],
&quot;inputTokensByModality&quot;: [ # A breakdown of input token usage by modality.
{ # The token count for a single response modality.
&quot;modality&quot;: &quot;A String&quot;, # The modality associated with the token count.
&quot;tokens&quot;: 42, # Number of tokens for the modality.
},
],
&quot;outputTokensByModality&quot;: [ # A breakdown of output token usage by modality.
{ # The token count for a single response modality.
&quot;modality&quot;: &quot;A String&quot;, # The modality associated with the token count.
&quot;tokens&quot;: 42, # Number of tokens for the modality.
},
],
&quot;toolUseTokensByModality&quot;: [ # A breakdown of tool-use token usage by modality.
{ # The token count for a single response modality.
&quot;modality&quot;: &quot;A String&quot;, # The modality associated with the token count.
&quot;tokens&quot;: 42, # Number of tokens for the modality.
},
],
&quot;totalCachedTokens&quot;: 42, # Number of tokens in the cached part of the prompt (the cached content).
&quot;totalInputTokens&quot;: 42, # Number of tokens in the prompt (context).
&quot;totalOutputTokens&quot;: 42, # Total number of tokens across all the generated responses.
&quot;totalThoughtTokens&quot;: 42, # Number of tokens of thoughts for thinking models.
&quot;totalTokens&quot;: 42, # Total token count for the interaction request (prompt + responses + other internal tokens).
&quot;totalToolUseTokens&quot;: 42, # Number of tokens present in tool-use prompt(s).
},
},
},
&quot;interactionCreatedEvent&quot;: { # The interaction data, used for interaction.created events.
&quot;interaction&quot;: { # Response for InteractionService.CreateInteraction.
&quot;agentInteraction&quot;: { # Interaction for generating the completion using agents. # Interaction for generating the completion using agents.
&quot;agent&quot;: &quot;A String&quot;, # The name of the `Agent` used for generating the completion.
&quot;deepResearchConfig&quot;: { # Configuration for the Deep Research agent.
&quot;collaborativePlanning&quot;: 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.
&quot;enableBigqueryTool&quot;: True or False, # Enables bigquery tool for the Deep Research agent.
&quot;thinkingSummaries&quot;: &quot;A String&quot;, # Whether to include thought summaries in the response.
&quot;visualization&quot;: &quot;A String&quot;, # Whether to include visualizations in the response.
},
&quot;dynamicConfig&quot;: { # Configuration for dynamic agents.
&quot;config&quot;: { # `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.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
},
&quot;content&quot;: { # The content of the response. # The content for the interaction.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
&quot;contentList&quot;: { # A list of Content. # The inputs for the interaction.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;created&quot;: &quot;A String&quot;, # Required. Output only. The time at which the response was created in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ).
&quot;envId&quot;: &quot;A String&quot;, # The environment ID for the interaction. Can be &#x27;remote&#x27; for default environment.
&quot;environmentId&quot;: &quot;A String&quot;, # Output only. The environment ID for the interaction. Only populated if environment config is set in the request.
&quot;id&quot;: &quot;A String&quot;, # Required. Output only. A unique identifier for the interaction completion.
&quot;modelInteraction&quot;: { # Interaction for generating the completion using models. # Interaction for generating the completion using models.
&quot;cached_content&quot;: &quot;A String&quot;, # The name of the cached content used as context to serve the prediction. Note: only used in explicit caching, where users can have control over caching (e.g. what content to cache) and enjoy guaranteed cost savings. Format: `projects/{project}/locations/{location}/cachedContents/{cachedContent}`
&quot;generationConfig&quot;: { # Configuration parameters for model interactions. # Input only. Configuration parameters for the model interaction.
&quot;frequency_penalty&quot;: 3.14, # Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0].
&quot;imageConfig&quot;: { # The configuration for image interaction. # Configuration for image interaction.
&quot;aspectRatio&quot;: &quot;A String&quot;, # 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.
&quot;imageSize&quot;: &quot;A String&quot;, # Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`.
},
&quot;maxOutputTokens&quot;: 42, # The maximum number of tokens to include in the response.
&quot;presence_penalty&quot;: 3.14, # Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0].
&quot;seed&quot;: 42, # Seed used in decoding for reproducibility.
&quot;speechConfig&quot;: [ # Configuration for speech interaction.
{ # The configuration for speech interaction.
&quot;language&quot;: &quot;A String&quot;, # The language of the speech.
&quot;speaker&quot;: &quot;A String&quot;, # The speaker&#x27;s name, it should match the speaker name given in the prompt.
&quot;voice&quot;: &quot;A String&quot;, # The voice of the speaker.
},
],
&quot;stopSequences&quot;: [ # A list of character sequences that will stop output interaction.
&quot;A String&quot;,
],
&quot;temperature&quot;: 3.14, # Controls the randomness of the output.
&quot;thinkingLevel&quot;: &quot;A String&quot;, # The level of thought tokens that the model should generate.
&quot;thinkingSummaries&quot;: &quot;A String&quot;, # Whether to include thought summaries in the response.
&quot;toolChoiceConfig&quot;: { # The tool choice configuration containing allowed tools. # The config for the tool choice.
&quot;allowedTools&quot;: { # The configuration for allowed tools. # The allowed tools.
&quot;mode&quot;: &quot;A String&quot;, # The mode of the tool choice.
&quot;tools&quot;: [ # The names of the allowed tools.
&quot;A String&quot;,
],
},
},
&quot;toolChoiceMode&quot;: &quot;A String&quot;, # The mode of the tool choice.
&quot;topP&quot;: 3.14, # The maximum cumulative probability of tokens to consider when sampling.
},
&quot;model&quot;: &quot;A String&quot;, # The name of the `Model` used for generating the completion.
},
&quot;outputs&quot;: [ # Output only. Responses from the model.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
&quot;previousInteractionId&quot;: &quot;A String&quot;, # The ID of the previous interaction, if any.
&quot;remoteEnvironment&quot;: { # Configuration for a custom environment.
&quot;networkAllowlist&quot;: { # Network egress configuration for the environment. # Allow only specific domains.
&quot;allowlist&quot;: [ # List of allowed domains and their configurations.
{ # A network egress rule that controls which external domains the environment is allowed to reach. Each rule identifies a target domain and, optionally, a set of HTTP headers to inject into every matching outbound request.
&quot;domain&quot;: &quot;A String&quot;, # The domain pattern to match for this rule. Use an exact hostname (e.g., `github.com`), a wildcard prefix (e.g., `*.googleapis.com`), or `*` to match all domains.
&quot;transform&quot;: { # Headers to inject into requests matching this rule. Key: header name (e.g., &quot;Authorization&quot;). Value: header value (e.g., &quot;Bearer your-token&quot;).
&quot;a_key&quot;: &quot;A String&quot;,
},
},
],
},
&quot;networkMode&quot;: &quot;A String&quot;, # Network egress mode.
&quot;sources&quot;: [
{ # A source to be mounted into the environment.
&quot;content&quot;: &quot;A String&quot;, # The inline content if `type` is `INLINE`.
&quot;encoding&quot;: &quot;A String&quot;, # Optional encoding for inline content (e.g. `base64`).
&quot;source&quot;: &quot;A String&quot;, # The source of the environment. For GCS, this is the GCS path. For GitHub, this is the GitHub path.
&quot;target&quot;: &quot;A String&quot;, # Where the source should appear in the environment.
&quot;type&quot;: &quot;A String&quot;,
},
],
},
&quot;responseFormat&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, 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.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
&quot;responseFormatList&quot;: {
&quot;responseFormats&quot;: [
{
&quot;audio&quot;: { # Configuration for audio output format.
&quot;bitRate&quot;: 42, # Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus).
&quot;delivery&quot;: &quot;A String&quot;, # The delivery mode for the audio output.
&quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the audio output.
&quot;sampleRate&quot;: 42, # Sample rate in Hz.
},
&quot;image&quot;: { # Configuration for image output format.
&quot;aspectRatio&quot;: &quot;A String&quot;, # The aspect ratio for the image output.
&quot;delivery&quot;: &quot;A String&quot;, # The delivery mode for the image output.
&quot;imageSize&quot;: &quot;A String&quot;, # The size of the image output.
&quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the image output.
},
&quot;structValue&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Multi-discriminator values is already enabled in GAOS
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;text&quot;: { # Configuration for text output format.
&quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the text output.
&quot;schema&quot;: { # `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.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
},
],
},
&quot;responseFormatSingleton&quot;: {
&quot;audio&quot;: { # Configuration for audio output format.
&quot;bitRate&quot;: 42, # Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus).
&quot;delivery&quot;: &quot;A String&quot;, # The delivery mode for the audio output.
&quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the audio output.
&quot;sampleRate&quot;: 42, # Sample rate in Hz.
},
&quot;image&quot;: { # Configuration for image output format.
&quot;aspectRatio&quot;: &quot;A String&quot;, # The aspect ratio for the image output.
&quot;delivery&quot;: &quot;A String&quot;, # The delivery mode for the image output.
&quot;imageSize&quot;: &quot;A String&quot;, # The size of the image output.
&quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the image output.
},
&quot;structValue&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Multi-discriminator values is already enabled in GAOS
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;text&quot;: { # Configuration for text output format.
&quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the text output.
&quot;schema&quot;: { # `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.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
},
&quot;responseMimeType&quot;: &quot;A String&quot;, # The mime type of the response. This is required if response_format is set.
&quot;responseModalities&quot;: [ # The requested modalities of the response (TEXT, IMAGE, AUDIO).
&quot;A String&quot;,
],
&quot;role&quot;: &quot;A String&quot;, # Output only. The role of the interaction.
&quot;status&quot;: &quot;A String&quot;, # Required. Output only. The status of the interaction.
&quot;stepList&quot;: { # A list of Steps. # Input only. The steps for the interaction.
&quot;steps&quot;: [ # The steps of the list.
{ # A step in the interaction.
&quot;modelOutput&quot;: { # Output generated by the model.
&quot;content&quot;: [
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;thought&quot;: { # A thought step.
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;summary&quot;: [ # A summary of the thought.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;toolCall&quot;: { # Tool call step.
&quot;codeExecutionCall&quot;: { # Code execution call step.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search call step.
},
&quot;functionCall&quot;: { # A function tool call step.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps call step.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search call step.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call step.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context call step.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result step.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result step.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result step.
},
&quot;functionResult&quot;: { # Result of a function tool call.
&quot;contentList&quot;: { # A list of Content.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result step.
&quot;result&quot;: [
{ # The result of the Google Maps.
&quot;places&quot;: [
{
&quot;name&quot;: &quot;A String&quot;,
&quot;placeId&quot;: &quot;A String&quot;,
&quot;reviewSnippets&quot;: [
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;,
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;,
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result step.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result step.
&quot;contentList&quot;: { # A list of Content.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result step.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;userInput&quot;: { # Input provided by the user. # DO NOT USE -- These are for 3P JSON only
&quot;contentList&quot;: { # A list of Content. # The content of the step. An array of Content objects.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;contentString&quot;: &quot;A String&quot;, # The content of the step. A single string.
},
},
],
},
&quot;steps&quot;: [ # Required. Output only. The steps that make up the interaction.
{ # A step in the interaction.
&quot;modelOutput&quot;: { # Output generated by the model.
&quot;content&quot;: [
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;thought&quot;: { # A thought step.
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;summary&quot;: [ # A summary of the thought.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;toolCall&quot;: { # Tool call step.
&quot;codeExecutionCall&quot;: { # Code execution call step.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search call step.
},
&quot;functionCall&quot;: { # A function tool call step.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps call step.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search call step.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call step.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context call step.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result step.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result step.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result step.
},
&quot;functionResult&quot;: { # Result of a function tool call.
&quot;contentList&quot;: { # A list of Content.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result step.
&quot;result&quot;: [
{ # The result of the Google Maps.
&quot;places&quot;: [
{
&quot;name&quot;: &quot;A String&quot;,
&quot;placeId&quot;: &quot;A String&quot;,
&quot;reviewSnippets&quot;: [
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;,
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;,
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result step.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result step.
&quot;contentList&quot;: { # A list of Content.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result step.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;userInput&quot;: { # Input provided by the user. # DO NOT USE -- These are for 3P JSON only
&quot;contentList&quot;: { # A list of Content. # The content of the step. An array of Content objects.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;contentString&quot;: &quot;A String&quot;, # The content of the step. A single string.
},
},
],
&quot;stringContent&quot;: &quot;A String&quot;, # A string input for the interaction, it will be processed as a single text input.
&quot;systemInstruction&quot;: &quot;A String&quot;, # System instruction for the interaction.
&quot;tools&quot;: [ # A list of tool declarations the model may call during interaction.
{ # A tool that can be used by the model.
&quot;codeExecution&quot;: { # A tool that can be used by the model to execute code. # A tool that can be used by the model to execute code.
},
&quot;computerUse&quot;: { # A tool that can be used by the model to interact with the computer. # Tool to support the model interacting directly with the computer.
&quot;enablePromptInjectionDetection&quot;: True or False, # Whether enable the prompt injection detection check on computer-use request.
&quot;environment&quot;: &quot;A String&quot;, # The environment being operated.
&quot;excludedPredefinedFunctions&quot;: [ # The list of predefined functions that are excluded from the model call.
&quot;A String&quot;,
],
},
&quot;fileSearch&quot;: { # A tool that can be used by the model to search files. # A tool that can be used by the model to search files.
&quot;fileSearchStoreNames&quot;: [ # The file search store names to search.
&quot;A String&quot;,
],
&quot;metadataFilter&quot;: &quot;A String&quot;, # Metadata filter to apply to the semantic retrieval documents and chunks.
&quot;topK&quot;: 42, # The number of semantic retrieval chunks to retrieve.
},
&quot;function&quot;: { # A tool that can be used by the model. # A function that can be used by the model.
&quot;description&quot;: &quot;A String&quot;, # A description of the function.
&quot;name&quot;: &quot;A String&quot;, # The name of the function.
&quot;parameters&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, 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&#x27;s parameters.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
&quot;googleMaps&quot;: { # 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.
&quot;enableWidget&quot;: True or False, # Whether to return a widget context token in the tool call result of the response.
&quot;latitude&quot;: 3.14, # The latitude of the user&#x27;s location.
&quot;longitude&quot;: 3.14, # The longitude of the user&#x27;s location.
},
&quot;googleSearch&quot;: { # A tool that can be used by the model to search Google. # A tool that can be used by the model to search Google.
&quot;searchTypes&quot;: [ # The types of search grounding to enable.
&quot;A String&quot;,
],
},
&quot;mcpServer&quot;: { # 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.
&quot;allowedTools&quot;: [ # The allowed tools.
{ # The configuration for allowed tools.
&quot;mode&quot;: &quot;A String&quot;, # The mode of the tool choice.
&quot;tools&quot;: [ # The names of the allowed tools.
&quot;A String&quot;,
],
},
],
&quot;headers&quot;: { # Optional: Fields for authentication headers, timeouts, etc., if needed.
&quot;a_key&quot;: &quot;A String&quot;,
},
&quot;name&quot;: &quot;A String&quot;, # The name of the MCPServer.
&quot;url&quot;: &quot;A String&quot;, # The full URL for the MCPServer endpoint. Example: &quot;https://api.example.com/mcp&quot;
},
&quot;retrieval&quot;: { # A tool that can be used by the model to retrieve files. # A tool that can be used by the model to retrieve files.
&quot;exa_ai_search_config&quot;: { # Used to specify configuration for ExaAISearch. # Used to specify configuration for ExaAISearch.
&quot;api_key&quot;: &quot;A String&quot;, # Required. The API key for ExaAiSearch.
&quot;custom_config&quot;: { # Optional. This field can be used to pass any parameter from the Exa.ai Search API.
&quot;a_key&quot;: &quot;&quot;, # Properties of the object.
},
},
&quot;parallel_ai_search_config&quot;: { # Used to specify configuration for ParallelAISearch. # Used to specify configuration for ParallelAISearch.
&quot;api_key&quot;: &quot;A String&quot;, # Optional. The API key for ParallelAiSearch.
&quot;custom_config&quot;: { # Optional. Custom configs for ParallelAiSearch.
&quot;a_key&quot;: &quot;&quot;, # Properties of the object.
},
},
&quot;rag_store_config&quot;: { # Use to specify configuration for RAG Store. # Used to specify configuration for RagStore.
&quot;rag_resources&quot;: [ # Optional. The representation of the rag source.
{ # The definition of the Rag resource.
&quot;rag_corpus&quot;: &quot;A String&quot;, # Optional. RagCorpora resource name.
&quot;rag_file_ids&quot;: [ # Optional. rag_file_id. The files should be in the same rag_corpus set in rag_corpus field.
&quot;A String&quot;,
],
},
],
&quot;rag_retrieval_config&quot;: { # Specifies the context retrieval config. # Optional. The retrieval config for the Rag query.
&quot;filter&quot;: { # Config for filters. # Optional. Config for filters.
&quot;metadata_filter&quot;: &quot;A String&quot;, # Optional. String for metadata filtering.
&quot;vector_distance_threshold&quot;: 3.14, # Optional. Only returns contexts with vector distance smaller than the threshold.
&quot;vector_similarity_threshold&quot;: 3.14, # Optional. Only returns contexts with vector similarity larger than the threshold.
},
&quot;hybrid_search&quot;: { # Config for Hybrid Search. # Optional. Config for Hybrid Search.
&quot;alpha&quot;: 3.14, # Optional. Alpha value controls the weight between dense and sparse vector search results.
},
&quot;ranking&quot;: { # Config for ranking and reranking. # Optional. Config for ranking and reranking.
&quot;rank_service&quot;: { # Config for Rank Service. # Optional. Config for Rank Service.
&quot;model_name&quot;: &quot;A String&quot;, # Optional. The model name of the rank service.
},
},
&quot;top_k&quot;: 42, # Optional. The number of contexts to retrieve.
},
&quot;similarity_top_k&quot;: 42, # Optional. Number of top k results to return from the selected corpora.
&quot;vector_distance_threshold&quot;: 3.14, # Optional. Only return results with vector distance smaller than the threshold.
},
&quot;retrievalTypes&quot;: [ # The types of file retrieval to enable.
&quot;A String&quot;,
],
&quot;vertex_ai_search_config&quot;: { # Used to specify configuration for VertexAISearch. # Used to specify configuration for VertexAISearch.
&quot;datastores&quot;: [ # Optional. Used to specify Vertex AI Search datastores.
&quot;A String&quot;,
],
&quot;engine&quot;: &quot;A String&quot;, # Optional. Used to specify Vertex AI Search engine.
},
},
&quot;urlContext&quot;: { # 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.
},
},
],
&quot;turnList&quot;: { # A list of Turns. # The turns for the interaction.
&quot;turns&quot;: [
{
&quot;contentList&quot;: { # A list of Content. # The content of the turn. An array of Content objects.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;contentString&quot;: &quot;A String&quot;, # The content of the turn. A single string.
&quot;role&quot;: &quot;A String&quot;, # The originator of this turn. Must be user for input or model for model output.
},
],
},
&quot;updated&quot;: &quot;A String&quot;, # Required. Output only. The time at which the response was last updated in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ).
&quot;usage&quot;: { # Statistics on the interaction request&#x27;s token usage. # Output only. Statistics on the interaction request&#x27;s token usage.
&quot;cachedTokensByModality&quot;: [ # A breakdown of cached token usage by modality.
{ # The token count for a single response modality.
&quot;modality&quot;: &quot;A String&quot;, # The modality associated with the token count.
&quot;tokens&quot;: 42, # Number of tokens for the modality.
},
],
&quot;groundingToolCount&quot;: [ # Grounding tool count.
{ # The number of grounding tool counts.
&quot;count&quot;: 42, # The number of grounding tool counts.
&quot;type&quot;: &quot;A String&quot;, # The grounding tool type associated with the count.
},
],
&quot;inputTokensByModality&quot;: [ # A breakdown of input token usage by modality.
{ # The token count for a single response modality.
&quot;modality&quot;: &quot;A String&quot;, # The modality associated with the token count.
&quot;tokens&quot;: 42, # Number of tokens for the modality.
},
],
&quot;outputTokensByModality&quot;: [ # A breakdown of output token usage by modality.
{ # The token count for a single response modality.
&quot;modality&quot;: &quot;A String&quot;, # The modality associated with the token count.
&quot;tokens&quot;: 42, # Number of tokens for the modality.
},
],
&quot;toolUseTokensByModality&quot;: [ # A breakdown of tool-use token usage by modality.
{ # The token count for a single response modality.
&quot;modality&quot;: &quot;A String&quot;, # The modality associated with the token count.
&quot;tokens&quot;: 42, # Number of tokens for the modality.
},
],
&quot;totalCachedTokens&quot;: 42, # Number of tokens in the cached part of the prompt (the cached content).
&quot;totalInputTokens&quot;: 42, # Number of tokens in the prompt (context).
&quot;totalOutputTokens&quot;: 42, # Total number of tokens across all the generated responses.
&quot;totalThoughtTokens&quot;: 42, # Number of tokens of thoughts for thinking models.
&quot;totalTokens&quot;: 42, # Total token count for the interaction request (prompt + responses + other internal tokens).
&quot;totalToolUseTokens&quot;: 42, # Number of tokens present in tool-use prompt(s).
},
},
},
&quot;interactionStartEvent&quot;: { # The interaction data, used for interaction.start events.
&quot;interaction&quot;: { # Response for InteractionService.CreateInteraction.
&quot;agentInteraction&quot;: { # Interaction for generating the completion using agents. # Interaction for generating the completion using agents.
&quot;agent&quot;: &quot;A String&quot;, # The name of the `Agent` used for generating the completion.
&quot;deepResearchConfig&quot;: { # Configuration for the Deep Research agent.
&quot;collaborativePlanning&quot;: 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.
&quot;enableBigqueryTool&quot;: True or False, # Enables bigquery tool for the Deep Research agent.
&quot;thinkingSummaries&quot;: &quot;A String&quot;, # Whether to include thought summaries in the response.
&quot;visualization&quot;: &quot;A String&quot;, # Whether to include visualizations in the response.
},
&quot;dynamicConfig&quot;: { # Configuration for dynamic agents.
&quot;config&quot;: { # `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.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
},
&quot;content&quot;: { # The content of the response. # The content for the interaction.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
&quot;contentList&quot;: { # A list of Content. # The inputs for the interaction.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;created&quot;: &quot;A String&quot;, # Required. Output only. The time at which the response was created in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ).
&quot;envId&quot;: &quot;A String&quot;, # The environment ID for the interaction. Can be &#x27;remote&#x27; for default environment.
&quot;environmentId&quot;: &quot;A String&quot;, # Output only. The environment ID for the interaction. Only populated if environment config is set in the request.
&quot;id&quot;: &quot;A String&quot;, # Required. Output only. A unique identifier for the interaction completion.
&quot;modelInteraction&quot;: { # Interaction for generating the completion using models. # Interaction for generating the completion using models.
&quot;cached_content&quot;: &quot;A String&quot;, # The name of the cached content used as context to serve the prediction. Note: only used in explicit caching, where users can have control over caching (e.g. what content to cache) and enjoy guaranteed cost savings. Format: `projects/{project}/locations/{location}/cachedContents/{cachedContent}`
&quot;generationConfig&quot;: { # Configuration parameters for model interactions. # Input only. Configuration parameters for the model interaction.
&quot;frequency_penalty&quot;: 3.14, # Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0].
&quot;imageConfig&quot;: { # The configuration for image interaction. # Configuration for image interaction.
&quot;aspectRatio&quot;: &quot;A String&quot;, # 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.
&quot;imageSize&quot;: &quot;A String&quot;, # Specifies the size of generated images. Supported values are `1K`, `2K`, `4K`. If not specified, the model will use default value `1K`.
},
&quot;maxOutputTokens&quot;: 42, # The maximum number of tokens to include in the response.
&quot;presence_penalty&quot;: 3.14, # Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0].
&quot;seed&quot;: 42, # Seed used in decoding for reproducibility.
&quot;speechConfig&quot;: [ # Configuration for speech interaction.
{ # The configuration for speech interaction.
&quot;language&quot;: &quot;A String&quot;, # The language of the speech.
&quot;speaker&quot;: &quot;A String&quot;, # The speaker&#x27;s name, it should match the speaker name given in the prompt.
&quot;voice&quot;: &quot;A String&quot;, # The voice of the speaker.
},
],
&quot;stopSequences&quot;: [ # A list of character sequences that will stop output interaction.
&quot;A String&quot;,
],
&quot;temperature&quot;: 3.14, # Controls the randomness of the output.
&quot;thinkingLevel&quot;: &quot;A String&quot;, # The level of thought tokens that the model should generate.
&quot;thinkingSummaries&quot;: &quot;A String&quot;, # Whether to include thought summaries in the response.
&quot;toolChoiceConfig&quot;: { # The tool choice configuration containing allowed tools. # The config for the tool choice.
&quot;allowedTools&quot;: { # The configuration for allowed tools. # The allowed tools.
&quot;mode&quot;: &quot;A String&quot;, # The mode of the tool choice.
&quot;tools&quot;: [ # The names of the allowed tools.
&quot;A String&quot;,
],
},
},
&quot;toolChoiceMode&quot;: &quot;A String&quot;, # The mode of the tool choice.
&quot;topP&quot;: 3.14, # The maximum cumulative probability of tokens to consider when sampling.
},
&quot;model&quot;: &quot;A String&quot;, # The name of the `Model` used for generating the completion.
},
&quot;outputs&quot;: [ # Output only. Responses from the model.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
&quot;previousInteractionId&quot;: &quot;A String&quot;, # The ID of the previous interaction, if any.
&quot;remoteEnvironment&quot;: { # Configuration for a custom environment.
&quot;networkAllowlist&quot;: { # Network egress configuration for the environment. # Allow only specific domains.
&quot;allowlist&quot;: [ # List of allowed domains and their configurations.
{ # A network egress rule that controls which external domains the environment is allowed to reach. Each rule identifies a target domain and, optionally, a set of HTTP headers to inject into every matching outbound request.
&quot;domain&quot;: &quot;A String&quot;, # The domain pattern to match for this rule. Use an exact hostname (e.g., `github.com`), a wildcard prefix (e.g., `*.googleapis.com`), or `*` to match all domains.
&quot;transform&quot;: { # Headers to inject into requests matching this rule. Key: header name (e.g., &quot;Authorization&quot;). Value: header value (e.g., &quot;Bearer your-token&quot;).
&quot;a_key&quot;: &quot;A String&quot;,
},
},
],
},
&quot;networkMode&quot;: &quot;A String&quot;, # Network egress mode.
&quot;sources&quot;: [
{ # A source to be mounted into the environment.
&quot;content&quot;: &quot;A String&quot;, # The inline content if `type` is `INLINE`.
&quot;encoding&quot;: &quot;A String&quot;, # Optional encoding for inline content (e.g. `base64`).
&quot;source&quot;: &quot;A String&quot;, # The source of the environment. For GCS, this is the GCS path. For GitHub, this is the GitHub path.
&quot;target&quot;: &quot;A String&quot;, # Where the source should appear in the environment.
&quot;type&quot;: &quot;A String&quot;,
},
],
},
&quot;responseFormat&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, 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.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
&quot;responseFormatList&quot;: {
&quot;responseFormats&quot;: [
{
&quot;audio&quot;: { # Configuration for audio output format.
&quot;bitRate&quot;: 42, # Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus).
&quot;delivery&quot;: &quot;A String&quot;, # The delivery mode for the audio output.
&quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the audio output.
&quot;sampleRate&quot;: 42, # Sample rate in Hz.
},
&quot;image&quot;: { # Configuration for image output format.
&quot;aspectRatio&quot;: &quot;A String&quot;, # The aspect ratio for the image output.
&quot;delivery&quot;: &quot;A String&quot;, # The delivery mode for the image output.
&quot;imageSize&quot;: &quot;A String&quot;, # The size of the image output.
&quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the image output.
},
&quot;structValue&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Multi-discriminator values is already enabled in GAOS
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;text&quot;: { # Configuration for text output format.
&quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the text output.
&quot;schema&quot;: { # `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.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
},
],
},
&quot;responseFormatSingleton&quot;: {
&quot;audio&quot;: { # Configuration for audio output format.
&quot;bitRate&quot;: 42, # Bit rate in bits per second (bps). Only applicable for compressed formats (MP3, Opus).
&quot;delivery&quot;: &quot;A String&quot;, # The delivery mode for the audio output.
&quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the audio output.
&quot;sampleRate&quot;: 42, # Sample rate in Hz.
},
&quot;image&quot;: { # Configuration for image output format.
&quot;aspectRatio&quot;: &quot;A String&quot;, # The aspect ratio for the image output.
&quot;delivery&quot;: &quot;A String&quot;, # The delivery mode for the image output.
&quot;imageSize&quot;: &quot;A String&quot;, # The size of the image output.
&quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the image output.
},
&quot;structValue&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Multi-discriminator values is already enabled in GAOS
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;text&quot;: { # Configuration for text output format.
&quot;mimeType&quot;: &quot;A String&quot;, # The MIME type of the text output.
&quot;schema&quot;: { # `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.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
},
&quot;responseMimeType&quot;: &quot;A String&quot;, # The mime type of the response. This is required if response_format is set.
&quot;responseModalities&quot;: [ # The requested modalities of the response (TEXT, IMAGE, AUDIO).
&quot;A String&quot;,
],
&quot;role&quot;: &quot;A String&quot;, # Output only. The role of the interaction.
&quot;status&quot;: &quot;A String&quot;, # Required. Output only. The status of the interaction.
&quot;stepList&quot;: { # A list of Steps. # Input only. The steps for the interaction.
&quot;steps&quot;: [ # The steps of the list.
{ # A step in the interaction.
&quot;modelOutput&quot;: { # Output generated by the model.
&quot;content&quot;: [
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;thought&quot;: { # A thought step.
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;summary&quot;: [ # A summary of the thought.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;toolCall&quot;: { # Tool call step.
&quot;codeExecutionCall&quot;: { # Code execution call step.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search call step.
},
&quot;functionCall&quot;: { # A function tool call step.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps call step.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search call step.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call step.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context call step.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result step.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result step.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result step.
},
&quot;functionResult&quot;: { # Result of a function tool call.
&quot;contentList&quot;: { # A list of Content.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result step.
&quot;result&quot;: [
{ # The result of the Google Maps.
&quot;places&quot;: [
{
&quot;name&quot;: &quot;A String&quot;,
&quot;placeId&quot;: &quot;A String&quot;,
&quot;reviewSnippets&quot;: [
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;,
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;,
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result step.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result step.
&quot;contentList&quot;: { # A list of Content.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result step.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;userInput&quot;: { # Input provided by the user. # DO NOT USE -- These are for 3P JSON only
&quot;contentList&quot;: { # A list of Content. # The content of the step. An array of Content objects.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;contentString&quot;: &quot;A String&quot;, # The content of the step. A single string.
},
},
],
},
&quot;steps&quot;: [ # Required. Output only. The steps that make up the interaction.
{ # A step in the interaction.
&quot;modelOutput&quot;: { # Output generated by the model.
&quot;content&quot;: [
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;thought&quot;: { # A thought step.
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;summary&quot;: [ # A summary of the thought.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;toolCall&quot;: { # Tool call step.
&quot;codeExecutionCall&quot;: { # Code execution call step.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search call step.
},
&quot;functionCall&quot;: { # A function tool call step.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps call step.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search call step.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call step.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context call step.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result step.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result step.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result step.
},
&quot;functionResult&quot;: { # Result of a function tool call.
&quot;contentList&quot;: { # A list of Content.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result step.
&quot;result&quot;: [
{ # The result of the Google Maps.
&quot;places&quot;: [
{
&quot;name&quot;: &quot;A String&quot;,
&quot;placeId&quot;: &quot;A String&quot;,
&quot;reviewSnippets&quot;: [
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;,
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;,
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result step.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result step.
&quot;contentList&quot;: { # A list of Content.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result step.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;userInput&quot;: { # Input provided by the user. # DO NOT USE -- These are for 3P JSON only
&quot;contentList&quot;: { # A list of Content. # The content of the step. An array of Content objects.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;contentString&quot;: &quot;A String&quot;, # The content of the step. A single string.
},
},
],
&quot;stringContent&quot;: &quot;A String&quot;, # A string input for the interaction, it will be processed as a single text input.
&quot;systemInstruction&quot;: &quot;A String&quot;, # System instruction for the interaction.
&quot;tools&quot;: [ # A list of tool declarations the model may call during interaction.
{ # A tool that can be used by the model.
&quot;codeExecution&quot;: { # A tool that can be used by the model to execute code. # A tool that can be used by the model to execute code.
},
&quot;computerUse&quot;: { # A tool that can be used by the model to interact with the computer. # Tool to support the model interacting directly with the computer.
&quot;enablePromptInjectionDetection&quot;: True or False, # Whether enable the prompt injection detection check on computer-use request.
&quot;environment&quot;: &quot;A String&quot;, # The environment being operated.
&quot;excludedPredefinedFunctions&quot;: [ # The list of predefined functions that are excluded from the model call.
&quot;A String&quot;,
],
},
&quot;fileSearch&quot;: { # A tool that can be used by the model to search files. # A tool that can be used by the model to search files.
&quot;fileSearchStoreNames&quot;: [ # The file search store names to search.
&quot;A String&quot;,
],
&quot;metadataFilter&quot;: &quot;A String&quot;, # Metadata filter to apply to the semantic retrieval documents and chunks.
&quot;topK&quot;: 42, # The number of semantic retrieval chunks to retrieve.
},
&quot;function&quot;: { # A tool that can be used by the model. # A function that can be used by the model.
&quot;description&quot;: &quot;A String&quot;, # A description of the function.
&quot;name&quot;: &quot;A String&quot;, # The name of the function.
&quot;parameters&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, 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&#x27;s parameters.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
&quot;googleMaps&quot;: { # 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.
&quot;enableWidget&quot;: True or False, # Whether to return a widget context token in the tool call result of the response.
&quot;latitude&quot;: 3.14, # The latitude of the user&#x27;s location.
&quot;longitude&quot;: 3.14, # The longitude of the user&#x27;s location.
},
&quot;googleSearch&quot;: { # A tool that can be used by the model to search Google. # A tool that can be used by the model to search Google.
&quot;searchTypes&quot;: [ # The types of search grounding to enable.
&quot;A String&quot;,
],
},
&quot;mcpServer&quot;: { # 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.
&quot;allowedTools&quot;: [ # The allowed tools.
{ # The configuration for allowed tools.
&quot;mode&quot;: &quot;A String&quot;, # The mode of the tool choice.
&quot;tools&quot;: [ # The names of the allowed tools.
&quot;A String&quot;,
],
},
],
&quot;headers&quot;: { # Optional: Fields for authentication headers, timeouts, etc., if needed.
&quot;a_key&quot;: &quot;A String&quot;,
},
&quot;name&quot;: &quot;A String&quot;, # The name of the MCPServer.
&quot;url&quot;: &quot;A String&quot;, # The full URL for the MCPServer endpoint. Example: &quot;https://api.example.com/mcp&quot;
},
&quot;retrieval&quot;: { # A tool that can be used by the model to retrieve files. # A tool that can be used by the model to retrieve files.
&quot;exa_ai_search_config&quot;: { # Used to specify configuration for ExaAISearch. # Used to specify configuration for ExaAISearch.
&quot;api_key&quot;: &quot;A String&quot;, # Required. The API key for ExaAiSearch.
&quot;custom_config&quot;: { # Optional. This field can be used to pass any parameter from the Exa.ai Search API.
&quot;a_key&quot;: &quot;&quot;, # Properties of the object.
},
},
&quot;parallel_ai_search_config&quot;: { # Used to specify configuration for ParallelAISearch. # Used to specify configuration for ParallelAISearch.
&quot;api_key&quot;: &quot;A String&quot;, # Optional. The API key for ParallelAiSearch.
&quot;custom_config&quot;: { # Optional. Custom configs for ParallelAiSearch.
&quot;a_key&quot;: &quot;&quot;, # Properties of the object.
},
},
&quot;rag_store_config&quot;: { # Use to specify configuration for RAG Store. # Used to specify configuration for RagStore.
&quot;rag_resources&quot;: [ # Optional. The representation of the rag source.
{ # The definition of the Rag resource.
&quot;rag_corpus&quot;: &quot;A String&quot;, # Optional. RagCorpora resource name.
&quot;rag_file_ids&quot;: [ # Optional. rag_file_id. The files should be in the same rag_corpus set in rag_corpus field.
&quot;A String&quot;,
],
},
],
&quot;rag_retrieval_config&quot;: { # Specifies the context retrieval config. # Optional. The retrieval config for the Rag query.
&quot;filter&quot;: { # Config for filters. # Optional. Config for filters.
&quot;metadata_filter&quot;: &quot;A String&quot;, # Optional. String for metadata filtering.
&quot;vector_distance_threshold&quot;: 3.14, # Optional. Only returns contexts with vector distance smaller than the threshold.
&quot;vector_similarity_threshold&quot;: 3.14, # Optional. Only returns contexts with vector similarity larger than the threshold.
},
&quot;hybrid_search&quot;: { # Config for Hybrid Search. # Optional. Config for Hybrid Search.
&quot;alpha&quot;: 3.14, # Optional. Alpha value controls the weight between dense and sparse vector search results.
},
&quot;ranking&quot;: { # Config for ranking and reranking. # Optional. Config for ranking and reranking.
&quot;rank_service&quot;: { # Config for Rank Service. # Optional. Config for Rank Service.
&quot;model_name&quot;: &quot;A String&quot;, # Optional. The model name of the rank service.
},
},
&quot;top_k&quot;: 42, # Optional. The number of contexts to retrieve.
},
&quot;similarity_top_k&quot;: 42, # Optional. Number of top k results to return from the selected corpora.
&quot;vector_distance_threshold&quot;: 3.14, # Optional. Only return results with vector distance smaller than the threshold.
},
&quot;retrievalTypes&quot;: [ # The types of file retrieval to enable.
&quot;A String&quot;,
],
&quot;vertex_ai_search_config&quot;: { # Used to specify configuration for VertexAISearch. # Used to specify configuration for VertexAISearch.
&quot;datastores&quot;: [ # Optional. Used to specify Vertex AI Search datastores.
&quot;A String&quot;,
],
&quot;engine&quot;: &quot;A String&quot;, # Optional. Used to specify Vertex AI Search engine.
},
},
&quot;urlContext&quot;: { # 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.
},
},
],
&quot;turnList&quot;: { # A list of Turns. # The turns for the interaction.
&quot;turns&quot;: [
{
&quot;contentList&quot;: { # A list of Content. # The content of the turn. An array of Content objects.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;contentString&quot;: &quot;A String&quot;, # The content of the turn. A single string.
&quot;role&quot;: &quot;A String&quot;, # The originator of this turn. Must be user for input or model for model output.
},
],
},
&quot;updated&quot;: &quot;A String&quot;, # Required. Output only. The time at which the response was last updated in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ).
&quot;usage&quot;: { # Statistics on the interaction request&#x27;s token usage. # Output only. Statistics on the interaction request&#x27;s token usage.
&quot;cachedTokensByModality&quot;: [ # A breakdown of cached token usage by modality.
{ # The token count for a single response modality.
&quot;modality&quot;: &quot;A String&quot;, # The modality associated with the token count.
&quot;tokens&quot;: 42, # Number of tokens for the modality.
},
],
&quot;groundingToolCount&quot;: [ # Grounding tool count.
{ # The number of grounding tool counts.
&quot;count&quot;: 42, # The number of grounding tool counts.
&quot;type&quot;: &quot;A String&quot;, # The grounding tool type associated with the count.
},
],
&quot;inputTokensByModality&quot;: [ # A breakdown of input token usage by modality.
{ # The token count for a single response modality.
&quot;modality&quot;: &quot;A String&quot;, # The modality associated with the token count.
&quot;tokens&quot;: 42, # Number of tokens for the modality.
},
],
&quot;outputTokensByModality&quot;: [ # A breakdown of output token usage by modality.
{ # The token count for a single response modality.
&quot;modality&quot;: &quot;A String&quot;, # The modality associated with the token count.
&quot;tokens&quot;: 42, # Number of tokens for the modality.
},
],
&quot;toolUseTokensByModality&quot;: [ # A breakdown of tool-use token usage by modality.
{ # The token count for a single response modality.
&quot;modality&quot;: &quot;A String&quot;, # The modality associated with the token count.
&quot;tokens&quot;: 42, # Number of tokens for the modality.
},
],
&quot;totalCachedTokens&quot;: 42, # Number of tokens in the cached part of the prompt (the cached content).
&quot;totalInputTokens&quot;: 42, # Number of tokens in the prompt (context).
&quot;totalOutputTokens&quot;: 42, # Total number of tokens across all the generated responses.
&quot;totalThoughtTokens&quot;: 42, # Number of tokens of thoughts for thinking models.
&quot;totalTokens&quot;: 42, # Total token count for the interaction request (prompt + responses + other internal tokens).
&quot;totalToolUseTokens&quot;: 42, # Number of tokens present in tool-use prompt(s).
},
},
},
&quot;interactionStatusUpdate&quot;: { # The interaction status data, used for interaction.status_update events.
&quot;interactionId&quot;: &quot;A String&quot;,
&quot;status&quot;: &quot;A String&quot;,
},
&quot;metadata&quot;: { # Optional metadata accompanying ANY streamed event.
&quot;totalUsage&quot;: { # Statistics on the interaction request&#x27;s token usage.
&quot;cachedTokensByModality&quot;: [ # A breakdown of cached token usage by modality.
{ # The token count for a single response modality.
&quot;modality&quot;: &quot;A String&quot;, # The modality associated with the token count.
&quot;tokens&quot;: 42, # Number of tokens for the modality.
},
],
&quot;groundingToolCount&quot;: [ # Grounding tool count.
{ # The number of grounding tool counts.
&quot;count&quot;: 42, # The number of grounding tool counts.
&quot;type&quot;: &quot;A String&quot;, # The grounding tool type associated with the count.
},
],
&quot;inputTokensByModality&quot;: [ # A breakdown of input token usage by modality.
{ # The token count for a single response modality.
&quot;modality&quot;: &quot;A String&quot;, # The modality associated with the token count.
&quot;tokens&quot;: 42, # Number of tokens for the modality.
},
],
&quot;outputTokensByModality&quot;: [ # A breakdown of output token usage by modality.
{ # The token count for a single response modality.
&quot;modality&quot;: &quot;A String&quot;, # The modality associated with the token count.
&quot;tokens&quot;: 42, # Number of tokens for the modality.
},
],
&quot;toolUseTokensByModality&quot;: [ # A breakdown of tool-use token usage by modality.
{ # The token count for a single response modality.
&quot;modality&quot;: &quot;A String&quot;, # The modality associated with the token count.
&quot;tokens&quot;: 42, # Number of tokens for the modality.
},
],
&quot;totalCachedTokens&quot;: 42, # Number of tokens in the cached part of the prompt (the cached content).
&quot;totalInputTokens&quot;: 42, # Number of tokens in the prompt (context).
&quot;totalOutputTokens&quot;: 42, # Total number of tokens across all the generated responses.
&quot;totalThoughtTokens&quot;: 42, # Number of tokens of thoughts for thinking models.
&quot;totalTokens&quot;: 42, # Total token count for the interaction request (prompt + responses + other internal tokens).
&quot;totalToolUseTokens&quot;: 42, # Number of tokens present in tool-use prompt(s).
},
},
&quot;stepDelta&quot;: { # The step delta data, used for step.delta events.
&quot;delta&quot;: {
&quot;argumentsDelta&quot;: {
&quot;arguments&quot;: &quot;A String&quot;,
},
&quot;audio&quot;: {
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;,
&quot;mimeType&quot;: &quot;A String&quot;,
&quot;rate&quot;: 42, # Deprecated. Use sample_rate instead. The value is ignored.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;,
},
&quot;document&quot;: {
&quot;data&quot;: &quot;A String&quot;,
&quot;mimeType&quot;: &quot;A String&quot;,
&quot;uri&quot;: &quot;A String&quot;,
},
&quot;functionResult&quot;: {
&quot;contentList&quot;: { # A list of Content.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;isError&quot;: True or False,
&quot;name&quot;: &quot;A String&quot;,
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;image&quot;: {
&quot;data&quot;: &quot;A String&quot;,
&quot;mimeType&quot;: &quot;A String&quot;,
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;,
},
&quot;serverToolCall&quot;: {
&quot;codeExecutionCall&quot;: {
&quot;arguments&quot;: { # The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: {
},
&quot;googleMapsCall&quot;: {
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: {
&quot;arguments&quot;: { # The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
},
&quot;mcpServerToolCall&quot;: {
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;,
&quot;serverName&quot;: &quot;A String&quot;,
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: {
&quot;arguments&quot;: { # The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;serverToolResult&quot;: {
&quot;codeExecutionResult&quot;: {
&quot;isError&quot;: True or False,
&quot;result&quot;: &quot;A String&quot;,
},
&quot;fileSearchResult&quot;: {
&quot;result&quot;: [
{ # The result of the File Search.
},
],
},
&quot;googleMapsResult&quot;: {
&quot;result&quot;: [ # The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: {
&quot;isError&quot;: True or False,
&quot;result&quot;: [
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: {
&quot;contentList&quot;: { # A list of Content.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;,
&quot;serverName&quot;: &quot;A String&quot;,
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: {
&quot;isError&quot;: True or False,
&quot;result&quot;: [
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;text&quot;: {
&quot;text&quot;: &quot;A String&quot;,
},
&quot;textAnnotationDelta&quot;: {
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
},
&quot;thoughtSignature&quot;: {
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
},
&quot;thoughtSummary&quot;: {
&quot;content&quot;: { # The content of the response. # A new summary item to be added to the thought.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
},
&quot;video&quot;: {
&quot;data&quot;: &quot;A String&quot;,
&quot;mimeType&quot;: &quot;A String&quot;,
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;,
},
},
&quot;index&quot;: 42,
},
&quot;stepStart&quot;: { # The step start data, used for step.start events.
&quot;index&quot;: 42,
&quot;step&quot;: { # A step in the interaction.
&quot;modelOutput&quot;: { # Output generated by the model.
&quot;content&quot;: [
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;thought&quot;: { # A thought step.
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;summary&quot;: [ # A summary of the thought.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;toolCall&quot;: { # Tool call step.
&quot;codeExecutionCall&quot;: { # Code execution call step.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search call step.
},
&quot;functionCall&quot;: { # A function tool call step.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps call step.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search call step.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call step.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context call step.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result step.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result step.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result step.
},
&quot;functionResult&quot;: { # Result of a function tool call.
&quot;contentList&quot;: { # A list of Content.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result step.
&quot;result&quot;: [
{ # The result of the Google Maps.
&quot;places&quot;: [
{
&quot;name&quot;: &quot;A String&quot;,
&quot;placeId&quot;: &quot;A String&quot;,
&quot;reviewSnippets&quot;: [
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;,
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;,
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result step.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result step.
&quot;contentList&quot;: { # A list of Content.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result step.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;userInput&quot;: { # Input provided by the user. # DO NOT USE -- These are for 3P JSON only
&quot;contentList&quot;: { # A list of Content. # The content of the step. An array of Content objects.
&quot;contents&quot;: [ # The contents of the list.
{ # The content of the response.
&quot;audio&quot;: { # An audio content block.
&quot;channels&quot;: 42, # The number of audio channels.
&quot;data&quot;: &quot;A String&quot;, # The audio content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the audio.
&quot;sampleRate&quot;: 42, # The sample rate of the audio.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the audio.
},
&quot;document&quot;: { # A document content block.
&quot;data&quot;: &quot;A String&quot;, # The document content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the document.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the document.
},
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
&quot;thought&quot;: { # A thought content block.
&quot;signature&quot;: &quot;A String&quot;, # Signature to match the backend source to be part of the generation.
&quot;summary&quot;: [ # A summary of the thought.
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;toolCall&quot;: { # Tool call content.
&quot;codeExecutionCall&quot;: { # Code execution content.
&quot;arguments&quot;: { # The arguments to pass to the code execution. # Required. The arguments to pass to the code execution.
&quot;code&quot;: &quot;A String&quot;, # The code to be executed.
&quot;language&quot;: &quot;A String&quot;, # Programming language of the `code`.
},
},
&quot;fileSearchCall&quot;: { # File Search content.
},
&quot;functionCall&quot;: { # A function tool call content block.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The arguments to pass to the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool to call.
},
&quot;googleMapsCall&quot;: { # Google Maps content.
&quot;arguments&quot;: { # The arguments to pass to the Google Maps tool. # The arguments to pass to the Google Maps tool.
&quot;queries&quot;: [ # The queries to be executed.
&quot;A String&quot;,
],
},
},
&quot;googleSearchCall&quot;: { # Google Search content.
&quot;arguments&quot;: { # The arguments to pass to Google Search. # Required. The arguments to pass to Google Search.
&quot;queries&quot;: [ # Web search queries for the following-up web search.
&quot;A String&quot;,
],
},
&quot;searchType&quot;: &quot;A String&quot;, # The type of search grounding enabled.
},
&quot;id&quot;: &quot;A String&quot;, # Required. A unique ID for this specific tool call.
&quot;mcpServerToolCall&quot;: { # MCPServer tool call content.
&quot;arguments&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # Required. The JSON object of arguments for the function.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Required. The name of the tool which was called.
&quot;serverName&quot;: &quot;A String&quot;, # Required. The name of the used MCP server.
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextCall&quot;: { # URL context content.
&quot;arguments&quot;: { # The arguments to pass to the URL context. # Required. The arguments to pass to the URL context.
&quot;urls&quot;: [ # The URLs to fetch.
&quot;A String&quot;,
],
},
},
},
&quot;toolResult&quot;: { # Tool result content.
&quot;callId&quot;: &quot;A String&quot;, # Required. ID to match the ID from the function call block.
&quot;codeExecutionResult&quot;: { # Code execution result content.
&quot;isError&quot;: True or False, # Whether the code execution resulted in an error.
&quot;result&quot;: &quot;A String&quot;, # Required. The output of the code execution.
},
&quot;fileSearchResult&quot;: { # File Search result content.
&quot;result&quot;: [ # Optional. The results of the File Search.
{ # The result of the File Search.
},
],
},
&quot;functionResult&quot;: { # A function tool result content block.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;isError&quot;: True or False, # Whether the tool call resulted in an error.
&quot;name&quot;: &quot;A String&quot;, # The name of the tool that was called.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;googleMapsResult&quot;: { # Google Maps result content.
&quot;result&quot;: [ # Required. The results of the Google Maps.
{ # The result of the Google Maps.
&quot;places&quot;: [ # The places that were found.
{
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
],
&quot;widgetContextToken&quot;: &quot;A String&quot;, # Resource name of the Google Maps widget context token.
},
],
},
&quot;googleSearchResult&quot;: { # Google Search result content.
&quot;isError&quot;: True or False, # Whether the Google Search resulted in an error.
&quot;result&quot;: [ # Required. The results of the Google Search.
{ # The result of the Google Search.
&quot;searchSuggestions&quot;: &quot;A String&quot;, # Web content snippet that can be embedded in a web page or an app webview.
},
],
},
&quot;mcpServerToolResult&quot;: { # MCPServer tool result content.
&quot;contentList&quot;: {
&quot;contents&quot;: [
{
&quot;image&quot;: { # An image content block.
&quot;data&quot;: &quot;A String&quot;, # The image content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the image.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the image.
},
&quot;text&quot;: { # A text content block.
&quot;annotations&quot;: [ # Citation information for model-generated content.
{ # Citation information for model-generated content.
&quot;endIndex&quot;: 42, # End of the attributed segment, exclusive.
&quot;fileCitation&quot;: { # A file citation annotation. # A file citation annotation.
&quot;customMetadata&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values. # User provided metadata about the retrieved context.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
&quot;documentUri&quot;: &quot;A String&quot;, # The URI of the file.
&quot;fileName&quot;: &quot;A String&quot;, # The name of the file.
&quot;mediaId&quot;: &quot;A String&quot;, # Media ID in-case of image citations, if applicable.
&quot;pageNumber&quot;: 42, # Page number of the cited document, if applicable.
&quot;source&quot;: &quot;A String&quot;, # Source attributed for a portion of the text.
},
&quot;placeCitation&quot;: { # A place citation annotation. # A place citation annotation.
&quot;name&quot;: &quot;A String&quot;, # Title of the place.
&quot;placeId&quot;: &quot;A String&quot;, # The ID of the place, in `places/{place_id}` format.
&quot;reviewSnippets&quot;: [ # Snippets of reviews that are used to generate answers about the features of a given place in Google Maps.
{ # Encapsulates a snippet of a user review that answers a question about the features of a specific place in Google Maps.
&quot;reviewId&quot;: &quot;A String&quot;, # The ID of the review snippet.
&quot;title&quot;: &quot;A String&quot;, # Title of the review.
&quot;url&quot;: &quot;A String&quot;, # A link that corresponds to the user review on Google Maps.
},
],
&quot;url&quot;: &quot;A String&quot;, # URI reference of the place.
},
&quot;startIndex&quot;: 42, # Start of segment of the response that is attributed to this source. Index indicates the start of the segment, measured in bytes.
&quot;urlCitation&quot;: { # A URL citation annotation. # A URL citation annotation.
&quot;title&quot;: &quot;A String&quot;, # The title of the URL.
&quot;url&quot;: &quot;A String&quot;, # The URL.
},
},
],
&quot;text&quot;: &quot;A String&quot;, # Required. The text content.
},
},
],
},
&quot;name&quot;: &quot;A String&quot;, # Name of the tool which is called for this specific tool call.
&quot;serverName&quot;: &quot;A String&quot;, # The name of the used MCP server.
&quot;stringResult&quot;: &quot;A String&quot;,
&quot;structResult&quot;: { # `Struct` represents a structured data value, consisting of fields which map to dynamically typed values.
&quot;fields&quot;: [ # Dynamically typed fields. List instead of map because LLMs are sensitive to ordering, and we want to give users full control.
{ # Represents a single field in a struct.
&quot;name&quot;: &quot;A String&quot;,
&quot;value&quot;: { # `Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.
&quot;boolValue&quot;: True or False, # Represents a boolean value.
&quot;listValue&quot;: { # `ListValue` is a wrapper around a repeated field of values. # Represents a repeated `Value`.
&quot;values&quot;: [ # Repeated field of dynamically typed values.
# Object with schema name: GenaiVertexV1beta1Value
],
},
&quot;nullValue&quot;: &quot;A String&quot;, # Represents a null value.
&quot;numberValue&quot;: 3.14, # Represents a double value.
&quot;stringValue&quot;: &quot;A String&quot;, # Represents a string value.
&quot;structValue&quot;: # Object with schema name: GenaiVertexV1beta1Struct # Represents a structured value.
},
},
],
},
},
&quot;signature&quot;: &quot;A String&quot;, # A signature hash for backend validation.
&quot;urlContextResult&quot;: { # URL context result content.
&quot;isError&quot;: True or False, # Whether the URL context resulted in an error.
&quot;result&quot;: [ # Required. The results of the URL context.
{ # The result of the URL context.
&quot;status&quot;: &quot;A String&quot;, # The status of the URL retrieval.
&quot;url&quot;: &quot;A String&quot;, # The URL that was fetched.
},
],
},
},
&quot;video&quot;: { # A video content block.
&quot;data&quot;: &quot;A String&quot;, # The video content.
&quot;mimeType&quot;: &quot;A String&quot;, # The mime type of the video.
&quot;resolution&quot;: &quot;A String&quot;, # The resolution of the media.
&quot;uri&quot;: &quot;A String&quot;, # The URI of the video.
},
},
],
},
&quot;contentString&quot;: &quot;A String&quot;, # The content of the step. A single string.
},
},
},
&quot;stepStop&quot;: { # The step stop data, used for step.stop events.
&quot;index&quot;: 42,
},
}</pre>
</div>
</body></html>