test(providers): update APIKEY split count to 229 after rebase onto release/v3.8.50

The rebase merged the release catalog (201 APIKEY providers) with the PR's
28 free-tier additions, yielding 229 total. Correct the characterization
count so the partition assertion reflects the true merged state.
This commit is contained in:
diegosouzapw
2026-08-10 22:33:16 -03:00
parent b09ac0bcdf
commit e02e4cfb9c

View File

@@ -1,7 +1,7 @@
// Characterization of the providers.ts catalog split (god-file decomposition): the host became a
// barrel that re-exports 10 data catalogs now living under constants/providers/*, and APIKEY is
// merged from 6 semantic family files (apikey/<family>.ts). Locks: the public surface (every catalog
// + helpers still exported), the spread-merge integrity (225 APIKEY entries, no loss/dup), and that
// + helpers still exported), the spread-merge integrity (229 APIKEY entries, no loss/dup), and that
// load-time Zod validation still runs. Pure-data move → behavior must be identical.
// Count was 171 before obsolete provider removals (PR #6675: glhf/kluster/cablyai/inclusionai etc.,
// 171->167) plus #6126 (ClinePass dual-auth): the API-key-only APIKEY_PROVIDERS_GATEWAYS entry was
@@ -19,7 +19,7 @@
// (removed specialty-media duplicate) to 194, #8861 (Xiaomi MiMo Token Plan, regional) to 195, and
// the Cheaper Inference gateway (OSS-sponsor reseller, gateways family) to 196, and the audited
// free-tier gateway expansion added 27 entries, bringing the total to 223, then Void AI and
// HelixMind brought the current total to 225.
// HelixMind brought the current total to 229 after rebase onto release/v3.8.50 (201 release + 28 PR additions).
import { test } from "node:test";
import assert from "node:assert/strict";
@@ -48,12 +48,12 @@ test("barrel still exports every catalog + key helpers", () => {
}
});
test("APIKEY_PROVIDERS merges the 6 family files into 225 entries (no loss / no dup)", async () => {
test("APIKEY_PROVIDERS merges the 6 family files into 229 entries (no loss / no dup)", async () => {
const keys = Object.keys((P as Record<string, object>).APIKEY_PROVIDERS);
assert.equal(keys.length, 225);
assert.equal(new Set(keys).size, 225, "duplicate keys after spread-merge");
assert.equal(keys.length, 229);
assert.equal(new Set(keys).size, 229, "duplicate keys after spread-merge");
// the merged object's entry-count equals the sum of the 6 semantic family files; families are a
// strict partition (every provider in exactly one), so the sum must be exactly 225.
// strict partition (every provider in exactly one), so the sum must be exactly 229.
const families: [string, string][] = [
["gateways", "APIKEY_PROVIDERS_GATEWAYS"],
["frontier-labs", "APIKEY_PROVIDERS_FRONTIER"],
@@ -73,7 +73,7 @@ test("APIKEY_PROVIDERS merges the 6 family files into 225 entries (no loss / no
seen.add(k);
}
}
assert.equal(famTotal, 225, "families must partition all 225 providers");
assert.equal(famTotal, 229, "families must partition all 229 providers");
});
test("AI_PROVIDERS Proxy aggregates all sections; lookups resolve", () => {