test(provider): regen golden snapshot + bump family-count for Chenzk gateway

The Chenzk provider added in a616b88c9 registered a new APIKEY_PROVIDERS
entry (gateways.ts) but did not update the two characterization tests
that assert exact provider counts: the translate-path golden snapshot
(missing the chenzk entry) and the 167-entry family-merge count in
providers-constants-split.test.ts (now 168, verified as a strict
partition sum across the 6 family files, no loss/dup).

Co-authored-by: Ahmad Putra Cahyo <CahyokPutraDev99@users.noreply.github.com>
This commit is contained in:
Diego Rodrigues de Sa e Souza
2026-07-15 19:52:00 -03:00
parent 0d02a399f2
commit 2d93adfe8f
2 changed files with 30 additions and 6 deletions

View File

@@ -658,6 +658,29 @@
"stream": "https://chatgpt.com/backend-api/conversation"
}
},
"chenzk": {
"format": "openai",
"headers": {
"apiKey": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"nonStream": {
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"oauth": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
}
},
"url": {
"nonStream": "https://chenzk.top/v1/chat/completions",
"stream": "https://chenzk.top/v1/chat/completions"
}
},
"chipotle": {
"format": "openai",
"headers": {

View File

@@ -1,13 +1,14 @@
// 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 (167 APIKEY entries, no loss/dup), and that
// + helpers still exported), the spread-merge integrity (168 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
// removed as a duplicate now that clinepass is OAuth-primary (OAUTH_PROVIDERS.clinepass) with its
// BYOK path admitted through the DUAL_AUTH_APIKEY_PROVIDER_IDS gate instead (167->166), then the
// OpenVecta inference-gateway addition brought it back to 167.
// OpenVecta inference-gateway addition brought it back to 167, then #7246 (Chenzk API gateway)
// brought it to 168.
import { test } from "node:test";
import assert from "node:assert/strict";
@@ -36,10 +37,10 @@ test("barrel still exports every catalog + key helpers", () => {
}
});
test("APIKEY_PROVIDERS merges the 6 family files into 167 entries (no loss / no dup)", async () => {
test("APIKEY_PROVIDERS merges the 6 family files into 168 entries (no loss / no dup)", async () => {
const keys = Object.keys((P as Record<string, object>).APIKEY_PROVIDERS);
assert.equal(keys.length, 167);
assert.equal(new Set(keys).size, 167, "duplicate keys after spread-merge");
assert.equal(keys.length, 168);
assert.equal(new Set(keys).size, 168, "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 167.
const families: [string, string][] = [
@@ -61,7 +62,7 @@ test("APIKEY_PROVIDERS merges the 6 family files into 167 entries (no loss / no
seen.add(k);
}
}
assert.equal(famTotal, 167, "families must partition all 167 providers");
assert.equal(famTotal, 168, "families must partition all 168 providers");
});
test("AI_PROVIDERS Proxy aggregates all sections; lookups resolve", () => {