From a5d46c4567a9a5fc08fa3f663f2b94ebd84f5fd6 Mon Sep 17 00:00:00 2001 From: Shakker Date: Sat, 25 Apr 2026 02:41:10 +0100 Subject: [PATCH] fix: require complete model catalog pricing tiers --- src/plugins/manifest-registry.test.ts | 4 ++++ src/plugins/manifest.ts | 16 +++++++++++----- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/plugins/manifest-registry.test.ts b/src/plugins/manifest-registry.test.ts index b9ec4a73a91..10adbcd9ed2 100644 --- a/src/plugins/manifest-registry.test.ts +++ b/src/plugins/manifest-registry.test.ts @@ -508,6 +508,8 @@ describe("loadPluginManifestRegistry", () => { { input: 0.6, output: 2.5, + cacheRead: 0.15, + cacheWrite: 0.6, range: [0, 256000], }, ], @@ -582,6 +584,8 @@ describe("loadPluginManifestRegistry", () => { { input: 0.6, output: 2.5, + cacheRead: 0.15, + cacheWrite: 0.6, range: [0, 256000], }, ], diff --git a/src/plugins/manifest.ts b/src/plugins/manifest.ts index 3fb843b24d6..49a556740f2 100644 --- a/src/plugins/manifest.ts +++ b/src/plugins/manifest.ts @@ -717,7 +717,15 @@ function normalizeModelCatalogTieredCost( } const input = normalizeModelCatalogNumber(entry.input); const output = normalizeModelCatalogNumber(entry.output); - if (input === undefined || output === undefined || !Array.isArray(entry.range)) { + const cacheRead = normalizeModelCatalogNumber(entry.cacheRead); + const cacheWrite = normalizeModelCatalogNumber(entry.cacheWrite); + if ( + input === undefined || + output === undefined || + cacheRead === undefined || + cacheWrite === undefined || + !Array.isArray(entry.range) + ) { continue; } const rangeValues = entry.range @@ -732,13 +740,11 @@ function normalizeModelCatalogTieredCost( if (!range) { continue; } - const cacheRead = normalizeModelCatalogNumber(entry.cacheRead); - const cacheWrite = normalizeModelCatalogNumber(entry.cacheWrite); normalized.push({ input, output, - ...(cacheRead !== undefined ? { cacheRead } : {}), - ...(cacheWrite !== undefined ? { cacheWrite } : {}), + cacheRead, + cacheWrite, range, }); }