Files
OmniRoute/tests/unit/free-tier-catalog.test.ts
backryun 0e4145d257 fix(providers): remove obsolete providers (glhf, kluster, cablyai, inclusionai) (#6675)
Drop dead catalog/registry entries, keep Synthetic as the GLHF replacement path,
regenerate provider reference/docs counts, and lock APIKEY family-split + file-size
gates so CI stays green.

Ignore prettier on freeModelCatalog.data.ts so dense one-line budget rows are not
expanded past the 800-line new-file cap.
2026-07-09 16:44:28 -03:00

43 lines
1.7 KiB
TypeScript

import test from "node:test";
import assert from "node:assert/strict";
import {
FREE_TIER_BUDGETS,
FREE_TIER_TOS,
computeFreeTierTotals,
} from "../../open-sse/config/freeTierCatalog.ts";
test("FREE_TIER_BUDGETS holds positive integer monthly-token budgets", () => {
assert.ok(Object.keys(FREE_TIER_BUDGETS).length >= 20);
for (const [id, tokens] of Object.entries(FREE_TIER_BUDGETS)) {
assert.ok(Number.isInteger(tokens) && tokens > 0, `${id} must be a positive integer`);
}
assert.equal(FREE_TIER_BUDGETS.mistral, 1_000_000_000);
assert.equal(FREE_TIER_BUDGETS["cloudflare-ai"], 122_000_000);
assert.equal(FREE_TIER_BUDGETS.cerebras, 30_000_000);
// LongCat is excluded from this recurring-monthly catalog: its free tier is a
// one-time 10M-token signup grant (not recurring), so it must not appear here.
assert.equal(FREE_TIER_BUDGETS.longcat, undefined);
});
test("FREE_TIER_TOS marks proxy-prohibited providers as avoid", () => {
for (const id of ["kiro", "amazon-q", "blackbox", "fireworks"]) {
assert.equal(FREE_TIER_TOS[id], "avoid", `${id} must be flagged avoid`);
}
});
test("computeFreeTierTotals sums the documented budgets", () => {
const t = computeFreeTierTotals();
assert.equal(t.providerCount, 20);
assert.ok(t.documentedMonthlyTokens >= 1_350_000_000);
assert.ok(t.documentedMonthlyTokens <= 1_450_000_000);
assert.equal(typeof t.headline, "string");
assert.match(t.headline, /1\.3/);
});
test("computeFreeTierTotals can exclude ToS-avoid providers", () => {
const all = computeFreeTierTotals();
const clean = computeFreeTierTotals({ excludeTosAvoid: true });
assert.equal(all.documentedMonthlyTokens - clean.documentedMonthlyTokens, 25_000);
assert.equal(clean.providerCount, 19);
});