test(llms): exercise MiniMax on native endpoints and surface MiniMax-M3 - #640
test(llms): exercise MiniMax on native endpoints and surface MiniMax-M3#640octo-patch wants to merge 1 commit into
Conversation
Add direct MiniMax entries to the live-test provider registry for the global (api.minimax.io) and China (api.minimaxi.com) OpenAI-compatible hosts so MiniMax-M3 and MiniMax-M2.7 are checked natively instead of only through an OpenRouter-derived id. List MiniMax-M3 in the docs model group so the public list matches the live-test matrix.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 856637a181
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| // MiniMax's own OpenAI-compatible API serves the current generation | ||
| // (MiniMax-M3, MiniMax-M2.7). The older MiniMax-M2.5 is only reachable via | ||
| // OpenRouter resellers, not the native endpoints, so it is excluded here. | ||
| const MINIMAX_NATIVE_MODELS = MODEL_GROUPS.MiniMax.filter((model) => model !== 'MiniMax-M2.5') |
There was a problem hiding this comment.
Exercise M2.5 on MiniMax native endpoints
When TESTING_MINIMAX_KEY or TESTING_MINIMAX_CN_KEY is present, this filter skips MiniMax-M2.5 even though the native MiniMax OpenAI SDK docs for both hosts list MiniMax-M2.5 as supported (https://platform.minimax.io/docs/api-reference/text-openai-api and https://platform.minimaxi.com/docs/api-reference/text-openai-api). That leaves one of the public models listed in the docs untested on the native endpoints, so a native-only request/response-format regression for M2.5 would still pass this live suite; include it here or gate the exclusion on a current documented incompatibility.
Useful? React with 👍 / 👎.
Reason: MiniMax-M3 was exercised only through an OpenRouter-derived id and hidden from the docs, and the live-test registry had no direct MiniMax endpoints.
Changes
packages/llms/src/models.live.test.ts— add MiniMax to the live-test provider registry so its models are exercised on the native OpenAI-compatible API instead of only through an OpenRouter-derived id:minimax→ global hosthttps://api.minimax.io/v1(keyTESTING_MINIMAX_KEY)minimaxChina→ China hosthttps://api.minimaxi.com/v1(keyTESTING_MINIMAX_CN_KEY)MiniMax-M3andMiniMax-M2.7against both hosts;MiniMax-M2.5stays OpenRouter-only, mirroring the existing DeepSeek native-filter pattern.packages/website/src/pages/docs/features/models/page.tsx— listMiniMax-M3in the MiniMax model group (removing the stale "low success rate" demotion) so the public model list matches the model matrix in the live tests.The
modelPatchinpackages/llms/src/utils.tsalready keys onstartsWith('minimax')and disables thinking for M3, so it applies unchanged on the native endpoints; no runtime change is needed.Testing
npm run typecheck— passesnpx eslint packages/llms/src/models.live.test.ts packages/website/src/pages/docs/features/models/page.tsx— passesnpm test -w @page-agent/llms— 43 passednpm run test:live -w @page-agent/llms— collects cleanly; 65 tests skip without provider keys (no live API calls)