Skip to content

test(llms): exercise MiniMax on native endpoints and surface MiniMax-M3 - #640

Open
octo-patch wants to merge 1 commit into
alibaba:mainfrom
octo-patch:octo/20260729-parameter-refresh-recvq93s0aUsXX
Open

test(llms): exercise MiniMax on native endpoints and surface MiniMax-M3#640
octo-patch wants to merge 1 commit into
alibaba:mainfrom
octo-patch:octo/20260729-parameter-refresh-recvq93s0aUsXX

Conversation

@octo-patch

Copy link
Copy Markdown
Contributor

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 host https://api.minimax.io/v1 (key TESTING_MINIMAX_KEY)
    • minimaxChina → China host https://api.minimaxi.com/v1 (key TESTING_MINIMAX_CN_KEY)
    • register request-shape checks for MiniMax-M3 and MiniMax-M2.7 against both hosts; MiniMax-M2.5 stays OpenRouter-only, mirroring the existing DeepSeek native-filter pattern.
    • document the two new env keys in the suite header.
  • packages/website/src/pages/docs/features/models/page.tsx — list MiniMax-M3 in 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 modelPatch in packages/llms/src/utils.ts already keys on startsWith('minimax') and disables thinking for M3, so it applies unchanged on the native endpoints; no runtime change is needed.

Testing

  • npm run typecheck — passes
  • npx eslint packages/llms/src/models.live.test.ts packages/website/src/pages/docs/features/models/page.tsx — passes
  • npm test -w @page-agent/llms — 43 passed
  • npm run test:live -w @page-agent/llms — collects cleanly; 65 tests skip without provider keys (no live API calls)

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.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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')

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge 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 👍 / 👎.

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.

1 participant