Class: Google::Apis::CesV1::Tool
- Inherits:
-
Object
- Object
- Google::Apis::CesV1::Tool
- Includes:
- Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
- Defined in:
- lib/google/apis/ces_v1/classes.rb,
lib/google/apis/ces_v1/representations.rb,
lib/google/apis/ces_v1/representations.rb
Overview
A tool represents an action that the CES agent can take to achieve certain goals.
Instance Attribute Summary collapse
-
#agent_tool ⇒ Google::Apis::CesV1::AgentTool
Represents a tool that allows the agent to call another agent.
-
#client_function ⇒ Google::Apis::CesV1::ClientFunction
Represents a client-side function that the agent can invoke.
-
#connector_tool ⇒ Google::Apis::CesV1::ConnectorTool
A ConnectorTool allows connections to different integrations.
-
#create_time ⇒ String
Output only.
-
#data_store_tool ⇒ Google::Apis::CesV1::DataStoreTool
Tool to retrieve from Vertex AI Search datastore or engine for grounding.
-
#display_name ⇒ String
Output only.
-
#etag ⇒ String
Etag used to ensure the object hasn't changed during a read-modify-write operation.
-
#execution_type ⇒ String
Optional.
-
#file_search_tool ⇒ Google::Apis::CesV1::FileSearchTool
The file search tool allows the agent to search across the files uploaded by the app/agent developer.
-
#generated_summary ⇒ String
Output only.
-
#google_search_tool ⇒ Google::Apis::CesV1::GoogleSearchTool
Represents a tool to perform Google web searches for grounding.
-
#mcp_tool ⇒ Google::Apis::CesV1::McpTool
An MCP tool.
-
#name ⇒ String
Identifier.
-
#open_api_tool ⇒ Google::Apis::CesV1::OpenApiTool
A remote API tool defined by an OpenAPI schema.
-
#python_function ⇒ Google::Apis::CesV1::PythonFunction
A Python function tool.
-
#remote_agent_tool ⇒ Google::Apis::CesV1::RemoteAgentTool
Represents a tool that allows the agent to call another remote agent.
-
#system_tool ⇒ Google::Apis::CesV1::SystemTool
Pre-defined system tool.
-
#timeout ⇒ String
Optional.
-
#tool_fake_config ⇒ Google::Apis::CesV1::ToolFakeConfig
Configuration for tool behavior in fake mode.
-
#update_time ⇒ String
Output only.
-
#widget_tool ⇒ Google::Apis::CesV1::WidgetTool
Represents a widget tool that the agent can invoke.
Instance Method Summary collapse
-
#initialize(**args) ⇒ Tool
constructor
A new instance of Tool.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ Tool
Returns a new instance of Tool.
6990 6991 6992 |
# File 'lib/google/apis/ces_v1/classes.rb', line 6990 def initialize(**args) update!(**args) end |
Instance Attribute Details
#agent_tool ⇒ Google::Apis::CesV1::AgentTool
Represents a tool that allows the agent to call another agent.
Corresponds to the JSON property agentTool
6863 6864 6865 |
# File 'lib/google/apis/ces_v1/classes.rb', line 6863 def agent_tool @agent_tool end |
#client_function ⇒ Google::Apis::CesV1::ClientFunction
Represents a client-side function that the agent can invoke. When the tool is
chosen by the agent, control is handed off to the client. The client is
responsible for executing the function and returning the result as a
ToolResponse to continue the interaction with the agent.
Corresponds to the JSON property clientFunction
6871 6872 6873 |
# File 'lib/google/apis/ces_v1/classes.rb', line 6871 def client_function @client_function end |
#connector_tool ⇒ Google::Apis::CesV1::ConnectorTool
A ConnectorTool allows connections to different integrations. See: https://
cloud.google.com/integration-connectors/docs/overview.
Corresponds to the JSON property connectorTool
6877 6878 6879 |
# File 'lib/google/apis/ces_v1/classes.rb', line 6877 def connector_tool @connector_tool end |
#create_time ⇒ String
Output only. Timestamp when the tool was created.
Corresponds to the JSON property createTime
6882 6883 6884 |
# File 'lib/google/apis/ces_v1/classes.rb', line 6882 def create_time @create_time end |
#data_store_tool ⇒ Google::Apis::CesV1::DataStoreTool
Tool to retrieve from Vertex AI Search datastore or engine for grounding.
Accepts either a datastore or an engine, but not both. See Vertex AI Search:
https://cloud.google.com/generative-ai-app-builder/docs/enterprise-search-
introduction.
Corresponds to the JSON property dataStoreTool
6890 6891 6892 |
# File 'lib/google/apis/ces_v1/classes.rb', line 6890 def data_store_tool @data_store_tool end |
#display_name ⇒ String
Output only. The display name of the tool, derived based on the tool's type.
For example, display name of a ClientFunction is derived from its name
property.
Corresponds to the JSON property displayName
6897 6898 6899 |
# File 'lib/google/apis/ces_v1/classes.rb', line 6897 def display_name @display_name end |
#etag ⇒ String
Etag used to ensure the object hasn't changed during a read-modify-write
operation. If the etag is empty, the update will overwrite any concurrent
changes.
Corresponds to the JSON property etag
6904 6905 6906 |
# File 'lib/google/apis/ces_v1/classes.rb', line 6904 def etag @etag end |
#execution_type ⇒ String
Optional. The execution type of the tool.
Corresponds to the JSON property executionType
6909 6910 6911 |
# File 'lib/google/apis/ces_v1/classes.rb', line 6909 def execution_type @execution_type end |
#file_search_tool ⇒ Google::Apis::CesV1::FileSearchTool
The file search tool allows the agent to search across the files uploaded by
the app/agent developer. It has presets to give relatively good quality search
over the uploaded files and summarization of the retrieved results.
Corresponds to the JSON property fileSearchTool
6916 6917 6918 |
# File 'lib/google/apis/ces_v1/classes.rb', line 6916 def file_search_tool @file_search_tool end |
#generated_summary ⇒ String
Output only. If the tool is generated by the LLM assistant, this field
contains a descriptive summary of the generation.
Corresponds to the JSON property generatedSummary
6922 6923 6924 |
# File 'lib/google/apis/ces_v1/classes.rb', line 6922 def generated_summary @generated_summary end |
#google_search_tool ⇒ Google::Apis::CesV1::GoogleSearchTool
Represents a tool to perform Google web searches for grounding. See https://
cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool#google-
search.
Corresponds to the JSON property googleSearchTool
6929 6930 6931 |
# File 'lib/google/apis/ces_v1/classes.rb', line 6929 def google_search_tool @google_search_tool end |
#mcp_tool ⇒ Google::Apis::CesV1::McpTool
An MCP tool. See https://modelcontextprotocol.io/specification/2025-06-18/
server/tools for more details.
Corresponds to the JSON property mcpTool
6935 6936 6937 |
# File 'lib/google/apis/ces_v1/classes.rb', line 6935 def mcp_tool @mcp_tool end |
#name ⇒ String
Identifier. The resource name of the tool. Format: * projects/project/
locations/location/apps/app/tools/toolfor standalone tools. * `
projects/`project`/locations/`location`/apps/`app`/toolsets/`toolset`/tools/`
tool for tools retrieved from a toolset. These tools are dynamic and output-
only; they cannot be referenced directly where a tool is expected.
Corresponds to the JSON property name
6944 6945 6946 |
# File 'lib/google/apis/ces_v1/classes.rb', line 6944 def name @name end |
#open_api_tool ⇒ Google::Apis::CesV1::OpenApiTool
A remote API tool defined by an OpenAPI schema.
Corresponds to the JSON property openApiTool
6949 6950 6951 |
# File 'lib/google/apis/ces_v1/classes.rb', line 6949 def open_api_tool @open_api_tool end |
#python_function ⇒ Google::Apis::CesV1::PythonFunction
A Python function tool.
Corresponds to the JSON property pythonFunction
6954 6955 6956 |
# File 'lib/google/apis/ces_v1/classes.rb', line 6954 def python_function @python_function end |
#remote_agent_tool ⇒ Google::Apis::CesV1::RemoteAgentTool
Represents a tool that allows the agent to call another remote agent.
Corresponds to the JSON property remoteAgentTool
6959 6960 6961 |
# File 'lib/google/apis/ces_v1/classes.rb', line 6959 def remote_agent_tool @remote_agent_tool end |
#system_tool ⇒ Google::Apis::CesV1::SystemTool
Pre-defined system tool.
Corresponds to the JSON property systemTool
6964 6965 6966 |
# File 'lib/google/apis/ces_v1/classes.rb', line 6964 def system_tool @system_tool end |
#timeout ⇒ String
Optional. The timeout for the tool execution. If not set, the default timeout
is 30 seconds for SYNCHRONOUS tools and 60 seconds for ASYNCHRONOUS tools.
Corresponds to the JSON property timeout
6970 6971 6972 |
# File 'lib/google/apis/ces_v1/classes.rb', line 6970 def timeout @timeout end |
#tool_fake_config ⇒ Google::Apis::CesV1::ToolFakeConfig
Configuration for tool behavior in fake mode.
Corresponds to the JSON property toolFakeConfig
6975 6976 6977 |
# File 'lib/google/apis/ces_v1/classes.rb', line 6975 def tool_fake_config @tool_fake_config end |
#update_time ⇒ String
Output only. Timestamp when the tool was last updated.
Corresponds to the JSON property updateTime
6980 6981 6982 |
# File 'lib/google/apis/ces_v1/classes.rb', line 6980 def update_time @update_time end |
#widget_tool ⇒ Google::Apis::CesV1::WidgetTool
Represents a widget tool that the agent can invoke. When the tool is chosen by
the agent, agent will return the widget to the client. The client is
responsible for processing the widget and generating the next user query to
continue the interaction with the agent.
Corresponds to the JSON property widgetTool
6988 6989 6990 |
# File 'lib/google/apis/ces_v1/classes.rb', line 6988 def @widget_tool end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
6995 6996 6997 6998 6999 7000 7001 7002 7003 7004 7005 7006 7007 7008 7009 7010 7011 7012 7013 7014 7015 7016 7017 |
# File 'lib/google/apis/ces_v1/classes.rb', line 6995 def update!(**args) @agent_tool = args[:agent_tool] if args.key?(:agent_tool) @client_function = args[:client_function] if args.key?(:client_function) @connector_tool = args[:connector_tool] if args.key?(:connector_tool) @create_time = args[:create_time] if args.key?(:create_time) @data_store_tool = args[:data_store_tool] if args.key?(:data_store_tool) @display_name = args[:display_name] if args.key?(:display_name) @etag = args[:etag] if args.key?(:etag) @execution_type = args[:execution_type] if args.key?(:execution_type) @file_search_tool = args[:file_search_tool] if args.key?(:file_search_tool) @generated_summary = args[:generated_summary] if args.key?(:generated_summary) @google_search_tool = args[:google_search_tool] if args.key?(:google_search_tool) @mcp_tool = args[:mcp_tool] if args.key?(:mcp_tool) @name = args[:name] if args.key?(:name) @open_api_tool = args[:open_api_tool] if args.key?(:open_api_tool) @python_function = args[:python_function] if args.key?(:python_function) @remote_agent_tool = args[:remote_agent_tool] if args.key?(:remote_agent_tool) @system_tool = args[:system_tool] if args.key?(:system_tool) @timeout = args[:timeout] if args.key?(:timeout) @tool_fake_config = args[:tool_fake_config] if args.key?(:tool_fake_config) @update_time = args[:update_time] if args.key?(:update_time) @widget_tool = args[:widget_tool] if args.key?(:widget_tool) end |