chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
/**
|
||||
* TDD for risk-gate mask/restore round-trip.
|
||||
* Run: node --import tsx/esm --test tests/unit/compression/riskGateStep.test.ts
|
||||
*/
|
||||
import { describe, it } from "node:test";
|
||||
import assert from "node:assert/strict";
|
||||
|
||||
import { applyRiskMask, restoreRiskBlocks } from "../../../open-sse/services/compression/riskGate/riskGateStep.ts";
|
||||
import {
|
||||
DEFAULT_COMPRESSION_CONFIG,
|
||||
type CompressionConfig,
|
||||
} from "../../../open-sse/services/compression/types.ts";
|
||||
|
||||
const PEM = "-----BEGIN PRIVATE KEY-----\nMIIBVQbody\n-----END PRIVATE KEY-----";
|
||||
|
||||
describe("applyRiskMask / restoreRiskBlocks", () => {
|
||||
it("masks risky spans in message content and round-trips byte-identically", () => {
|
||||
const body = { messages: [{ role: "user", content: `here is a key:\n${PEM}\nthanks` }] };
|
||||
const { maskedBody, blocks, stats } = applyRiskMask(body, { enabled: true });
|
||||
const maskedText = (maskedBody.messages as Array<{ content: string }>)[0].content;
|
||||
assert.ok(!maskedText.includes("BEGIN PRIVATE KEY"), "secret removed from masked body");
|
||||
assert.ok(maskedText.includes("OMNI_CAVEMAN"), "uses SENTINEL placeholder family");
|
||||
assert.equal(stats.spansProtected, 1);
|
||||
assert.equal(stats.categories.private_key, 1);
|
||||
|
||||
const restored = restoreRiskBlocks(maskedBody, blocks);
|
||||
assert.equal((restored.messages as Array<{ content: string }>)[0].content, body.messages[0].content);
|
||||
});
|
||||
|
||||
it("is a no-op when nothing risky is present", () => {
|
||||
const body = { messages: [{ role: "user", content: "just normal prose, nothing to see" }] };
|
||||
const { maskedBody, blocks, stats } = applyRiskMask(body, { enabled: true });
|
||||
assert.equal(blocks.length, 0);
|
||||
assert.equal(stats.spansProtected, 0);
|
||||
assert.deepEqual(maskedBody, body);
|
||||
});
|
||||
|
||||
it("masks text parts inside array (multimodal) content", () => {
|
||||
const body = {
|
||||
messages: [{ role: "user", content: [{ type: "text", text: `key:\n${PEM}` }, { type: "image_url", image_url: { url: "x" } }] }],
|
||||
};
|
||||
const { maskedBody, blocks } = applyRiskMask(body, { enabled: true });
|
||||
const part = (maskedBody.messages as Array<{ content: Array<{ type: string; text?: string }> }>)[0].content[0];
|
||||
assert.ok(!part.text!.includes("BEGIN PRIVATE KEY"));
|
||||
const restored = restoreRiskBlocks(maskedBody, blocks);
|
||||
assert.equal(
|
||||
(restored.messages as Array<{ content: Array<{ text?: string }> }>)[0].content[0].text,
|
||||
`key:\n${PEM}`
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
describe("risk-gate config defaults", () => {
|
||||
it("ships disabled by default", () => {
|
||||
assert.equal(DEFAULT_COMPRESSION_CONFIG.riskGate?.enabled ?? false, false);
|
||||
});
|
||||
it("accepts a riskGate field on CompressionConfig", () => {
|
||||
const cfg: CompressionConfig = { ...DEFAULT_COMPRESSION_CONFIG, riskGate: { enabled: true } };
|
||||
assert.equal(cfg.riskGate?.enabled, true);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user