Pull requests / #2284
#2284 fix(serve): preserve declared tool schemas through streamed aliases
open · @Tsury · 0 comments · View on GitHub
Description
A declared namespaced tool written as a flat alias or with whitespace can lose its parameter schema during streaming. For example, a declared string `path` of `123` becomes the number `123`, and an ambiguous alias can route to the first namespace. Canonicalize only unambiguous aliases at the parser boundary, with exact declared names taking precedence. Apply the same name to streaming events and completed calls. Keep padded unknown names as text. Preserve literal call markers, and end an unclosed wrapper before the next call instead of merging arguments. Remove the redundant Responses-only alias map. Based on main `a0116b2782a5b82622358c04a06496485d12b2d6`. This completes parser/schema handling beyond the namespace routing shipped for #812. Validation: 63 focused model-free tests pass, covering streaming/chunk boundaries, alias collisions, string parameters, recovery, literal markers and Responses round trips. Eight regression methods fail on the unmodified source for the expected parsing/schema differences. No new GPU build, inference campaign or deployment. Existing maintained deployment evidence is reused; no throughput claim. Command: `python3 -m unittest serve.test_native_tool_parser serve.test_tool_call_unclosed serve.test_server.ToolCallRecovery serve.test_server.ToolCallRecoveryOff serve.test_responses`.
Related on strata.com
Editorial links to help you install, pick models, or read release notes — not part of the upstream thread.