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.
8070 8071 8072 |
# File 'lib/google/apis/ces_v1/classes.rb', line 8070 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
7943 7944 7945 |
# File 'lib/google/apis/ces_v1/classes.rb', line 7943 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
7951 7952 7953 |
# File 'lib/google/apis/ces_v1/classes.rb', line 7951 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
7957 7958 7959 |
# File 'lib/google/apis/ces_v1/classes.rb', line 7957 def connector_tool @connector_tool end |
#create_time ⇒ String
Output only. Timestamp when the tool was created.
Corresponds to the JSON property createTime
7962 7963 7964 |
# File 'lib/google/apis/ces_v1/classes.rb', line 7962 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
7970 7971 7972 |
# File 'lib/google/apis/ces_v1/classes.rb', line 7970 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
7977 7978 7979 |
# File 'lib/google/apis/ces_v1/classes.rb', line 7977 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
7984 7985 7986 |
# File 'lib/google/apis/ces_v1/classes.rb', line 7984 def etag @etag end |
#execution_type ⇒ String
Optional. The execution type of the tool.
Corresponds to the JSON property executionType
7989 7990 7991 |
# File 'lib/google/apis/ces_v1/classes.rb', line 7989 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
7996 7997 7998 |
# File 'lib/google/apis/ces_v1/classes.rb', line 7996 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
8002 8003 8004 |
# File 'lib/google/apis/ces_v1/classes.rb', line 8002 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
8009 8010 8011 |
# File 'lib/google/apis/ces_v1/classes.rb', line 8009 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
8015 8016 8017 |
# File 'lib/google/apis/ces_v1/classes.rb', line 8015 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
8024 8025 8026 |
# File 'lib/google/apis/ces_v1/classes.rb', line 8024 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
8029 8030 8031 |
# File 'lib/google/apis/ces_v1/classes.rb', line 8029 def open_api_tool @open_api_tool end |
#python_function ⇒ Google::Apis::CesV1::PythonFunction
A Python function tool.
Corresponds to the JSON property pythonFunction
8034 8035 8036 |
# File 'lib/google/apis/ces_v1/classes.rb', line 8034 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
8039 8040 8041 |
# File 'lib/google/apis/ces_v1/classes.rb', line 8039 def remote_agent_tool @remote_agent_tool end |
#system_tool ⇒ Google::Apis::CesV1::SystemTool
Pre-defined system tool.
Corresponds to the JSON property systemTool
8044 8045 8046 |
# File 'lib/google/apis/ces_v1/classes.rb', line 8044 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
8050 8051 8052 |
# File 'lib/google/apis/ces_v1/classes.rb', line 8050 def timeout @timeout end |
#tool_fake_config ⇒ Google::Apis::CesV1::ToolFakeConfig
Configuration for tool behavior in fake mode.
Corresponds to the JSON property toolFakeConfig
8055 8056 8057 |
# File 'lib/google/apis/ces_v1/classes.rb', line 8055 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
8060 8061 8062 |
# File 'lib/google/apis/ces_v1/classes.rb', line 8060 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
8068 8069 8070 |
# File 'lib/google/apis/ces_v1/classes.rb', line 8068 def @widget_tool end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
8075 8076 8077 8078 8079 8080 8081 8082 8083 8084 8085 8086 8087 8088 8089 8090 8091 8092 8093 8094 8095 8096 8097 |
# File 'lib/google/apis/ces_v1/classes.rb', line 8075 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 |