ToolLoopResult

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

conversationHistory

Full conversation history including tool calls

totalIterations

Number of LLM inference iterations

injectedTools

All tools added during the conversation via injection strategies

removedTools

All tools removed during the conversation via injection strategies

totalUsage

Accumulated usage across all LLM calls in the loop

replanRequested

True if the loop terminated due to a tool requesting replanning

replanReason

Human-readable explanation of why replan was requested

blackboardUpdater

Callback to update the blackboard before replanning

Constructors

Link copied to clipboard
constructor(result: O, conversationHistory: List<Message>, totalIterations: Int, injectedTools: List<Tool>, removedTools: List<Tool> = emptyList(), totalUsage: Usage? = null, replanRequested: Boolean = false, replanReason: String? = null, blackboardUpdater: BlackboardUpdater = BlackboardUpdater {})

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val replanReason: String? = null
Link copied to clipboard
Link copied to clipboard
val result: O
Link copied to clipboard
Link copied to clipboard
val totalUsage: Usage? = null