BaseTool

abstract class BaseTool(val name: String, val description: String, val isLongRunning: Boolean = false, val customMetadata: Map<String, Any> = emptyMap()) : AutoCloseable

Abstract base class for defining and executing tools.

Inheritors

Constructors

Link copied to clipboard
constructor(name: String, description: String, isLongRunning: Boolean = false, customMetadata: Map<String, Any> = emptyMap())

Types

Link copied to clipboard
object Companion

Properties

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.

Functions

Link copied to clipboard
open override fun close()
Link copied to clipboard

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
abstract suspend fun run(context: ToolContext, args: Map<String, Any>): Any

Executes the tool.