@djolex999/vir-cli 0.16.0 → 0.17.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.md CHANGED
@@ -1,5 +1,5 @@
1
1
  <p align="center">
2
- <img src="assets/vir_whirlpool_logo.svg" width="140" height="140" alt="vir logo">
2
+ <img src="assets/vir_graph_spiral.svg" width="140" height="140" alt="vir logo">
3
3
  </p>
4
4
 
5
5
  <h1 align="center">vir</h1>
@@ -22,7 +22,7 @@ developer-tools, mcp, local-first, cross-platform, llm-wiki
22
22
  <a href="https://www.npmjs.com/package/@djolex999/vir-cli"><img src="https://img.shields.io/npm/v/@djolex999/vir-cli?color=7c6af7&label=npm" alt="npm version"></a>
23
23
  <a href="https://www.npmjs.com/package/@djolex999/vir-cli"><img src="https://img.shields.io/npm/dw/@djolex999/vir-cli?color=4fd1a0" alt="npm downloads"></a>
24
24
  <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-22d3ee" alt="license"></a>
25
- <a href="#project-status"><img src="https://img.shields.io/badge/tests-441%20passing-22c55e" alt="tests"></a>
25
+ <a href="#project-status"><img src="https://img.shields.io/badge/tests-534%20passing-22c55e" alt="tests"></a>
26
26
  <a href="#project-status"><img src="https://img.shields.io/badge/platforms-macOS%20%7C%20Linux-lightgrey" alt="platforms"></a>
27
27
  <a href="https://modelcontextprotocol.io"><img src="https://img.shields.io/badge/MCP-server-c084fc" alt="mcp"></a>
28
28
  <a href="#"><img src="https://img.shields.io/badge/local--first-yes-f59e0b" alt="local-first"></a>
@@ -36,14 +36,17 @@ vault stays yours.
36
36
 
37
37
  ## Two numbers
38
38
 
39
- **354 sessions.** Claude Code prunes transcripts after about 30 days. 354 of my
40
- sessions now exist nowhere except this vault. The decisions and gotchas inside
41
- them would otherwise be gone.
39
+ **396 sessions.** Claude Code prunes transcripts after about 30 days. 396 of my
40
+ distilled sessions now exist nowhere except this vault. The decisions and
41
+ gotchas inside them would otherwise be gone.
42
42
 
