chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,135 @@
|
||||
import { describe, it } from "node:test";
|
||||
import assert from "node:assert/strict";
|
||||
|
||||
import {
|
||||
applyRtkCompression,
|
||||
detectCodeLanguage,
|
||||
stripCode,
|
||||
} from "../../../open-sse/services/compression/index.ts";
|
||||
|
||||
describe("RTK code stripper", () => {
|
||||
it("detects common code languages", () => {
|
||||
assert.equal(detectCodeLanguage("interface User { id: string }"), "typescript");
|
||||
assert.equal(detectCodeLanguage("def run():\n print('x')"), "python");
|
||||
assert.equal(detectCodeLanguage('fn main() { println!("x"); }'), "rust");
|
||||
assert.equal(detectCodeLanguage("package main\nfunc main() {}"), "go");
|
||||
assert.equal(detectCodeLanguage("class Main { }"), "java");
|
||||
});
|
||||
|
||||
it("preserves comments and string literals safely", () => {
|
||||
const js = stripCode(
|
||||
"// comment\nconst url = 'https://example.com/a//b';\n/* block */\nconsole.log(url);",
|
||||
"javascript"
|
||||
);
|
||||
|
||||
assert.ok(js.text.includes("// comment"));
|
||||
assert.ok(js.text.includes("https://example.com/a//b"));
|
||||
assert.ok(js.text.includes("/* block */"));
|
||||
});
|
||||
|
||||
it("preserves Python docstrings and comments", () => {
|
||||
const result = stripCode('"""doc"""\n# comment\nprint("ok")', "python", {
|
||||
preserveDocstrings: true,
|
||||
});
|
||||
|
||||
assert.ok(result.text.includes("doc"));
|
||||
assert.ok(result.text.includes("# comment"));
|
||||
});
|
||||
|
||||
it("applies to fenced code blocks through RTK runtime", () => {
|
||||
const body = {
|
||||
messages: [
|
||||
{
|
||||
role: "assistant",
|
||||
content: `Before.
|
||||
|
||||
\`\`\`txt
|
||||
${Array.from({ length: 20 }, () => "same code line").join("\n")}
|
||||
\`\`\`
|
||||
|
||||
After.`,
|
||||
},
|
||||
],
|
||||
};
|
||||
const result = applyRtkCompression(body, {
|
||||
config: {
|
||||
enabled: true,
|
||||
intensity: "standard",
|
||||
applyToToolResults: false,
|
||||
applyToAssistantMessages: false,
|
||||
applyToCodeBlocks: true,
|
||||
enabledFilters: [],
|
||||
disabledFilters: [],
|
||||
maxLinesPerResult: 100,
|
||||
maxCharsPerResult: 12000,
|
||||
deduplicateThreshold: 3,
|
||||
},
|
||||
});
|
||||
|
||||
assert.equal(result.compressed, true);
|
||||
const serialized = JSON.stringify(result.body.messages);
|
||||
assert.match(serialized, /Before/);
|
||||
assert.match(serialized, /After/);
|
||||
assert.match(serialized, /same code line/);
|
||||
assert.match(serialized, /\[rtk:dropped/);
|
||||
assert.ok(result.stats?.techniquesUsed.includes("rtk-code-strip"));
|
||||
});
|
||||
|
||||
it("does not compress non-code text when only code block compression is enabled", () => {
|
||||
const content = Array.from({ length: 20 }, () => "same prose line").join("\n");
|
||||
const body = {
|
||||
messages: [{ role: "assistant", content }],
|
||||
};
|
||||
const result = applyRtkCompression(body, {
|
||||
config: {
|
||||
enabled: true,
|
||||
intensity: "standard",
|
||||
applyToToolResults: false,
|
||||
applyToAssistantMessages: false,
|
||||
applyToCodeBlocks: true,
|
||||
enabledFilters: [],
|
||||
disabledFilters: [],
|
||||
maxLinesPerResult: 100,
|
||||
maxCharsPerResult: 12000,
|
||||
deduplicateThreshold: 3,
|
||||
},
|
||||
});
|
||||
|
||||
assert.equal(result.compressed, false);
|
||||
assert.deepEqual(result.body, body);
|
||||
});
|
||||
|
||||
it("does not compress fenced code when code block compression is disabled", () => {
|
||||
const body = {
|
||||
messages: [
|
||||
{
|
||||
role: "assistant",
|
||||
content: `Before.
|
||||
|
||||
\`\`\`txt
|
||||
${Array.from({ length: 20 }, () => "same code line").join("\n")}
|
||||
\`\`\`
|
||||
|
||||
After.`,
|
||||
},
|
||||
],
|
||||
};
|
||||
const result = applyRtkCompression(body, {
|
||||
config: {
|
||||
enabled: true,
|
||||
intensity: "standard",
|
||||
applyToToolResults: false,
|
||||
applyToAssistantMessages: false,
|
||||
applyToCodeBlocks: false,
|
||||
enabledFilters: [],
|
||||
disabledFilters: [],
|
||||
maxLinesPerResult: 100,
|
||||
maxCharsPerResult: 12000,
|
||||
deduplicateThreshold: 3,
|
||||
},
|
||||
});
|
||||
|
||||
assert.equal(result.compressed, false);
|
||||
assert.deepEqual(result.body, body);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user