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 +10 -8
- package/bin/squeezr.js +622 -26
- package/dist/__tests__/rateLimitHeaders.test.d.ts +8 -0
- package/dist/__tests__/rateLimitHeaders.test.js +96 -0
- package/dist/anthropicDirectFetch.d.ts +7 -0
- package/dist/anthropicDirectFetch.js +186 -0
- package/dist/anthropicMitm.d.ts +33 -0
- package/dist/anthropicMitm.js +401 -0
- package/dist/claudeDesktopWorker.d.ts +1 -0
- package/dist/claudeDesktopWorker.js +153 -0
- package/dist/compressor.js +430 -35
- package/dist/config.d.ts +13 -0
- package/dist/config.js +63 -5
- package/dist/dashboard.d.ts +3 -3
- package/dist/dashboard.js +1657 -1471
- package/dist/desktopProxy.d.ts +1 -0
- package/dist/desktopProxy.js +324 -0
- package/dist/deterministic.d.ts +1 -0
- package/dist/deterministic.js +73 -0
- package/dist/history.d.ts +2 -1
- package/dist/history.js +4 -1
- package/dist/index.js +10 -0
- package/dist/limits.d.ts +2 -2
- package/dist/limits.js +9 -2
- package/dist/mcp.js +33 -0
- package/dist/server.js +1001 -736
- package/dist/stats.d.ts +29 -1
- package/dist/stats.js +78 -1
- package/dist/systemPrompt.js +29 -8
- package/package.json +3 -3
- package/squeezr.toml +40 -38
package/README.md
CHANGED
|
@@ -4,17 +4,19 @@
|
|
|
4
4
|
|
|
5
5
|
[](https://www.npmjs.com/package/squeezr-ai) [](LICENSE)
|
|
6
6
|
|
|
7
|
-
## Supported CLIs
|
|
7
|
+
## Supported CLIs & apps
|
|
8
8
|
|
|
9
|
-
|
|
|
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** | **
|
|
17
|
-
| **
|
|
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:**
|
|
93
|
-
- **KV cache warming:**
|
|
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.
|
|
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
|