AgentTool

data class AgentTool<I : Any>(autonomy: Autonomy, val agent: Agent, val textCommunicator: TextCommunicator, val objectMapper: <Error class: unknown class>, val inputType: Class<I>, val processOptionsCreator: (parentAgentProcess: AgentProcess) -> ProcessOptions) : Tool

Tool that can be used to execute an agent. Supports "Subagent" or "handoff" style usage.

This is the framework-agnostic version that implements Embabel's Tool interface.

Constructors

Link copied to clipboard
constructor(autonomy: Autonomy, agent: Agent, textCommunicator: TextCommunicator, objectMapper: <Error class: unknown class>, inputType: Class<I>, processOptionsCreator: (parentAgentProcess: AgentProcess) -> ProcessOptions)

Properties

Link copied to clipboard
Link copied to clipboard
open override val definition: Tool.Definition

Tool definition for LLM

Link copied to clipboard
Link copied to clipboard
open override val metadata: Tool.Metadata

Optional metadata

Link copied to clipboard
val objectMapper: <Error class: unknown class>
Link copied to clipboard
val processOptionsCreator: (parentAgentProcess: AgentProcess) -> ProcessOptions
Link copied to clipboard

Functions

Link copied to clipboard
open override 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
open override fun toString(): String
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.