From fa34b5b3f51f8906a73c626c3ec67d4b3f0384f4 Mon Sep 17 00:00:00 2001 From: Roo Code Date: Sat, 14 Feb 2026 11:47:30 +0000 Subject: [PATCH] feat: add MiniMax M2.5 model and set as default --- .changeset/add-minimax-m25.md | 6 ++++++ packages/types/src/providers/minimax.ts | 17 ++++++++++++++++- src/api/providers/__tests__/minimax.spec.ts | 20 ++++++++++++++++++-- 3 files changed, 40 insertions(+), 3 deletions(-) create mode 100644 .changeset/add-minimax-m25.md diff --git a/.changeset/add-minimax-m25.md b/.changeset/add-minimax-m25.md new file mode 100644 index 00000000000..1d171b7f9d0 --- /dev/null +++ b/.changeset/add-minimax-m25.md @@ -0,0 +1,6 @@ +--- +"roo-cline": patch +"@roo-code/types": patch +--- + +Add MiniMax M2.5 model and set it as the default MiniMax model diff --git a/packages/types/src/providers/minimax.ts b/packages/types/src/providers/minimax.ts index 96dd71769d0..4c19b0acb32 100644 --- a/packages/types/src/providers/minimax.ts +++ b/packages/types/src/providers/minimax.ts @@ -5,9 +5,24 @@ import type { ModelInfo } from "../model.js" // https://platform.minimax.io/docs/api-reference/text-openai-api // https://platform.minimax.io/docs/api-reference/text-anthropic-api export type MinimaxModelId = keyof typeof minimaxModels -export const minimaxDefaultModelId: MinimaxModelId = "MiniMax-M2" +export const minimaxDefaultModelId: MinimaxModelId = "MiniMax-M2.5" export const minimaxModels = { + "MiniMax-M2.5": { + maxTokens: 16_384, + contextWindow: 192_000, + supportsImages: false, + supportsPromptCache: true, + includedTools: ["search_and_replace"], + excludedTools: ["apply_diff"], + preserveReasoning: true, + inputPrice: 0.3, + outputPrice: 1.2, + cacheWritesPrice: 0.375, + cacheReadsPrice: 0.03, + description: + "MiniMax M2.5, the latest MiniMax model with enhanced coding and agentic capabilities, building on the strengths of the M2 series.", + }, "MiniMax-M2": { maxTokens: 16_384, contextWindow: 192_000, diff --git a/src/api/providers/__tests__/minimax.spec.ts b/src/api/providers/__tests__/minimax.spec.ts index 86cb5e01947..2820c31a9e0 100644 --- a/src/api/providers/__tests__/minimax.spec.ts +++ b/src/api/providers/__tests__/minimax.spec.ts @@ -87,6 +87,22 @@ describe("MiniMaxHandler", () => { expect(model.info).toEqual(minimaxModels[testModelId]) }) + it("should return MiniMax-M2.5 model with correct configuration", () => { + const testModelId: MinimaxModelId = "MiniMax-M2.5" + const handlerWithModel = new MiniMaxHandler({ + apiModelId: testModelId, + minimaxApiKey: "test-minimax-api-key", + }) + const model = handlerWithModel.getModel() + expect(model.id).toBe(testModelId) + expect(model.info).toEqual(minimaxModels[testModelId]) + expect(model.info.contextWindow).toBe(192_000) + expect(model.info.maxTokens).toBe(16_384) + expect(model.info.supportsPromptCache).toBe(true) + expect(model.info.cacheWritesPrice).toBe(0.375) + expect(model.info.cacheReadsPrice).toBe(0.03) + }) + it("should return MiniMax-M2 model with correct configuration", () => { const testModelId: MinimaxModelId = "MiniMax-M2" const handlerWithModel = new MiniMaxHandler({ @@ -175,10 +191,10 @@ describe("MiniMaxHandler", () => { expect(model.info).toEqual(minimaxModels[minimaxDefaultModelId]) }) - it("should default to MiniMax-M2 model", () => { + it("should default to MiniMax-M2.5 model", () => { const handlerDefault = new MiniMaxHandler({ minimaxApiKey: "test-minimax-api-key" }) const model = handlerDefault.getModel() - expect(model.id).toBe("MiniMax-M2") + expect(model.id).toBe("MiniMax-M2.5") }) })