add_tool upgrade for StatefulToolEnv + disallow_non_tool_responses for tool envs
#442
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
(I'm sorry I'm putting two changes into one PR, but I just noticed one while working on another...)
build_schema_only_tooladded to allow for tools in StatefulToolEnv that have non-Pydanticable args (+ tests). Previously, if one had to skip non-pydantic tool args they'd got an error, because we first convert then filter args.ToolEnvnow hasdisallow_non_tool_responsesargument (True by default to keep the behaviour the same), and assert on the type of response message is thus optional. Meaning, the model can respond with text and not only tool calls (which is a common case I met during work on PaperBench and DABStep envs).Type of Change
Testing
uv run pytestlocally.Checklist