Repository navigation
Refresh MiniMax model suggestions for M3.1 Flash and M3 - #1391
octo-patch wants to merge 4 commits into
Conversation
🦋 Changeset detectedLatest commit: 17b76fe The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Walkthrough
Merge Risk: ⚪ Minimal · up to
|
There was a problem hiding this comment.
1 issue found across 7 files
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="packages/core/src/registries/model-provider-registry.ts">
<violation number="1" location="packages/core/src/registries/model-provider-registry.ts:123">
P3: The MiniMax suggestion list and the `/^MiniMax-M\d/i` filter are duplicated in `packages/core/scripts/generate-model-provider-registry.js` (lines 37-38 and 95). Extract them into one shared constant so the generator and the runtime types cannot drift apart.</violation>
</file>
Reply with feedback, questions, or to request a fix.
View guided diff | Re-trigger cubic
| ? [ | ||
| "MiniMax-M3.1-Flash", | ||
| "MiniMax-M3", | ||
| ...models.filter((modelId) => !/^MiniMax-M\d/i.test(modelId)).sort(), |
There was a problem hiding this comment.
P3: The MiniMax suggestion list and the /^MiniMax-M\d/i filter are duplicated in packages/core/scripts/generate-model-provider-registry.js (lines 37-38 and 95). Extract them into one shared constant so the generator and the runtime types cannot drift apart.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. At packages/core/src/registries/model-provider-registry.ts, line 123:
<comment>The MiniMax suggestion list and the `/^MiniMax-M\d/i` filter are duplicated in `packages/core/scripts/generate-model-provider-registry.js` (lines 37-38 and 95). Extract them into one shared constant so the generator and the runtime types cannot drift apart.</comment>
<file context>
@@ -115,7 +115,14 @@ const buildTypesContent = (providerModels: Record<string, string[]>): string =>
+ ? [
+ "MiniMax-M3.1-Flash",
+ "MiniMax-M3",
+ ...models.filter((modelId) => !/^MiniMax-M\d/i.test(modelId)).sort(),
+ ]
+ : [...models].sort();
</file context>
There was a problem hiding this comment.
2 issues found across 5 files (changes from recent commits).
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="packages/core/src/registries/model-provider-catalog.spec.ts">
<violation number="1" location="packages/core/src/registries/model-provider-catalog.spec.ts:189">
P2: This test replaces the refreshed `openrouter` and `opencode` providers before resolving any models, so it does not verify explicit legacy IDs through the refreshed built-in providers. Keep the custom-provider assertion separate and resolve the built-in providers before overriding them, or inspect their refreshed loader/config directly.</violation>
</file>
<file name="packages/core/scripts/generate-model-provider-registry.js">
<violation number="1" location="packages/core/scripts/generate-model-provider-registry.js:41">
P2: This allowlist accepts non-canonical MiniMax route variants, so a refresh can suggest gateway IDs outside the verified OpenRouter and OpenCode routes. Match exact provider-specific route IDs in both implementations.</violation>
</file>
Reply with feedback, questions, or to request a fix.
View guided diff | Re-trigger cubic
| const registry = ModelProviderRegistry.getInstance(); | ||
| await registry.refreshRegistry(true); | ||
| for (const provider of ["openrouter", "opencode", "custom-gateway"]) { | ||
| registry.registerProvider( |
There was a problem hiding this comment.
P2: This test replaces the refreshed openrouter and opencode providers before resolving any models, so it does not verify explicit legacy IDs through the refreshed built-in providers. Keep the custom-provider assertion separate and resolve the built-in providers before overriding them, or inspect their refreshed loader/config directly.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. At packages/core/src/registries/model-provider-catalog.spec.ts, line 189:
<comment>This test replaces the refreshed `openrouter` and `opencode` providers before resolving any models, so it does not verify explicit legacy IDs through the refreshed built-in providers. Keep the custom-provider assertion separate and resolve the built-in providers before overriding them, or inspect their refreshed loader/config directly.</comment>
<file context>
@@ -66,59 +116,106 @@ afterEach(() => {
+ const registry = ModelProviderRegistry.getInstance();
+ await registry.refreshRegistry(true);
+ for (const provider of ["openrouter", "opencode", "custom-gateway"]) {
+ registry.registerProvider(
+ provider,
+ createOpenAICompatible({
</file context>
| if (isEmbeddingModel(modelId, modelInfo) || (Array.isArray(output) && !output.includes("text"))) { | ||
| return false; | ||
| } | ||
| return !/^(?:minimax\/)?minimax-(?:m3\.1-flash|m3)(?::free|-free)?$/i.test(modelId); |
There was a problem hiding this comment.
P2: This allowlist accepts non-canonical MiniMax route variants, so a refresh can suggest gateway IDs outside the verified OpenRouter and OpenCode routes. Match exact provider-specific route IDs in both implementations.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. At packages/core/scripts/generate-model-provider-registry.js, line 41:
<comment>This allowlist accepts non-canonical MiniMax route variants, so a refresh can suggest gateway IDs outside the verified OpenRouter and OpenCode routes. Match exact provider-specific route IDs in both implementations.</comment>
<file context>
@@ -30,6 +30,17 @@ const isEmbeddingModel = (modelId, modelInfo) => {
+ if (isEmbeddingModel(modelId, modelInfo) || (Array.isArray(output) && !output.includes("text"))) {
+ return false;
+ }
+ return !/^(?:minimax\/)?minimax-(?:m3\.1-flash|m3)(?::free|-free)?$/i.test(modelId);
+};
+
</file context>
Reason: Refresh MiniMax suggestions to MiniMax-M3.1-Flash and MiniMax-M3, including the current routes available through OpenRouter and OpenCode.
The exact gateway routes were verified in models.dev and the gateway catalogs on 2026-10-19:
minimax/minimax-m3.1-flash:free,minimax/minimax-m3.minimax-m3.1-flash-free,minimax-m3.Package validation (all passed): pinned pnpm dependency installation and internal/logger prerequisite builds; 18 focused registry/catalog/wire tests; full core
vitest run --typecheck(112 files, 1,410 passed, 2 skipped, 1 todo, no type errors); corepnpm typecheck; corepnpm build; scoped Biome;git diff --check; diff secret scan.Commitlint currently reports
type-emptyandsubject-emptyfor the published gateway followup commit subject.Dependencies and checks ran without deployment credentials. No paid inference was performed. Catalog pricing and token limits are not copied or inferred from route availability.
Model reference: https://platform.minimax.io/docs/api-reference/text-chat-openai.md