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.
6663 6664 6665 |
# File 'lib/google/apis/ces_v1/classes.rb', line 6663 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
6536 6537 6538 |
# File 'lib/google/apis/ces_v1/classes.rb', line 6536 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
6544 6545 6546 |
# File 'lib/google/apis/ces_v1/classes.rb', line 6544 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
6550 6551 6552 |
# File 'lib/google/apis/ces_v1/classes.rb', line 6550 def connector_tool @connector_tool end |
#create_time ⇒ String
Output only. Timestamp when the tool was created.
Corresponds to the JSON property createTime
6555 6556 6557 |
# File 'lib/google/apis/ces_v1/classes.rb', line 6555 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
6563 6564 6565 |
# File 'lib/google/apis/ces_v1/classes.rb', line 6563 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
6570 6571 6572 |
# File 'lib/google/apis/ces_v1/classes.rb', line 6570 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
6577 6578 6579 |
# File 'lib/google/apis/ces_v1/classes.rb', line 6577 def etag @etag end |
#execution_type ⇒ String
Optional. The execution type of the tool.
Corresponds to the JSON property executionType
6582 6583 6584 |
# File 'lib/google/apis/ces_v1/classes.rb', line 6582 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
6589 6590 6591 |
# File 'lib/google/apis/ces_v1/classes.rb', line 6589 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
6595 6596 6597 |
# File 'lib/google/apis/ces_v1/classes.rb', line 6595 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
6602 6603 6604 |
# File 'lib/google/apis/ces_v1/classes.rb', line 6602 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
6608 6609 6610 |
# File 'lib/google/apis/ces_v1/classes.rb', line 6608 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
6617 6618 6619 |
# File 'lib/google/apis/ces_v1/classes.rb', line 6617 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
6622 6623 6624 |
# File 'lib/google/apis/ces_v1/classes.rb', line 6622 def open_api_tool @open_api_tool end |
#python_function ⇒ Google::Apis::CesV1::PythonFunction
A Python function tool.
Corresponds to the JSON property pythonFunction
6627 6628 6629 |
# File 'lib/google/apis/ces_v1/classes.rb', line 6627 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
6632 6633 6634 |
# File 'lib/google/apis/ces_v1/classes.rb', line 6632 def remote_agent_tool @remote_agent_tool end |
#system_tool ⇒ Google::Apis::CesV1::SystemTool
Pre-defined system tool.
Corresponds to the JSON property systemTool
6637 6638 6639 |
# File 'lib/google/apis/ces_v1/classes.rb', line 6637 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
6643 6644 6645 |
# File 'lib/google/apis/ces_v1/classes.rb', line 6643 def timeout @timeout end |
#tool_fake_config ⇒ Google::Apis::CesV1::ToolFakeConfig
Configuration for tool behavior in fake mode.
Corresponds to the JSON property toolFakeConfig
6648 6649 6650 |
# File 'lib/google/apis/ces_v1/classes.rb', line 6648 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
6653 6654 6655 |
# File 'lib/google/apis/ces_v1/classes.rb', line 6653 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
6661 6662 6663 |
# File 'lib/google/apis/ces_v1/classes.rb', line 6661 def @widget_tool end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
6668 6669 6670 6671 6672 6673 6674 6675 6676 6677 6678 6679 6680 6681 6682 6683 6684 6685 6686 6687 6688 6689 6690 |
# File 'lib/google/apis/ces_v1/classes.rb', line 6668 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 |