@@ -18,7 +18,8 @@ and the unknown-tool policy remain the consuming harness's or host's.
1818| ` repair ` | ` json::recover_object ` (relaxed / damaged JSON), ` name::resolve ` (damaged tool names against the offered set), ` args ` (aliases, envelopes, schema-guided coercion) |
1919| ` stream ` | ` StreamScrubber ` : the same grammars applied to a live text stream, releasing safe text and completed calls as they arrive |
2020| ` render ` | the catalogue, the protocol block for each dialect, the ` <tool_result> ` envelope and transcript replay |
21- | ` dialect ` | ` ToolDialect ` binding one rendering to one parser: ` XmlDialect ` , ` PFormatDialect ` , ` NativeDialect ` |
21+ | ` codecall ` | ` parse_calls(body, ®istry) ` : Python / TypeScript function calls, and ` render_code_signature ` for the catalogue |
22+ | ` dialect ` | ` ToolDialect ` binding one rendering to one parser: ` XmlDialect ` , ` PFormatDialect ` , ` CodeDialect ` , ` NativeDialect ` |
2223| ` types ` | ` ParsedToolCall ` , ` CallSource ` , ` ParseOptions ` , ` ParseOutcome ` , ` ParseDiagnostic ` |
2324
2425## Grammars
@@ -33,6 +34,7 @@ and the unknown-tool policy remain the consuming harness's or host's.
3334| ` Glm ` | ` tool/param>value ` lines | GLM |
3435| ` BareJson ` | the whole response is one object / ` tool_calls ` envelope | Minimax gateways, ` llama3.2:3b ` under ` tool_choice: required ` |
3536| ` PFormat ` | ` name[0\|value] ` inside a tag, registry-gated | any prompted model |
37+ | ` Code ` | ` name(arg="value") ` / ` name({arg: "value"}) ` inside a tag, registry-gated; literals only, all-or-nothing per body | any code-trained model |
3638
3739Adding a grammar is one file under ` src/parse/grammar/ ` and one entry in
3840` GRAMMARS ` ; batch parsing, streaming, and every dialect pick it up.
0 commit comments