From d84c811a8a026af1dcb2d4f5e96a6fc4262dec10 Mon Sep 17 00:00:00 2001 From: Zartharas <1402357+Zartharas@users.noreply.github.com> Date: Sat, 8 Aug 2026 16:48:13 -0500 Subject: [PATCH] fix(providers): remove retired NVIDIA NIM catalog entries --- open-sse/config/freeModelCatalog.data.ts | 2 - .../config/nvidiaHostedModels.snapshot.json | 2 - .../config/providers/registry/nvidia/index.ts | 2 - tests/unit/nvidia-eol-catalog.test.ts | 54 +++++++++++++++++++ 4 files changed, 54 insertions(+), 6 deletions(-) create mode 100644 tests/unit/nvidia-eol-catalog.test.ts diff --git a/open-sse/config/freeModelCatalog.data.ts b/open-sse/config/freeModelCatalog.data.ts index 42ec705f8c..aba8cc030b 100644 --- a/open-sse/config/freeModelCatalog.data.ts +++ b/open-sse/config/freeModelCatalog.data.ts @@ -311,7 +311,6 @@ export const FREE_MODEL_BUDGETS: FreeModelBudget[] = [ { provider: "nscale", modelId: "openai/gpt-oss-20b", displayName: "openai/gpt-oss-20b", monthlyTokens: 0, creditTokens: 5000000, freeType: "one-time-initial", poolKey: "nscale", tos: "caution" }, { provider: "nscale", modelId: "meta-llama/Llama-4-Scout-17B-16E-Instruct", displayName: "meta-llama/Llama-4-Scout-17B-16E-Instruct", monthlyTokens: 0, creditTokens: 5000000, freeType: "one-time-initial", poolKey: "nscale", tos: "caution" }, { provider: "nscale", modelId: "meta-llama/Llama-3.3-70B-Instruct", displayName: "meta-llama/Llama-3.3-70B-Instruct", monthlyTokens: 0, creditTokens: 5000000, freeType: "one-time-initial", poolKey: "nscale", tos: "caution" }, - { provider: "nvidia", modelId: "z-ai/glm-5.1", displayName: "GLM 5.1", monthlyTokens: 0, creditTokens: 0, freeType: "one-time-initial", poolKey: "nvidia", tos: "caution" }, { provider: "nvidia", modelId: "z-ai/glm-5.2", displayName: "GLM 5.2", monthlyTokens: 0, creditTokens: 0, freeType: "one-time-initial", poolKey: "nvidia", tos: "caution" }, { provider: "nvidia", modelId: "minimaxai/minimax-m2.7", displayName: "MiniMax M2.7", monthlyTokens: 0, creditTokens: 0, freeType: "one-time-initial", poolKey: "nvidia", tos: "caution" }, { provider: "nvidia", modelId: "google/gemma-4-31b-it", displayName: "Gemma 4 31B", monthlyTokens: 0, creditTokens: 0, freeType: "one-time-initial", poolKey: "nvidia", tos: "caution" }, @@ -321,7 +320,6 @@ export const FREE_MODEL_BUDGETS: FreeModelBudget[] = [ { provider: "nvidia", modelId: "qwen/qwen3.5-397b-a17b", displayName: "Qwen3.5-397B-A17B", monthlyTokens: 0, creditTokens: 0, freeType: "one-time-initial", poolKey: "nvidia", tos: "caution" }, { provider: "nvidia", modelId: "qwen/qwen3.5-122b-a10b", displayName: "Qwen3.5-122B-A10B", monthlyTokens: 0, creditTokens: 0, freeType: "one-time-initial", poolKey: "nvidia", tos: "caution" }, { provider: "nvidia", modelId: "stepfun-ai/step-3.5-flash", displayName: "Step 3.5 Flash", monthlyTokens: 0, creditTokens: 0, freeType: "one-time-initial", poolKey: "nvidia", tos: "caution" }, - { provider: "nvidia", modelId: "deepseek-ai/deepseek-v4-pro", displayName: "DeepSeek V4 Pro", monthlyTokens: 0, creditTokens: 0, freeType: "one-time-initial", poolKey: "nvidia", tos: "caution" }, { provider: "nvidia", modelId: "openai/gpt-oss-120b", displayName: "GPT OSS 120B", monthlyTokens: 0, creditTokens: 0, freeType: "one-time-initial", poolKey: "nvidia", tos: "caution" }, { provider: "nvidia", modelId: "openai/gpt-oss-20b", displayName: "GPT OSS 20B", monthlyTokens: 0, creditTokens: 0, freeType: "one-time-initial", poolKey: "nvidia", tos: "caution" }, { provider: "nvidia", modelId: "nvidia/nemotron-3-super-120b-a12b", displayName: "Nemotron 3 Super 120B A12B", monthlyTokens: 0, creditTokens: 0, freeType: "one-time-initial", poolKey: "nvidia", tos: "caution" }, diff --git a/open-sse/config/nvidiaHostedModels.snapshot.json b/open-sse/config/nvidiaHostedModels.snapshot.json index 29bb66e0ad..60d2f2e76d 100644 --- a/open-sse/config/nvidiaHostedModels.snapshot.json +++ b/open-sse/config/nvidiaHostedModels.snapshot.json @@ -1,5 +1,4 @@ [ - "deepseek-ai/deepseek-v4-pro", "google/gemma-4-31b-it", "minimaxai/minimax-m2.7", "mistralai/devstral-2-123b-instruct-2512", @@ -13,6 +12,5 @@ "qwen/qwen3.5-397b-a17b", "stepfun-ai/step-3.5-flash", "thinkingmachines/inkling", - "z-ai/glm-5.1", "z-ai/glm-5.2" ] diff --git a/open-sse/config/providers/registry/nvidia/index.ts b/open-sse/config/providers/registry/nvidia/index.ts index c6e349fce1..3603700d30 100644 --- a/open-sse/config/providers/registry/nvidia/index.ts +++ b/open-sse/config/providers/registry/nvidia/index.ts @@ -32,8 +32,6 @@ export const nvidiaProvider: RegistryEntry = { { id: "qwen/qwen3.5-122b-a10b", name: "Qwen3.5-122B-A10B" }, { id: "stepfun-ai/step-3.5-flash", name: "Step 3.5 Flash" }, { id: "stepfun-ai/step-3.7-flash", name: "Step 3.7 Flash" }, - { id: "deepseek-ai/deepseek-v4-pro", name: "DeepSeek V4 Pro", supportsReasoning: true }, - { id: "deepseek-ai/deepseek-v4-flash", name: "DeepSeek V4 Flash", supportsReasoning: true }, // Sweep 2026-06-19: verified present in the live NVIDIA NIM /v1/models catalog. { id: "moonshotai/kimi-k2.6", name: "Kimi K2.6" }, { id: "openai/gpt-oss-120b", name: "GPT OSS 120B", toolCalling: false }, diff --git a/tests/unit/nvidia-eol-catalog.test.ts b/tests/unit/nvidia-eol-catalog.test.ts new file mode 100644 index 0000000000..ea8708d19e --- /dev/null +++ b/tests/unit/nvidia-eol-catalog.test.ts @@ -0,0 +1,54 @@ +import test from "node:test"; +import assert from "node:assert/strict"; + +import { FREE_MODEL_BUDGETS } from "../../open-sse/config/freeModelCatalog.data.ts"; +import reviewedLiveIds from "../../open-sse/config/nvidiaHostedModels.snapshot.json" with { type: "json" }; +import { nvidiaProvider } from "../../open-sse/config/providers/registry/nvidia/index.ts"; + +const registryIds = new Set(nvidiaProvider.models.map((model) => model.id)); + +const documentedFreeIds = new Set( + FREE_MODEL_BUDGETS.filter((model) => model.provider === "nvidia").map((model) => model.modelId) +); + +const reviewedIds = new Set(reviewedLiveIds); + +test("NVIDIA registry excludes retired DeepSeek V4 models", () => { + assert.ok( + !registryIds.has("deepseek-ai/deepseek-v4-pro"), + "retired deepseek-ai/deepseek-v4-pro must not be advertised" + ); + + assert.ok( + !registryIds.has("deepseek-ai/deepseek-v4-flash"), + "retired deepseek-ai/deepseek-v4-flash must not be advertised" + ); +}); + +test("NVIDIA static lifecycle metadata excludes known EOL models", () => { + for (const modelId of ["z-ai/glm-5.1", "deepseek-ai/deepseek-v4-pro"]) { + assert.ok( + !reviewedIds.has(modelId), + `${modelId} must not remain in the reviewed NVIDIA hosted-model snapshot` + ); + + assert.ok( + !documentedFreeIds.has(modelId), + `${modelId} must not remain in the NVIDIA free-model catalog` + ); + } +}); + +test("NVIDIA cleanup preserves the healthy GLM replacement", () => { + assert.ok(registryIds.has("z-ai/glm-5.2"), "z-ai/glm-5.2 must remain in the NVIDIA registry"); + + assert.ok( + reviewedIds.has("z-ai/glm-5.2"), + "z-ai/glm-5.2 must remain in the reviewed NVIDIA hosted-model snapshot" + ); + + assert.ok( + documentedFreeIds.has("z-ai/glm-5.2"), + "z-ai/glm-5.2 must remain in the NVIDIA free-model catalog" + ); +});