chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
// tests/unit/compression/ionizerGateSkip.test.ts
|
||||
import test from "node:test";
|
||||
import assert from "node:assert/strict";
|
||||
import { applyStackedCompression } from "../../../open-sse/services/compression/strategySelector.ts";
|
||||
import { registerBuiltinCompressionEngines } from "../../../open-sse/services/compression/engines/index.ts";
|
||||
import { resetCcrStore } from "../../../open-sse/services/compression/engines/ccr/index.ts";
|
||||
|
||||
registerBuiltinCompressionEngines();
|
||||
|
||||
// 400-row array; ionizer drops most rows → a numeric/json-key gate would normally REJECT a lossy
|
||||
// step. Because ionizer is sampling:true, the fidelity gate must SKIP it and keep the sampled output.
|
||||
const bigArray = JSON.stringify(Array.from({ length: 400 }, (_, i) => ({ id: i, port: 8080 + i })));
|
||||
|
||||
test("fidelity gate ON skips the ionizer step (sampling) and keeps the sampled output", () => {
|
||||
resetCcrStore();
|
||||
const body = { messages: [{ role: "user", content: bigArray }] };
|
||||
const res = applyStackedCompression(body, [{ engine: "ionizer" }], {
|
||||
fidelityGate: { enabled: true },
|
||||
});
|
||||
const content = (res.body.messages as Array<{ content: string }>)[0].content;
|
||||
assert.match(content, /\[ionizer: kept \d+\/400 rows/);
|
||||
});
|
||||
Reference in New Issue
Block a user