Class: Google::Apis::CesV1::Tool

Inherits:
Object
  • Object
show all
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

Instance Method Summary collapse

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_toolGoogle::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_functionGoogle::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_toolGoogle::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_timeString

Output only. Timestamp when the tool was created. Corresponds to the JSON property createTime

Returns:

  • (String)


6555
6556
6557
# File 'lib/google/apis/ces_v1/classes.rb', line 6555

def create_time
  @create_time
end

#data_store_toolGoogle::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_nameString

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

Returns:

  • (String)


6570
6571
6572
# File 'lib/google/apis/ces_v1/classes.rb', line 6570

def display_name
  @display_name
end

#etagString

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

Returns:

  • (String)


6577
6578
6579
# File 'lib/google/apis/ces_v1/classes.rb', line 6577

def etag
  @etag
end

#execution_typeString

Optional. The execution type of the tool. Corresponds to the JSON property executionType

Returns:

  • (String)


6582
6583
6584
# File 'lib/google/apis/ces_v1/classes.rb', line 6582

def execution_type
  @execution_type
end

#file_search_toolGoogle::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_summaryString

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

Returns:

  • (String)


6595
6596
6597
# File 'lib/google/apis/ces_v1/classes.rb', line 6595

def generated_summary
  @generated_summary
end

#google_search_toolGoogle::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_toolGoogle::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

#nameString

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

Returns:

  • (String)


6617
6618
6619
# File 'lib/google/apis/ces_v1/classes.rb', line 6617

def name
  @name
end

#open_api_toolGoogle::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_functionGoogle::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_toolGoogle::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_toolGoogle::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

#timeoutString

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

Returns:

  • (String)


6643
6644
6645
# File 'lib/google/apis/ces_v1/classes.rb', line 6643

def timeout
  @timeout
end

#tool_fake_configGoogle::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_timeString

Output only. Timestamp when the tool was last updated. Corresponds to the JSON property updateTime

Returns:

  • (String)


6653
6654
6655
# File 'lib/google/apis/ces_v1/classes.rb', line 6653

def update_time
  @update_time
end

#widget_toolGoogle::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
  @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