Skip to content

feat(minimax): extract M3 reasoning content - #6050

Merged
diegosouzapw merged 1 commit into
diegosouzapw:release/v3.8.44from
KooshaPari:fix/pr-5804-minimax-m3-replay
Jul 3, 2026
Merged

diegosouzapw merged 1 commit into
diegosouzapw:release/v3.8.44from
KooshaPari:fix/pr-5804-minimax-m3-replay

Conversation

@KooshaPari

Copy link
Copy Markdown
Contributor

Replacement for #5804 replayed cleanly onto release/v3.8.44.\n\nWhat changed:\n- Extracts MiniMax M3 blocks into reasoning_content for OpenAI-format tiers.\n- Keeps visible content split behavior covered by sanitizer tests.\n- Carries the changelog note without the stale branch conflicts.\n\nValidation:\n- npm exec --yes tsx -- --test tests/unit/responsesanitizer-reasoning-split.test.ts\n- npm exec --yes tsx -- --test tests/unit/role-normalizer.test.ts\n- npm run check:docs-sync

…at tiers

MiniMax M3 is registered with format:"openai" on 8 provider tiers (trae,
huggingchat, bazaarlink, ollama-cloud, opencode, cline, opencode-zen,
codebuddy-cn), where its raw <think>...</think> tags leaked directly into
`content` instead of surfacing as a separate `reasoning_content` field.

OmniRoute already has the extraction primitive
(extractThinkingFromContent in responseSanitizer/reasoning.ts); it was just
gated to deepseek-r1/r1-distill/qwq. Extend the allowlist
(isTextualReasoningTagNativeRoute) with a minimax-m3-only pattern, excluding
the two direct minimax/minimax-cn tiers, which stay on Anthropic's Messages
format (targetFormat: "claude") and already surface reasoning natively.

Co-authored-by: zmf963 <19422469+zmf963@users.noreply.github.com>
Inspired-by: decolua/9router#2231
@KooshaPari
KooshaPari requested a review from diegosouzapw as a code owner July 3, 2026 05:03
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Warning

You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!

@diegosouzapw
diegosouzapw merged commit 5d902e5 into diegosouzapw:release/v3.8.44 Jul 3, 2026
3 checks passed
@KooshaPari
KooshaPari deleted the fix/pr-5804-minimax-m3-replay branch August 13, 2026 06:54
tkgo11 pushed a commit to tkgo11/OmniRoute that referenced this pull request Sep 23, 2026
…at tiers (diegosouzapw#6050)

MiniMax M3 is registered with format:"openai" on 8 provider tiers (trae,
huggingchat, bazaarlink, ollama-cloud, opencode, cline, opencode-zen,
codebuddy-cn), where its raw <think>...</think> tags leaked directly into
`content` instead of surfacing as a separate `reasoning_content` field.

OmniRoute already has the extraction primitive
(extractThinkingFromContent in responseSanitizer/reasoning.ts); it was just
gated to deepseek-r1/r1-distill/qwq. Extend the allowlist
(isTextualReasoningTagNativeRoute) with a minimax-m3-only pattern, excluding
the two direct minimax/minimax-cn tiers, which stay on Anthropic's Messages
format (targetFormat: "claude") and already surface reasoning natively.


Inspired-by: decolua/9router#2231

Co-authored-by: Diego Rodrigues de Sa e Souza <diegosouza.pw@gmail.com>
Co-authored-by: zmf963 <19422469+zmf963@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants