mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-07-31 04:12:10 +03:00
Stop usage analytics reads from backfilling missing API key attribution into historical rows so legacy records remain unchanged and surface as unknown instead of guessed ownership. Also require management authentication on admin concurrency and compression analytics endpoints, and preserve image payloads during lite compression unless a model is explicitly marked as non-vision.
149 lines
4.9 KiB
TypeScript
149 lines
4.9 KiB
TypeScript
import { describe, it } from "node:test";
|
|
import assert from "node:assert/strict";
|
|
import {
|
|
selectCompressionStrategy,
|
|
getEffectiveMode,
|
|
applyCompression,
|
|
} from "../../open-sse/services/compression/strategySelector.ts";
|
|
import {
|
|
applyLiteCompression,
|
|
replaceImageUrls,
|
|
} from "../../open-sse/services/compression/lite.ts";
|
|
import {
|
|
createCompressionStats,
|
|
estimateCompressionTokens,
|
|
} from "../../open-sse/services/compression/stats.ts";
|
|
import type { CompressionConfig } from "../../open-sse/services/compression/types.ts";
|
|
|
|
const baseConfig: CompressionConfig = {
|
|
enabled: true,
|
|
defaultMode: "lite",
|
|
autoTriggerTokens: 0,
|
|
cacheMinutes: 5,
|
|
preserveSystemPrompt: true,
|
|
comboOverrides: {},
|
|
};
|
|
|
|
describe("Full Compression Pipeline", () => {
|
|
it("end-to-end: lite mode compresses whitespace and tracks stats", () => {
|
|
const body = {
|
|
messages: [
|
|
{ role: "system", content: "You are helpful." },
|
|
{ role: "system", content: "You are helpful." },
|
|
{ role: "user", content: "hello\n\n\n\nworld" },
|
|
],
|
|
};
|
|
|
|
// Step 1: Select strategy
|
|
const mode = selectCompressionStrategy(baseConfig, null, 100);
|
|
assert.equal(mode, "lite");
|
|
|
|
// Step 2: Apply compression
|
|
const result = applyCompression(body, mode);
|
|
assert.equal(result.compressed, true);
|
|
assert.ok(result.stats);
|
|
|
|
// Step 3: Verify stats
|
|
assert.ok(result.stats!.originalTokens > 0);
|
|
assert.ok(result.stats!.compressedTokens > 0);
|
|
assert.ok(result.stats!.compressedTokens <= result.stats!.originalTokens);
|
|
assert.ok(result.stats!.savingsPercent >= 0);
|
|
assert.equal(result.stats!.mode, "lite");
|
|
});
|
|
|
|
it("end-to-end: off mode returns unchanged body", () => {
|
|
const body = { messages: [{ role: "user", content: "test" }] };
|
|
const offConfig = { ...baseConfig, enabled: false };
|
|
const mode = selectCompressionStrategy(offConfig, null, 100);
|
|
assert.equal(mode, "off");
|
|
|
|
const result = applyCompression(body, mode);
|
|
assert.equal(result.compressed, false);
|
|
assert.equal(result.stats, null);
|
|
});
|
|
|
|
it("end-to-end: combo override selects lite for specific combo", () => {
|
|
const config: CompressionConfig = {
|
|
...baseConfig,
|
|
defaultMode: "off" as const,
|
|
comboOverrides: { "my-combo": "lite" as const },
|
|
};
|
|
const body = { messages: [{ role: "user", content: "test\n\n\n\nmessage" }] };
|
|
|
|
const mode = selectCompressionStrategy(config, "my-combo", 100);
|
|
assert.equal(mode, "lite");
|
|
|
|
const result = applyCompression(body, mode);
|
|
assert.equal(result.compressed, true);
|
|
});
|
|
|
|
it("end-to-end: auto-trigger activates compression", () => {
|
|
const config: CompressionConfig = {
|
|
...baseConfig,
|
|
defaultMode: "off" as const,
|
|
autoTriggerTokens: 50,
|
|
};
|
|
const body = { messages: [{ role: "user", content: "x".repeat(1000) }] };
|
|
|
|
// Below threshold → off
|
|
const mode1 = getEffectiveMode(config, null, 10);
|
|
assert.equal(mode1, "off");
|
|
|
|
// Above threshold → lite
|
|
const mode2 = getEffectiveMode(config, null, 100);
|
|
assert.equal(mode2, "lite");
|
|
});
|
|
|
|
it("lite compression + stats pipeline works together", () => {
|
|
const body = {
|
|
messages: [
|
|
{ role: "system", content: "Be helpful." },
|
|
{ role: "system", content: "Be helpful." },
|
|
{ role: "user", content: "hello\n\n\n\nworld" },
|
|
{ role: "user", content: "hello\n\n\n\nworld" },
|
|
],
|
|
};
|
|
|
|
const result = applyLiteCompression(body);
|
|
assert.equal(result.compressed, true);
|
|
assert.ok(result.stats);
|
|
assert.ok(result.stats.savingsPercent > 0);
|
|
assert.ok(result.stats.techniquesUsed.length >= 1);
|
|
});
|
|
|
|
it("lite compression preserves multimodal image payloads unless non-vision is explicit", () => {
|
|
const dataUrl = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAB";
|
|
const body = {
|
|
messages: [
|
|
{
|
|
role: "user",
|
|
content: [
|
|
{ type: "text", text: "Describe this image" },
|
|
{ type: "image_url", image_url: { url: dataUrl } },
|
|
],
|
|
},
|
|
],
|
|
};
|
|
|
|
const preserved = applyLiteCompression(body, { model: "openai/gpt-4.1" });
|
|
assert.equal(preserved.compressed, false);
|
|
assert.deepEqual(preserved.body, body);
|
|
|
|
const placeholder = replaceImageUrls(body, { model: "text-only-model", supportsVision: false });
|
|
assert.equal(placeholder.applied, true);
|
|
const content = placeholder.body.messages?.[0]?.content;
|
|
assert.ok(Array.isArray(content));
|
|
assert.deepEqual(content[1], { type: "text", text: "[image: png]" });
|
|
});
|
|
|
|
it("token estimation is consistent", () => {
|
|
const text = "hello world this is a test";
|
|
const tokens = estimateCompressionTokens(text);
|
|
assert.equal(tokens, Math.ceil(text.length / 4));
|
|
|
|
const obj = { messages: [{ role: "user", content: text }] };
|
|
const objTokens = estimateCompressionTokens(obj);
|
|
assert.equal(objTokens, Math.ceil(JSON.stringify(obj).length / 4));
|
|
});
|
|
});
|