feat: openai-compatible-strict-reasoning (1/2) - #26
Closed
myk1yt wants to merge 23 commits into
Closed
Conversation
added 4 commits
August 2, 2026 10:02
…penAI Compatible provider - Add openAiToolStrictMode boolean to provider settings (profile-scoped, default false) - Add strict toggle checkbox in OpenAICompatible settings UI - BaseProvider.convertToolsForOpenAI now accepts strictMode parameter - strictMode=true: strict:true + hardened schema - strictMode=false: strict:false + best-effort original schema - MCP tools: always strict:false regardless of setting - Wire setting into all 4 openai.ts request paths - Fix reasoning effort unsafe cast, add xhigh and max values - Make parallel_tool_calls conditional on tools being present
This was referenced Aug 3, 2026
myk1yt
force-pushed
the
pr/b05a-strict-reasoning-v2
branch
from
August 3, 2026 09:36
deaf359 to
23e3526
Compare
added 4 commits
August 4, 2026 04:36
Merge debris left strictToolSchemas/strictToolSchemasDescription twice in the modelInfo object; JSON.parse silently kept the last occurrence. Add scripts/find-dup-json-keys.js to detect duplicate sibling keys; scan of all 18 locales shows en was the only affected file.
openAiToolStrictMode is honored by all OpenAI-protocol providers in a profile, but the checkbox only exists under the OpenAI Compatible section. Extend strictToolSchemasDescription to state the setting is saved per profile and applies to other OpenAI-protocol providers. Non-en locales hold untranslated English text for this key, so they get the clarification appended as an English parenthetical.
myk1yt
force-pushed
the
pr/b05a-strict-reasoning-v2
branch
4 times, most recently
from
August 4, 2026 20:40
77e7207 to
a3b22a7
Compare
myk1yt
force-pushed
the
pr/b05a-strict-reasoning-v2
branch
from
August 6, 2026 20:00
ce96757 to
5ac1ec0
Compare
Co-authored-by: Roomote <roomote@roomote.dev>
…1190) Co-authored-by: Roomote <roomote@roomote.dev>
added 3 commits
August 8, 2026 13:53
…g PR Zoo-Code-Org#1124 - Add strict-reasoning.json aimock fixture with 6 probe tag mappings (fixes 30s e2e-mock timeout caused by 404 No fixture matched) - Add Playwright CT visual test for strict tool schemas toggle in OpenAICompatible settings panel
Replace Windows-generated baseline with Linux CI artifact actual screenshot to fix cross-platform rendering mismatch (5,456px diff).
- Add 5 tests to base-openai-compatible-provider.spec.ts for parallel_tool_calls and openAiToolStrictMode pass-through - Add 2 tests to openai-compatible.spec.ts for strict mode fallback and enabled state (new file) - Targets codecov/patch 76.47% -> 80%+ for PR Zoo-Code-Org#1124
Covers the 3 uncovered lines in OpenAICompatible.visual.fixture.tsx that were blocking codecov/patch/webview-patch (25% -> 70%+).
…ames (Zoo-Code-Org#1073) * fix(telemetry): record tool usage once centrally, sanitize raw tool names * fix(telemetry): defer native MCP usage recording until validation passes * fix(telemetry): narrow UseMcpToolTool callback, harden test mocks, close coverage gaps * test(telemetry): complete native MCP mock so validateToolExists runs the real path
Co-authored-by: Roomote <roomote@roomote.dev>
Co-authored-by: Roomote <roomote@roomote.dev>
Co-authored-by: Roomote <roomote@roomote.dev>
Owner
Author
|
Closing to recreate with main as target base branch. This PR had stale base branch references after fork sync. |
This was referenced Aug 10, 2026
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Stack Position
feat/openai-compatible-strict-reasoning(1/2) +fix/mimo-parallel-tool-call-policy(shared 1/2 root)Description
Full Feature Description
feat/openai-compatible-strict-reasoningprovider-settings.ts,base-openai-compatible-provider.ts,base-provider.ts,OpenAICompatible.tsx,openai.ts,openai-compatible.ts,anthropic-vertex.ts,qwen-code.ts.cachedStatebefore saving. Cost calculation treats missing fields as unknown or zero per provider contract and does not produce negative tokens. Cached input/output tokens and provider-specific price units are not double-counted. B17 does not change request payload or tool-call policy.Why Split Into 17 PRs
Instead of submitting this feature as a single unified PR, it was split into individual PRs because as code size grows, safely reviewing a PR becomes very difficult. The feature was broken into mutually exclusive individual PRs so that each can be reviewed independently.
What This PR Specifically Changes
Adds provider-neutral strict schema opt-in, reasoning effort setting, cached settings UI, and OpenAI-compatible base request shaping. Does not include MiMo-specific enforcement or provider cost calculation.
Included Files
packages/types/src/provider-settings.tssrc/api/providers/base-openai-compatible-provider.tssrc/api/providers/base-provider.tssrc/api/providers/openai.tswebview-ui/src/components/settings/providers/OpenAICompatible.tsxExclusion Scope