bb-cc-lite 0.1.5 → 0.1.7

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 (48) hide show
  1. package/README.md +41 -61
  2. package/dist/baseline-builder.js +64 -64
  3. package/dist/baseline-builder.js.map +1 -1
  4. package/dist/baseline-refresh.d.ts +66 -0
  5. package/dist/baseline-refresh.js +214 -0
  6. package/dist/baseline-refresh.js.map +1 -0
  7. package/dist/baseline.d.ts +11 -1
  8. package/dist/baseline.js +128 -4
  9. package/dist/baseline.js.map +1 -1
  10. package/dist/cli.js +36 -10
  11. package/dist/cli.js.map +1 -1
  12. package/dist/doctor.d.ts +1 -1
  13. package/dist/doctor.js +30 -12
  14. package/dist/doctor.js.map +1 -1
  15. package/dist/event-store-persistence.js +21 -3
  16. package/dist/event-store-persistence.js.map +1 -1
  17. package/dist/event-store-queries.d.ts +4 -1
  18. package/dist/event-store-queries.js +38 -11
  19. package/dist/event-store-queries.js.map +1 -1
  20. package/dist/failure-episodes.d.ts +21 -0
  21. package/dist/failure-episodes.js +266 -0
  22. package/dist/failure-episodes.js.map +1 -0
  23. package/dist/historical-replay.d.ts +21 -0
  24. package/dist/historical-replay.js +263 -0
  25. package/dist/historical-replay.js.map +1 -0
  26. package/dist/hook-payload.js +11 -7
  27. package/dist/hook-payload.js.map +1 -1
  28. package/dist/hook-summary.d.ts +4 -5
  29. package/dist/hook-summary.js +37 -11
  30. package/dist/hook-summary.js.map +1 -1
  31. package/dist/recovery-stats.d.ts +57 -0
  32. package/dist/recovery-stats.js +234 -0
  33. package/dist/recovery-stats.js.map +1 -0
  34. package/dist/settings.d.ts +1 -1
  35. package/dist/settings.js +7 -0
  36. package/dist/settings.js.map +1 -1
  37. package/dist/signals.js +137 -58
  38. package/dist/signals.js.map +1 -1
  39. package/dist/statusline.d.ts +5 -1
  40. package/dist/statusline.js +8 -3
  41. package/dist/statusline.js.map +1 -1
  42. package/dist/tool-metadata.d.ts +10 -0
  43. package/dist/tool-metadata.js +50 -2
  44. package/dist/tool-metadata.js.map +1 -1
  45. package/dist/transcript.js +106 -25
  46. package/dist/transcript.js.map +1 -1
  47. package/dist/types.d.ts +53 -0
  48. package/package.json +1 -1
package/README.md CHANGED
@@ -2,102 +2,82 @@
2
2
 
