AgentTool

class AgentTool(val agent: BaseAgent, val skipSummarization: Boolean = false) : BaseTool

A tool that wraps a BaseAgent.

This tool allows an agent to be called as a tool within a larger application. The agent's input schema is used to define the tool's input parameters, and the agent's output is returned as the tool's result.

Constructors

Link copied to clipboard
constructor(agent: BaseAgent, skipSummarization: Boolean = false)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard

The agent to wrap.

Link copied to clipboard

The custom metadata of the tool.

Link copied to clipboard

The description of the tool.

Link copied to clipboard
val isLongRunning: Boolean = false

Whether the tool's final result will be delivered out-of-band. When true, the framework marks the call as long-running and uses the tool's return value as the function-response payload (or suppresses the response entirely if the tool returns Unit).

Link copied to clipboard

The name of the tool.

Link copied to clipboard

Whether to skip summarization of the agent output in the parent agent.

Functions

Link copied to clipboard
open override fun close()
Link copied to clipboard
open override fun declaration(): FunctionDeclaration

Returns the underlying function declaration.

Link copied to clipboard
open suspend fun processLlmRequest(toolContext: ToolContext, llmRequest: LlmRequest): LlmRequest

Processes the LLM request before it is sent.

Link copied to clipboard
open suspend override fun run(context: ToolContext, args: Map<String, Any>): Any

Executes the tool.