mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-08-02 05:12:11 +03:00
feat(compression): fidelityGate config + rejected breakdown fields
This commit is contained in:
committed by
Diego Rodrigues de Sa e Souza
parent
5dacaa7f4d
commit
bccdfac449
@@ -11,6 +11,7 @@
|
||||
|
||||
import { ENGINE_IDS } from "./engineCatalog.ts";
|
||||
import type { ContextBudgetConfig } from "./adaptiveCompression/types.ts";
|
||||
import type { FidelityGateConfig } from "./fidelityGate.ts";
|
||||
|
||||
// Re-export so consumers that already import from this module (e.g. src/lib/db/compression.ts)
|
||||
// can get ENGINE_IDS without a second bare `@omniroute/open-sse/...engineCatalog.ts` specifier.
|
||||
@@ -141,6 +142,8 @@ export interface CompressionConfig {
|
||||
comboOverrides: Record<string, CompressionMode>;
|
||||
compressionComboId?: string | null;
|
||||
stackedPipeline?: CompressionPipelineStep[];
|
||||
/** Opt-in per-step fidelity gate (default disabled). */
|
||||
fidelityGate?: FidelityGateConfig;
|
||||
cavemanConfig?: CavemanConfig;
|
||||
cavemanOutputMode?: CavemanOutputModeConfig;
|
||||
/** Phase 4A: selected output styles (supersedes cavemanOutputMode via a back-compat shim). */
|
||||
@@ -232,6 +235,8 @@ export interface CompressionStats {
|
||||
techniquesUsed: string[];
|
||||
rulesApplied?: string[];
|
||||
durationMs?: number;
|
||||
rejected?: boolean;
|
||||
rejectReason?: string;
|
||||
}>;
|
||||
}
|
||||
|
||||
|
||||
13
tests/unit/compression/fidelityGateTypes.test.ts
Normal file
13
tests/unit/compression/fidelityGateTypes.test.ts
Normal file
@@ -0,0 +1,13 @@
|
||||
import test from "node:test";
|
||||
import assert from "node:assert/strict";
|
||||
import type { CompressionConfig, CompressionStats } from "../../../open-sse/services/compression/types.ts";
|
||||
import type { FidelityGateConfig } from "../../../open-sse/services/compression/fidelityGate.ts";
|
||||
test("CompressionConfig accepts a fidelityGate block and breakdown carries rejected fields", () => {
|
||||
const cfg: CompressionConfig = { fidelityGate: { enabled: true } as FidelityGateConfig };
|
||||
assert.equal(cfg.fidelityGate?.enabled, true);
|
||||
const entry: NonNullable<CompressionStats["engineBreakdown"]>[number] = {
|
||||
engine: "caveman", originalTokens: 10, compressedTokens: 10, savingsPercent: 0,
|
||||
techniquesUsed: [], rejected: true, rejectReason: "numeric: 14 ausente",
|
||||
};
|
||||
assert.equal(entry.rejected, true);
|
||||
});
|
||||
Reference in New Issue
Block a user