squeezr-ai 1.23.0 → 1.46.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -4,17 +4,19 @@
4
4
 
5
5
  [![npm](https://img.shields.io/npm/v/squeezr-ai)](https://www.npmjs.com/package/squeezr-ai) [![license](https://img.shields.io/npm/l/squeezr-ai)](LICENSE)
6
6
 
7
- ## Supported CLIs
7
+ ## Supported CLIs & apps
8
8
 
9
- | CLI | Protocol | Proxy method |
10
- |-----|----------|--------------|
9
+ | Client | Protocol | Proxy method |
10
+ |--------|----------|--------------|
11
11
  | Claude Code | HTTP to Anthropic API | `ANTHROPIC_BASE_URL=http://localhost:8080` |
12
+ | **Claude Desktop** | **HTTP to Anthropic API** | **Windows: `setx ANTHROPIC_BASE_URL` (set by `squeezr setup`); macOS: `launchctl setenv`; Linux: `~/.config/environment.d/`** |
12
13
  | Aider | HTTP to Anthropic/OpenAI API | `ANTHROPIC_BASE_URL` / `openai_base_url` |
13
14
  | OpenCode | HTTP to Anthropic/OpenAI API | `ANTHROPIC_BASE_URL` / `openai_base_url` |
14
15
  | Gemini CLI | HTTP to Gemini API | `GEMINI_API_BASE_URL=http://localhost:8080` |
15
16
  | Ollama | HTTP (local) | Transparent via dummy API key detection |
16
- | **Codex** | **WebSocket to chatgpt.com** | **TLS-terminating MITM proxy on :8081** |
17
- | **Cursor IDE** | **ConnectRPC/HTTP2 to api2.cursor.sh** | **`squeezr cursor` — MITM proxy on :8082** |
17
+ | **Codex Desktop** | **HTTP to OpenAI API** | **`~/.codex/config.toml` `openai_base_url` (set by `squeezr setup`)** |
18
+ | **Codex CLI** | **WebSocket to chatgpt.com** | **TLS-terminating MITM proxy on :8081** |
19
+ | Cursor IDE | HTTP to OpenAI API (BYOK mode only) | `localhost:8080` directly (CORS supported) or `squeezr tunnel` if calls come from Cursor's servers |
18
20
  | Continue (VS Code) | HTTP to OpenAI-compat | `apiBase: http://localhost:8080/v1` |
19
21
 
20
22
  Works with both API keys and subscription plans (OAuth) — Claude Code Max/Pro, OpenAI Plus, etc.
@@ -89,8 +91,8 @@ Compression aggressiveness scales with context window usage:
89
91
 
90
92
  ### Session optimizations
91
93
 
92
- - **Session cache:** After ~50 tool results, older results are batch-summarized into a single compact block
93
- - **KV cache warming:** Deterministic MD5-based IDs keep compressed content prefix-stable across requests
94
+ - **Session cache:** Each compressed tool result is stored by MD5 hash. If the same content appears again in a later request, the cached version is reused instantly with no API call
95
+ - **KV cache warming:** IDs are deterministic (MD5) so the compressed string is byte-for-byte identical across requests — Anthropic's KV cache stays warm and historical tokens cost zero compute
94
96
  - **Cross-turn dedup:** If the same file is read multiple times, earlier reads are replaced with reference pointers
95
97
  - **Expand on demand:** Compressed blocks include a `squeezr_expand(id)` callback to retrieve full content
96
98
 
@@ -302,7 +304,7 @@ If the output says `a foreign service is` listening on the port, you have three
302
304
  2. **Stop the offending service**: `docker ps` to find what owns 8080, then `docker stop <id>`.
303
305
  3. **Inspect runtime info**: `cat ~/.squeezr/runtime.json` shows the *actual* port Squeezr is bound to. If it differs from your `ANTHROPIC_BASE_URL`, run `squeezr setup` to refresh your shell profile.
304
306
 
305
- Squeezr v1.23.0+ runs a self-test on every startup that detects this exact failure mode and prints actionable hints. You can re-run it any time with:
307
+ Squeezr v1.24.0+ runs a self-test on every startup that detects this exact failure mode and prints actionable hints. You can re-run it any time with:
306
308
 
307
309
  ```bash
308
310
  curl -s "http://localhost:$(jq -r .port ~/.squeezr/runtime.json)/squeezr/selftest?run=1" | jq