43
- **243 transcripts, about 20 mine.** Of the 243 transcripts on my machine, about
44
- 20 were sessions I actually drove. The rest were subagent runs, workflow
45
- phases, and headless SDK agents. Vir detects all three kinds and skips them by
46
- default. The vault holds your work, not your tooling's.
43
+ **1,386 transcripts, 410 notes.** Of the 1,386 transcripts vir has read on my
44
+ machine, 562 were subagent runs, workflow phases, or sidechains — skipped by
45
+ default — and 361 had nothing durable in them. 410 became notes. The vault holds
46
+ your work, not your tooling's.
47
+
48
+ Numbers from my machine, September 2026. Yours will differ. Website:
49
+ [virwiki.dev](https://virwiki.dev).
47
50
 
48
51
  ## Quick start
49
52
 
@@ -253,7 +256,10 @@ sources 4 · via embedding · searched 126
253
256
  - Node.js 20+
254
257
  - Claude Code (sessions at `~/.claude/projects/`)
255
258
  - Obsidian vault
256
- - Anthropic API key **or** Kie.ai API key (~72% cheaper, same models)
259
+ - A distill provider — any one of:
260
+ - Anthropic API key (predictable per-session cost, no effect on your Claude Code limits)
261
+ - Your Claude Code subscription (`provider: "claude-cli"` — free and keyless; distills consume your Claude Code usage limits)
262
+ - Kie.ai API key (~72% cheaper, third-party proxy — used for testing and calibration runs, not recommended for your real vault)
257
263
  - Optional: Ollama + `nomic-embed-text` for semantic search
258
264
 
259
265
  ## Cost
@@ -261,6 +267,18 @@ sources 4 · via embedding · searched 126
261
267
  Vir runs two API calls per session: a Haiku classify (cheap) and a distill
262
268
  (the main cost). Cost depends on session size and your provider.
263
269
 
270
+ ### The zero-dollar option: `claude-cli`
271
+
272
+ With `provider: "claude-cli"` vir shells out to your installed `claude`
273
+ binary instead of calling an API — no key, no per-session dollars. The
274
+ trade: every distill consumes your Claude Code subscription quota (the same
275
+ limits your interactive sessions use), and that quota has no meter. vir
276
+ therefore caps claude-cli runs at 25 sessions per run (the rest are picked
277
+ up next cycle), halts immediately if your subscription limit is hit (with
278
+ the reset time; nothing is retried against the wall), and records these
279
+ calls in `cost.log` with cost marked not-applicable — never a fake $0.00.
280
+ The API path remains the default.
281
+
264
282
  ### Real cost shape (measured on 226 historical sessions via Kie)
265
283
 
266
284
  | Metric | Sonnet | Haiku |
@@ -349,7 +367,7 @@ with your distro, init system, and Node version.
349
367
  | `vir embed --setup` | free | Install the local embedding provider (no Ollama needed) |
350
368
  | `vir schedule install` | free | Register the background daemon |
351
369
  | `vir status` | free | Knowledge base breakdown + daemon status |
352
- | `vir doctor` | cheap | 13 install/config checks |
370
+ | `vir doctor` | cheap | 15 install/config checks |
353
371
  | `vir reconcile` | $$ | Retry sessions that failed, cache-bypassed |
354
372
  | `vir mcp install` | free | Register the MCP server with Claude Code |
355
373
 
@@ -422,7 +440,7 @@ Located at `~/.vir/config.json`.
422
440
  | `outputDir` | `vir` | Subdir inside vault |
423
441
  | `claudeProjectsDir` | `~/.claude/projects` | Claude Code sessions |
424
442
  | `cadenceHours` | `3` | Daemon run frequency (hours) |
425
- | `provider` | `anthropic` | `anthropic` or `kie` |
443
+ | `provider` | `anthropic` | `anthropic` \| `claude-cli` (subscription, keyless) \| `kie` |
426
444
  | `anthropicApiKey` | (unset) | Required if `provider=anthropic` |
427
445
  | `kieApiKey` | (unset) | Required if `provider=kie` |
428
446
  | `filterThreshold` | `0.4` | Heuristic pre-filter (0..1) |
@@ -486,8 +504,8 @@ improvements. Delete it any time; disable it with `"logQueries": false` in
486
504
 
487
505
  | | |
488
506
  | -------------- | ----------------------------------------- |
489
- | Version | 0.14.1 |
490
- | Tests | 441 passing |
507
+ | Version | 0.17.1 |
508
+ | Tests | 534 passing |
491
509
  | Platforms | macOS (launchd), Linux (systemd/cron) |
492
510
  | Node | 20+ |
493
511
  | First-run cost | $1 to $5 (Kie.ai optional, ~72% cheaper) |
@@ -0,0 +1,44 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="256" height="256" role="img">
2
+ <title>vir</title>
3
+ <desc>Three arms of graph nodes spiralling into a bright core.</desc>
4
+ <defs><radialGradient id="g" cx="50%" cy="50%" r="50%">
5
+ <stop offset="0%" stop-color="#22d3ee"/><stop offset="100%" stop-color="#7c6af7"/>
6
+ </radialGradient></defs>
7
+ <path d="M139.00 128.00L139.13 128.85L139.19 129.73L139.18 130.61L139.10 131.51L138.96 132.41L138.74 133.31L138.45 134.21L138.09 135.09L137.65 135.95L137.15 136.79L136.57 137.60L135.92 138.38L135.21 139.11L134.43 139.80L133.58 140.43L132.68 141.01L131.73 141.52L130.72 141.96L129.67 142.33L128.57 142.62L127.45 142.84L126.29 142.96L125.11 143.00L123.91 142.95L122.70 142.80L121.50 142.56L120.29 142.22L119.10 141.78L117.93 141.25L116.79 140.62L115.68 139.89L114.62 139.07L113.60 138.16L112.65 137.16L111.77 136.07L110.95 134.90L110.22 133.66L109.58 132.35L109.03 130.97L108.59 129.53L108.25 128.04L108.02 126.51L107.91 124.94L107.92 123.34L108.05 121.73L108.31 120.11L108.69 118.50L109.21 116.89L109.86 115.30L110.64 113.75L111.55 112.24L112.58 110.79L113.74 109.39L115.02 108.07L116.42 106.84L117.93 105.70L119.55 104.66L121.26 103.74L123.07 102.94L124.96 102.27L126.92 101.74L128.94 101.36L131.02 101.13L133.14 101.06L135.29 101.15L137.46 101.41L139.63 101.84L141.79 102.44L143.93 103.22L146.04 104.17L148.09 105.30L150.08 106.60L151.99 108.07L153.81 109.71L155.53 111.50L157.12 113.45L158.58 115.54L159.90 117.77L161.06 120.13L162.04 122.61L162.85 125.19L163.47 127.86L163.88 130.61L164.09 133.43L164.08 136.29L163.85 139.18L163.39 142.09L162.70 145.00L161.77 147.88L160.62 150.73L159.22 153.52L157.60 156.24L155.75 158.86L153.67 161.36L151.37 163.73L148.87 165.95L146.16 168.01L143.26 169.87L140.19 171.53L136.95 172.98L133.56 174.18L130.04 175.14L126.40 175.84L122.67 176.26L118.87 176.40L115.01 176.24L111.11 175.78L107.21 175.02L103.33 173.94L99.48 172.55L95.70 170.84L92.01 168.83L88.43 166.50L84.99 163.87L81.72 160.94L78.63 157.72L75.76 154.23L73.13 150.48L70.76 146.47L68.67 142.24L66.89 137.80L65.43 133.17L64.32 128.38L63.56 123.44L63.18 118.39L63.19 113.25L63.60 108.05L64.41 102.82L65.64 97.60L67.29 92.41L69.35 87.30L71.84 82.28L74.75 77.40L78.07 72.69L81.79 68.19L85.91 63.92L90.40 59.92L95.25 56.23L100.45 52.87L105.97 49.87L111.78 47.27L117.86 45.09L124.18 43.36L130.70 42.10L137.40 41.33L144.23 41.07L151.16 41.34L158.15 42.14L165.16 43.50L172.14 45.42L179.05 47.91L185.85 50.96L192.49 54.57L198.92 58.73L205.10 63.45L210.99 68.69L216.54 74.46L221.71 80.72L226.44 87.45L230.71 94.63" fill="none" stroke="url(#g)" stroke-width="2.1" stroke-linecap="round"/>
8
+ <circle cx="139.00" cy="128.00" r="2.00" fill="#22d3ee"/>
9
+ <circle cx="132.68" cy="141.01" r="2.32" fill="#2ec5ef"/>
10
+ <circle cx="114.62" cy="139.07" r="2.84" fill="#39b8f0"/>
11
+ <circle cx="109.21" cy="116.89" r="3.48" fill="#45aaf2"/>
12
+ <circle cx="133.14" cy="101.06" r="4.22" fill="#519cf3"/>
13
+ <circle cx="162.04" cy="122.61" r="5.03" fill="#5c8ff4"/>
14
+ <circle cx="148.87" cy="165.95" r="5.91" fill="#6881f5"/>
15
+ <circle cx="92.01" cy="168.83" r="6.86" fill="#7473f6"/>
16
+ <circle cx="64.41" cy="102.82" r="7.85" fill="#7c6af7"/>
17
+ <circle cx="130.70" cy="42.10" r="8.90" fill="#7c6af7"/>
18
+ <circle cx="230.71" cy="94.63" r="10.00" fill="#7c6af7"/>
19
+ <path d="M122.50 137.53L121.70 137.21L120.91 136.82L120.15 136.37L119.41 135.86L118.70 135.28L118.03 134.64L117.40 133.95L116.82 133.19L116.28 132.38L115.81 131.52L115.40 130.62L115.05 129.67L114.77 128.68L114.57 127.67L114.44 126.62L114.40 125.55L114.43 124.47L114.55 123.38L114.76 122.28L115.05 121.19L115.43 120.10L115.90 119.04L116.46 118.00L117.10 116.99L117.83 116.01L118.65 115.09L119.54 114.22L120.51 113.40L121.56 112.65L122.68 111.98L123.86 111.38L125.10 110.87L126.40 110.45L127.74 110.13L129.13 109.90L130.54 109.79L131.99 109.78L133.45 109.88L134.91 110.09L136.38 110.43L137.84 110.88L139.28 111.44L140.70 112.13L142.07 112.93L143.40 113.86L144.68 114.89L145.88 116.03L147.02 117.28L148.06 118.64L149.02 120.09L149.87 121.63L150.62 123.25L151.24 124.96L151.75 126.72L152.12 128.55L152.35 130.43L152.44 132.35L152.38 134.29L152.17 136.26L151.80 138.23L151.28 140.19L150.60 142.14L149.76 144.05L148.76 145.92L147.61 147.74L146.30 149.49L144.84 151.15L143.24 152.72L141.49 154.19L139.62 155.53L137.61 156.75L135.49 157.82L133.26 158.74L130.94 159.50L128.53 160.09L126.04 160.50L123.50 160.71L120.91 160.74L118.29 160.56L115.65 160.18L113.01 159.59L110.39 158.78L107.80 157.77L105.26 156.54L102.78 155.10L100.39 153.45L98.10 151.60L95.93 149.55L93.89 147.31L92.00 144.88L90.28 142.28L88.75 139.52L87.40 136.60L86.27 133.55L85.37 130.37L84.70 127.09L84.27 123.72L84.11 120.28L84.21 116.79L84.58 113.26L85.22 109.72L86.16 106.19L87.37 102.70L88.87 99.26L90.65 95.89L92.72 92.63L95.06 89.49L97.68 86.49L100.55 83.66L103.68 81.03L107.05 78.61L110.64 76.42L114.44 74.48L118.44 72.82L122.62 71.45L126.94 70.38L131.40 69.64L135.97 69.24L140.62 69.19L145.33 69.50L150.07 70.18L154.80 71.23L159.52 72.66L164.17 74.48L168.74 76.67L173.18 79.25L177.48 82.20L181.60 85.52L185.51 89.19L189.18 93.21L192.57 97.56L195.67 102.23L198.44 107.18L200.86 112.41L202.90 117.89L204.54 123.59L205.76 129.48L206.53 135.53L206.84 141.71L206.68 147.98L206.02 154.31L204.87 160.67L203.21 167.01L201.04 173.29L198.36 179.47L195.17 185.52L191.47 191.39L187.28 197.04L182.60 202.43L177.44 207.51L171.84 212.26L165.80 216.62L159.35 220.56L152.53 224.05L145.35 227.05L137.87 229.53L130.10 231.45L122.10 232.79L113.90 233.53L105.55 233.64" fill="none" stroke="url(#g)" stroke-width="2.1" stroke-linecap="round"/>
20
+ <circle cx="122.50" cy="137.53" r="2.00" fill="#22d3ee"/>
21
+ <circle cx="114.40" cy="125.55" r="2.32" fill="#2ec5ef"/>
22
+ <circle cx="125.10" cy="110.87" r="2.84" fill="#39b8f0"/>
23
+ <circle cx="147.02" cy="117.28" r="3.48" fill="#45aaf2"/>
24
+ <circle cx="148.76" cy="145.92" r="4.22" fill="#519cf3"/>
25
+ <circle cx="115.65" cy="160.18" r="5.03" fill="#5c8ff4"/>
26
+ <circle cx="84.70" cy="127.09" r="5.91" fill="#6881f5"/>
27
+ <circle cx="110.64" cy="76.42" r="6.86" fill="#7473f6"/>
28
+ <circle cx="181.60" cy="85.52" r="7.85" fill="#7c6af7"/>
29
+ <circle cx="201.04" cy="173.29" r="8.90" fill="#7c6af7"/>
30
+ <circle cx="105.55" cy="233.64" r="10.00" fill="#7c6af7"/>
31
+ <path d="M122.50 118.47L123.18 117.94L123.90 117.45L124.67 117.01L125.49 116.63L126.34 116.30L127.23 116.04L128.15 115.84L129.10 115.72L130.06 115.66L131.04 115.68L132.03 115.78L133.03 115.95L134.02 116.20L135.00 116.54L135.97 116.95L136.92 117.44L137.84 118.01L138.73 118.66L139.58 119.39L140.38 120.19L141.12 121.06L141.81 122.00L142.44 123.00L142.99 124.07L143.46 125.19L143.86 126.35L144.17 127.57L144.39 128.82L144.51 130.10L144.53 131.40L144.46 132.72L144.28 134.05L144.00 135.39L143.61 136.71L143.11 138.02L142.50 139.31L141.79 140.56L140.97 141.78L140.05 142.94L139.03 144.05L137.91 145.09L136.70 146.05L135.39 146.93L134.01 147.72L132.55 148.41L131.02 149.00L129.42 149.47L127.77 149.83L126.08 150.06L124.34 150.16L122.58 150.13L120.80 149.96L119.01 149.65L117.23 149.20L115.46 148.61L113.72 147.87L112.02 146.99L110.36 145.97L108.77 144.80L107.24 143.50L105.80 142.07L104.46 140.50L103.22 138.82L102.10 137.02L101.10 135.11L100.24 133.11L99.53 131.01L98.97 128.84L98.58 126.59L98.35 124.29L98.30 121.95L98.43 119.58L98.75 117.19L99.25 114.79L99.95 112.41L100.84 110.06L101.92 107.74L103.19 105.49L104.66 103.31L106.31 101.21L108.14 99.23L110.15 97.36L112.32 95.62L114.65 94.03L117.14 92.61L119.76 91.37L122.51 90.31L125.37 89.45L128.33 88.81L131.38 88.39L134.49 88.20L137.65 88.25L140.85 88.54L144.06 89.09L147.26 89.89L150.44 90.95L153.57 92.27L156.63 93.85L159.61 95.68L162.48 97.76L165.22 100.09L167.81 102.66L170.23 105.46L172.46 108.48L174.48 111.71L176.27 115.13L177.82 118.73L179.11 122.49L180.12 126.40L180.84 130.42L181.25 134.55L181.35 138.76L181.13 143.02L180.57 147.31L179.67 151.61L178.42 155.89L176.84 160.12L174.90 164.28L172.62 168.33L170.00 172.26L167.04 176.02L163.76 179.60L160.17 182.96L156.27 186.08L152.08 188.94L147.63 191.50L142.92 193.75L137.99 195.66L132.85 197.21L127.54 198.37L122.07 199.14L116.48 199.49L110.81 199.41L105.07 198.89L99.30 197.92L93.55 196.49L87.84 194.60L82.22 192.25L76.71 189.43L71.36 186.15L66.20 182.41L61.27 178.24L56.61 173.63L52.26 168.61L48.24 163.20L44.60 157.41L41.37 151.27L38.57 144.82L36.25 138.07L34.42 131.06L33.11 123.84L32.35 116.43L32.16 108.87L32.55 101.22L33.54 93.50L35.14 85.78L37.36 78.09L40.20 70.49L43.66 63.02L47.74 55.73" fill="none" stroke="url(#g)" stroke-width="2.1" stroke-linecap="round"/>
32
+ <circle cx="122.50" cy="118.47" r="2.00" fill="#22d3ee"/>
33
+ <circle cx="136.92" cy="117.44" r="2.32" fill="#2ec5ef"/>
34
+ <circle cx="144.28" cy="134.05" r="2.84" fill="#39b8f0"/>
35
+ <circle cx="127.77" cy="149.83" r="3.48" fill="#45aaf2"/>
36
+ <circle cx="102.10" cy="137.02" r="4.22" fill="#519cf3"/>
37
+ <circle cx="106.31" cy="101.21" r="5.03" fill="#5c8ff4"/>
38
+ <circle cx="150.44" cy="90.95" r="5.91" fill="#6881f5"/>
39
+ <circle cx="181.35" cy="138.76" r="6.86" fill="#7473f6"/>
40
+ <circle cx="137.99" cy="195.66" r="7.85" fill="#7c6af7"/>
41
+ <circle cx="52.26" cy="168.61" r="8.90" fill="#7c6af7"/>
42
+ <circle cx="47.74" cy="55.73" r="10.00" fill="#7c6af7"/>
43
+ <circle cx="128.0" cy="128.0" r="7.5" fill="#22d3ee"/>
44
+ </svg>
@@ -23,6 +23,14 @@ export function buildInitConfig(existing, a) {
23
23
  distillPdfs: existing?.distillPdfs,
24
24
  filterToolCalls: existing?.filterToolCalls,
25
25
  retrievalDiversity: existing?.retrievalDiversity,
26
+ // Caught by the schema-enumerated survival test — the FOURTH silently
27
+ // dropped key (after bug #5, projects, logQueries). Never carried since
28
+ // 0.15.0: a configured embedding provider was reset to auto-detect on
29
+ // every re-init.
30
+ embeddingProvider: existing?.embeddingProvider,
31
+ // Wizard-silent key (0.16.0): without this carry-over a re-init would
32
+ // silently reset a user's logQueries:false back to the zod default.
33
+ logQueries: existing?.logQueries,
26
34
  projects: { ...existing?.projects, ...a.projects },
27
35
  notifications: existing?.notifications,
28
36
  workflowTranscripts: existing?.workflowTranscripts,
@@ -32,10 +40,11 @@ export function buildInitConfig(existing, a) {
32
40
  distill: a.distillModel,
33
41
  // New installs get hybrid routing out of the box: route routine sessions
34
42
  // to Haiku, keep the chosen distill model for decision/large ones.
43
+ // claude-cli shares the anthropic id set (full ids pin via --model).
35
44
  distillFast: existing?.models?.distillFast ??
36
- (a.provider === "anthropic"
37
- ? "claude-haiku-4-5-20251001"
38
- : "claude-haiku-4-5"),
45
+ (a.provider === "kie"
46
+ ? "claude-haiku-4-5"
47
+ : "claude-haiku-4-5-20251001"),
39
48
  ...(existing?.models?.distillThreshold != null
40
49
  ? { distillThreshold: existing.models.distillThreshold }
41
50
  : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"initConfig.js","sourceRoot":"","sources":["../../src/cli/initConfig.ts"],"names":[],"mappings":"AAuBA,iEAAiE;AACjE,0EAA0E;AAC1E,0EAA0E;AAC1E,2EAA2E;AAC3E,MAAM,UAAU,eAAe,CAC7B,QAAuB,EACvB,CAAc;IAEd,OAAO;QACL,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,iBAAiB,EAAE,CAAC,CAAC,iBAAiB;QACtC,YAAY,EAAE,CAAC,CAAC,YAAY;QAC5B,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,0EAA0E;QAC1E,4EAA4E;QAC5E,eAAe,EAAE,CAAC,CAAC,eAAe,IAAI,QAAQ,EAAE,eAAe;QAC/D,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,QAAQ,EAAE,SAAS;QAC7C,YAAY,EAAE,QAAQ,EAAE,YAAY;QACpC,SAAS,EAAE,QAAQ,EAAE,SAAS;QAC9B,OAAO,EAAE,QAAQ,EAAE,OAAO;QAC1B,eAAe,EAAE,CAAC,CAAC,eAAe;QAClC,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,eAAe,EAAE,QAAQ,EAAE,eAAe;QAC1C,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,WAAW,EAAE,QAAQ,EAAE,WAAW;QAClC,eAAe,EAAE,QAAQ,EAAE,eAAe;QAC1C,kBAAkB,EAAE,QAAQ,EAAE,kBAAkB;QAChD,QAAQ,EAAE,EAAE,GAAG,QAAQ,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE;QAClD,aAAa,EAAE,QAAQ,EAAE,aAAa;QACtC,mBAAmB,EAAE,QAAQ,EAAE,mBAAmB;QAClD,gBAAgB,EAAE,CAAC,CAAC,gBAAgB,IAAI,QAAQ,EAAE,gBAAgB;QAClE,MAAM,EAAE;YACN,QAAQ,EAAE,CAAC,CAAC,aAAa;YACzB,OAAO,EAAE,CAAC,CAAC,YAAY;YACvB,yEAAyE;YACzE,mEAAmE;YACnE,WAAW,EACT,QAAQ,EAAE,MAAM,EAAE,WAAW;gBAC7B,CAAC,CAAC,CAAC,QAAQ,KAAK,WAAW;oBACzB,CAAC,CAAC,2BAA2B;oBAC7B,CAAC,CAAC,kBAAkB,CAAC;YACzB,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,IAAI,IAAI;gBAC5C,CAAC,CAAC,EAAE,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,gBAAgB,EAAE;gBACxD,CAAC,CAAC,EAAE,CAAC;SACR;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"initConfig.js","sourceRoot":"","sources":["../../src/cli/initConfig.ts"],"names":[],"mappings":"AAuBA,iEAAiE;AACjE,0EAA0E;AAC1E,0EAA0E;AAC1E,2EAA2E;AAC3E,MAAM,UAAU,eAAe,CAC7B,QAAuB,EACvB,CAAc;IAEd,OAAO;QACL,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,iBAAiB,EAAE,CAAC,CAAC,iBAAiB;QACtC,YAAY,EAAE,CAAC,CAAC,YAAY;QAC5B,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,0EAA0E;QAC1E,4EAA4E;QAC5E,eAAe,EAAE,CAAC,CAAC,eAAe,IAAI,QAAQ,EAAE,eAAe;QAC/D,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,QAAQ,EAAE,SAAS;QAC7C,YAAY,EAAE,QAAQ,EAAE,YAAY;QACpC,SAAS,EAAE,QAAQ,EAAE,SAAS;QAC9B,OAAO,EAAE,QAAQ,EAAE,OAAO;QAC1B,eAAe,EAAE,CAAC,CAAC,eAAe;QAClC,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,eAAe,EAAE,QAAQ,EAAE,eAAe;QAC1C,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,WAAW,EAAE,QAAQ,EAAE,WAAW;QAClC,eAAe,EAAE,QAAQ,EAAE,eAAe;QAC1C,kBAAkB,EAAE,QAAQ,EAAE,kBAAkB;QAChD,sEAAsE;QACtE,wEAAwE;QACxE,sEAAsE;QACtE,iBAAiB;QACjB,iBAAiB,EAAE,QAAQ,EAAE,iBAAiB;QAC9C,sEAAsE;QACtE,oEAAoE;QACpE,UAAU,EAAE,QAAQ,EAAE,UAAU;QAChC,QAAQ,EAAE,EAAE,GAAG,QAAQ,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE;QAClD,aAAa,EAAE,QAAQ,EAAE,aAAa;QACtC,mBAAmB,EAAE,QAAQ,EAAE,mBAAmB;QAClD,gBAAgB,EAAE,CAAC,CAAC,gBAAgB,IAAI,QAAQ,EAAE,gBAAgB;QAClE,MAAM,EAAE;YACN,QAAQ,EAAE,CAAC,CAAC,aAAa;YACzB,OAAO,EAAE,CAAC,CAAC,YAAY;YACvB,yEAAyE;YACzE,mEAAmE;YACnE,qEAAqE;YACrE,WAAW,EACT,QAAQ,EAAE,MAAM,EAAE,WAAW;gBAC7B,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK;oBACnB,CAAC,CAAC,kBAAkB;oBACpB,CAAC,CAAC,2BAA2B,CAAC;YAClC,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,IAAI,IAAI;gBAC5C,CAAC,CAAC,EAAE,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,gBAAgB,EAAE;gBACxD,CAAC,CAAC,EAAE,CAAC;SACR;KACF,CAAC;AACJ,CAAC"}
@@ -5,6 +5,7 @@ import { stdin, stdout } from "node:process";
5
5
  import { readCostLog } from "../cost/log.js";
6
6
  import { computeCost } from "../cost/pricing.js";
7
7
  import { Distiller, normalizeModelName, resolveModelShorthand } from "../pipeline/distiller.js";
8
+ import { ClaudeCliLimitError } from "../pipeline/claudeCli.js";
8
9
  import { scoreSession } from "../pipeline/filter.js";
9
10
  import { acquireLock, LockHeldError, releaseLock } from "../pipeline/lock.js";
10
11
  import { parseSession } from "../pipeline/parser.js";
@@ -50,7 +51,8 @@ export function summarizeReconcileTargets(cfg, targets, costSessionIds, forceDis
50
51
  if (hadCostRecord)
51
52
  collateralCount += 1;
52
53
  let estimatedCost = 0;
53
- if (existsSync(t.path)) {
54
+ // Subscription path: retries cost quota, not dollars — estimate stays 0.
55
+ if (cfg.provider !== "claude-cli" && existsSync(t.path)) {
54
56
  try {
55
57
  const parsed = parseSession(t.path, t.hash);
56
58
  const classifyIn = Math.ceil(scrub(parsed.rawSummary).length / CHARS_PER_TOKEN);
@@ -116,7 +118,10 @@ export async function runReconcile(cfg, opts = {}) {
116
118
  // no content from.
117
119
  const costSessionIds = new Set();
118
120
  for (const r of readCostLog()) {
119
- if (r.stage === "distill" && r.session && r.estimated_cost_usd > 0) {
121
+ if (r.stage === "distill" &&
122
+ r.session &&
123
+ r.estimated_cost_usd !== null &&
124
+ r.estimated_cost_usd > 0) {
120
125
  costSessionIds.add(r.session);
121
126
  }
122
127
  }
@@ -223,6 +228,14 @@ export async function runReconcile(cfg, opts = {}) {
223
228
  await new Promise((r) => setTimeout(r, 2000));
224
229
  }
225
230
  catch (err) {
231
+ // A subscription limit halts reconcile exactly like the run loop:
232
+ // one wall, not N failures — and force-retries against it would burn
233
+ // quota for nothing. Remaining targets stay eligible for the next pass.
234
+ if (err instanceof ClaudeCliLimitError) {
235
+ ui.row(ui.errorColor(ui.CROSS), ui.text(err.message));
236
+ process.exitCode = 1;
237
+ break;
238
+ }
226
239
  // A retry that fails again must leave the row as-is (content still
227
240
  // null/empty) so the next reconcile pass can catch it. Do NOT mark
228
241
  // it processed-with-empty.
@@ -1 +1 @@
1
- {"version":3,"file":"reconcile.js","sourceRoot":"","sources":["../../src/cli/reconcile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reconcile.js","sourceRoot":"","sources":["../../src/cli/reconcile.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -153,10 +153,21 @@ program
153
153
  // bug that hid Kie's 200-with-error responses pre-0.7.2.
154
154
  if (summary.errored > 0 ||
155
155
  summary.articlesErrored > 0 ||
156
- summary.pdfsErrored > 0) {
156
+ summary.pdfsErrored > 0 ||
157
+ // A limit halt is an incomplete run — schedulers must not read it
158
+ // as success. The message itself already printed from the loop.
159
+ summary.limitHalted !== null) {
157
160
  process.exitCode = 1;
158
161
  }
159
162
  }));
163
+ // Dollar-estimate label for the ACTIVE provider. On the subscription path the
164
+ // honest label is quota, never "$0.00" — a zero would read as "free API call"
165
+ // and hide that the run consumes the user's Claude Code limits.
166
+ function estCostLabel(cfg, model, inputTokens, outputTokens) {
167
+ if (cfg.provider === "claude-cli")
168
+ return "subscription quota (no $)";
169
+ return ui.formatUsd(computeCost(cfg.provider, model, inputTokens, outputTokens, cfg.pricing, cfg.kieTopUpTier));
170
+ }
160
171
  async function confirmCostIfNeeded(cfg, newCount) {
161
172
  if (newCount <= 20)
162
173
  return true;
@@ -201,6 +212,9 @@ program
201
212
  const report = buildReport(records);
202
213
  ui.stat("window", since);
203
214
  ui.stat("llm calls", report.recordCount);
215
+ if (report.subscriptionCalls > 0) {
216
+ ui.stat("subscription", `${report.subscriptionCalls} claude-cli calls (quota, no $ — excluded from totals)`);
217
+ }
204
218
  ui.stat("sessions", report.sessionCount);
205
219
  ui.stat("total", ui.formatUsd(report.total), ui.warn);
206
220
  ui.stat("median/session", ui.formatUsd(report.median));
@@ -613,11 +627,11 @@ program
613
627
  const counts = countByCategory(notes);
614
628
  const prompt = buildPeriodPrompt(label, notes, counts);
615
629
  const { inputTokens, outputTokens } = estimatePeriodCostTokens(prompt);
616
- const estCost = computeCost(cfg.provider, model, inputTokens, outputTokens, cfg.pricing, cfg.kieTopUpTier);
630
+ const estCost = estCostLabel(cfg, model, inputTokens, outputTokens);
617
631
  ui.summary({
618
632
  notes: { value: notes.length, color: ui.info },
619
633
  model: { value: model, color: ui.accent },
620
- "est. cost": { value: ui.formatUsd(estCost), color: ui.warn },
634
+ "est. cost": { value: estCost, color: ui.warn },
621
635
  });
622
636
  ui.divider();
623
637
  if (opts.dryRun === true) {
@@ -626,7 +640,7 @@ program
626
640
  }
627
641
  if (opts.yes !== true) {
628
642
  const proceed = await confirm({
629
- message: `synthesize with ${model} (~${ui.formatUsd(estCost)})?`,
643
+ message: `synthesize with ${model} (~${estCost})?`,
630
644
  default: true,
631
645
  });
632
646
  if (!proceed) {
@@ -1029,11 +1043,11 @@ program
1029
1043
  ui.divider();
1030
1044
  const model = normalizeModelName(resolveModelShorthand(opts.model ?? cfg.models.distill), cfg.provider);
1031
1045
  const { inputTokens, outputTokens } = estimateComposeCostTokens(topic, sources);
1032
- const estCost = computeCost(cfg.provider, model, inputTokens, outputTokens, cfg.pricing, cfg.kieTopUpTier);
1046
+ const estCost = estCostLabel(cfg, model, inputTokens, outputTokens);
1033
1047
  ui.summary({
1034
1048
  sources: { value: sources.length, color: ui.info },
1035
1049
  model: { value: model, color: ui.accent },
1036
- "est. cost": { value: ui.formatUsd(estCost), color: ui.warn },
1050
+ "est. cost": { value: estCost, color: ui.warn },
1037
1051
  });
1038
1052
  ui.divider();
1039
1053
  if (opts.dryRun) {
@@ -1042,7 +1056,7 @@ program
1042
1056
  }
1043
1057
  if (opts.yes !== true) {
1044
1058
  const proceed = await confirm({
1045
- message: `synthesize with ${model} (~${ui.formatUsd(estCost)})?`,
1059
+ message: `synthesize with ${model} (~${estCost})?`,
1046
1060
  default: true,
1047
1061
  });
1048
1062
  if (!proceed) {
@@ -1074,7 +1088,7 @@ program
1074
1088
  title: { value: result.title, color: ui.text },
1075
1089
  sources: { value: result.sourceCount, color: ui.info },
1076
1090
  confidence: { value: result.confidence.toFixed(2), color: ui.info },
1077
- ...(rec
1091
+ ...(rec && rec.estimated_cost_usd !== null
1078
1092
  ? { cost: { value: ui.formatUsd(rec.estimated_cost_usd), color: ui.warn } }
1079
1093
  : {}),
1080
1094
  });
@@ -1473,11 +1487,15 @@ async function cmdInit() {
1473
1487
  default: existing?.provider ?? "anthropic",
1474
1488
  choices: [
1475
1489
  {
1476
- name: "Anthropic (direct + reliable, official pricing — recommended)",
1490
+ name: "Anthropic (API key — predictable per-session cost, no effect on your Claude Code limits)",
1477
1491
  value: "anthropic",
1478
1492
  },
1479
1493
  {
1480
- name: "Kie.ai (~72% cheaper, third-party proxy — you trade reliability for cost)",
1494
+ name: "Claude Code (subscription — free and keyless; distills consume your Claude Code usage limits)",
1495
+ value: "claude-cli",
1496
+ },
1497
+ {
1498
+ name: "Kie.ai (~72% cheaper API, third-party proxy — you trade reliability for cost)",
1481
1499
  value: "kie",
1482
1500
  },
1483
1501
  ],
@@ -1501,11 +1519,14 @@ async function cmdInit() {
1501
1519
  if (provider === "anthropic") {
1502
1520
  anthropicApiKey = await promptSecret("Anthropic API key", existing?.anthropicApiKey ?? process.env.ANTHROPIC_API_KEY ?? undefined, (v) => (v.startsWith("sk-ant-") ? true : "key should start with sk-ant-"));
1503
1521
  }
1504
- else {
1522
+ else if (provider === "kie") {
1505
1523
  kieApiKey = await promptSecret("Kie.ai API key", existing?.kieApiKey ?? process.env.KIE_API_KEY ?? undefined, (v) => (v.length > 10 ? true : "enter a valid Kie.ai API key"));
1506
1524
  }
1525
+ // claude-cli: no credential of any kind — it uses the `claude` login.
1507
1526
  // ── model pickers (provider-aware) ──────────────────────────────────────
1508
- const classifyChoices = provider === "anthropic"
1527
+ // claude-cli accepts the same full Anthropic model ids (and pins them per
1528
+ // invocation via --model), so it shares the anthropic id set.
1529
+ const classifyChoices = provider !== "kie"
1509
1530
  ? [
1510
1531
  {
1511
1532
  name: "claude-haiku-4-5-20251001 (recommended)",
@@ -1524,7 +1545,7 @@ async function cmdInit() {
1524
1545
  message: "Classify model (fast pass)",
1525
1546
  choices: classifyChoices,
1526
1547
  });
1527
- const distillChoices = provider === "anthropic"
1548
+ const distillChoices = provider !== "kie"
1528
1549
  ? [
1529
1550
  {
1530
1551
  name: "claude-sonnet-5 (recommended)",