fix(llm): coerce JSON Schema number/float/boolean in non-native tool params; lowercase bool serialization #1097
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.
Closes #1085
Summary
Motivation
MCP servers often define parameters with JSON Schema types number/boolean. LLMs frequently emit these values as strings in non-native tool call format. Without coercion, calls fail (e.g., "parameter line_number is not of type number"). This change brings agent-sdk in line with the V0 fix to improve MCP tool compatibility.
What changed
Backward compatibility
Tests
Notes on prior regression in V0 PR
The prior PR reported a slight evaluation decrease. Likely causes include:
Mitigations and improvements (follow-ups proposed):
Co-authored-by: patonw 4967614-patonw@users.noreply.gitlab.com
Co-authored-by: openhands openhands@all-hands.dev
@enyst can click here to continue refining the PR
Agent Server images for this PR
• GHCR package: https://github.com/OpenHands/agent-sdk/pkgs/container/agent-server
Variants & Base Images
eclipse-temurin:17-jdknikolaik/python-nodejs:python3.12-nodejs22golang:1.21-bookwormPull (multi-arch manifest)
# Each variant is a multi-arch manifest supporting both amd64 and arm64 docker pull ghcr.io/openhands/agent-server:240814f-pythonRun
All tags pushed for this build
About Multi-Architecture Support
240814f-python) is a multi-arch manifest supporting both amd64 and arm64240814f-python-amd64) are also available if needed