Skip to content

[Ecosystem] Cross-language context engineering: Meet ContextChef in TypeScript #14

@MyPrototypeWhat

Description

@MyPrototypeWhat

Hi @rhettg and the contextwindow team,

I'm the author of ContextChef, a context compiler for TypeScript/JavaScript AI agents. I recently came across contextwindow and noticed we're solving a closely related problem — managing LLM conversation context with compression and tool handling — but targeting different language ecosystems.

As of April 2026, ContextChef is at v3.0.3 (core) / v1.1.0 (AI SDK middleware). Its current scope includes:

  • History compression: tokenizer-based or reportTokenUsage trigger, summarization via configurable small model, mechanical compaction for zero-cost pruning
  • Tool pruning: flat tag-based filtering or two-layer namespace architecture (stable core tools + on-demand toolkit loading) to prevent tool hallucinations
  • Multi-provider compilation: same prompt structure compiles to OpenAI / Anthropic / Gemini with automatic cache breakpoints, prefill, and tool call format adaptation
  • VFS offloading: auto-truncate large tool outputs, store originals behind context:// URIs for on-demand retrieval
  • Cross-session memory: key-value store with TTL, injected as XML on compile
  • Snapshot & Restore: full internal state capture for branching and rollback
  • Vercel AI SDK middleware: drop-in integration with zero code changes

I think our two projects are complementary rather than competing:

contextwindow (Go) ContextChef (TypeScript)
Language Go TypeScript/JavaScript
Compression Summary model Summary model + mechanical compaction + circuit breaker
Tool management Tool calling support Dynamic pruning + namespace lazy-loading
Persistence SQLite (built-in) In-memory (pluggable storage adapters)
Provider support OpenAI, Gemini, Claude OpenAI, Anthropic, Gemini (format adapters)
State injection Zod schema → XML injection
Positioning Low-level Go library Context compiler with modular pipeline

Go and TypeScript are probably the two most popular languages for building AI agents today. I believe cross-linking our projects would help developers discover the right tool for their stack.

Would you be open to:

  1. Cross-linking our projects in each other's READMEs so users can find the implementation that matches their language
  2. Sharing design notes on compression strategies — your SQLite persistence model is something we've been considering, and our namespace-based tool pruning might be interesting for contextwindow's roadmap

Happy to point to specific implementation areas if any of this is of interest.

Best,
MyPrototypeWhat

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions