mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-09-16 03:42:21 +03:00
Um pool `auto/*` vazio que não diz por que está vazio é a pior forma de falha: o operador vê ausência e não sabe se é config, cota ou catálogo. Registrar qual estágio removeu quantos, e carregar `dropReason` em cada entrada de `quotaHealth.providers`, transforma silêncio em diagnóstico. Os três defeitos achados de carona valem tanto quanto a feature — em especial a cota livre recorrente sem teto sendo tratada como desconhecida em vez de segura, que é justamente o caso que mais aparece. Revalidei após reconstruir sobre o tip: **15/15**, typecheck:core limpo, `check-api-typecheck` OK (289). **Uma mudança minha no `catalogPaidFilter.ts`.** Mantive a sua extração — ela é mais limpa que o predicado inline — mas troquei o corpo para usar `isFreeForProvider` por id. O módulo OR-eava `providerHasFreeModels(resolved) || providerHasFreeModels(canonical)` num único `freeProvider` e depois testava `isFreeModel` em cada um. Com isso, um id cujo próprio provider não documenta tier livre passa a ler como grátis sempre que o alias irmão documenta — que é exatamente o buraco que o #12744 fechou e já está no tip. Por id preserva a garantia; nenhuma outra linha do módulo mudou. **Dívida registrada:** o `virtualFactory.ts` foi de 1187 para 1219 somando esta onda e cruzou o teto de 1200 pela primeira vez. Congelado com os candidatos a extração nomeados na justificativa.
25 lines
1.1 KiB
TypeScript
25 lines
1.1 KiB
TypeScript
/**
|
|
* `extractRemainingAllowance` treats an all-unlimited quota as proven-safe headroom
|
|
* only for providers with a documented free tier; anything else stays unknown.
|
|
*/
|
|
import assert from "node:assert/strict";
|
|
import { describe, it } from "node:test";
|
|
import { __testing } from "../../open-sse/services/autoCombo/freeAccessQuota.ts";
|
|
|
|
describe("extractRemainingAllowance unlimited gate", () => {
|
|
it("reports full headroom for an all-unlimited free-tier quota", () => {
|
|
const usage = { quotas: { a: { unlimited: true }, b: { unlimited: true } } };
|
|
assert.equal(__testing.extractRemainingAllowance(usage, { isFreeTier: true }), 100);
|
|
});
|
|
|
|
it("stays unknown for an all-unlimited quota outside the free tier", () => {
|
|
const usage = { quotas: { a: { unlimited: true } } };
|
|
assert.equal(__testing.extractRemainingAllowance(usage, { isFreeTier: false }), null);
|
|
});
|
|
|
|
it("prefers the worst limited reading when unlimited and limited quotas mix", () => {
|
|
const usage = { quotas: { a: { unlimited: true }, b: { remainingPercentage: 42 } } };
|
|
assert.equal(__testing.extractRemainingAllowance(usage, { isFreeTier: true }), 42);
|
|
});
|
|
});
|