Tool Loop Result
data class ToolLoopResult<O>(val result: O, val conversationHistory: List<Message>, val totalIterations: Int, val injectedTools: List<Tool>, val removedTools: List<Tool> = emptyList(), val totalUsage: Usage? = null, val replanRequested: Boolean = false, val replanReason: String? = null, val blackboardUpdater: BlackboardUpdater = BlackboardUpdater {})
Result of executing an Embabel tool loop.
Parameters
O
The output type
result
The parsed result
conversation History
Full conversation history including tool calls
total Iterations
Number of LLM inference iterations
injected Tools
All tools added during the conversation via injection strategies
removed Tools
All tools removed during the conversation via injection strategies
total Usage
Accumulated usage across all LLM calls in the loop
replan Requested
True if the loop terminated due to a tool requesting replanning
replan Reason
Human-readable explanation of why replan was requested
blackboard Updater
Callback to update the blackboard before replanning