diff --git a/src/lib/forbidden-free-models.ts b/src/lib/forbidden-free-models.ts index f658d773b..67039998c 100644 --- a/src/lib/forbidden-free-models.ts +++ b/src/lib/forbidden-free-models.ts @@ -18,6 +18,7 @@ const forbiddenFreeModelIds: ReadonlySet = new Set([ 'liquid/lfm-2.5-1.2b-thinking:free', 'meta-llama/llama-3.2-3b-instruct:free', 'meta-llama/llama-3.3-70b-instruct:free', + 'minimax/minimax-m2.5:free', // only usable through kilo-auto 'mistralai/mistral-small-3.1-24b-instruct:free', 'nousresearch/hermes-3-llama-3.1-405b:free', 'nvidia/nemotron-3-nano-30b-a3b:free', diff --git a/src/lib/kilo-auto-model.ts b/src/lib/kilo-auto-model.ts index f9045bdfb..0cb74e9cb 100644 --- a/src/lib/kilo-auto-model.ts +++ b/src/lib/kilo-auto-model.ts @@ -179,20 +179,6 @@ const legacyMapping: Record = { 'kilo/auto-small': KILO_AUTO_SMALL_MODEL, }; -export function deprecatedAutoModelsToPreventNewExtensionModelPickerFromGettingStuck(): AutoModel[] { - return Object.entries(legacyMapping) - .map(([legacyId, model]) => { - if (!model) return null; - return { - ...model, - id: legacyId, - name: 'Deprecated ' + model.name, - description: `${legacyId} is deprecated, use ${model.id} instead`, - }; - }) - .filter(m => m !== null); -} - export function resolveAutoModel(model: string, modeHeader: string | null): ResolvedAutoModel { const mappedModel = legacyMapping[model]?.id ?? model; if (mappedModel === KILO_AUTO_FREE_MODEL.id) { diff --git a/src/lib/providers/minimax.ts b/src/lib/providers/minimax.ts index 22e48266b..0a1a7e704 100644 --- a/src/lib/providers/minimax.ts +++ b/src/lib/providers/minimax.ts @@ -7,7 +7,7 @@ export const minimax_m25_free_model: KiloFreeModel = { 'MiniMax-M2.5 is a SOTA large language model designed for real-world productivity. Trained in a diverse range of complex real-world digital working environments, M2.5 builds upon the coding expertise of M2.1 to extend into general office work, reaching fluency in generating and operating Word, Excel, and Powerpoint files, context switching between diverse software environments, and working across different agent and human teams. Scoring 80.2% on SWE-Bench Verified, 51.3% on Multi-SWE-Bench, and 76.3% on BrowseComp, M2.5 is also more token efficient than previous generations, having been trained to optimize its actions and output through planning.', context_length: 204800, max_completion_tokens: 131072, - status: 'public', + status: 'hidden', flags: ['reasoning', 'prompt_cache'], gateway: 'openrouter', internal_id: 'minimax/minimax-m2.5', diff --git a/src/lib/providers/openrouter/index.ts b/src/lib/providers/openrouter/index.ts index 1867b9202..aff6b6313 100644 --- a/src/lib/providers/openrouter/index.ts +++ b/src/lib/providers/openrouter/index.ts @@ -14,18 +14,13 @@ import { getOpenCodeSettings, getVersionedModelSettings, } from '@/lib/providers/model-settings'; -import { - AUTO_MODELS, - deprecatedAutoModelsToPreventNewExtensionModelPickerFromGettingStuck, -} from '@/lib/kilo-auto-model'; +import { AUTO_MODELS } from '@/lib/kilo-auto-model'; // Re-export from shared module for backwards compatibility export { normalizeModelId } from '@/lib/model-utils'; function buildAutoModels(): OpenRouterModel[] { - return AUTO_MODELS.concat( - deprecatedAutoModelsToPreventNewExtensionModelPickerFromGettingStuck() - ).map(m => ({ + return AUTO_MODELS.map(m => ({ id: m.id, name: m.name, created: 0, diff --git a/src/tests/openrouter-models-sorting.approved.json b/src/tests/openrouter-models-sorting.approved.json index 8bd7064f8..871a00506 100644 --- a/src/tests/openrouter-models-sorting.approved.json +++ b/src/tests/openrouter-models-sorting.approved.json @@ -533,59 +533,6 @@ "default_parameters": {}, "isFree": true }, - { - "id": "minimax/minimax-m2.5:free", - "canonical_slug": "minimax/minimax-m2.5:free", - "hugging_face_id": "", - "name": "MiniMax: MiniMax M2.5 (free)", - "created": 1756238927, - "description": "MiniMax-M2.5 is a SOTA large language model designed for real-world productivity. Trained in a diverse range of complex real-world digital working environments, M2.5 builds upon the coding expertise of M2.1 to extend into general office work, reaching fluency in generating and operating Word, Excel, and Powerpoint files, context switching between diverse software environments, and working across different agent and human teams. Scoring 80.2% on SWE-Bench Verified, 51.3% on Multi-SWE-Bench, and 76.3% on BrowseComp, M2.5 is also more token efficient than previous generations, having been trained to optimize its actions and output through planning.", - "context_length": 204800, - "architecture": { - "modality": "text->text", - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "tokenizer": "Other", - "instruct_type": null - }, - "pricing": { - "prompt": "0.0000000", - "completion": "0.0000000", - "request": "0", - "image": "0", - "web_search": "0", - "internal_reasoning": "0", - "input_cache_read": "0.00000000" - }, - "top_provider": { - "context_length": 204800, - "max_completion_tokens": 131072, - "is_moderated": false - }, - "per_request_limits": null, - "supported_parameters": [ - "max_tokens", - "temperature", - "tools", - "reasoning", - "include_reasoning" - ], - "default_parameters": {}, - "isFree": true, - "settings": { - "included_tools": [ - "search_and_replace" - ], - "excluded_tools": [ - "apply_diff", - "edit_file" - ] - } - }, { "id": "xiaomi/mimo-v2-omni:free", "canonical_slug": "xiaomi/mimo-v2-omni:free", @@ -716,136 +663,6 @@ "prompt": "codex" }, "isFree": false - }, - { - "id": "kilo/auto", - "name": "Deprecated Kilo Auto Frontier", - "created": 0, - "description": "kilo/auto is deprecated, use kilo-auto/frontier instead", - "architecture": { - "input_modalities": [ - "text", - "image" - ], - "output_modalities": [ - "text" - ], - "tokenizer": "Other" - }, - "top_provider": { - "is_moderated": false, - "context_length": 1000000, - "max_completion_tokens": 128000 - }, - "pricing": { - "prompt": "0.000005", - "completion": "0.000025", - "request": "0", - "image": "0", - "web_search": "0", - "internal_reasoning": "0" - }, - "context_length": 1000000, - "supported_parameters": [ - "max_tokens", - "temperature", - "tools", - "reasoning", - "include_reasoning" - ], - "opencode": { - "family": "claude", - "prompt": "anthropic" - }, - "isFree": false - }, - { - "id": "kilo/auto-free", - "name": "Deprecated Kilo Auto Free", - "created": 0, - "description": "kilo/auto-free is deprecated, use kilo-auto/free instead", - "architecture": { - "input_modalities": [ - "text" - ], - "output_modalities": [ - "text" - ], - "tokenizer": "Other" - }, - "top_provider": { - "is_moderated": false, - "context_length": 204800, - "max_completion_tokens": 131072 - }, - "pricing": { - "prompt": "0", - "completion": "0", - "request": "0", - "image": "0", - "web_search": "0", - "internal_reasoning": "0" - }, - "context_length": 204800, - "supported_parameters": [ - "max_tokens", - "temperature", - "tools", - "reasoning", - "include_reasoning" - ], - "settings": { - "included_tools": [ - "search_and_replace" - ], - "excluded_tools": [ - "apply_diff", - "edit_file" - ] - }, - "isFree": true - }, - { - "id": "kilo/auto-small", - "name": "Deprecated Kilo Auto Small", - "created": 0, - "description": "kilo/auto-small is deprecated, use kilo-auto/small instead", - "architecture": { - "input_modalities": [ - "text", - "image" - ], - "output_modalities": [ - "text" - ], - "tokenizer": "Other" - }, - "top_provider": { - "is_moderated": false, - "context_length": 400000, - "max_completion_tokens": 128000 - }, - "pricing": { - "prompt": "0.00000005", - "completion": "0.0000004", - "request": "0", - "image": "0", - "web_search": "0", - "internal_reasoning": "0" - }, - "context_length": 400000, - "supported_parameters": [ - "max_tokens", - "temperature", - "tools", - "reasoning", - "include_reasoning" - ], - "opencode": { - "family": "gpt", - "prompt": "codex" - }, - "isFree": false } ] } \ No newline at end of file