-
Notifications
You must be signed in to change notification settings - Fork 18
Add Python / TypeScript code-style tool dispatchers #184
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
841a526
1d82652
47f7954
0576a46
68b0eb0
1c06848
3ed92d4
135b2c7
f4d1cf2
e0d3a96
e38470d
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -35,9 +35,9 @@ question by existing. | |
| necessarily available where these are applied) for memory injected into a | ||
| turn. | ||
| - [`ToolDispatcher`] — enum of tool-call encoding strategies (`Auto`, | ||
| `Native`, `Xml`, `Pformat`); modelled as an enum rather than a free-form | ||
| string so an unrecognised mode is a mapping error at the boundary, not a | ||
| silent fallthrough in the turn loop. | ||
| `Native`, `Xml`, `Pformat`, `Python`, `Typescript`); modelled as an enum | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Preserve compatibility for exhaustive ToolDispatcher matches Adding [RULE] public-api-compatibility · |
||
| rather than a free-form string so an unrecognised mode is a mapping error at | ||
| the boundary, not a silent fallthrough in the turn loop. | ||
| - [`RequiredOutput`] — a structured-output contract asserting the model's | ||
| reply carries a particular JSON block; a blank `block_key` makes the | ||
| contract inert by design, so it is a safe zero-value default. | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When either new code dispatcher completes a tool call and enters another model iteration,
coalesce_tool_resultshas already serialized the recovered structured call back into the generic JSON-in-tag form before thisSelf::Codearm appends Python or TypeScript instructions. The next request therefore demonstrates one call syntax in its history while requiring another in its system catalogue, undermining the selected dialect precisely during multi-tool loops; make transcript coalescing dialect-aware or replay these calls throughCodeDialect. This also conflicts with the updated module documentation's definition of a dialect as including its history replay shape.AGENTS.md reference: AGENTS.md:L78-L82
Useful? React with 👍 / 👎.