DelegatingTool

interface DelegatingTool : Tool

Interface for tool decorators that wrap another tool. Enables unwrapping to find the underlying tool implementation.

Inheritors

Properties

Link copied to clipboard

Tool definition for LLM

Link copied to clipboard
abstract val delegate: Tool
Link copied to clipboard

Optional metadata

Functions

Link copied to clipboard
abstract fun call(input: String): Tool.Result

Execute the tool with JSON input.

Link copied to clipboard
fun Tool.toSpringToolCallback(): <Error class: unknown class>

Extension function to convert an Embabel Tool to a Spring AI ToolCallback.

Link copied to clipboard

Unwrap a tool to find the innermost implementation. Recursively unwraps DelegatingTool wrappers.

Link copied to clipboard
inline fun <T : Tool> Tool.unwrapAs(): T?

Unwrap a tool to find a specific type, or return null if not found.

Link copied to clipboard
fun Tool.withEventPublication(agentProcess: AgentProcess, action: Action?, llmOptions: <Error class: unknown class>): Tool

Extension function to wrap a Tool with event publication.