From 6c735db0605a9f453ecea793d2ff9524c6416448 Mon Sep 17 00:00:00 2001 From: Armin Ronacher Date: Thu, 9 Jul 2026 21:20:33 +0200 Subject: [PATCH] fix(ai): exclude nonexistent GPT-5.6 alias --- packages/ai/scripts/generate-models.ts | 17 ++++------------- .../providers/azure-openai-responses.models.ts | 18 ------------------ packages/ai/src/providers/openai.models.ts | 18 ------------------ .../openai-responses-copilot-provider.test.ts | 1 - packages/ai/test/supports-xhigh.test.ts | 2 +- 5 files changed, 5 insertions(+), 51 deletions(-) diff --git a/packages/ai/scripts/generate-models.ts b/packages/ai/scripts/generate-models.ts index 74ee764b..7ae8d2b7 100644 --- a/packages/ai/scripts/generate-models.ts +++ b/packages/ai/scripts/generate-models.ts @@ -193,6 +193,8 @@ const ANT_LING_RING_THINKING_LEVEL_MAP = { xhigh: "xhigh", } as const; +const MODELS_DEV_OPENAI_UNSUPPORTED_MODEL_IDS = new Set(["gpt-5.6"]); + const OPENAI_RESPONSES_NONE_REASONING_MODELS = new Set([ "gpt-5.1", "gpt-5.2", @@ -201,7 +203,6 @@ const OPENAI_RESPONSES_NONE_REASONING_MODELS = new Set([ "gpt-5.4-mini", "gpt-5.4-nano", "gpt-5.5", - "gpt-5.6", "gpt-5.6-sol", "gpt-5.6-terra", "gpt-5.6-luna", @@ -905,6 +906,8 @@ async function loadModelsDevData(): Promise[]> { for (const [modelId, model] of Object.entries(data.openai.models)) { const m = model as ModelsDevModel; if (m.tool_call !== true) continue; + // models.dev lists this alias, but it is not accepted by OpenAI APIs. + if (MODELS_DEV_OPENAI_UNSUPPORTED_MODEL_IDS.has(modelId)) continue; models.push({ id: modelId, @@ -1713,18 +1716,6 @@ async function generateModels() { // Add missing gpt models const missingOpenAiModels: Model<"openai-responses">[] = [ - { - id: "gpt-5.6", - name: "GPT-5.6", - api: "openai-responses", - baseUrl: "https://api.openai.com/v1", - provider: "openai", - reasoning: true, - input: ["text", "image"], - cost: { input: 5, output: 30, cacheRead: 0.5, cacheWrite: 0 }, - contextWindow: 1050000, - maxTokens: 128000, - }, { id: "gpt-5.6-sol", name: "GPT-5.6 Sol", diff --git a/packages/ai/src/providers/azure-openai-responses.models.ts b/packages/ai/src/providers/azure-openai-responses.models.ts index bb7c5159..7ec9ef68 100644 --- a/packages/ai/src/providers/azure-openai-responses.models.ts +++ b/packages/ai/src/providers/azure-openai-responses.models.ts @@ -606,24 +606,6 @@ export const AZURE_OPENAI_RESPONSES_MODELS = { contextWindow: 1050000, maxTokens: 128000, } satisfies Model<"azure-openai-responses">, - "gpt-5.6": { - id: "gpt-5.6", - name: "GPT-5.6", - api: "azure-openai-responses", - provider: "azure-openai-responses", - baseUrl: "", - reasoning: true, - thinkingLevelMap: {"off":null,"xhigh":"xhigh","max":"max"}, - input: ["text", "image"], - cost: { - input: 5, - output: 30, - cacheRead: 0.5, - cacheWrite: 6.25, - }, - contextWindow: 1050000, - maxTokens: 128000, - } satisfies Model<"azure-openai-responses">, "gpt-5.6-luna": { id: "gpt-5.6-luna", name: "GPT-5.6 Luna", diff --git a/packages/ai/src/providers/openai.models.ts b/packages/ai/src/providers/openai.models.ts index 2da12b19..60f33729 100644 --- a/packages/ai/src/providers/openai.models.ts +++ b/packages/ai/src/providers/openai.models.ts @@ -606,24 +606,6 @@ export const OPENAI_MODELS = { contextWindow: 1050000, maxTokens: 128000, } satisfies Model<"openai-responses">, - "gpt-5.6": { - id: "gpt-5.6", - name: "GPT-5.6", - api: "openai-responses", - provider: "openai", - baseUrl: "https://api.openai.com/v1", - reasoning: true, - thinkingLevelMap: {"off":"none","xhigh":"xhigh","max":"max"}, - input: ["text", "image"], - cost: { - input: 5, - output: 30, - cacheRead: 0.5, - cacheWrite: 6.25, - }, - contextWindow: 1050000, - maxTokens: 128000, - } satisfies Model<"openai-responses">, "gpt-5.6-luna": { id: "gpt-5.6-luna", name: "GPT-5.6 Luna", diff --git a/packages/ai/test/openai-responses-copilot-provider.test.ts b/packages/ai/test/openai-responses-copilot-provider.test.ts index 0f925c8b..3a62ce58 100644 --- a/packages/ai/test/openai-responses-copilot-provider.test.ts +++ b/packages/ai/test/openai-responses-copilot-provider.test.ts @@ -99,7 +99,6 @@ describe("openai-responses provider defaults", () => { "gpt-5.4-mini", "gpt-5.4-nano", "gpt-5.5", - "gpt-5.6", "gpt-5.6-sol", "gpt-5.6-terra", "gpt-5.6-luna", diff --git a/packages/ai/test/supports-xhigh.test.ts b/packages/ai/test/supports-xhigh.test.ts index f7773ae3..9888e93d 100644 --- a/packages/ai/test/supports-xhigh.test.ts +++ b/packages/ai/test/supports-xhigh.test.ts @@ -54,7 +54,7 @@ describe("getSupportedThinkingLevels", () => { }, ); - it.each(["gpt-5.6", "gpt-5.6-sol", "gpt-5.6-terra", "gpt-5.6-luna"] as const)( + it.each(["gpt-5.6-sol", "gpt-5.6-terra", "gpt-5.6-luna"] as const)( "includes xhigh and max for OpenAI %s models", (modelId) => { const model = getModel("openai", modelId);