Goal Tool
data class GoalTool<I : Any>(val autonomy: Autonomy, val textCommunicator: TextCommunicator, val name: String, val description: String = goal.description, val goal: Goal, val inputType: Class<I>, val listeners: List<AgenticEventListener> = emptyList()) : Tool
Framework-agnostic Tool implementation for a specific goal.
Constructors
Link copied to clipboard
constructor(autonomy: Autonomy, textCommunicator: TextCommunicator, name: String, description: String = goal.description, goal: Goal, inputType: Class<I>, listeners: List<AgenticEventListener> = emptyList())
Properties
Functions
Link copied to clipboard
Execute the tool with JSON input.
Link copied to clipboard
Extension function to convert an Embabel Tool to a Spring AI ToolCallback.
Link copied to clipboard
Wrap this tool to conditionally await before execution.
Link copied to clipboard
Wrap this tool to always require confirmation before execution.
Link copied to clipboard
Create a new tool with a different description. Useful for providing context-specific descriptions while keeping the same functionality.
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.
Link copied to clipboard