feat: Add nested argument formatting support #1831
Open
+150
−3
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.
Description
This PR adds support for nested argument formatting in the
Tool.to_code_prompt()method, providing comprehensive argument information to LLMs so they can generate correct nested arguments in a single attempt, reducing the need for error correction and reconfiguration cycles.Changes
format_nested_args()function: Supports recursive formatting of nested argument descriptionsTesting
Added 3 new test cases:
test_tool_to_code_prompt_with_nested_args: Tests basic nested argument formattingtest_tool_to_code_prompt_with_deeply_nested_args: Tests deeply nested arguments (up to 3 levels)test_tool_to_code_prompt_with_mixed_nested_and_simple_args: Tests mixed argument typesAll tests pass and code quality checks pass.
Example
Before:
After: