@askalf/dario 4.3.1 → 4.4.0

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.
Files changed (2) hide show
  1. package/README.md +10 -2
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -147,7 +147,15 @@ The 2026-06-15 split is announced. The wire-shape changes that arrive between re
147
147
 
148
148
  **Three undisclosed wire-shape changes in one CC release. Three dario releases the same evening, 13 minutes apart.** The interactive Claude Code TUI is what makes this visible to you in real time — Hits tab shows the request shape going out, the rate-limit bucket coming back, and dario's auto-retry decision in between. v4.0.0 went live 2026-05-16T11:46:01Z; the drift cadence is the same as it's been since v3.22.
149
149
 
150
- [`.github/workflows/cc-drift-watch.yml`](./.github/workflows/cc-drift-watch.yml) (cron `0 * * * *`) checks each new CC npm release for differences in the captured wire shape and auto-drafts a fix PR. [`.github/workflows/cc-drift-auto-release.yml`](./.github/workflows/cc-drift-auto-release.yml) merges and ships within minutes. **Anthropic doesn't publish a wire-level changelog for subscribers. dario is one.**
150
+ **Then it got worse.** v4.2.1 (2026-05-17) shipped receipts for a more aggressive class: **same CC binary, different wire output 24 hours apart.** Same `claude.exe` on disk that produced template A yesterday produces template B today three slot diffs in one 24h window (`output_config.effort` default flipped `medium` `high` → `xhigh`, `context-1m-2025-08-07` beta back in the header set, system_prompt -354 chars), zero changelog entries from Anthropic, no npm version bump anywhere. Anthropic ships wire-shape changes through CC's **remote configuration**, not just through CC npm releases.
151
+
152
+ **Two classes of drift, two watchers, both auto-detecting.**
153
+
154
+ - **Class A — npm-release drift.** [`cc-drift-watch.yml`](./.github/workflows/cc-drift-watch.yml) (cron `0 * * * *`) catches each new CC release on github-hosted runners. [`cc-drift-auto-release.yml`](./.github/workflows/cc-drift-auto-release.yml) merges and ships within minutes.
155
+ - **Class B — same-binary remote-config drift** *(new in v4.2.2)*. [`cc-drift-template-watch.yml`](./.github/workflows/cc-drift-template-watch.yml) (cron `*/30 * * * *`) runs on a self-hosted runner with a real authenticated CC install, captures live every 30 min, and opens an issue the moment the bundled template stops matching what CC is currently sending. This is the only way to catch the class — github-hosted has no Pro/Max subscription session, no OAuth credential, no way to capture from real CC. Setup: [`docs/drift-monitor.md`](./docs/drift-monitor.md).
156
+ - **PR-time compat gate** *(new in v4.3.0)*. [`compat-test-self-hosted.yml`](./.github/workflows/compat-test-self-hosted.yml) runs `test/compat.mjs` against a live `dario proxy --passthrough` on the same runner — wire-shape regressions fail the merge check **before** they ship.
157
+
158
+ **Anthropic doesn't publish a wire-level changelog for subscribers. dario is one.**
151
159
 
152
160
  ---
153
161
 
@@ -348,7 +356,7 @@ The tool doesn't know. The backend doesn't know. Dario is the seam.
348
356
  ## Capabilities
349
357
 
350
358
  - **Interactive TUI (v4).** `dario` with no args opens a full-screen control panel: live request stream, per-model burn-rate, rate-limit utilization bars, billing bucket breakdown, in-place config editor that writes to `~/.dario/config.json`. The visible interface that turns subscription accounting from "log files" into "watch it happen."
351
- - **Hourly drift detection.** [`cc-drift-watch.yml`](./.github/workflows/cc-drift-watch.yml) checks each new CC npm release for changes in the captured wire shape (system prompt content, tool catalog, header set, body field order, beta flags), auto-drafts a fix PR, auto-merges on CI green. Median time from CC release dario release is under one hour. The receipt: this week's three v3.38.x releases shipped within hours of CC v2.1.142.
359
+ - **Two-class drift detection.** [`cc-drift-watch.yml`](./.github/workflows/cc-drift-watch.yml) catches **Class A** (new CC npm releases) hourly on a github-hosted runner; auto-drafts + auto-merges a fix PR; median CC release dario release under one hour. [`cc-drift-template-watch.yml`](./.github/workflows/cc-drift-template-watch.yml) *(new in v4.2.2)* catches **Class B** (same-binary remote-config drift Anthropic changing wire output *without* bumping the npm version, first documented in [CHANGELOG v4.2.1](./CHANGELOG.md#421---2026-05-17)) every 30 min on a self-hosted runner with a real authenticated CC. [`compat-test-self-hosted.yml`](./.github/workflows/compat-test-self-hosted.yml) *(new in v4.3.0)* runs the full compat suite against a live proxy on every PR that touches the wire-shape surface regressions fail the merge check before they ship. Walkthrough: [`docs/drift-monitor.md`](./docs/drift-monitor.md).
352
360
  - **Multi-account pool.** Drop 2+ Claude accounts in `~/.dario/accounts/` and pool mode auto-activates: every request routes to the account with the most headroom, multi-turn sessions pin to one account so the prompt cache survives, in-flight 429s fail over to a peer before your client sees an error. `dario accounts add work` / `dario accounts add personal`. → [`docs/multi-account-pool.md`](./docs/multi-account-pool.md)
353
361
  - **Behavioral stealth (`--stealth`).** Static wire fidelity covers *what* the request looks like; `--stealth` adds *when* it arrives — response-length-correlated think time and 1.2–4.2s session-start latency, the inter-arrival pattern real interactive sessions have and agent loops don't. → [`docs/wire-fidelity.md`](./docs/wire-fidelity.md)
354
362
  - **Runs any non-Claude-Code agent.** A 64-entry schema-verified `TOOL_MAP` pre-maps Cline, Roo, Kilo, Cursor, Windsurf, Continue, Copilot, OpenHands, OpenClaw, Hermes, [hands](https://github.com/askalf/hands) tool names to CC's native set. No flag, no validator errors. → [`docs/integrations/agent-compat.md`](./docs/integrations/agent-compat.md)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@askalf/dario",
3
- "version": "4.3.1",
3
+ "version": "4.4.0",
4
4
  "description": "Use your Claude Pro/Max subscription in any tool — Cursor, Cline, Aider, the Agent SDK, your scripts — at subscription pricing, not per-token API bills. One local Anthropic + OpenAI-compatible endpoint.",
5
5
  "type": "module",
6
6
  "bin": {