fix: remove spurious repair_json call in _validate_tool_input that could skip Attempt 3#4836
Open
SinzoL wants to merge 1 commit intocrewAIInc:mainfrom
Open
Conversation
…uld skip Attempt 3
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
In _validate_tool_input(), Attempt 2 (ast.literal_eval) has an except branch that calls repair_json(tool_input). This variable is never read before Attempt 4 reassigns it, making it dead code. Worse, if repair_json itself raises, Attempt 3 (json5) is skipped entirely. Replace with pass. Fixes #4851
Note
Low Risk
Low risk, small control-flow change limited to tool argument parsing; it mainly prevents an unnecessary
repair_jsoninvocation from skipping the JSON5 parse path if it raised.Overview
Fixes tool input parsing control flow. In
ToolUsage._validate_tool_input, theast.literal_evalfailure path no longer callsrepair_json(dead code), so failures proceed cleanly to the JSON5 parse attempt before the final JSON repair step.This avoids
repair_jsonexceptions prematurely bypassing Attempt 3 and makes parsing behavior more predictable.Written by Cursor Bugbot for commit cb62b7c. This will update automatically on new commits. Configure here.