ToolLoopResult

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 {})

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