@@ -373,6 +373,38 @@ def update!(**args)
373373 end
374374 end
375375
376+ # Represents a tool that allows the agent to call another agent.
377+ class AgentTool
378+ include Google ::Apis ::Core ::Hashable
379+
380+ # Optional. Description of the tool's purpose.
381+ # Corresponds to the JSON property `description`
382+ # @return [String]
383+ attr_accessor :description
384+
385+ # Required. The name of the agent tool.
386+ # Corresponds to the JSON property `name`
387+ # @return [String]
388+ attr_accessor :name
389+
390+ # Optional. The resource name of the root agent that is the entry point of the
391+ # tool. Format: `projects/`project`/locations/`location`/agents/`agent``
392+ # Corresponds to the JSON property `rootAgent`
393+ # @return [String]
394+ attr_accessor :root_agent
395+
396+ def initialize ( **args )
397+ update! ( **args )
398+ end
399+
400+ # Update properties of this object
401+ def update! ( **args )
402+ @description = args [ :description ] if args . key? ( :description )
403+ @name = args [ :name ] if args . key? ( :name )
404+ @root_agent = args [ :root_agent ] if args . key? ( :root_agent )
405+ end
406+ end
407+
376408 # Represents an event indicating the transfer of a conversation to a different
377409 # agent.
378410 class AgentTransfer
@@ -2885,6 +2917,13 @@ class ExecuteToolRequest
28852917 # @return [Hash<String,Object>]
28862918 attr_accessor :args
28872919
2920+ # Optional. The [ToolCallContext](https://docs.cloud.google.com/customer-
2921+ # engagement-ai/conversational-agents/ps/tool/python#environment for details) to
2922+ # be passed to the Python tool.
2923+ # Corresponds to the JSON property `context`
2924+ # @return [Hash<String,Object>]
2925+ attr_accessor :context
2926+
28882927 # Optional. The name of the tool to execute. Format: projects/`project`/
28892928 # locations/`location`/apps/`app`/tools/`tool`
28902929 # Corresponds to the JSON property `tool`
@@ -2908,6 +2947,7 @@ def initialize(**args)
29082947 # Update properties of this object
29092948 def update! ( **args )
29102949 @args = args [ :args ] if args . key? ( :args )
2950+ @context = args [ :context ] if args . key? ( :context )
29112951 @tool = args [ :tool ] if args . key? ( :tool )
29122952 @toolset_tool = args [ :toolset_tool ] if args . key? ( :toolset_tool )
29132953 @variables = args [ :variables ] if args . key? ( :variables )
@@ -2959,6 +2999,12 @@ def update!(**args)
29592999 class ExportAppRequest
29603000 include Google ::Apis ::Core ::Hashable
29613001
3002+ # Optional. The resource name of the app version to export. Format: `projects/`
3003+ # project`/locations/`location`/apps/`app`/versions/`version``.
3004+ # Corresponds to the JSON property `appVersion`
3005+ # @return [String]
3006+ attr_accessor :app_version
3007+
29623008 # Required. The format to export the app in.
29633009 # Corresponds to the JSON property `exportFormat`
29643010 # @return [String]
@@ -2977,6 +3023,7 @@ def initialize(**args)
29773023
29783024 # Update properties of this object
29793025 def update! ( **args )
3026+ @app_version = args [ :app_version ] if args . key? ( :app_version )
29803027 @export_format = args [ :export_format ] if args . key? ( :export_format )
29813028 @gcs_uri = args [ :gcs_uri ] if args . key? ( :gcs_uri )
29823029 end
@@ -3078,6 +3125,12 @@ class GenerateChatTokenRequest
30783125 # @return [String]
30793126 attr_accessor :deployment
30803127
3128+ # Optional. Indicates if live handoff is enabled for the session.
3129+ # Corresponds to the JSON property `liveHandoffEnabled`
3130+ # @return [Boolean]
3131+ attr_accessor :live_handoff_enabled
3132+ alias_method :live_handoff_enabled? , :live_handoff_enabled
3133+
30813134 # Optional. The reCAPTCHA token generated by the client-side chat widget.
30823135 # Corresponds to the JSON property `recaptchaToken`
30833136 # @return [String]
@@ -3090,6 +3143,7 @@ def initialize(**args)
30903143 # Update properties of this object
30913144 def update! ( **args )
30923145 @deployment = args [ :deployment ] if args . key? ( :deployment )
3146+ @live_handoff_enabled = args [ :live_handoff_enabled ] if args . key? ( :live_handoff_enabled )
30933147 @recaptcha_token = args [ :recaptcha_token ] if args . key? ( :recaptcha_token )
30943148 end
30953149 end
@@ -4232,6 +4286,14 @@ class McpTool
42324286 # @return [Google::Apis::CesV1::ApiAuthentication]
42334287 attr_accessor :api_authentication
42344288
4289+ # Optional. The custom headers to send in the request to the MCP server. The
4290+ # values must be in the format `$context.variables.` and can be set in the
4291+ # session variables. See https://docs.cloud.google.com/customer-engagement-ai/
4292+ # conversational-agents/ps/tool/open-api#openapi-injection for more details.
4293+ # Corresponds to the JSON property `customHeaders`
4294+ # @return [Hash<String,String>]
4295+ attr_accessor :custom_headers
4296+
42354297 # Optional. The description of the MCP tool.
42364298 # Corresponds to the JSON property `description`
42374299 # @return [String]
@@ -4278,6 +4340,7 @@ def initialize(**args)
42784340 # Update properties of this object
42794341 def update! ( **args )
42804342 @api_authentication = args [ :api_authentication ] if args . key? ( :api_authentication )
4343+ @custom_headers = args [ :custom_headers ] if args . key? ( :custom_headers )
42814344 @description = args [ :description ] if args . key? ( :description )
42824345 @input_schema = args [ :input_schema ] if args . key? ( :input_schema )
42834346 @name = args [ :name ] if args . key? ( :name )
@@ -4297,6 +4360,14 @@ class McpToolset
42974360 # @return [Google::Apis::CesV1::ApiAuthentication]
42984361 attr_accessor :api_authentication
42994362
4363+ # Optional. The custom headers to send in the request to the MCP server. The
4364+ # values must be in the format `$context.variables.` and can be set in the
4365+ # session variables. See https://docs.cloud.google.com/customer-engagement-ai/
4366+ # conversational-agents/ps/tool/open-api#openapi-injection for more details.
4367+ # Corresponds to the JSON property `customHeaders`
4368+ # @return [Hash<String,String>]
4369+ attr_accessor :custom_headers
4370+
43004371 # Required. The address of the MCP server, for example, "https://example.com/mcp/
43014372 # ". If the server is built with the MCP SDK, the url should be suffixed with "/
43024373 # mcp/". Only Streamable HTTP transport based servers are supported. See https://
@@ -4323,6 +4394,7 @@ def initialize(**args)
43234394 # Update properties of this object
43244395 def update! ( **args )
43254396 @api_authentication = args [ :api_authentication ] if args . key? ( :api_authentication )
4397+ @custom_headers = args [ :custom_headers ] if args . key? ( :custom_headers )
43264398 @server_address = args [ :server_address ] if args . key? ( :server_address )
43274399 @service_directory_config = args [ :service_directory_config ] if args . key? ( :service_directory_config )
43284400 @tls_config = args [ :tls_config ] if args . key? ( :tls_config )
@@ -5995,6 +6067,11 @@ def update!(**args)
59956067 class Tool
59966068 include Google ::Apis ::Core ::Hashable
59976069
6070+ # Represents a tool that allows the agent to call another agent.
6071+ # Corresponds to the JSON property `agentTool`
6072+ # @return [Google::Apis::CesV1::AgentTool]
6073+ attr_accessor :agent_tool
6074+
59986075 # Represents a client-side function that the agent can invoke. When the tool is
59996076 # chosen by the agent, control is handed off to the client. The client is
60006077 # responsible for executing the function and returning the result as a
@@ -6115,6 +6192,7 @@ def initialize(**args)
61156192
61166193 # Update properties of this object
61176194 def update! ( **args )
6195+ @agent_tool = args [ :agent_tool ] if args . key? ( :agent_tool )
61186196 @client_function = args [ :client_function ] if args . key? ( :client_function )
61196197 @connector_tool = args [ :connector_tool ] if args . key? ( :connector_tool )
61206198 @create_time = args [ :create_time ] if args . key? ( :create_time )
@@ -6636,6 +6714,12 @@ def update!(**args)
66366714 class WidgetTool
66376715 include Google ::Apis ::Core ::Hashable
66386716
6717+ # Configuration for mapping data from a source tool to the widget's input
6718+ # parameters.
6719+ # Corresponds to the JSON property `dataMapping`
6720+ # @return [Google::Apis::CesV1::WidgetToolDataMapping]
6721+ attr_accessor :data_mapping
6722+
66396723 # Optional. The description of the widget tool.
66406724 # Corresponds to the JSON property `description`
66416725 # @return [String]
@@ -6651,6 +6735,11 @@ class WidgetTool
66516735 # @return [Google::Apis::CesV1::Schema]
66526736 attr_accessor :parameters
66536737
6738+ # Optional. Configuration for rendering the widget.
6739+ # Corresponds to the JSON property `uiConfig`
6740+ # @return [Hash<String,Object>]
6741+ attr_accessor :ui_config
6742+
66546743 # Optional. The type of the widget tool. If not specified, the default type will
66556744 # be CUSTOMIZED.
66566745 # Corresponds to the JSON property `widgetType`
@@ -6663,12 +6752,57 @@ def initialize(**args)
66636752
66646753 # Update properties of this object
66656754 def update! ( **args )
6755+ @data_mapping = args [ :data_mapping ] if args . key? ( :data_mapping )
66666756 @description = args [ :description ] if args . key? ( :description )
66676757 @name = args [ :name ] if args . key? ( :name )
66686758 @parameters = args [ :parameters ] if args . key? ( :parameters )
6759+ @ui_config = args [ :ui_config ] if args . key? ( :ui_config )
66696760 @widget_type = args [ :widget_type ] if args . key? ( :widget_type )
66706761 end
66716762 end
6763+
6764+ # Configuration for mapping data from a source tool to the widget's input
6765+ # parameters.
6766+ class WidgetToolDataMapping
6767+ include Google ::Apis ::Core ::Hashable
6768+
6769+ # Optional. A map of widget input parameter fields to the corresponding output
6770+ # fields of the source tool.
6771+ # Corresponds to the JSON property `fieldMappings`
6772+ # @return [Hash<String,String>]
6773+ attr_accessor :field_mappings
6774+
6775+ # Optional. The mode of the data mapping.
6776+ # Corresponds to the JSON property `mode`
6777+ # @return [String]
6778+ attr_accessor :mode
6779+
6780+ # Optional. A Python script used to transform the source tool's output into the
6781+ # widget's input format. This is used when the mapping is too complex for simple
6782+ # field mappings.
6783+ # Corresponds to the JSON property `pythonScript`
6784+ # @return [String]
6785+ attr_accessor :python_script
6786+
6787+ # Optional. The resource name of the tool that provides the data for the widget (
6788+ # e.g., a search tool or a custom function). Format: `projects/`project`/
6789+ # locations/`location`/agents/`agent`/tools/`tool``
6790+ # Corresponds to the JSON property `sourceToolName`
6791+ # @return [String]
6792+ attr_accessor :source_tool_name
6793+
6794+ def initialize ( **args )
6795+ update! ( **args )
6796+ end
6797+
6798+ # Update properties of this object
6799+ def update! ( **args )
6800+ @field_mappings = args [ :field_mappings ] if args . key? ( :field_mappings )
6801+ @mode = args [ :mode ] if args . key? ( :mode )
6802+ @python_script = args [ :python_script ] if args . key? ( :python_script )
6803+ @source_tool_name = args [ :source_tool_name ] if args . key? ( :source_tool_name )
6804+ end
6805+ end
66726806 end
66736807 end
66746808end
0 commit comments