You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
fix(translator): parse DeepSeek Web DSML tool calls - #14249
Choose change type focused loop Contribution Golden Path. The full unit suite, Vitest, 60% coverage gate, and production build run in CI on PR (#8329):
Change type: provider (translator)
Focused tests category gates golden path
npm run lint
Reconciled current active release base; focused checks rerun afterward
Production-code changes include new or updated automated test in PR
SonarQube is temporarily opt-in while private project has no quota; not PR gate.
Tests Added Or Updated
tests/unit/deepseek-web-tools-dsml.test.ts — covers native DSML calls with Windows paths and non-ASCII content.
Thank you for tackling the DSML parsing gap from #14208 — the tokenizer-based approach with proper depth tracking is a nice design. Testing it against the exact string from the bug report, though, the DSML_TAG_RE pattern only matches the closing-tag form <||DSML|| /parameter> (slash after the marker); the real upstream output — and the issue's own repro — uses </||DSML|| parameter> (slash before the marker), which this regex never matches, so the original bug report still fails to parse cleanly with this change (file_path ends up swallowing the rest of the payload). #13930 already lands a more permissive normalization that handles both tag-slash placements and is ahead in the queue, so recommending closing this one in its favor — but I'd genuinely welcome a follow-up that ports your depth-tracking tokenizer onto that broader tag matching if you want to keep pushing on it.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Parse DeepSeek Web's native DSML
invoke/parameterresponses into OpenAI-compatible tool calls, preserving Windows paths and non-ASCII argument content.Related Issues
Fixes #14208
Validation
Choose change type focused loop Contribution Golden Path. The full unit suite, Vitest, 60% coverage gate, and production build run in CI on PR (#8329):
npm run lintTests Added Or Updated
tests/unit/deepseek-web-tools-dsml.test.ts— covers native DSML calls with Windows paths and non-ASCII content.node --import tsx/esm --test tests/unit/deepseek-web-tools-dsml.test.tsnode --import tsx/esm --test tests/unit/deepseek-web*.test.tsnpm run check:open-sse-typecheckgit diff --checkpassed for the changed files.Coverage Notes
Reviewer Notes