diff --git a/apps/web/src/lib/ai-gateway/providers/gateway-models-cache.test.ts b/apps/web/src/lib/ai-gateway/providers/gateway-models-cache.test.ts index 97cf3d159a3..3e5d6769cc5 100644 --- a/apps/web/src/lib/ai-gateway/providers/gateway-models-cache.test.ts +++ b/apps/web/src/lib/ai-gateway/providers/gateway-models-cache.test.ts @@ -65,13 +65,6 @@ describe('isValidOpenRouterModelId', () => { }; } - it('accepts known legacy aliases without consulting Redis', async () => { - const { isValidOpenRouterModelId, redisGet } = await loadValidator(); - - await expect(isValidOpenRouterModelId('gpt-4o')).resolves.toBe(true); - expect(redisGet).not.toHaveBeenCalled(); - }); - it('accepts ids present in the Redis catalog', async () => { const { isValidOpenRouterModelId, redisGet } = await loadValidator(); redisGet.mockResolvedValue(JSON.stringify(['openai/gpt-4o'])); diff --git a/apps/web/src/lib/ai-gateway/providers/gateway-models-cache.ts b/apps/web/src/lib/ai-gateway/providers/gateway-models-cache.ts index fcdb203388a..474f5dc5831 100644 --- a/apps/web/src/lib/ai-gateway/providers/gateway-models-cache.ts +++ b/apps/web/src/lib/ai-gateway/providers/gateway-models-cache.ts @@ -114,86 +114,7 @@ export const getOpenRouterModelsFromRedis = createModelIdsFetcher( 'OpenRouter' ); -// These are (undocumented?) aliases OpenRouter accepts and were in use around 2026-08-11 -// Preferably do not add entries here, instead have the user use the documented id from the /models catalog -const legacyOpenRouterAliases: ReadonlySet = new Set([ - 'anthropic/claude-haiku-4-5', - 'anthropic/claude-opus-4-6', - 'anthropic/claude-sonnet-4-5', - 'anthropic/claude-sonnet-4-6', - 'anthropic/claude-sonnet-5-20260630', - 'claude-fable-5', - 'claude-haiku-4.5', - 'claude-haiku-4-5-20251001', - 'claude-opus-4-8', - 'claude-opus-5', - 'claude-sonnet-4', - 'claude-sonnet-4.5', - 'claude-sonnet-5', - 'codex-auto-review', - 'deepseek-v4-flash', - 'deepseek-v4-flash-0731', - 'deepseek-v4-pro', - 'gemini-2.5-flash', - 'gemini-2.5-flash-lite', - 'gemini-2.5-pro', - 'gemini-3-pro-image', - 'gemma-4-26b-a4b-it', - 'gemma-4-31b-it', - 'glm-4.7-flash', - 'glm-5.1', - 'glm-5.2', - 'gpt-3.5-turbo', - 'gpt-3.5-turbo-16k', - 'gpt-4.1', - 'gpt-4.1-mini', - 'gpt-4o', - 'gpt-4o-2024-08-06', - 'gpt-4o-mini', - 'gpt-4o-mini-2024-07-18', - 'gpt-5.1', - 'gpt-5.1-codex', - 'gpt-5.1-codex-max', - 'gpt-5.1-codex-mini', - 'gpt-5.2', - 'gpt-5.2-codex', - 'gpt-5.2-pro', - 'gpt-5.3-codex', - 'gpt-5.4', - 'gpt-5.4-mini', - 'gpt-5.4-nano', - 'gpt-5.4-pro', - 'gpt-5.5', - 'gpt-5.6-luna', - 'gpt-5.6-luna-pro', - 'gpt-5.6-sol', - 'gpt-5.6-terra', - 'gpt-5-nano', - 'gpt-5-pro', - 'gpt-oss-20b', - 'gpt-oss-safeguard-20b', - 'hy3', - 'kimi-k2.6', - 'kimi-k3', - 'laguna-s-2.1', - 'laguna-xs-2.1', - 'mimo-v2.5', - 'minimax-m2.5', - 'minimax-m3', - 'minimax/minimax-m2.5-20260211', - 'o1-pro', - 'o3-pro', - 'openai/gpt-4o-mini-transcribe', - 'openai/gpt-4o-transcribe', - 'openai/gpt-5.3-chat', - 'qwen3.8-max', - 'step-3.5-flash', -]); - export async function isValidOpenRouterModelId(modelId: string): Promise { - if (legacyOpenRouterAliases.has(modelId)) { - return true; - } const openRouterModelIds = await getOpenRouterModelsFromRedis(); if (openRouterModelIds.size === 0) { warnExceptInTest(