b9656
b9656
View on GitHubView PackagePublished: Jun 15, 2026

Release Notes

chat: harden peg-native tool call parsing (#24329)

  • chat: harden peg-native tool call parsing

accept an optional leading type: function field in build_json_tools_flat_keys so openai style tool calls parse on templates whose serialization opens on the name field.

return a clean error and log the unparsed fragment on a final peg parse failure instead of throwing the raw parser position and input.

keep the raw arguments string in func_args_not_string when it is not valid json instead of aborting the prompt render.

  • chat: surface peg-native parse failures

a final peg parse failure threw the raw parser position and input. log the unparsed fragment and raise a clearer error instead, so a model output that does not match the expected format no longer fails silently with an empty assistant turn.

minimal change, no behavior change on successful parses.

  • chat: handle openai style tool calls in peg-native

  • nits

  • common: scope OpenAI wrapper grammar trigger via autoparser flag

  • chat: gate type:function parsing leniency on the analysis flag

Thread accept_openai_wrapper from the generator to build_json_tools_flat_keys so the leading "type": "function" field is accepted only when openai_wrapper_trigger is set.

macOS/iOS:

Linux:

Android:

Windows:

openEuler:

  • DISABLED
  • openEuler x86 (310p)
  • openEuler x86 (910b, ACL Graph)
  • openEuler aarch64 (310p)
  • openEuler aarch64 (910b, ACL Graph)

UI: