claude-token-saver 3.11.0 β 3.11.1
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.en.md +1 -1
- package/README.md +1 -1
- package/package.json +1 -1
- package/src/formatters/statusline.js +6 -4
package/README.en.md
CHANGED
|
@@ -302,7 +302,7 @@ Also update `statusLine.command` in `~/.claude/settings.json` to `claude-token-s
|
|
|
302
302
|
## Release notes
|
|
303
303
|
|
|
304
304
|
### v3.11.0 (2026-08-21)
|
|
305
|
-
- **Delegation savings chip in the statusline** β `π
|
|
305
|
+
- **Delegation savings chip in the statusline** β `π Delegation saved $3.2`. The existing `π° Cache saved` covers the prompt cache; this one is what running work on a cheaper tier saved. Zero or missing data hides the chip entirely, so nothing changes for direct-API users. The statusline only reads `model-rules.json` β it never triggers a scan (it re-renders every few seconds). Segment name: `delegated`.
|
|
306
306
|
- **Role-learning mis-classification fixed** β subagent records sometimes land in the parent transcript without an `isSidechain` flag, and that circumstantial evidence could outvote stated evidence, confirming a haiku profile as the session model (measured: 16 against 1, agreement exactly at the 80% line). Stated evidence (`Task(model:)` parameters, agent-definition frontmatter) and inferred evidence are now tallied separately, and an inference is not adopted when stated evidence contradicts it. Undecided ids stay `unknown` and leave the aggregate.
|
|
307
307
|
|
|
308
308
|
### v3.10.0 (2026-08-20)
|
package/README.md
CHANGED
|
@@ -258,7 +258,7 @@ npm uninstall -g claude-cache-monitor && npm i -g claude-token-saver
|
|
|
258
258
|
## λ¦΄λ¦¬μ€ λ
ΈνΈ
|
|
259
259
|
|
|
260
260
|
### v3.11.0 (2026-08-21)
|
|
261
|
-
- **statuslineμ μμ μ κ° μΉ© μΆκ°** β `π
|
|
261
|
+
- **statuslineμ μμ μ κ° μΉ© μΆκ°** β `π Delegation saved $3.2`. κΈ°μ‘΄ `π° Cache saved`λ ν둬ννΈ μΊμ μ κ°μ΄κ³ , μ μΉ©μ **λ μΌ ν°μ΄λ‘ λ΄λ €μ μλ κΈμ‘**μ
λλ€. κ°μ΄ 0μ΄κ±°λ λ°μ΄ν°κ° μμΌλ©΄ μΉ©μ μμ κ·Έλ¦¬μ§ μμ μ§μ API μ¬μ©μμκ²λ μ무κ²λ λμ§ μμ΅λλ€. statuslineμ `model-rules.json`μ μ½κΈ°λ§ νλ©° μ€μΊμ λλ¦¬μ§ μμ΅λλ€(5μ΄λ§λ€ νΈμΆλλ μ리μ
λλ€). μΈκ·Έλ¨ΌνΈ μ΄λ¦μ `delegated`μ
λλ€.
|
|
262
262
|
- **μν νμ΅μ μ€λΆλ₯ μμ ** β μλΈμμ΄μ νΈ λ μ½λκ° λΆλͺ¨ νΈλμ€ν¬λ¦½νΈμ `isSidechain` μμ΄ μμ¬ λ€μ΄μ€λ κ²½μ°κ° μμ΄, κ·Έ μ ν© μ¦κ±°κ° λͺ
μ μ¦κ±°λ₯Ό μ΄κ²¨ haiku νλ‘νμΌμ΄ μΈμ
λͺ¨λΈλ‘ νμ λκ³€ νμ΅λλ€(μ€μΈ‘ 16건 λ 1건, ν©μμ¨ μ νν 80%). μ΄μ **λͺ
μ μ¦κ±°(`Task(model:)` νλΌλ―Έν°Β·μμ΄μ νΈ μ μ frontmatter)μ μ ν© μ¦κ±°(sidechain νλκ·Έ λΆμ¬)λ₯Ό λΆλ¦¬ν΄ μ§κ³**νκ³ , λͺ
μ μ¦κ±°κ° μ΄λ₯Ό λ°λ°νλ©΄ μ ν© μΆλ‘ μ μ±ννμ§ μμ΅λλ€. νμ μ΄ μ λλ©΄ `unknown`μΌλ‘ λ¨μ μ§κ³μμ λΉ μ§λλ€.
|
|
263
263
|
|
|
264
264
|
### v3.10.0 (2026-08-20)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-token-saver",
|
|
3
|
-
"version": "3.11.
|
|
3
|
+
"version": "3.11.1",
|
|
4
4
|
"description": "Route the easy work your expensive Claude model keeps repeating down to haiku/sonnet β post-hoc session analysis, no realtime router, no extra LLM calls.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -260,12 +260,14 @@ export function formatReport(data, { color = true, verbose = false, timer = true
|
|
|
260
260
|
// tier saved, summed from the rule registry route-scan maintains. Hidden
|
|
261
261
|
// when zero or absent: a permanent "$0" is noise for direct-API users and
|
|
262
262
|
// for anyone who has not delegated yet.
|
|
263
|
-
//
|
|
264
|
-
//
|
|
263
|
+
// The label mirrors "Cache saved" on purpose: two savings figures reading in
|
|
264
|
+
// the same shape is what makes the second one legible at a glance.
|
|
265
|
+
// text: "Delegation saved $3.2" | same in verbose
|
|
266
|
+
// icon: "π $3.2" | verbose: "π Delegation saved $3.2"
|
|
265
267
|
const delegationSaved = Number(data.delegationSaved) || 0;
|
|
266
268
|
const delegateLabel = isIcon
|
|
267
|
-
? (verbose ? 'π
|
|
268
|
-
: '
|
|
269
|
+
? (verbose ? 'π Delegation saved' : 'π')
|
|
270
|
+
: 'Delegation saved';
|
|
269
271
|
const delegateSeg = delegationSaved > 0
|
|
270
272
|
? `${c(GREEN)}${delegateLabel}${c(RESET)} ${formatMoney(delegationSaved)}`
|
|
271
273
|
: null;
|