Thinking models of the Bailing family intermittently emit <tool_call> arg_key/arg_value XML inside the thinking block. The PEG layer consumes that region as reasoning_content before the tool stage, so the call is lost: empty content, no structured calls. update_chat_msg now promotes well-formed blocks to tool calls on final parses with empty content. Strictly additive; ids flow through set_tool_call_ids. Verified with a standalone harness against live-captured payloads. |
||
|---|---|---|
| .. | ||
| bailing_parser.hpp | ||
| kimi_k2_parser.hpp | ||
| qwen3_parser.hpp | ||