3
3
  [![CI](https://github.com/softcane/bb-cc-lite/actions/workflows/ci.yml/badge.svg)](https://github.com/softcane/bb-cc-lite/actions/workflows/ci.yml)
4
4
 
5
- Claude Code does not always fail loudly. Sometimes it loops, fills context, spends money, and still looks productive.
5
+ Claude Code can look busy while it is doing the wrong thing: retrying the same broken test, editing without checking, filling context, or spending money on a stuck loop.
6
6
 
7
- `bb-cc-lite` is **Black Box Claude Code Lite**: a small traffic light for your Claude Code status line.
7
+ `bb-cc-lite` adds a small status line that answers one question:
8
+
9
+ > Should I let this Claude Code session keep going?
8
10
 
9
11
  ![bb-cc-lite statusline examples](./assets/statusline-demo.gif)
10
12
 
13
+ ## Requirements
14
+
15
+ - Node.js 20 or newer
16
+ - Claude Code with status line support
17
+
11
18
  ## Install
12
19
 
13
20
  ```bash
14
- npx bb-cc-lite install --scope local
21
+ npx --yes bb-cc-lite install --scope local --hooks
15
22
  ```
16
23
 
17
- Restart Claude Code in the project. The line appears at the bottom.
24
+ Restart Claude Code in the project. The status line appears at the bottom.
18
25
 
19
- The statusline runtime is installed into Claude settings; the `npx` install does not add a global `bb-cc-lite` command to your shell. Run later CLI commands through `npx bb-cc-lite ...`, or install globally with `npm install -g bb-cc-lite` if you want bare `bb-cc-lite ...` commands.
26
+ Install preserves an existing Claude Code `statusLine` unless you pass `--replace`. `--hooks` is optional, but gives faster loop detection.
20
27
 
21
- Install replaces any existing Claude Code `statusLine` by default and stores a backup so `uninstall` can restore it. It also builds a local personal baseline by default after it installs the statusline. It reads bounded local Claude Code JSONL once, newest eligible files first, extracts aggregate patterns from past sessions, and stores a small `baseline.json` under the `bb-cc-lite` app home. Use `--no-learn` to install the statusline without scanning old JSONL:
28
+ To uninstall:
22
29
 
23
30
  ```bash
24
- npx bb-cc-lite install --scope local --no-learn
31
+ npx --yes bb-cc-lite uninstall --scope local
25
32
  ```
26
33
 
27
- For faster tool-loop detection:
34
+ Prefer a global install?
28
35
 
29
36
  ```bash
30
- npx bb-cc-lite install --scope local --hooks
37
+ npm install -g bb-cc-lite
38
+ bb-cc-lite install --scope local --hooks
31
39
  ```
32
40
 
33
- Hooks are optional. They run in the background and skip `UserPromptSubmit`.
34
-
35
- ## The Line
41
+ To replace an existing status line:
36
42
 
37
- ```text
38
- bb: Healthy | ctx 42% | $0.18 | cache warm | continue normally
39
- bb: Healthy | research phase: usually normal for you | continue
40
- bb: Careful | edits not checked yet | run focused check
41
- bb: Careful | tests failed twice; usually recovers after one fix | inspect first failure
42
- bb: Careful | edit lag unusual for you | run focused check
43
- bb: Careful | ctx 82% | Context is getting tight | ask Claude for a 6-bullet handoff before more work
44
- bb: Stop | why: test loop: usually unrecovered after 3x | do: inspect first failure
43
+ ```bash
44
+ npx --yes bb-cc-lite install --scope local --replace --hooks
45
45
  ```
46
46
 
47
- `Healthy` means keep going. `Careful` means slow down. `Stop` means take over before Claude burns more turns.
47
+ ## What It Catches
48
48
 
49
- ## Why
49
+ - Blind retry loops where the same command or test fails repeatedly without fix evidence.
50
+ - Long stretches of editing without a focused check.
51
+ - Context pressure before the session gets too full to reason clearly.
52
+ - Cost and cache signals that make a stuck session easier to spot.
50
53
 
51
- ```bash
52
- npx bb-cc-lite why
53
- ```
54
+ ## What It Shows
54
55
 
55
56
  ```text
56
- Last decision: Stop.
57
- Reason: Bash failed 3x running tests. Claude is retrying a broken test loop.
58
- Next action: inspect first failure.
59
- ```
60
-
61
- By default, `why` explains the latest recorded decision. To inspect a specific Claude Code session, pass its session id:
62
-
63
- ```bash
64
- npx bb-cc-lite why --session <session-id>
57
+ bb: Healthy | ctx 42% | $0.18 | cache warm | continue normally
58
+ bb: Careful | edits not checked yet | run focused check
59
+ bb: Careful | retry looks blind: same test failed twice | inspect first failure
60
+ bb: Careful | tests failed twice; usually recovers after one fix | inspect first failure
61
+ bb: Stop | why: blind retry loop: same failure 3x without fix evidence | do: stop and inspect first failure
62
+ bb: Stop | why: test loop rarely recovered after 3 failures | do: stop retrying and inspect first failure
65
63
  ```
66
64
 
67
- `why` may mention when the personal baseline influenced wording or priority, including safe recovery and edit-lag explanations recorded by the statusline. It reads only the derived local event store; it does not reopen old transcripts to expose raw content.
68
-
69
- ## Personal Baseline
70
-
71
- `bb-cc-lite` learns weak Healthy-like, Careful-like, and Stop-like outcome patterns from your own past Claude Code sessions. It scans newest JSONL candidates first, applies the file and byte caps before summarizing, and reads transcript tails with bounded parallelism. Those weak labels can affect footer wording, priority, and confidence, but hard global `Stop` rules still win.
65
+ `Healthy` means keep going. `Careful` means slow down and verify. `Stop` means take over before Claude burns more turns.
72
66
 
73
- Refresh, inspect, or clear the baseline:
67
+ ## Useful Commands
74
68
 
75
69
  ```bash
76
- npx bb-cc-lite doctor --build-baseline
77
- npx bb-cc-lite doctor --baseline
78
- npx bb-cc-lite doctor --clear-baseline
79
- npx bb-cc-lite unlearn
70
+ bb-cc-lite why
71
+ bb-cc-lite doctor
72
+ bb-cc-lite uninstall --scope local
80
73
  ```
81
74
 
82
- `doctor --baseline` prints a safe aggregate summary, including recent window, validation category, and safe tool category names when present. `doctor --clear-baseline` and `unlearn` remove only `baseline.json`.
75
+ `why` explains the latest statusline decision. `doctor` checks the install. `uninstall` restores the previous Claude Code status line when a backup exists.
83
76
 
84
77
  ## Privacy
85
78
 
86
- By default, `bb-cc-lite` does not upload transcripts, store raw prompts, store raw tool output, store raw shell commands, store file contents, store raw paths, or print raw prompt/tool text.
79
+ Everything stays local. `bb-cc-lite` does not upload transcripts, prompts, tool output, shell output, file contents, API keys, or raw Claude session ids.
87
80
 
88
- For learning, it reads bounded local Claude Code JSONL history and stores only derived aggregate data: counts, rates, scenario counts, weak outcome-label counts, confidence buckets, recovery rates, validation categories, edit-to-validation lag buckets, safe tool category names, scan timestamps, and privacy flags. It uses file mtimes and raw shell commands only transiently for sorting and categorization. It never stores prompts, assistant text, commands, command arguments, tool output, file contents, transcript paths, scanned-file lists, per-file mtimes, workspace paths, raw session ids, API keys, or per-session transcript rows.
89
-
90
- For live rendering, statusline reads Claude Code status JSON from stdin, tails only the current transcript defensively, and may read the small `baseline.json`. It stores derived metadata only: counts, reason codes, token totals, costs, and hashed session ids.
91
-
92
- LiteLLM is used only as public pricing data for cost estimates. `bb-cc-lite` does not run a LiteLLM proxy, gateway, or message router.
93
-
94
- ## Undo
95
-
96
- ```bash
97
- npx bb-cc-lite doctor
98
- npx bb-cc-lite doctor --clear-baseline
99
- npx bb-cc-lite unlearn
100
- npx bb-cc-lite uninstall --scope local
101
- ```
81
+ It stores derived data only: counts, rates, percentiles, confidence labels, reason codes, cost/context numbers, weak pattern labels, and hashed session keys.
102
82
 
103
- Install backs up the previous Claude Code `statusLine` before replacing it.
83
+ LiteLLM is used only as public pricing data for cost estimates. `bb-cc-lite` does not run a proxy, gateway, dashboard, or message router.
@@ -2,17 +2,30 @@ import { homedir } from "node:os";
2
2
  import { join } from "node:path";
3
3
  import { readdir, stat } from "node:fs/promises";
4
4
  import { baselinePath } from "./paths.js";
5
+ import { extractFailureEpisodesFromTranscriptLines } from "./failure-episodes.js";
5
6
  import { asRecord, extractUsage, mergeUsage, stringField } from "./status-input.js";
6
- import { isEditTool, safeToolName } from "./tool-metadata.js";
7
+ import { classifyResultPurpose, classifyToolIdentity } from "./tool-metadata.js";
7
8
  import { readTranscriptTail } from "./transcript-reader.js";
8
9
  import { writeBaseline } from "./baseline.js";
9
- const DEFAULT_MAX_FILES = 500;
10
- const DEFAULT_MAX_BYTES_PER_TRANSCRIPT = 512 * 1024;
11
- const SCAN_BUDGET_MS = 5_000;
10
+ import { blindRetryAggregatesFromCounters, addFailureEpisodeToRecoveryCounters, emptyRecoveryBuildCounters, mergeRecoveryBuildCounters, recoveryAggregatesFromCounters } from "./recovery-stats.js";
11
+ const DEFAULT_MAX_FILES = 1500;
12
+ const DEFAULT_MAX_BYTES_PER_TRANSCRIPT = 1024 * 1024;
13
+ const SCAN_BUDGET_MS = 30_000;
12
14
  const TRANSCRIPT_READ_CONCURRENCY = 8;
13
15
  const RECENT_WINDOW_SIZE = 100;
14
16
  const VALIDATION_CATEGORIES = ["tests", "lint", "typecheck", "build"];
15
- const SAFE_TOOL_CATEGORIES = ["Bash:tests", "Bash:lint", "Bash:typecheck", "Bash:build", "Read", "Grep", "Glob", "LS", "Edit"];
17
+ const SAFE_TOOL_CATEGORIES = [
18
+ "Bash:tests",
19
+ "Bash:lint",
20
+ "Bash:typecheck",
21
+ "Bash:build",
22
+ "Read",
23
+ "Grep",
24
+ "Glob",
25
+ "LS",
26
+ "Edit",
27
+ "MCP"
28
+ ];
16
29
  export async function buildBaseline(options = {}) {
17
30
  const homeDir = options.homeDir ?? homedir();
18
31
  const claudeProjectsDir = options.claudeProjectsDir ?? join(homeDir, ".claude", "projects");
@@ -27,10 +40,8 @@ export async function buildBaseline(options = {}) {
27
40
  addSessionCounters(counters, session, index < RECENT_WINDOW_SIZE);
28
41
  }
29
42
  const baseline = baselineFromCounters(counters, { maxFiles, maxBytesPerTranscript }, options.now ?? new Date());
30
- const written = baseline.source.transcriptFilesScanned > 0;
31
- if (written) {
32
- await writeBaseline(baseline, options.appHomePath ? join(options.appHomePath, "baseline.json") : baselinePath(homeDir));
33
- }
43
+ await writeBaseline(baseline, options.appHomePath ? join(options.appHomePath, "baseline.json") : baselinePath(homeDir));
44
+ const written = true;
34
45
  return { baseline, written };
35
46
  }
36
47
  async function listTranscriptFiles(root, maxFiles, deadlineMs) {
@@ -130,6 +141,7 @@ function addSessionCounters(counters, session, isRecent) {
130
141
  mergeValidationCounters(counters.validation, session.validation);
131
142
  mergeEditValidationCounters(counters.editValidation, session.editValidation);
132
143
  mergeToolCategoryCounters(counters.toolCategories, session.toolCategories);
144
+ mergeRecoveryBuildCounters(counters.failureRecovery, session.failureRecovery);
133
145
  }
134
146
  function summarizeSession(lines) {
135
147
  const toolById = new Map();
@@ -158,13 +170,7 @@ function summarizeSession(lines) {
158
170
  usage = mergeUsage(usage, extractUsage(entry), extractUsage(asRecord(entry.message)));
159
171
  for (const toolUse of extractToolUses(entry)) {
160
172
  session.toolCalls += 1;
161
- const name = safeToolName(toolUse.name, { basenameOnly: true });
162
- const meta = {
163
- name,
164
- purpose: classifyPurpose(name, toolUse.input),
165
- isEdit: isEditTool(name, { basenameOnly: true }),
166
- isReadSearch: isReadSearchTool(name)
167
- };
173
+ const meta = metaFromToolName(toolUse.name, toolUse.input);
168
174
  if (meta.isReadSearch) {
169
175
  session.readSearchToolCalls += 1;
170
176
  }
@@ -174,10 +180,10 @@ function summarizeSession(lines) {
174
180
  }
175
181
  for (const toolResult of extractToolResults(entry)) {
176
182
  const meta = resolveMeta(toolResult, toolById);
177
- const key = `${meta.name}:${meta.purpose || "general"}`;
178
- const validationCategory = validationCategoryForPurpose(meta.purpose);
183
+ const key = failureKey(meta);
184
+ const validationCategory = meta.name === "Bash" ? validationCategoryForPurpose(meta.purpose) : undefined;
179
185
  const toolCategory = safeToolCategory(meta);
180
- const isValidation = meta.name === "Bash" && validationCategory !== undefined;
186
+ const isValidation = validationCategory !== undefined;
181
187
  toolResultStep += 1;
182
188
  session.toolResults += 1;
183
189
  if (toolCategory) {
@@ -261,8 +267,14 @@ function summarizeSession(lines) {
261
267
  toolCounters.unrecovered += 1;
262
268
  }
263
269
  }
270
+ addFailureEpisodeCounters(session.failureRecovery, extractFailureEpisodesFromTranscriptLines(lines));
264
271
  return session;
265
272
  }
273
+ function addFailureEpisodeCounters(target, episodes) {
274
+ for (const episode of episodes) {
275
+ addFailureEpisodeToRecoveryCounters(target, episode);
276
+ }
277
+ }
266
278
  function extractToolUses(entry) {
267
279
  const result = [];
268
280
  for (const part of contentParts(entry)) {
@@ -319,47 +331,10 @@ function contentParts(entry) {
319
331
  function resolveMeta(toolResult, toolById) {
320
332
  const byId = toolResult.toolUseId ? toolById.get(toolResult.toolUseId) : undefined;
321
333
  if (byId) {
322
- return { ...byId, purpose: toolResult.purpose || byId.purpose };
334
+ return { ...byId, purpose: byId.name === "Bash" ? toolResult.purpose || byId.purpose : byId.purpose };
323
335
  }
324
- const name = safeToolName(toolResult.toolName, { basenameOnly: true });
325
- return {
326
- name,
327
- purpose: toolResult.purpose,
328
- isEdit: isEditTool(name, { basenameOnly: true }),
329
- isReadSearch: isReadSearchTool(name)
330
- };
331
- }
332
- function classifyPurpose(toolName, input) {
333
- if (toolName !== "Bash") {
334
- return undefined;
335
- }
336
- const command = stringField(asRecord(input)?.command);
337
- if (!command) {
338
- return undefined;
339
- }
340
- if (/\b(npm|pnpm|yarn|bun)\s+(run\s+)?test\b|\b(vitest|jest|mocha|pytest|cargo\s+test|go\s+test|rspec|playwright\s+test)\b/i.test(command)) {
341
- return "tests";
342
- }
343
- if (/\b(npm|pnpm|yarn|bun)\s+(run\s+)?lint\b|\b(eslint|ruff|flake8|cargo\s+clippy)\b/i.test(command)) {
344
- return "lint";
345
- }
346
- if (/\b(npm|pnpm|yarn|bun)\s+(run\s+)?typecheck\b|\btsc\s+--noEmit\b|\bmypy\b/i.test(command)) {
347
- return "typecheck";
348
- }
349
- if (/\b(npm|pnpm|yarn|bun)\s+(run\s+)?(build|compile)\b|\b(tsc|vite\s+build|cargo\s+build|go\s+build)\b/i.test(command)) {
350
- return "build";
351
- }
352
- if (/^\s*git\b/i.test(command)) {
353
- return "git";
354
- }
355
- return undefined;
356
- }
357
- function classifyResultPurpose(part) {
358
- const title = stringField(part.title) || stringField(part.summary);
359
- if (title && /test/i.test(title)) {
360
- return "tests";
361
- }
362
- return undefined;
336
+ const meta = metaFromToolName(toolResult.toolName, undefined);
337
+ return { ...meta, purpose: meta.name === "Bash" ? toolResult.purpose : meta.purpose };
363
338
  }
364
339
  function isValidationPurpose(purpose) {
365
340
  return purpose === "tests" || purpose === "build" || purpose === "lint" || purpose === "typecheck";
@@ -368,6 +343,9 @@ function validationCategoryForPurpose(purpose) {
368
343
  return isValidationPurpose(purpose) ? purpose : undefined;
369
344
  }
370
345
  function safeToolCategory(meta) {
346
+ if (meta.category === "MCP") {
347
+ return "MCP";
348
+ }
371
349
  if (meta.name === "Bash") {
372
350
  const category = validationCategoryForPurpose(meta.purpose);
373
351
  return category ? `Bash:${category}` : undefined;
@@ -380,8 +358,19 @@ function safeToolCategory(meta) {
380
358
  }
381
359
  return undefined;
382
360
  }
383
- function isReadSearchTool(toolName) {
384
- return toolName === "Read" || toolName === "Grep" || toolName === "Glob" || toolName === "LS";
361
+ function metaFromToolName(toolName, input) {
362
+ const identity = classifyToolIdentity(toolName, input, { basenameOnly: true });
363
+ return {
364
+ name: identity.displayName,
365
+ purpose: identity.purpose,
366
+ category: identity.category,
367
+ identityHash: identity.identityHash,
368
+ isEdit: identity.isEdit,
369
+ isReadSearch: identity.isReadSearch && (identity.displayName === "Read" || identity.displayName === "Grep" || identity.displayName === "Glob" || identity.displayName === "LS")
370
+ };
371
+ }
372
+ function failureKey(meta) {
373
+ return meta.category === "MCP" && meta.identityHash ? `MCP:${meta.identityHash}` : `${meta.name}:${meta.purpose || "general"}`;
385
374
  }
386
375
  function truthyError(value) {
387
376
  if (value.is_error === true || value.isError === true || value.error === true) {
@@ -498,9 +487,16 @@ function baselineFromCounters(counters, sourceOptions, now) {
498
487
  },
499
488
  privacy: {
500
489
  rawPromptsStored: false,
490
+ rawAssistantTextStored: false,
501
491
  rawToolOutputStored: false,
492
+ rawShellOutputStored: false,
502
493
  rawPathsStored: false,
494
+ rawTranscriptPathsStored: false,
495
+ rawWorkspacePathsStored: false,
503
496
  rawCommandsStored: false,
497
+ rawFileContentsStored: false,
498
+ rawSessionIdsStored: false,
499
+ rawMcpNamesStored: false,
504
500
  perSessionRowsStored: false
505
501
  },
506
502
  recent: {
@@ -535,7 +531,9 @@ function baselineFromCounters(counters, sourceOptions, now) {
535
531
  },
536
532
  validation: validationAggregatesFromCounters(counters.validation),
537
533
  editValidation: editValidationFromCounters(counters.editValidation),
538
- toolCategories: toolCategoryAggregatesFromCounters(counters.toolCategories)
534
+ toolCategories: toolCategoryAggregatesFromCounters(counters.toolCategories),
535
+ failureRecovery: recoveryAggregatesFromCounters(counters.failureRecovery),
536
+ blindRetry: blindRetryAggregatesFromCounters(counters.failureRecovery)
539
537
  };
540
538
  }
541
539
  function scenario(seen, recentSeen) {
@@ -611,7 +609,8 @@ function emptyCounters() {
611
609
  },
612
610
  validation: emptyValidationCounters(),
613
611
  editValidation: emptyEditValidationCounters(),
614
- toolCategories: {}
612
+ toolCategories: {},
613
+ failureRecovery: emptyRecoveryBuildCounters()
615
614
  };
616
615
  }
617
616
  function emptySessionCounters() {
@@ -636,7 +635,8 @@ function emptySessionCounters() {
636
635
  repeatedFailure: false,
637
636
  validation: emptyValidationCounters(),
638
637
  editValidation: emptyEditValidationCounters(),
639
- toolCategories: {}
638
+ toolCategories: {},
639
+ failureRecovery: emptyRecoveryBuildCounters()
640
640
  };
641
641
  }
642
642
  function emptyValidationCounters() {
@@ -1 +1 @@
1
- {"version":3,"file":"baseline-builder.js","sourceRoot":"","sources":["../src/baseline-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"baseline-builder.js","sourceRoot":"","sources":["../src/baseline-builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ import { type BuildBaselineOptions } from "./baseline-builder.js";
2
+ import type { PersonalBaseline } from "./baseline.js";
3
+ export declare const BASELINE_REFRESH_LOCK_FILE = "baseline-refresh.lock";
4
+ export declare const DEFAULT_BASELINE_REFRESH_INTERVAL_HOURS = 24;
5
+ export declare const DEFAULT_BASELINE_REFRESH_LOCK_STALE_MS = 120000;
6
+ export declare const BASELINE_REFRESH_LOCK_HELD_ENV = "BB_CC_LITE_BASELINE_REFRESH_LOCK_HELD";
7
+ export interface BaselineRefreshLockMetadata {
8
+ startedAt: string;
9
+ pid: number;
10
+ }
11
+ export interface RefreshSpawnRequest {
12
+ command: string;
13
+ args: string[];
14
+ env: NodeJS.ProcessEnv;
15
+ }
16
+ export type RefreshSpawner = (request: RefreshSpawnRequest) => void;
17
+ export interface MaybeTriggerBaselineRefreshOptions {
18
+ baseline?: PersonalBaseline;
19
+ env?: NodeJS.ProcessEnv;
20
+ now?: Date;
21
+ intervalHours?: number;
22
+ lockStaleMs?: number;
23
+ homeDir?: string;
24
+ appHomePath?: string;
25
+ cliFilePath?: string;
26
+ spawnRefresh?: RefreshSpawner;
27
+ }
28
+ export interface BaselineRefreshTriggerResult {
29
+ triggered: boolean;
30
+ reason: "disabled" | "fresh" | "locked" | "spawned" | "error";
31
+ }
32
+ export interface RunBaselineRefreshOptions {
33
+ env?: NodeJS.ProcessEnv;
34
+ now?: Date;
35
+ lockStaleMs?: number;
36
+ homeDir?: string;
37
+ appHomePath?: string;
38
+ lockAlreadyHeld?: boolean;
39
+ build?: (options: BuildBaselineOptions) => Promise<{
40
+ baseline: PersonalBaseline;
41
+ written: boolean;
42
+ }>;
43
+ }
44
+ export interface BaselineRefreshResult {
45
+ ok: boolean;
46
+ written: boolean;
47
+ skipped?: "disabled" | "locked";
48
+ }
49
+ interface LockPathOptions {
50
+ homeDir?: string;
51
+ appHomePath?: string;
52
+ }
53
+ interface AcquireRefreshLockOptions extends LockPathOptions {
54
+ lockPath?: string;
55
+ now?: Date;
56
+ staleAfterMs?: number;
57
+ }
58
+ export declare function shouldAutoRefresh(env?: NodeJS.ProcessEnv): boolean;
59
+ export declare function refreshIntervalHoursFromEnv(env?: NodeJS.ProcessEnv): number;
60
+ export declare function baselineIsStale(baseline: PersonalBaseline | undefined, now?: Date, intervalHours?: number): boolean;
61
+ export declare function baselineRefreshLockPath(options?: LockPathOptions): string;
62
+ export declare function acquireRefreshLock(options?: AcquireRefreshLockOptions): Promise<boolean>;
63
+ export declare function releaseRefreshLock(lockPath: string): Promise<void>;
64
+ export declare function maybeTriggerBaselineRefresh(options?: MaybeTriggerBaselineRefreshOptions): Promise<BaselineRefreshTriggerResult>;
65
+ export declare function runBaselineRefresh(options?: RunBaselineRefreshOptions): Promise<BaselineRefreshResult>;
66
+ export {};