Lossless context compression for LLMs. Zero dependencies. Zero API calls. Works everywhere JavaScript runs.
1.3–6.1x compression on synthetic scenarios, 1.5x on real Claude Code sessions (11.7M chars across 8,004 messages) — fully deterministic, no LLM needed. Every compression is losslessly reversible.
npm install context-compression-engineHighlights
- Lossless round-trip —
compress()thenuncompress()restores byte-identical originals via a verbatim store - Code-aware classification — code fences, SQL, JSON/YAML, API keys, URLs, and file paths are preserved verbatim
- Paragraph-aware sentence scoring — deterministic summarization that rewards technical identifiers and penalizes filler
- Code-bearing message splitting — surrounding prose gets compressed while embedded code stays intact
- Exact + fuzzy deduplication — cross-message duplicate detection eliminates repeated content
- LLM-powered summarization — plug in any provider (Claude, GPT, Gemini, Grok, Ollama) via
createSummarizer()andcreateEscalatingSummarizer() - Three-level fallback — LLM → deterministic → size guard, never makes output worse
- Token budget —
tokenBudgetbinary-searchesrecencyWindowto fit a target token count, withforceConvergehard-truncation as a safety net - Pluggable token counter — bring your own tokenizer or use the built-in
ceil(content.length / 3.5)estimator - Provenance tracking — every compressed message carries origin IDs, summary hashes, and version chains via
_cce_originalmetadata - Role-based preservation — protect system prompts or any role from compression with
preserve - Zero dependencies — pure TypeScript, ESM-only, Node 18+, also works in Deno, Bun, and edge runtimes
Quick start
import { compress, uncompress } from 'context-compression-engine';
const { messages: compressed, verbatim } = compress(messages, {
preserve: ['system'],
recencyWindow: 4,
});
// restore originals
const { messages: originals } = uncompress(compressed, verbatim);Stats
- 333 tests across all compression paths
- Benchmark suite with synthetic and real-session scenarios
- LLM benchmark with multi-provider comparison