bb-cc-lite 0.1.6 → 0.1.8
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 +38 -29
- package/assets/statusline-demo.gif +0 -0
- package/dist/baseline-builder.js +64 -64
- package/dist/baseline-builder.js.map +1 -1
- package/dist/baseline-refresh.d.ts +66 -0
- package/dist/baseline-refresh.js +214 -0
- package/dist/baseline-refresh.js.map +1 -0
- package/dist/baseline.d.ts +11 -1
- package/dist/baseline.js +128 -4
- package/dist/baseline.js.map +1 -1
- package/dist/cli.js +33 -2
- package/dist/cli.js.map +1 -1
- package/dist/doctor.d.ts +1 -0
- package/dist/doctor.js +29 -0
- package/dist/doctor.js.map +1 -1
- package/dist/event-store-persistence.js +21 -3
- package/dist/event-store-persistence.js.map +1 -1
- package/dist/event-store-queries.d.ts +4 -1
- package/dist/event-store-queries.js +38 -11
- package/dist/event-store-queries.js.map +1 -1
- package/dist/failure-episodes.d.ts +21 -0
- package/dist/failure-episodes.js +266 -0
- package/dist/failure-episodes.js.map +1 -0
- package/dist/historical-replay.d.ts +21 -0
- package/dist/historical-replay.js +263 -0
- package/dist/historical-replay.js.map +1 -0
- package/dist/hook-payload.js +11 -7
- package/dist/hook-payload.js.map +1 -1
- package/dist/hook-summary.d.ts +4 -5
- package/dist/hook-summary.js +37 -11
- package/dist/hook-summary.js.map +1 -1
- package/dist/recovery-stats.d.ts +57 -0
- package/dist/recovery-stats.js +234 -0
- package/dist/recovery-stats.js.map +1 -0
- package/dist/settings.d.ts +1 -1
- package/dist/settings.js +7 -0
- package/dist/settings.js.map +1 -1
- package/dist/signals.js +173 -68
- package/dist/signals.js.map +1 -1
- package/dist/statusline.d.ts +5 -1
- package/dist/statusline.js +8 -3
- package/dist/statusline.js.map +1 -1
- package/dist/tool-metadata.d.ts +10 -0
- package/dist/tool-metadata.js +50 -2
- package/dist/tool-metadata.js.map +1 -1
- package/dist/transcript.js +106 -25
- package/dist/transcript.js.map +1 -1
- package/dist/types.d.ts +53 -0
- package/dist/why.js +1 -4
- package/dist/why.js.map +1 -1
- package/package.json +1 -1
package/dist/signals.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { sessionKeyFromId } from "./session.js";
|
|
2
2
|
import { mergeUsage } from "./status-input.js";
|
|
3
|
+
import { recoveryInsight } from "./recovery-stats.js";
|
|
3
4
|
export function decide(input, transcript, options = {}) {
|
|
4
5
|
const now = new Date().toISOString();
|
|
5
6
|
const usage = mergeUsage(input.usage, transcript.usage);
|
|
@@ -23,37 +24,89 @@ export function decide(input, transcript, options = {}) {
|
|
|
23
24
|
costSource
|
|
24
25
|
});
|
|
25
26
|
}
|
|
27
|
+
if (transcript.blindRetry && transcript.blindRetry.blindRetryFailureCount >= 3) {
|
|
28
|
+
const blindRetry = transcript.blindRetry;
|
|
29
|
+
return baseDecision({
|
|
30
|
+
state: "Stop",
|
|
31
|
+
reasonCode: "blind_retry_loop",
|
|
32
|
+
diagnosisCode: "blind_retry_loop",
|
|
33
|
+
diagnosis: `same failure retried ${blindRetry.blindRetryFailureCount}x without a fix`,
|
|
34
|
+
confidence: "high",
|
|
35
|
+
primaryEvidence: `same ${blindRetry.label} failed ${formatFailureCount(blindRetry.blindRetryFailureCount)} without a fix`,
|
|
36
|
+
impact: "Claude is repeating the same failure without a fix or passing check",
|
|
37
|
+
action: "stop and inspect first failure",
|
|
38
|
+
input,
|
|
39
|
+
usage,
|
|
40
|
+
transcript,
|
|
41
|
+
now,
|
|
42
|
+
sessionKey,
|
|
43
|
+
costUsd,
|
|
44
|
+
costSource
|
|
45
|
+
});
|
|
46
|
+
}
|
|
26
47
|
const repeatedFailure = transcript.repeatedFailures
|
|
27
48
|
.filter((item) => item.count >= 3)
|
|
28
49
|
.sort((a, b) => b.count - a.count)[0];
|
|
29
50
|
if (repeatedFailure) {
|
|
30
51
|
const runningTests = repeatedFailure.toolName === "Bash" && repeatedFailure.purpose === "tests";
|
|
31
|
-
const
|
|
52
|
+
const mcpFailure = isMcpFailure(repeatedFailure);
|
|
53
|
+
const validationPurpose = validationPurposeForFailure(repeatedFailure);
|
|
54
|
+
const validationLabel = validationPurpose ? validationPurposeLabel(validationPurpose) : undefined;
|
|
55
|
+
const baselineInsight = validationPurpose
|
|
56
|
+
? recoveryInsight(options.baseline, validationPurpose, repeatedFailure.count)
|
|
57
|
+
: mcpFailure
|
|
58
|
+
? recoveryInsight(options.baseline, "mcp", repeatedFailure.count)
|
|
59
|
+
: undefined;
|
|
60
|
+
const baselineUnrecoveredLoop = baselineInsight?.kind === "usually_unrecovered";
|
|
32
61
|
const baselineStopLike = runningTests && supportsValidationLoopStop(options.baseline);
|
|
33
62
|
return baseDecision({
|
|
34
63
|
state: "Stop",
|
|
35
64
|
reasonCode: "repeated_tool_failure",
|
|
36
|
-
diagnosisCode: runningTests ? "validation_command_loop" : "tool_failure_repeated",
|
|
37
|
-
diagnosis:
|
|
38
|
-
?
|
|
39
|
-
?
|
|
40
|
-
:
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
65
|
+
diagnosisCode: runningTests ? "validation_command_loop" : mcpFailure ? "mcp_tool_failure_repeated" : "tool_failure_repeated",
|
|
66
|
+
diagnosis: mcpFailure
|
|
67
|
+
? baselineUnrecoveredLoop && baselineInsight
|
|
68
|
+
? baselineInsight.diagnosis
|
|
69
|
+
: `MCP tool failed ${repeatedFailure.count}x`
|
|
70
|
+
: runningTests
|
|
71
|
+
? baselineUnrecoveredLoop && baselineInsight
|
|
72
|
+
? baselineInsight.diagnosis
|
|
73
|
+
: baselineStopLike
|
|
74
|
+
? "test loop: past runs ended badly"
|
|
75
|
+
: `test loop: failed ${repeatedFailure.count}x`
|
|
76
|
+
: validationLabel
|
|
77
|
+
? baselineUnrecoveredLoop && baselineInsight
|
|
78
|
+
? baselineInsight.diagnosis
|
|
79
|
+
: `${validationLabel} failed ${formatFailureCount(repeatedFailure.count)}`
|
|
80
|
+
: undefined,
|
|
81
|
+
confidence: baselineInsight?.confidence || "high",
|
|
82
|
+
baselineNote: baselineUnrecoveredLoop && baselineInsight
|
|
83
|
+
? baselineInsight.baselineNote
|
|
47
84
|
: baselineStopLike
|
|
48
|
-
? "usually
|
|
85
|
+
? "similar past loops usually needed intervention"
|
|
49
86
|
: undefined,
|
|
50
|
-
primaryEvidence:
|
|
51
|
-
impact:
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
87
|
+
primaryEvidence: repeatedFailureEvidence(repeatedFailure),
|
|
88
|
+
impact: mcpFailure
|
|
89
|
+
? "Claude is retrying the same failing MCP tool"
|
|
90
|
+
: runningTests
|
|
91
|
+
? "Claude is retrying a broken test loop"
|
|
92
|
+
: validationLabel
|
|
93
|
+
? `Claude is retrying a failing ${validationLabel} check`
|
|
94
|
+
: "Claude is retrying the same failing tool",
|
|
95
|
+
action: mcpFailure
|
|
96
|
+
? baselineUnrecoveredLoop
|
|
97
|
+
? "stop retrying and inspect first failure"
|
|
98
|
+
: "inspect MCP server/tool config before more retries"
|
|
99
|
+
: runningTests
|
|
100
|
+
? baselineUnrecoveredLoop
|
|
101
|
+
? "stop retrying and inspect first failure"
|
|
102
|
+
: "inspect first failure"
|
|
103
|
+
: validationLabel
|
|
104
|
+
? baselineUnrecoveredLoop
|
|
105
|
+
? "stop retrying and inspect first failure"
|
|
106
|
+
: `inspect the first ${validationLabel} failure, then rerun that check`
|
|
107
|
+
: repeatedFailure.toolName === "Bash"
|
|
108
|
+
? "fix the failing command manually, then ask Claude to rerun only that command"
|
|
109
|
+
: `inspect the failing ${repeatedFailure.toolName} step manually before more retries`,
|
|
57
110
|
input,
|
|
58
111
|
usage,
|
|
59
112
|
transcript,
|
|
@@ -69,7 +122,27 @@ export function decide(input, transcript, options = {}) {
|
|
|
69
122
|
reasonCode: "edit_test_retry_loop",
|
|
70
123
|
primaryEvidence: `edit-test loop failed ${transcript.editTestLoopFailures}x`,
|
|
71
124
|
impact: "More edits are likely to churn without a narrower failure target",
|
|
72
|
-
action: "inspect the failing test manually, then ask Claude for one
|
|
125
|
+
action: "inspect the failing test manually, then ask Claude for one targeted fix",
|
|
126
|
+
input,
|
|
127
|
+
usage,
|
|
128
|
+
transcript,
|
|
129
|
+
now,
|
|
130
|
+
sessionKey,
|
|
131
|
+
costUsd,
|
|
132
|
+
costSource
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
if (transcript.blindRetry && transcript.blindRetry.blindRetryFailureCount >= 2) {
|
|
136
|
+
const blindRetry = transcript.blindRetry;
|
|
137
|
+
return baseDecision({
|
|
138
|
+
state: "Careful",
|
|
139
|
+
reasonCode: "blind_retry",
|
|
140
|
+
diagnosisCode: "blind_retry_loop",
|
|
141
|
+
diagnosis: `same ${blindRetry.label} failed twice without a fix`,
|
|
142
|
+
confidence: "medium",
|
|
143
|
+
primaryEvidence: `same ${blindRetry.label} failed twice without a fix`,
|
|
144
|
+
impact: "Claude retried before making a successful edit or getting a passing check",
|
|
145
|
+
action: "inspect first failure",
|
|
73
146
|
input,
|
|
74
147
|
usage,
|
|
75
148
|
transcript,
|
|
@@ -84,24 +157,43 @@ export function decide(input, transcript, options = {}) {
|
|
|
84
157
|
.sort((a, b) => b.count - a.count)[0];
|
|
85
158
|
if (earlyRepeatedFailure) {
|
|
86
159
|
const runningTests = earlyRepeatedFailure.toolName === "Bash" && earlyRepeatedFailure.purpose === "tests";
|
|
160
|
+
const mcpFailure = isMcpFailure(earlyRepeatedFailure);
|
|
87
161
|
const validationPurpose = validationPurposeForFailure(earlyRepeatedFailure);
|
|
88
|
-
const
|
|
89
|
-
const
|
|
90
|
-
|
|
162
|
+
const validationLabel = validationPurpose ? validationPurposeLabel(validationPurpose) : undefined;
|
|
163
|
+
const baselineInsight = validationPurpose
|
|
164
|
+
? recoveryInsight(options.baseline, validationPurpose, earlyRepeatedFailure.count)
|
|
165
|
+
: mcpFailure
|
|
166
|
+
? recoveryInsight(options.baseline, "mcp", earlyRepeatedFailure.count)
|
|
167
|
+
: undefined;
|
|
168
|
+
const quickRecovery = baselineInsight?.kind === "usually_recovers";
|
|
91
169
|
return baseDecision({
|
|
92
170
|
state: "Careful",
|
|
93
171
|
reasonCode: "tool_failure_repeated",
|
|
94
|
-
diagnosisCode: validationPurpose ? "validation_command_loop" : "tool_failure_repeated",
|
|
95
|
-
diagnosis:
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
172
|
+
diagnosisCode: validationPurpose ? "validation_command_loop" : mcpFailure ? "mcp_tool_failure_repeated" : "tool_failure_repeated",
|
|
173
|
+
diagnosis: mcpFailure
|
|
174
|
+
? `MCP tool failed ${earlyRepeatedFailure.count}x`
|
|
175
|
+
: quickRecovery
|
|
176
|
+
? baselineInsight.diagnosis
|
|
177
|
+
: undefined,
|
|
178
|
+
confidence: quickRecovery ? baselineInsight.confidence : undefined,
|
|
179
|
+
baselineNote: quickRecovery ? baselineInsight.baselineNote : undefined,
|
|
180
|
+
primaryEvidence: repeatedFailureEvidence(earlyRepeatedFailure),
|
|
181
|
+
impact: mcpFailure
|
|
182
|
+
? "Claude is retrying the same failing MCP tool"
|
|
102
183
|
: runningTests
|
|
103
|
-
? "
|
|
104
|
-
:
|
|
184
|
+
? "Tests are failing repeatedly"
|
|
185
|
+
: validationLabel
|
|
186
|
+
? `${validationLabel} is failing repeatedly`
|
|
187
|
+
: "A tool is starting to repeat failures",
|
|
188
|
+
action: mcpFailure
|
|
189
|
+
? "inspect the failing MCP step before another retry"
|
|
190
|
+
: quickRecovery
|
|
191
|
+
? "inspect first failure"
|
|
192
|
+
: runningTests
|
|
193
|
+
? "pause and inspect the failing test before another retry"
|
|
194
|
+
: validationLabel
|
|
195
|
+
? `pause and inspect the failing ${validationLabel} before another retry`
|
|
196
|
+
: `inspect the failing ${earlyRepeatedFailure.toolName} step before another retry`,
|
|
105
197
|
input,
|
|
106
198
|
usage,
|
|
107
199
|
transcript,
|
|
@@ -143,7 +235,7 @@ export function decide(input, transcript, options = {}) {
|
|
|
143
235
|
costSource
|
|
144
236
|
});
|
|
145
237
|
}
|
|
146
|
-
if (transcript
|
|
238
|
+
if (hasOpenCompactionBoundary(transcript)) {
|
|
147
239
|
return baseDecision({
|
|
148
240
|
state: "Careful",
|
|
149
241
|
reasonCode: "compaction_boundary",
|
|
@@ -165,12 +257,12 @@ export function decide(input, transcript, options = {}) {
|
|
|
165
257
|
state: "Careful",
|
|
166
258
|
reasonCode: "edit_without_validation",
|
|
167
259
|
diagnosisCode: "edit_without_validation",
|
|
168
|
-
diagnosis: unusualEditLag ? "
|
|
260
|
+
diagnosis: unusualEditLag ? "edits have gone longer than usual without a check" : "edits have not been checked yet",
|
|
169
261
|
confidence: "medium",
|
|
170
|
-
baselineNote: unusualEditLag ? "
|
|
171
|
-
primaryEvidence: "edits not
|
|
172
|
-
impact: "A successful edit has not been checked by
|
|
173
|
-
action: "run
|
|
262
|
+
baselineNote: unusualEditLag ? "past sessions usually checked edits sooner" : undefined,
|
|
263
|
+
primaryEvidence: "edits have not been checked",
|
|
264
|
+
impact: "A successful edit has not been checked by a test, lint, typecheck, or build yet",
|
|
265
|
+
action: "ask Claude to run the smallest relevant check",
|
|
174
266
|
input,
|
|
175
267
|
usage,
|
|
176
268
|
transcript,
|
|
@@ -180,7 +272,7 @@ export function decide(input, transcript, options = {}) {
|
|
|
180
272
|
costSource
|
|
181
273
|
});
|
|
182
274
|
}
|
|
183
|
-
if (cacheWritesHigh(usage)) {
|
|
275
|
+
if (cacheWritesHigh(cacheRiskUsage(input.usage, transcript))) {
|
|
184
276
|
return baseDecision({
|
|
185
277
|
state: "Careful",
|
|
186
278
|
reasonCode: "cache_writes_high",
|
|
@@ -253,11 +345,11 @@ export function decide(input, transcript, options = {}) {
|
|
|
253
345
|
state: "Healthy",
|
|
254
346
|
reasonCode: "read_heavy_debugging",
|
|
255
347
|
diagnosisCode: "read_heavy_debugging",
|
|
256
|
-
diagnosis: "research
|
|
348
|
+
diagnosis: "research-heavy session usually ended OK",
|
|
257
349
|
confidence: options.baseline?.scenarios?.read_heavy_debugging?.confidence || "medium",
|
|
258
|
-
baselineNote: "
|
|
350
|
+
baselineNote: "similar research-heavy sessions usually ended OK",
|
|
259
351
|
primaryEvidence: `${transcript.readToolCalls} read/search tool calls`,
|
|
260
|
-
impact: "This matches
|
|
352
|
+
impact: "This matches past research-heavy sessions that ended OK",
|
|
261
353
|
action: "continue",
|
|
262
354
|
input,
|
|
263
355
|
usage,
|
|
@@ -327,6 +419,24 @@ function cacheWritesHigh(usage) {
|
|
|
327
419
|
const reads = usage.cacheReadInputTokens || 0;
|
|
328
420
|
return writes >= 10_000 && reads < writes * 0.2;
|
|
329
421
|
}
|
|
422
|
+
function cacheRiskUsage(inputUsage, transcript) {
|
|
423
|
+
if (hasCacheUsage(inputUsage)) {
|
|
424
|
+
return inputUsage;
|
|
425
|
+
}
|
|
426
|
+
return hasFreshTranscriptCacheUsage(transcript) ? transcript.latestUsage || {} : {};
|
|
427
|
+
}
|
|
428
|
+
function hasFreshTranscriptCacheUsage(transcript) {
|
|
429
|
+
if (!transcript.latestUsage || !hasCacheUsage(transcript.latestUsage)) {
|
|
430
|
+
return false;
|
|
431
|
+
}
|
|
432
|
+
if (!transcript.latestTimestamp || !transcript.latestUsageTimestamp) {
|
|
433
|
+
return true;
|
|
434
|
+
}
|
|
435
|
+
return transcript.latestUsageTimestamp >= transcript.latestTimestamp;
|
|
436
|
+
}
|
|
437
|
+
function hasCacheUsage(usage) {
|
|
438
|
+
return usage.cacheCreationInputTokens !== undefined || usage.cacheReadInputTokens !== undefined;
|
|
439
|
+
}
|
|
330
440
|
function cacheWarm(usage) {
|
|
331
441
|
const reads = usage.cacheReadInputTokens || 0;
|
|
332
442
|
const writes = usage.cacheCreationInputTokens || 0;
|
|
@@ -339,6 +449,9 @@ function isReadHeavyCurrentSession(transcript) {
|
|
|
339
449
|
transcript.failedToolResults === 0 &&
|
|
340
450
|
!transcript.hasUnvalidatedEdits);
|
|
341
451
|
}
|
|
452
|
+
function hasOpenCompactionBoundary(transcript) {
|
|
453
|
+
return transcript.compactionEvents > 0 && transcript.postCompactionActivity === 0;
|
|
454
|
+
}
|
|
342
455
|
function supportsReadHeavyHealthy(baseline) {
|
|
343
456
|
const scenario = baseline?.scenarios?.read_heavy_debugging;
|
|
344
457
|
const healthyCount = baseline?.outcomes?.healthyLike?.readHeavyNoFailure || 0;
|
|
@@ -352,20 +465,7 @@ function supportsReadHeavyHealthy(baseline) {
|
|
|
352
465
|
function supportsValidationLoopStop(baseline) {
|
|
353
466
|
const scenario = baseline?.scenarios?.validation_command_loop;
|
|
354
467
|
const stopCount = baseline?.outcomes?.stopLike?.validationLoopUnrecovered || 0;
|
|
355
|
-
return Boolean(scenario && scenario.seen >=
|
|
356
|
-
}
|
|
357
|
-
function supportsUnrecoveredTestLoopStop(baseline) {
|
|
358
|
-
const scenario = baseline?.scenarios?.validation_command_loop;
|
|
359
|
-
const tests = baseline?.validation?.tests;
|
|
360
|
-
const unrecovered = tests?.unrecovered || 0;
|
|
361
|
-
const recovered = tests?.recovered || 0;
|
|
362
|
-
const recentSeen = scenario?.recentSeen || 0;
|
|
363
|
-
return Boolean(scenario &&
|
|
364
|
-
recentSeen >= 3 &&
|
|
365
|
-
scenario.confidence !== "low" &&
|
|
366
|
-
unrecovered >= 3 &&
|
|
367
|
-
unrecovered > recovered &&
|
|
368
|
-
(tests?.recoveryRate || 0) <= 0.5);
|
|
468
|
+
return Boolean(scenario && scenario.seen >= 5 && scenario.confidence !== "low" && stopCount >= 5);
|
|
369
469
|
}
|
|
370
470
|
function validationPurposeForFailure(failure) {
|
|
371
471
|
if (failure.toolName !== "Bash") {
|
|
@@ -375,16 +475,21 @@ function validationPurposeForFailure(failure) {
|
|
|
375
475
|
? failure.purpose
|
|
376
476
|
: undefined;
|
|
377
477
|
}
|
|
378
|
-
function
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
const
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
478
|
+
function isMcpFailure(failure) {
|
|
479
|
+
return failure.category === "MCP" || failure.toolName === "MCP tool";
|
|
480
|
+
}
|
|
481
|
+
function repeatedFailureEvidence(failure) {
|
|
482
|
+
const validationPurpose = validationPurposeForFailure(failure);
|
|
483
|
+
if (validationPurpose) {
|
|
484
|
+
return `${validationPurposeLabel(validationPurpose)} failed ${formatFailureCount(failure.count)}`;
|
|
485
|
+
}
|
|
486
|
+
return `${isMcpFailure(failure) ? "MCP tool" : failure.toolName} failed ${failure.count}x${failure.toolName === "Bash" && failure.purpose === "tests" ? " running tests" : ""}`;
|
|
487
|
+
}
|
|
488
|
+
function validationPurposeLabel(purpose) {
|
|
489
|
+
return purpose === "tests" ? "tests" : purpose;
|
|
490
|
+
}
|
|
491
|
+
function formatFailureCount(count) {
|
|
492
|
+
return count === 2 ? "twice" : `${count}x`;
|
|
388
493
|
}
|
|
389
494
|
function hasUnusualEditValidationLag(transcript, baseline) {
|
|
390
495
|
const currentLag = transcript.unvalidatedEditToolSteps;
|
package/dist/signals.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signals.js","sourceRoot":"","sources":["../src/signals.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"signals.js","sourceRoot":"","sources":["../src/signals.ts"],"names":[],"mappings":"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"}
|
package/dist/statusline.d.ts
CHANGED
|
@@ -1 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
import { type MaybeTriggerBaselineRefreshOptions } from "./baseline-refresh.js";
|
|
2
|
+
export interface CreateStatusLineOptions {
|
|
3
|
+
baselineRefresh?: Omit<MaybeTriggerBaselineRefreshOptions, "baseline">;
|
|
4
|
+
}
|
|
5
|
+
export declare function createStatusLine(rawInput: string, terminalColumns?: number, options?: CreateStatusLineOptions): Promise<string>;
|
package/dist/statusline.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { mergeHookSummary } from "./hook-summary.js";
|
|
2
2
|
import { readBaseline } from "./baseline.js";
|
|
3
|
+
import { maybeTriggerBaselineRefresh } from "./baseline-refresh.js";
|
|
3
4
|
import { toDecisionPresentation } from "./decision-presentation.js";
|
|
4
5
|
import { estimateCostUsd, loadPricing } from "./pricing.js";
|
|
5
6
|
import { renderStatusLine } from "./renderer.js";
|
|
@@ -12,9 +13,11 @@ const EMPTY_HOOK_SUMMARY = {
|
|
|
12
13
|
failedToolResults: 0,
|
|
13
14
|
toolCalls: 0,
|
|
14
15
|
compactionEvents: 0,
|
|
15
|
-
|
|
16
|
+
postCompactionActivity: 0,
|
|
17
|
+
repeatedFailures: [],
|
|
18
|
+
blindRetry: undefined
|
|
16
19
|
};
|
|
17
|
-
export async function createStatusLine(rawInput, terminalColumns) {
|
|
20
|
+
export async function createStatusLine(rawInput, terminalColumns, options = {}) {
|
|
18
21
|
const input = parseStatusLineInput(rawInput);
|
|
19
22
|
const sessionKey = sessionKeyFromId(input.sessionId);
|
|
20
23
|
const transcript = mergeHookSummary(await parseTranscriptTail(input.transcriptPath), sessionKey ? await hookSummary(sessionKey) : EMPTY_HOOK_SUMMARY);
|
|
@@ -27,8 +30,10 @@ export async function createStatusLine(rawInput, terminalColumns) {
|
|
|
27
30
|
}
|
|
28
31
|
}
|
|
29
32
|
const previous = sessionKey ? await latestDecision(sessionKey) : undefined;
|
|
30
|
-
const
|
|
33
|
+
const baseline = await readBaseline();
|
|
34
|
+
const decision = decide(input, transcript, { previous, baseline });
|
|
31
35
|
await recordDecision(decision);
|
|
36
|
+
await maybeTriggerBaselineRefresh({ ...options.baselineRefresh, baseline });
|
|
32
37
|
return renderStatusLine(toDecisionPresentation(decision), input.terminalWidth || terminalColumns);
|
|
33
38
|
}
|
|
34
39
|
//# sourceMappingURL=statusline.js.map
|
package/dist/statusline.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"statusline.js","sourceRoot":"","sources":["../src/statusline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,MAAM,kBAAkB,GAAG;IACzB,iBAAiB,EAAE,CAAC;IACpB,SAAS,EAAE,CAAC;IACZ,gBAAgB,EAAE,CAAC;IACnB,gBAAgB,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"statusline.js","sourceRoot":"","sources":["../src/statusline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,2BAA2B,EAA2C,MAAM,uBAAuB,CAAC;AAC7G,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,MAAM,kBAAkB,GAAG;IACzB,iBAAiB,EAAE,CAAC;IACpB,SAAS,EAAE,CAAC;IACZ,gBAAgB,EAAE,CAAC;IACnB,sBAAsB,EAAE,CAAC;IACzB,gBAAgB,EAAE,EAAE;IACpB,UAAU,EAAE,SAAS;CACtB,CAAC;AAMF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,QAAgB,EAChB,eAAwB,EACxB,UAAmC,EAAE;IAErC,MAAM,KAAK,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,gBAAgB,CACjC,MAAM,mBAAmB,CAAC,KAAK,CAAC,cAAc,CAAC,EAC/C,UAAU,CAAC,CAAC,CAAC,MAAM,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAChE,CAAC;IACF,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IAExD,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,WAAW,EAAE,CAAC,CAAC;QACzG,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC;YAC1B,KAAK,CAAC,UAAU,GAAG,WAAW,CAAC;QACjC,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3E,MAAM,QAAQ,GAAG,MAAM,YAAY,EAAE,CAAC;IACtC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnE,MAAM,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC/B,MAAM,2BAA2B,CAAC,EAAE,GAAG,OAAO,CAAC,eAAe,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC5E,OAAO,gBAAgB,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,aAAa,IAAI,eAAe,CAAC,CAAC;AACpG,CAAC"}
|
package/dist/tool-metadata.d.ts
CHANGED
|
@@ -1,8 +1,18 @@
|
|
|
1
1
|
interface SafeToolNameOptions {
|
|
2
2
|
basenameOnly?: boolean;
|
|
3
3
|
}
|
|
4
|
+
export interface ToolIdentity {
|
|
5
|
+
displayName: string;
|
|
6
|
+
category?: "MCP";
|
|
7
|
+
identityHash?: string;
|
|
8
|
+
purpose?: string;
|
|
9
|
+
isEdit: boolean;
|
|
10
|
+
isReadSearch: boolean;
|
|
11
|
+
}
|
|
12
|
+
export declare function classifyToolIdentity(toolName: string | undefined, input?: unknown, options?: SafeToolNameOptions): ToolIdentity;
|
|
4
13
|
export declare function classifyToolPurpose(toolName: string, input: unknown, options?: SafeToolNameOptions): string | undefined;
|
|
5
14
|
export declare function classifyResultPurpose(part: Record<string, unknown>): string | undefined;
|
|
6
15
|
export declare function isEditTool(toolName: string, options?: SafeToolNameOptions): boolean;
|
|
16
|
+
export declare function isReadSearchTool(toolName: string, options?: SafeToolNameOptions): boolean;
|
|
7
17
|
export declare function safeToolName(toolName: string | undefined, options?: SafeToolNameOptions): string;
|
|
8
18
|
export {};
|
package/dist/tool-metadata.js
CHANGED
|
@@ -1,9 +1,29 @@
|
|
|
1
1
|
import { basename } from "node:path";
|
|
2
|
+
import { hashValue } from "./paths.js";
|
|
2
3
|
import { asRecord, stringField } from "./status-input.js";
|
|
3
4
|
const TEST_COMMAND_RE = /\b(npm|pnpm|yarn|bun)\s+(run\s+)?(test|vitest|jest)|\b(vitest|jest|mocha|pytest|cargo\s+test|go\s+test|rspec|playwright\s+test)\b/i;
|
|
4
5
|
const LINT_COMMAND_RE = /\b(npm|pnpm|yarn|bun)\s+(run\s+)?lint\b|\b(eslint|ruff|flake8|cargo\s+clippy)\b/i;
|
|
5
6
|
const TYPECHECK_COMMAND_RE = /\b(npm|pnpm|yarn|bun)\s+(run\s+)?typecheck\b|\btsc\s+--noEmit\b|\bmypy\b/i;
|
|
6
7
|
const BUILD_COMMAND_RE = /\b(npm|pnpm|yarn|bun)\s+(run\s+)?(build|compile)\b|\b(tsc|vite\s+build|cargo\s+build|go\s+build)\b/i;
|
|
8
|
+
export function classifyToolIdentity(toolName, input, options = {}) {
|
|
9
|
+
const candidate = rawToolNameCandidate(toolName, options) || "";
|
|
10
|
+
if (candidate && isMcpToolName(candidate)) {
|
|
11
|
+
return {
|
|
12
|
+
displayName: "MCP tool",
|
|
13
|
+
category: "MCP",
|
|
14
|
+
identityHash: hashValue(candidate),
|
|
15
|
+
isEdit: false,
|
|
16
|
+
isReadSearch: false
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
const displayName = safeToolName(toolName, options);
|
|
20
|
+
return {
|
|
21
|
+
displayName,
|
|
22
|
+
purpose: classifyToolPurpose(displayName, input),
|
|
23
|
+
isEdit: isEditTool(displayName),
|
|
24
|
+
isReadSearch: isReadSearchTool(displayName)
|
|
25
|
+
};
|
|
26
|
+
}
|
|
7
27
|
export function classifyToolPurpose(toolName, input, options = {}) {
|
|
8
28
|
if (safeToolName(toolName, options) !== "Bash") {
|
|
9
29
|
return undefined;
|
|
@@ -42,11 +62,39 @@ export function classifyResultPurpose(part) {
|
|
|
42
62
|
export function isEditTool(toolName, options = {}) {
|
|
43
63
|
return /^(Edit|MultiEdit|Write|NotebookEdit)$/u.test(safeToolName(toolName, options));
|
|
44
64
|
}
|
|
65
|
+
export function isReadSearchTool(toolName, options = {}) {
|
|
66
|
+
return /^(Read|Grep|Glob|LS|WebFetch|WebSearch)$/u.test(safeToolName(toolName, options));
|
|
67
|
+
}
|
|
45
68
|
export function safeToolName(toolName, options = {}) {
|
|
46
69
|
if (!toolName) {
|
|
47
70
|
return "tool";
|
|
48
71
|
}
|
|
49
|
-
const candidate =
|
|
50
|
-
return
|
|
72
|
+
const candidate = rawToolNameCandidate(toolName, options) || "";
|
|
73
|
+
return APPROVED_BUILT_IN_TOOL_NAMES.has(candidate) ? candidate : "tool";
|
|
74
|
+
}
|
|
75
|
+
function rawToolNameCandidate(toolName, options) {
|
|
76
|
+
if (!toolName) {
|
|
77
|
+
return undefined;
|
|
78
|
+
}
|
|
79
|
+
return options.basenameOnly ? basename(toolName) : toolName;
|
|
80
|
+
}
|
|
81
|
+
function isMcpToolName(toolName) {
|
|
82
|
+
return toolName.startsWith("mcp__");
|
|
51
83
|
}
|
|
84
|
+
const APPROVED_BUILT_IN_TOOL_NAMES = new Set([
|
|
85
|
+
"Bash",
|
|
86
|
+
"Edit",
|
|
87
|
+
"ExitPlanMode",
|
|
88
|
+
"Glob",
|
|
89
|
+
"Grep",
|
|
90
|
+
"LS",
|
|
91
|
+
"MultiEdit",
|
|
92
|
+
"NotebookEdit",
|
|
93
|
+
"Read",
|
|
94
|
+
"Task",
|
|
95
|
+
"TodoWrite",
|
|
96
|
+
"WebFetch",
|
|
97
|
+
"WebSearch",
|
|
98
|
+
"Write"
|
|
99
|
+
]);
|
|
52
100
|
//# sourceMappingURL=tool-metadata.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-metadata.js","sourceRoot":"","sources":["../src/tool-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE1D,MAAM,eAAe,GACnB,oIAAoI,CAAC;AACvI,MAAM,eAAe,GAAG,kFAAkF,CAAC;AAC3G,MAAM,oBAAoB,GAAG,2EAA2E,CAAC;AACzG,MAAM,gBAAgB,GAAG,qGAAqG,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-metadata.js","sourceRoot":"","sources":["../src/tool-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE1D,MAAM,eAAe,GACnB,oIAAoI,CAAC;AACvI,MAAM,eAAe,GAAG,kFAAkF,CAAC;AAC3G,MAAM,oBAAoB,GAAG,2EAA2E,CAAC;AACzG,MAAM,gBAAgB,GAAG,qGAAqG,CAAC;AAe/H,MAAM,UAAU,oBAAoB,CAClC,QAA4B,EAC5B,KAAe,EACf,UAA+B,EAAE;IAEjC,MAAM,SAAS,GAAG,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;IAChE,IAAI,SAAS,IAAI,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1C,OAAO;YACL,WAAW,EAAE,UAAU;YACvB,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,SAAS,CAAC,SAAS,CAAC;YAClC,MAAM,EAAE,KAAK;YACb,YAAY,EAAE,KAAK;SACpB,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACpD,OAAO;QACL,WAAW;QACX,OAAO,EAAE,mBAAmB,CAAC,WAAW,EAAE,KAAK,CAAC;QAChD,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC;QAC/B,YAAY,EAAE,gBAAgB,CAAC,WAAW,CAAC;KAC5C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,QAAgB,EAChB,KAAc,EACd,UAA+B,EAAE;IAEjC,IAAI,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,MAAM,EAAE,CAAC;QAC/C,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;IACtD,IAAI,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7C,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,IAAI,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7C,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,OAAO,IAAI,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAClD,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,IAAI,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9C,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAA6B;IACjE,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnE,IAAI,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,IAAI,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,KAAK,IAAI,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACrD,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,IAAI,KAAK,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1C,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,QAAgB,EAAE,UAA+B,EAAE;IAC5E,OAAO,wCAAwC,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AACxF,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,QAAgB,EAAE,UAA+B,EAAE;IAClF,OAAO,2CAA2C,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AAC3F,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,QAA4B,EAAE,UAA+B,EAAE;IAC1F,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,SAAS,GAAG,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;IAChE,OAAO,4BAA4B,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;AAC1E,CAAC;AAED,SAAS,oBAAoB,CAAC,QAA4B,EAAE,OAA4B;IACtF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC9D,CAAC;AAED,SAAS,aAAa,CAAC,QAAgB;IACrC,OAAO,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,4BAA4B,GAAG,IAAI,GAAG,CAAC;IAC3C,MAAM;IACN,MAAM;IACN,cAAc;IACd,MAAM;IACN,MAAM;IACN,IAAI;IACJ,WAAW;IACX,cAAc;IACd,MAAM;IACN,MAAM;IACN,WAAW;IACX,UAAU;IACV,WAAW;IACX,OAAO;CACR,CAAC,CAAC"}
|