Spaces:
Runtime error
Runtime error
| import { describe, it } from "node:test"; | |
| import assert from "node:assert/strict"; | |
| import { getRulesForContext } from "../../../open-sse/services/compression/cavemanRules.ts"; | |
| import { applyRulesToText } from "../../../open-sse/services/compression/caveman.ts"; | |
| import { cavemanCompress } from "../../../open-sse/services/compression/caveman.ts"; | |
| describe("structural compression rules", () => { | |
| it("should simplify list conjunctions", () => { | |
| const rules = getRulesForContext("all").filter((r) => r.name === "list_conjunction"); | |
| assert.ok(rules.length > 0); | |
| const { text } = applyRulesToText("handles routing, and also load balancing", rules); | |
| assert.ok(!text.includes("and also")); | |
| }); | |
| it("should simplify purpose phrases", () => { | |
| const rules = getRulesForContext("all").filter((r) => r.name === "purpose_phrases"); | |
| assert.ok(rules.length > 0); | |
| const { text } = applyRulesToText("in order to fix this bug", rules); | |
| assert.ok(text.startsWith("to ")); | |
| }); | |
| it("should simplify redundant quantifiers", () => { | |
| const rules = getRulesForContext("all").filter((r) => r.name === "redundant_quantifiers"); | |
| assert.ok(rules.length > 0); | |
| const { text } = applyRulesToText("each and every item", rules); | |
| assert.ok(text.includes("each")); | |
| assert.ok(!text.includes("every")); | |
| }); | |
| it("should replace verbose connectors with 'also'", () => { | |
| const rules = getRulesForContext("all").filter((r) => r.name === "verbose_connectors"); | |
| assert.ok(rules.length > 0); | |
| const { text } = applyRulesToText("furthermore, this handles caching", rules); | |
| assert.ok(text.startsWith("also")); | |
| }); | |
| it("should remove emphasis adverbs", () => { | |
| const rules = getRulesForContext("all").filter((r) => r.name === "emphasis_removal"); | |
| assert.ok(rules.length > 0); | |
| const { text } = applyRulesToText("this is very important", rules); | |
| assert.ok(!text.includes("very")); | |
| assert.ok(text.includes("important")); | |
| }); | |
| it("should convert passive voice to active", () => { | |
| const rules = getRulesForContext("all").filter((r) => r.name === "passive_voice"); | |
| assert.ok(rules.length > 0); | |
| const { text } = applyRulesToText("The function is being used throughout the app", rules); | |
| assert.ok(text.includes("uses")); | |
| }); | |
| it("should apply combined structural compression", () => { | |
| const body = { | |
| messages: [ | |
| { | |
| role: "user", | |
| content: | |
| "I need you to provide a detailed analysis of the routing system. Furthermore, I would like you to explain each and every component in order to understand how they work together. Thank you so much!", | |
| }, | |
| ], | |
| }; | |
| const result = cavemanCompress(body, { | |
| enabled: true, | |
| compressRoles: ["user"], | |
| skipRules: [], | |
| minMessageLength: 50, | |
| preservePatterns: [], | |
| }); | |
| assert.equal(result.compressed, true); | |
| assert.ok( | |
| result.stats.savingsPercent > 10, | |
| `Expected meaningful savings, got ${result.stats.savingsPercent}%` | |
| ); | |
| }); | |
| }); | |