fix: validate tool_result IDs after condensation filtering (ROO-380) #10469
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Fixes vscode-lm provider 400 error where tool_result blocks reference condensed-away tool_use blocks.
Error:
Root Cause
validateAndFixToolResultIds()runs when messages are added to historycondenseParentgetEffectiveApiHistory()filters out condensed messagesSolution
Add validation directly in
getEffectiveApiHistory()after condensation filtering:findLast()Efficiency
Test Coverage
Linear Issue
Closes ROO-380
Important
Adds validation in
getEffectiveApiHistory()to ensuretool_resultIDs match existingtool_useIDs after condensation filtering, fixing mismatches and removing orphans.getEffectiveApiHistory()to ensuretool_resultIDs match existingtool_useIDs after condensation filtering.tool_results.getEffectiveApiHistory-tool-validation.spec.ts.findLast()fromarraymodule inindex.ts.This description was created by
for 1b6e1a3. You can customize this summary. It will automatically update as commits are pushed.