@rcrsr/claude-code-runner 0.5.0 → 0.6.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.
- package/README.md +2 -2
- package/dist/index.js +17 -16
- package/dist/index.js.map +1 -1
- package/dist/output/colors.d.ts +11 -1
- package/dist/output/colors.d.ts.map +1 -1
- package/dist/output/colors.js +20 -6
- package/dist/output/colors.js.map +1 -1
- package/dist/output/formatter.d.ts +19 -0
- package/dist/output/formatter.d.ts.map +1 -1
- package/dist/output/formatter.js +71 -33
- package/dist/output/formatter.js.map +1 -1
- package/dist/output/index.d.ts +1 -0
- package/dist/output/index.d.ts.map +1 -1
- package/dist/output/index.js +1 -0
- package/dist/output/index.js.map +1 -1
- package/dist/output/logger.js +2 -2
- package/dist/output/logger.js.map +1 -1
- package/dist/output/stats.d.ts +73 -0
- package/dist/output/stats.d.ts.map +1 -0
- package/dist/output/stats.js +154 -0
- package/dist/output/stats.js.map +1 -0
- package/dist/types/claude.d.ts +12 -0
- package/dist/types/claude.d.ts.map +1 -1
- package/dist/types/claude.js.map +1 -1
- package/dist/utils/constants.d.ts +2 -0
- package/dist/utils/constants.d.ts.map +1 -1
- package/dist/utils/constants.js +2 -0
- package/dist/utils/constants.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -205,7 +205,7 @@ Each invocation: Claude finds the next unchecked step → implements it → mark
|
|
|
205
205
|
For retry-based patterns where Claude validates its own work:
|
|
206
206
|
|
|
207
207
|
```bash
|
|
208
|
-
claude-code-runner "Fix all lint errors. Run the linter after each fix. Output :::RUNNER::REPEAT_STEP::: if errors remain, nothing if clean."
|
|
208
|
+
claude-code-runner prompt "Fix all lint errors. Run the linter after each fix. Output :::RUNNER::REPEAT_STEP::: if errors remain, nothing if clean."
|
|
209
209
|
```
|
|
210
210
|
|
|
211
211
|
Or as a template (`.claude/commands/fix-tests.md`):
|
|
@@ -229,7 +229,7 @@ For CI/CD integration:
|
|
|
229
229
|
|
|
230
230
|
| Code | Meaning |
|
|
231
231
|
| ---- | -------------------------------------------- |
|
|
232
|
-
| 0 | Success (
|
|
232
|
+
| 0 | Success (no signal or clean exit) |
|
|
233
233
|
| 1 | Error (`ERROR`, `BLOCKED`, or non-zero exit) |
|
|
234
234
|
|
|
235
235
|
## Logs
|
package/dist/index.js
CHANGED
|
@@ -8,12 +8,11 @@ import { parseArgs } from './cli/args.js';
|
|
|
8
8
|
import { runWithSignals, } from './core/runner.js';
|
|
9
9
|
import { createDeadDropClientFromEnv } from './deaddrop/index.js';
|
|
10
10
|
import { configureDeadDrop, flushDeadDrop, printRunner, printRunnerInfo, } from './output/colors.js';
|
|
11
|
-
import { createFormatterState } from './output/formatter.js';
|
|
11
|
+
import { createFormatterState, finalizeStepStats, getRunStatsSummary, resetFormatterState, } from './output/formatter.js';
|
|
12
12
|
import { createLogger } from './output/logger.js';
|
|
13
13
|
import { captureOutput, createVariableStore, getSubstitutionList, loadScript, substituteVariables, } from './script/index.js';
|
|
14
14
|
import { loadCommandTemplate } from './templates/command.js';
|
|
15
15
|
import { DEFAULT_CONFIG } from './types/runner.js';
|
|
16
|
-
import { formatSize } from './utils/formatting.js';
|
|
17
16
|
/**
|
|
18
17
|
* Generate a short unique run ID (8 chars, uppercase)
|
|
19
18
|
*/
|
|
@@ -104,7 +103,9 @@ async function main() {
|
|
|
104
103
|
*/
|
|
105
104
|
function getDisplayLine(line) {
|
|
106
105
|
if (line.type === 'prompt') {
|
|
107
|
-
|
|
106
|
+
// Replace newlines with spaces for single-line display
|
|
107
|
+
const cleaned = line.text.replace(/[\r\n]+/g, ' ').trim();
|
|
108
|
+
const preview = cleaned.length > 50 ? cleaned.slice(0, 50) + '...' : cleaned;
|
|
108
109
|
return `"${preview}"`;
|
|
109
110
|
}
|
|
110
111
|
return `command("${line.name}")`;
|
|
@@ -114,7 +115,6 @@ function getDisplayLine(line) {
|
|
|
114
115
|
*/
|
|
115
116
|
async function runScript(lines, scriptArgs, context, startTime) {
|
|
116
117
|
const store = createVariableStore();
|
|
117
|
-
let completedSteps = 0;
|
|
118
118
|
for (const [i, line] of lines.entries()) {
|
|
119
119
|
const stepNum = i + 1;
|
|
120
120
|
const displayLine = getDisplayLine(line);
|
|
@@ -137,30 +137,31 @@ async function runScript(lines, scriptArgs, context, startTime) {
|
|
|
137
137
|
text: finalPrompt,
|
|
138
138
|
});
|
|
139
139
|
const withClause = formatVarsUsed(varsUsed);
|
|
140
|
-
// Set step number for formatter output
|
|
140
|
+
// Set step number and start time for formatter output
|
|
141
141
|
context.formatterState.currentStep = stepNum;
|
|
142
|
+
context.formatterState.stepStartTime = Date.now();
|
|
142
143
|
// Run via runWithSignals (handles iterations, signals, output)
|
|
143
144
|
const stepContext = { stepNum };
|
|
144
145
|
const result = await runWithSignals(finalPrompt, `${withClause}${substitutedDisplay}`, startTime, context, stepContext);
|
|
145
146
|
// Capture output for variable store
|
|
146
147
|
captureOutput(store, result.claudeText, line.capture);
|
|
147
|
-
//
|
|
148
|
-
const
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
const
|
|
152
|
-
printRunner(`
|
|
148
|
+
// Finalize step stats and print completion
|
|
149
|
+
const stepDurationMs = context.formatterState.stepStartTime
|
|
150
|
+
? Date.now() - context.formatterState.stepStartTime
|
|
151
|
+
: (context.formatterState.lastStepDurationMs ?? 0);
|
|
152
|
+
const stepSummary = finalizeStepStats(context.formatterState, stepDurationMs);
|
|
153
|
+
printRunner(`Step ${stepNum} complete: ${stepSummary}`);
|
|
153
154
|
// Handle failure (runWithSignals already printed the error)
|
|
154
155
|
if (result.status !== 'ok') {
|
|
155
156
|
return false;
|
|
156
157
|
}
|
|
157
|
-
|
|
158
|
+
// Reset step stats for next step (preserves runStats)
|
|
159
|
+
resetFormatterState(context.formatterState);
|
|
158
160
|
}
|
|
159
|
-
// Print completion with
|
|
161
|
+
// Print run completion with overall stats
|
|
160
162
|
const totalDuration = Date.now() - startTime;
|
|
161
|
-
const
|
|
162
|
-
|
|
163
|
-
printRunner(`Completed run ${context.runId} (${completedSteps} ${stepWord}) in ${durationSec}s`);
|
|
163
|
+
const runSummary = getRunStatsSummary(context.formatterState, totalDuration);
|
|
164
|
+
printRunner(`Run ${context.runId} complete: ${runSummary}`);
|
|
164
165
|
return true;
|
|
165
166
|
}
|
|
166
167
|
// Run main
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAEL,cAAc,GAEf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/output/colors.d.ts
CHANGED
|
@@ -16,6 +16,16 @@ export declare const colors: {
|
|
|
16
16
|
};
|
|
17
17
|
export type ColorName = keyof typeof colors;
|
|
18
18
|
export declare function stripAnsi(str: string): string;
|
|
19
|
+
/**
|
|
20
|
+
* Strip carriage returns for cleaner terminal display
|
|
21
|
+
* Tool outputs sometimes contain CRs that cause display issues
|
|
22
|
+
*/
|
|
23
|
+
export declare function stripCR(str: string): string;
|
|
24
|
+
/**
|
|
25
|
+
* Log to terminal with CR stripping for clean display
|
|
26
|
+
* Use this for all terminal output in the formatter
|
|
27
|
+
*/
|
|
28
|
+
export declare function terminalLog(line: string): void;
|
|
19
29
|
/**
|
|
20
30
|
* Apply color to a string
|
|
21
31
|
*/
|
|
@@ -26,7 +36,7 @@ export declare function colorize(text: string, color: ColorName): string;
|
|
|
26
36
|
export declare function truncate(str: string, len: number): string;
|
|
27
37
|
/**
|
|
28
38
|
* Format duration in human-readable form
|
|
29
|
-
* Examples: 450ms, 2.5s,
|
|
39
|
+
* Examples: 450ms, 2.5s, 1m 30s, 1h 2m 3s
|
|
30
40
|
*/
|
|
31
41
|
export declare function formatDuration(ms: number): string;
|
|
32
42
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../src/output/colors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,iBAAiB,EACjB,aAAa,EAEd,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,CAAC;AAE5C,eAAO,MAAM,MAAM;;;;;;;;;;CAUT,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,MAAM,CAAC;AAQ5C,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,CAE/D;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAKzD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAejD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAOpD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,GAAE,IAAiB,GAAG,MAAM,CAM/D;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,aAAa,CAAC;AAEpD;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAC3B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,YAAY,KACf,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAKjD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAIrD;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAK1E"}
|
|
1
|
+
{"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../src/output/colors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,iBAAiB,EACjB,aAAa,EAEd,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,CAAC;AAE5C,eAAO,MAAM,MAAM;;;;;;;;;;CAUT,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,MAAM,CAAC;AAQ5C,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE3C;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAE9C;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,CAE/D;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAKzD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAejD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAOpD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,GAAE,IAAiB,GAAG,MAAM,CAM/D;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,aAAa,CAAC;AAEpD;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAC3B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,YAAY,KACf,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAKjD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAIrD;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAK1E"}
|
package/dist/output/colors.js
CHANGED
|
@@ -23,6 +23,20 @@ const ANSI_REGEX = /\x1b\[[0-9;]*[a-zA-Z]/g;
|
|
|
23
23
|
export function stripAnsi(str) {
|
|
24
24
|
return str.replace(ANSI_REGEX, '');
|
|
25
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* Strip carriage returns for cleaner terminal display
|
|
28
|
+
* Tool outputs sometimes contain CRs that cause display issues
|
|
29
|
+
*/
|
|
30
|
+
export function stripCR(str) {
|
|
31
|
+
return str.replace(/\r/g, '');
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Log to terminal with CR stripping for clean display
|
|
35
|
+
* Use this for all terminal output in the formatter
|
|
36
|
+
*/
|
|
37
|
+
export function terminalLog(line) {
|
|
38
|
+
console.log(stripCR(line));
|
|
39
|
+
}
|
|
26
40
|
/**
|
|
27
41
|
* Apply color to a string
|
|
28
42
|
*/
|
|
@@ -40,7 +54,7 @@ export function truncate(str, len) {
|
|
|
40
54
|
}
|
|
41
55
|
/**
|
|
42
56
|
* Format duration in human-readable form
|
|
43
|
-
* Examples: 450ms, 2.5s,
|
|
57
|
+
* Examples: 450ms, 2.5s, 1m 30s, 1h 2m 3s
|
|
44
58
|
*/
|
|
45
59
|
export function formatDuration(ms) {
|
|
46
60
|
if (ms < 1000) {
|
|
@@ -54,9 +68,9 @@ export function formatDuration(ms) {
|
|
|
54
68
|
const mins = Math.floor((totalSeconds % 3600) / 60);
|
|
55
69
|
const secs = Math.round(totalSeconds % 60);
|
|
56
70
|
if (hours > 0) {
|
|
57
|
-
return `${hours}h${mins}m${secs}s`;
|
|
71
|
+
return `${hours}h ${mins}m ${secs}s`;
|
|
58
72
|
}
|
|
59
|
-
return `${mins}m${secs}s`;
|
|
73
|
+
return `${mins}m ${secs}s`;
|
|
60
74
|
}
|
|
61
75
|
/**
|
|
62
76
|
* Shorten file paths by removing common prefixes
|
|
@@ -90,7 +104,7 @@ export function timestampPrefix() {
|
|
|
90
104
|
* Automatically sends to Deaddrop if configured (without prefix)
|
|
91
105
|
*/
|
|
92
106
|
export function printRunner(message) {
|
|
93
|
-
|
|
107
|
+
terminalLog(`${timestampPrefix()}${colors.magenta}[RUNNER]${colors.reset} ${message}`);
|
|
94
108
|
sendToDeadDrop(stripAnsi(message), 'Runner');
|
|
95
109
|
}
|
|
96
110
|
/**
|
|
@@ -98,7 +112,7 @@ export function printRunner(message) {
|
|
|
98
112
|
* Does NOT send to Deaddrop (used for startup config, debug info)
|
|
99
113
|
*/
|
|
100
114
|
export function printRunnerInfo(message) {
|
|
101
|
-
|
|
115
|
+
terminalLog(`${timestampPrefix()}${colors.magenta}[RUNNER]${colors.reset} ${message}`);
|
|
102
116
|
}
|
|
103
117
|
/**
|
|
104
118
|
* Print a [CLAUDE] message with timestamp
|
|
@@ -107,7 +121,7 @@ export function printRunnerInfo(message) {
|
|
|
107
121
|
* @param rawForDeaddrop - Original unmodified text to send to deaddrop (preserves newlines)
|
|
108
122
|
*/
|
|
109
123
|
export function printClaude(message, rawForDeaddrop) {
|
|
110
|
-
|
|
124
|
+
terminalLog(`${timestampPrefix()}${colors.green}[CLAUDE]${colors.reset} ${message}`);
|
|
111
125
|
sendToDeadDrop(stripAnsi(rawForDeaddrop ?? message), 'Claude Code');
|
|
112
126
|
}
|
|
113
127
|
//# sourceMappingURL=colors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colors.js","sourceRoot":"","sources":["../../src/output/colors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,cAAc,GACf,MAAM,qBAAqB,CAAC;AAE7B,0DAA0D;AAC1D,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,CAAC;AAE5C,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,KAAK,EAAE,SAAS;IAChB,GAAG,EAAE,SAAS;IACd,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,UAAU;IAClB,KAAK,EAAE,UAAU;IACjB,GAAG,EAAE,UAAU;IACf,OAAO,EAAE,UAAU;IACnB,IAAI,EAAE,UAAU;CACR,CAAC;AAIX;;GAEG;AACH,4FAA4F;AAC5F,MAAM,UAAU,GAAG,wBAAwB,CAAC;AAE5C,MAAM,UAAU,SAAS,CAAC,GAAW;IACnC,OAAO,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAY,EAAE,KAAgB;IACrD,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAW,EAAE,GAAW;IAC/C,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;QACtB,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;AACnC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,EAAU;IACvC,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC;QACd,OAAO,GAAG,EAAE,IAAI,CAAC;IACnB,CAAC;IACD,MAAM,YAAY,GAAG,EAAE,GAAG,IAAI,CAAC;IAC/B,IAAI,YAAY,GAAG,EAAE,EAAE,CAAC;QACtB,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACvC,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC;IAC3C,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,OAAO,GAAG,KAAK,
|
|
1
|
+
{"version":3,"file":"colors.js","sourceRoot":"","sources":["../../src/output/colors.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import { type ClaudeMessage } from '../types/claude.js';
|
|
5
5
|
import { type ActiveTask, type PendingTool, type Verbosity } from '../types/runner.js';
|
|
6
6
|
import type { Logger } from './logger.js';
|
|
7
|
+
import { type RunStats } from './stats.js';
|
|
7
8
|
/**
|
|
8
9
|
* State for tracking parallel tool calls and active tasks
|
|
9
10
|
*/
|
|
@@ -17,9 +18,27 @@ export interface FormatterState {
|
|
|
17
18
|
suppressStepCompletion: boolean;
|
|
18
19
|
/** Duration from last result message (for caller to use) */
|
|
19
20
|
lastStepDurationMs: number | null;
|
|
21
|
+
/** Run statistics for current step */
|
|
22
|
+
stats: RunStats;
|
|
23
|
+
/** Overall run statistics (accumulated across steps) */
|
|
24
|
+
runStats: RunStats;
|
|
25
|
+
/** Step start time */
|
|
26
|
+
stepStartTime: number | null;
|
|
27
|
+
/** Task statistics (for nested task tracking) */
|
|
28
|
+
taskStats: RunStats | null;
|
|
29
|
+
/** Task start time */
|
|
30
|
+
taskStartTime: number | null;
|
|
20
31
|
}
|
|
21
32
|
export declare function createFormatterState(): FormatterState;
|
|
22
33
|
export declare function resetFormatterState(state: FormatterState): void;
|
|
34
|
+
/**
|
|
35
|
+
* Finalize step stats: merge into runStats and return step summary
|
|
36
|
+
*/
|
|
37
|
+
export declare function finalizeStepStats(state: FormatterState, stepDurationMs: number): string;
|
|
38
|
+
/**
|
|
39
|
+
* Get the overall run stats summary
|
|
40
|
+
*/
|
|
41
|
+
export declare function getRunStatsSummary(state: FormatterState, runDurationMs: number): string;
|
|
23
42
|
/**
|
|
24
43
|
* Flush pending tools, grouping parallel calls
|
|
25
44
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../../src/output/formatter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,KAAK,aAAa,EASnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,KAAK,UAAU,EAEf,KAAK,WAAW,EAChB,KAAK,SAAS,EACf,MAAM,oBAAoB,CAAC;AAuB5B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../../src/output/formatter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,KAAK,aAAa,EASnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,KAAK,UAAU,EAEf,KAAK,WAAW,EAChB,KAAK,SAAS,EACf,MAAM,oBAAoB,CAAC;AAuB5B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAQL,KAAK,QAAQ,EAEd,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,sBAAsB,EAAE,OAAO,CAAC;IAChC,4DAA4D;IAC5D,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,sCAAsC;IACtC,KAAK,EAAE,QAAQ,CAAC;IAChB,wDAAwD;IACxD,QAAQ,EAAE,QAAQ,CAAC;IACnB,sBAAsB;IACtB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,iDAAiD;IACjD,SAAS,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC3B,sBAAsB;IACtB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,wBAAgB,oBAAoB,IAAI,cAAc,CAerD;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAU/D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,cAAc,EACrB,cAAc,EAAE,MAAM,GACrB,MAAM,CAKR;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,cAAc,EACrB,aAAa,EAAE,MAAM,GACpB,MAAM,CAER;AA2ED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,SAAS,GACnB,IAAI,CAuBN;AA0ED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,MAAM,EAAE,sCAAsC;AACvD,mBAAmB,EAAE,MAAM,GAC1B,MAAM,CA8HR"}
|
package/dist/output/formatter.js
CHANGED
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { isAssistantMessage, isResultMessage, isSystemInitMessage, isTextBlock, isToolResultBlock, isToolUseBlock, isUserMessage, } from '../types/claude.js';
|
|
5
5
|
import { NOISE_PATTERNS, } from '../types/runner.js';
|
|
6
|
-
import { MAX_RESULT_LINES, TRUNCATE_ANSWER, TRUNCATE_BASH_CMD, TRUNCATE_ERROR, TRUNCATE_GREP_PATTERN, TRUNCATE_MESSAGE, TRUNCATE_TASK_DESC,
|
|
7
|
-
import { colors, formatDuration, printClaude, printRunner, shortenPath, timestampPrefix, truncate, } from './colors.js';
|
|
6
|
+
import { MAX_RESULT_LINES, TRUNCATE_ANSWER, TRUNCATE_BASH_CMD, TRUNCATE_ERROR, TRUNCATE_GREP_PATTERN, TRUNCATE_MESSAGE, TRUNCATE_TASK_DESC, TRUNCATE_TERMINAL_LINE, TRUNCATE_TOOL_JSON, TRUNCATE_VERBOSE_LINE, } from '../utils/constants.js';
|
|
7
|
+
import { colors, formatDuration, printClaude, printRunner, shortenPath, terminalLog, timestampPrefix, truncate, } from './colors.js';
|
|
8
|
+
import { createRunStats, formatStatsSummary, incrementMessageCount, mergeStats, recordOutput, recordToolUse, resetRunStats, updateTokenStats, } from './stats.js';
|
|
8
9
|
export function createFormatterState() {
|
|
9
10
|
return {
|
|
10
11
|
pendingTools: [],
|
|
@@ -14,6 +15,11 @@ export function createFormatterState() {
|
|
|
14
15
|
currentStep: 1,
|
|
15
16
|
suppressStepCompletion: true,
|
|
16
17
|
lastStepDurationMs: null,
|
|
18
|
+
stats: createRunStats(),
|
|
19
|
+
runStats: createRunStats(),
|
|
20
|
+
stepStartTime: null,
|
|
21
|
+
taskStats: null,
|
|
22
|
+
taskStartTime: null,
|
|
17
23
|
};
|
|
18
24
|
}
|
|
19
25
|
export function resetFormatterState(state) {
|
|
@@ -21,6 +27,26 @@ export function resetFormatterState(state) {
|
|
|
21
27
|
state.lastToolTime = null;
|
|
22
28
|
state.activeTask = null;
|
|
23
29
|
state.toolStartTimes.clear();
|
|
30
|
+
resetRunStats(state.stats);
|
|
31
|
+
state.stepStartTime = null;
|
|
32
|
+
state.taskStats = null;
|
|
33
|
+
state.taskStartTime = null;
|
|
34
|
+
// Note: runStats is NOT reset - it accumulates across steps
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Finalize step stats: merge into runStats and return step summary
|
|
38
|
+
*/
|
|
39
|
+
export function finalizeStepStats(state, stepDurationMs) {
|
|
40
|
+
// Merge step stats into run stats
|
|
41
|
+
mergeStats(state.runStats, state.stats);
|
|
42
|
+
// Format and return the step summary
|
|
43
|
+
return formatStatsSummary(state.stats, stepDurationMs);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Get the overall run stats summary
|
|
47
|
+
*/
|
|
48
|
+
export function getRunStatsSummary(state, runDurationMs) {
|
|
49
|
+
return formatStatsSummary(state.runStats, runDurationMs);
|
|
24
50
|
}
|
|
25
51
|
/**
|
|
26
52
|
* Check if a line contains noise patterns (node_modules, venv, etc.)
|
|
@@ -42,7 +68,7 @@ function filterNoiseLines(text) {
|
|
|
42
68
|
*/
|
|
43
69
|
function formatToolUse(tool, indented, state) {
|
|
44
70
|
const inTask = state.activeTask !== null;
|
|
45
|
-
const indent = inTask ? '
|
|
71
|
+
const indent = inTask ? '│' : '';
|
|
46
72
|
const prefix = indented
|
|
47
73
|
? `${timestampPrefix()}${indent} → `
|
|
48
74
|
: `${timestampPrefix()}${indent}${colors.yellow}[TOOL]${colors.reset} `;
|
|
@@ -67,10 +93,12 @@ function formatToolUse(tool, indented, state) {
|
|
|
67
93
|
input['prompt'] ??
|
|
68
94
|
'', TRUNCATE_TASK_DESC);
|
|
69
95
|
summary = `${colors.magenta}${taskType}${colors.reset}: ${taskDesc}`;
|
|
70
|
-
// Mark task as active and print task header
|
|
96
|
+
// Mark task as active and print task header (no divider)
|
|
71
97
|
state.activeTask = { name: taskType, description: taskDesc, id: tool.id };
|
|
72
|
-
|
|
73
|
-
|
|
98
|
+
// Initialize task stats tracking
|
|
99
|
+
state.taskStats = createRunStats();
|
|
100
|
+
state.taskStartTime = Date.now();
|
|
101
|
+
terminalLog(`${timestampPrefix()}${colors.yellow}[TASK]${colors.reset} ${colors.magenta}${taskType}${colors.reset} ${taskDesc}`);
|
|
74
102
|
return;
|
|
75
103
|
}
|
|
76
104
|
else if (name === 'Write' || name === 'Edit') {
|
|
@@ -79,7 +107,7 @@ function formatToolUse(tool, indented, state) {
|
|
|
79
107
|
else {
|
|
80
108
|
summary = truncate(JSON.stringify(input), TRUNCATE_TOOL_JSON);
|
|
81
109
|
}
|
|
82
|
-
|
|
110
|
+
terminalLog(`${prefix}${colors.cyan}${name}${colors.reset} ${summary}`);
|
|
83
111
|
}
|
|
84
112
|
/**
|
|
85
113
|
* Flush pending tools, grouping parallel calls
|
|
@@ -98,7 +126,7 @@ export function flushPendingTools(state, verbosity) {
|
|
|
98
126
|
}
|
|
99
127
|
else {
|
|
100
128
|
// Group parallel tools
|
|
101
|
-
|
|
129
|
+
terminalLog(`${timestampPrefix()}${colors.yellow}[TOOL ×${state.pendingTools.length}]${colors.reset} ${colors.dim}(parallel)${colors.reset}`);
|
|
102
130
|
for (const tool of state.pendingTools) {
|
|
103
131
|
formatToolUse(tool, true, state);
|
|
104
132
|
}
|
|
@@ -113,7 +141,7 @@ function printToolResult(result, durationStr, verbosity, state) {
|
|
|
113
141
|
return;
|
|
114
142
|
}
|
|
115
143
|
const inTask = state.activeTask !== null;
|
|
116
|
-
const indent = inTask ? '
|
|
144
|
+
const indent = inTask ? '│' : '';
|
|
117
145
|
if (verbosity === 'normal') {
|
|
118
146
|
// In normal mode, suppress per-tool timing
|
|
119
147
|
return;
|
|
@@ -126,36 +154,32 @@ function printToolResult(result, durationStr, verbosity, state) {
|
|
|
126
154
|
const lines = filtered.split('\n').filter((l) => l.trim());
|
|
127
155
|
const showLines = lines.slice(0, MAX_RESULT_LINES);
|
|
128
156
|
for (const line of showLines) {
|
|
129
|
-
|
|
157
|
+
terminalLog(`${timestampPrefix()}${indent} ${colors.dim}${truncate(line, TRUNCATE_VERBOSE_LINE)}${colors.reset}`);
|
|
130
158
|
}
|
|
131
159
|
if (lines.length > MAX_RESULT_LINES) {
|
|
132
|
-
|
|
160
|
+
terminalLog(`${timestampPrefix()}${indent} ${colors.dim}... (${lines.length - MAX_RESULT_LINES} more lines)${colors.reset}${durationStr}`);
|
|
133
161
|
}
|
|
134
162
|
else if (durationStr) {
|
|
135
|
-
|
|
163
|
+
terminalLog(`${timestampPrefix()}${indent} ${durationStr}`);
|
|
136
164
|
}
|
|
137
165
|
}
|
|
138
166
|
/**
|
|
139
167
|
* Print a task result
|
|
140
168
|
*/
|
|
141
|
-
function printTaskResult(
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
//
|
|
152
|
-
if (lines.length > 0) {
|
|
153
|
-
const maxLen = verbosity === 'verbose' ? TRUNCATE_TASK_VERBOSE : TRUNCATE_TASK_SUMMARY;
|
|
154
|
-
const summary = lines.join(' ').replace(/\s+/g, ' ');
|
|
155
|
-
console.log(`${timestampPrefix()} ${colors.green}→ ${truncate(summary, maxLen)}${colors.reset}`);
|
|
156
|
-
}
|
|
157
|
-
// Clear active task
|
|
169
|
+
function printTaskResult(_result, _durationStr, _verbosity, state) {
|
|
170
|
+
// Calculate task duration and format stats summary
|
|
171
|
+
const taskDuration = state.taskStartTime
|
|
172
|
+
? Date.now() - state.taskStartTime
|
|
173
|
+
: 0;
|
|
174
|
+
const statsSummary = state.taskStats
|
|
175
|
+
? formatStatsSummary(state.taskStats, taskDuration)
|
|
176
|
+
: formatDuration(taskDuration);
|
|
177
|
+
// Print task completion with stats
|
|
178
|
+
terminalLog(`${timestampPrefix()}└─${colors.yellow}[TASK]${colors.reset} Complete: ${statsSummary}`);
|
|
179
|
+
// Clear active task and stats
|
|
158
180
|
state.activeTask = null;
|
|
181
|
+
state.taskStats = null;
|
|
182
|
+
state.taskStartTime = null;
|
|
159
183
|
}
|
|
160
184
|
/**
|
|
161
185
|
* Format and display a Claude message
|
|
@@ -169,26 +193,36 @@ parallelThresholdMs) {
|
|
|
169
193
|
}
|
|
170
194
|
else if (isAssistantMessage(msg)) {
|
|
171
195
|
flushPendingTools(state, verbosity);
|
|
196
|
+
// Track message and token usage in stats
|
|
197
|
+
const stats = state.taskStats ?? state.stats;
|
|
198
|
+
incrementMessageCount(stats);
|
|
199
|
+
if (msg.message.usage) {
|
|
200
|
+
updateTokenStats(stats, msg.message.usage);
|
|
201
|
+
}
|
|
172
202
|
for (const block of msg.message.content) {
|
|
173
203
|
if (isTextBlock(block)) {
|
|
174
204
|
claudeText += block.text + '\n';
|
|
205
|
+
// Track output characters for token estimation
|
|
206
|
+
recordOutput(stats, block.text.length);
|
|
175
207
|
if (verbosity === 'quiet') {
|
|
176
208
|
// Show answers but not thinking/status updates
|
|
177
209
|
if (!block.text.startsWith("I'll ") &&
|
|
178
210
|
!block.text.startsWith('Let me ')) {
|
|
179
211
|
const displayText = block.text.replace(/[\r\n]+/g, ' ').trim();
|
|
180
|
-
|
|
212
|
+
terminalLog(`${timestampPrefix()}${colors.green}[ANSWER]${colors.reset} ${truncate(displayText, TRUNCATE_ANSWER)}`);
|
|
181
213
|
}
|
|
182
214
|
}
|
|
183
215
|
else {
|
|
184
216
|
const displayText = block.text.replace(/[\r\n]+/g, ' ').trim();
|
|
185
|
-
printClaude(displayText, block.text);
|
|
217
|
+
printClaude(truncate(displayText, TRUNCATE_TERMINAL_LINE), block.text);
|
|
186
218
|
}
|
|
187
219
|
}
|
|
188
220
|
else if (isToolUseBlock(block)) {
|
|
189
221
|
const now = Date.now();
|
|
190
222
|
// Record start time
|
|
191
223
|
state.toolStartTimes.set(block.id, now);
|
|
224
|
+
// Track tool use in stats
|
|
225
|
+
recordToolUse(stats, block.name);
|
|
192
226
|
if (state.lastToolTime &&
|
|
193
227
|
now - state.lastToolTime < parallelThresholdMs) {
|
|
194
228
|
// Part of parallel batch
|
|
@@ -232,7 +266,11 @@ parallelThresholdMs) {
|
|
|
232
266
|
content.startsWith('Error:') ||
|
|
233
267
|
content.startsWith('error:');
|
|
234
268
|
if (isError) {
|
|
235
|
-
|
|
269
|
+
const inTask = state.activeTask !== null;
|
|
270
|
+
const indent = inTask ? '│' : '';
|
|
271
|
+
// Strip <tool_use_error> tags for cleaner display
|
|
272
|
+
const cleanError = content.replace(/<\/?tool_use_error>/g, '').trim();
|
|
273
|
+
terminalLog(`${timestampPrefix()}${indent} ${colors.red}ERROR: ${truncate(cleanError, TRUNCATE_ERROR)}${colors.reset}${durationStr}`);
|
|
236
274
|
}
|
|
237
275
|
else if (state.activeTask?.id === toolUseId) {
|
|
238
276
|
// Task completing
|
|
@@ -254,7 +292,7 @@ parallelThresholdMs) {
|
|
|
254
292
|
}
|
|
255
293
|
else {
|
|
256
294
|
if (verbosity === 'verbose') {
|
|
257
|
-
|
|
295
|
+
terminalLog(`${timestampPrefix()}${colors.dim}[${msg.type.toUpperCase()}] ${truncate(JSON.stringify(msg), TRUNCATE_MESSAGE)}${colors.reset}`);
|
|
258
296
|
}
|
|
259
297
|
}
|
|
260
298
|
return claudeText;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../src/output/formatter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../src/output/formatter.ts"],"names":[],"mappings":"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"}
|
package/dist/output/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/output/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/output/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
|
package/dist/output/index.js
CHANGED
package/dist/output/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/output/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/output/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
|
package/dist/output/logger.js
CHANGED
|
@@ -26,8 +26,8 @@ export function createLogger(enabled, logDir, commandName) {
|
|
|
26
26
|
const logStream = fs.createWriteStream(logFile, { flags: 'a' });
|
|
27
27
|
return {
|
|
28
28
|
log(msg) {
|
|
29
|
-
// Strip ANSI codes
|
|
30
|
-
const clean = stripAnsi(msg)
|
|
29
|
+
// Strip ANSI codes but preserve CRs for full fidelity
|
|
30
|
+
const clean = stripAnsi(msg);
|
|
31
31
|
logStream.write(clean + '\n');
|
|
32
32
|
},
|
|
33
33
|
close() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/output/logger.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAQxC;;GAEG;AACH,MAAM,UAAU,YAAY,CAC1B,OAAgB,EAChB,MAAc,EACd,WAAmB;IAEnB,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;YACL,GAAG,EAAE,GAAG,EAAE,CAAC,SAAS;YACpB,KAAK,EAAE,GAAG,EAAE,CAAC,SAAS;YACtB,QAAQ,EAAE,IAAI;SACf,CAAC;IACJ,CAAC;IAED,8BAA8B;IAC9B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,8BAA8B;IAC9B,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9E,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,aAAa,IAAI,SAAS,MAAM,CAAC,CAAC;IACvE,MAAM,SAAS,GAAG,EAAE,CAAC,iBAAiB,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IAEhE,OAAO;QACL,GAAG,CAAC,GAAW;YACb,
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/output/logger.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAQxC;;GAEG;AACH,MAAM,UAAU,YAAY,CAC1B,OAAgB,EAChB,MAAc,EACd,WAAmB;IAEnB,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;YACL,GAAG,EAAE,GAAG,EAAE,CAAC,SAAS;YACpB,KAAK,EAAE,GAAG,EAAE,CAAC,SAAS;YACtB,QAAQ,EAAE,IAAI;SACf,CAAC;IACJ,CAAC;IAED,8BAA8B;IAC9B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,8BAA8B;IAC9B,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9E,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,aAAa,IAAI,SAAS,MAAM,CAAC,CAAC;IACvE,MAAM,SAAS,GAAG,EAAE,CAAC,iBAAiB,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IAEhE,OAAO;QACL,GAAG,CAAC,GAAW;YACb,sDAAsD;YACtD,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;YAC7B,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;QAChC,CAAC;QACD,KAAK;YACH,SAAS,CAAC,GAAG,EAAE,CAAC;QAClB,CAAC;QACD,QAAQ,EAAE,OAAO;KAClB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Run statistics tracking and summary formatting
|
|
3
|
+
* Tracks messages, tokens, and tool usage for display
|
|
4
|
+
*/
|
|
5
|
+
import type { TokenUsage } from '../types/claude.js';
|
|
6
|
+
/**
|
|
7
|
+
* Aggregated token counts
|
|
8
|
+
*/
|
|
9
|
+
export interface TokenCounts {
|
|
10
|
+
/** Prompt tokens (non-cached input) */
|
|
11
|
+
prompt: number;
|
|
12
|
+
/** Cache write 5m tokens */
|
|
13
|
+
cacheWrite5m: number;
|
|
14
|
+
/** Cache write 1h tokens */
|
|
15
|
+
cacheWrite1h: number;
|
|
16
|
+
/** Cache read tokens */
|
|
17
|
+
cacheRead: number;
|
|
18
|
+
/** Output tokens (estimated from content) */
|
|
19
|
+
output: number;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Run statistics
|
|
23
|
+
*/
|
|
24
|
+
export interface RunStats {
|
|
25
|
+
/** Message count */
|
|
26
|
+
messageCount: number;
|
|
27
|
+
/** Token usage */
|
|
28
|
+
tokens: TokenCounts;
|
|
29
|
+
/** Tool names used */
|
|
30
|
+
toolsUsed: Set<string>;
|
|
31
|
+
/** Tool use count */
|
|
32
|
+
toolUseCount: number;
|
|
33
|
+
/** Characters of output (for token estimation) */
|
|
34
|
+
outputChars: number;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Create empty run stats
|
|
38
|
+
*/
|
|
39
|
+
export declare function createRunStats(): RunStats;
|
|
40
|
+
/**
|
|
41
|
+
* Reset run stats (for new step/task)
|
|
42
|
+
*/
|
|
43
|
+
export declare function resetRunStats(stats: RunStats): void;
|
|
44
|
+
/**
|
|
45
|
+
* Update stats from token usage
|
|
46
|
+
*/
|
|
47
|
+
export declare function updateTokenStats(stats: RunStats, usage: TokenUsage): void;
|
|
48
|
+
/**
|
|
49
|
+
* Record a tool use
|
|
50
|
+
*/
|
|
51
|
+
export declare function recordToolUse(stats: RunStats, toolName: string): void;
|
|
52
|
+
/**
|
|
53
|
+
* Record output characters for token estimation
|
|
54
|
+
*/
|
|
55
|
+
export declare function recordOutput(stats: RunStats, chars: number): void;
|
|
56
|
+
/**
|
|
57
|
+
* Increment message count
|
|
58
|
+
*/
|
|
59
|
+
export declare function incrementMessageCount(stats: RunStats): void;
|
|
60
|
+
/**
|
|
61
|
+
* Merge source stats into target (accumulates values)
|
|
62
|
+
*/
|
|
63
|
+
export declare function mergeStats(target: RunStats, source: RunStats): void;
|
|
64
|
+
/**
|
|
65
|
+
* Clone stats (creates a copy)
|
|
66
|
+
*/
|
|
67
|
+
export declare function cloneStats(stats: RunStats): RunStats;
|
|
68
|
+
/**
|
|
69
|
+
* Format stats summary for display
|
|
70
|
+
* Example: 33s | 14 msgs | 319,449 in (32 p / 6,579 cw5m / 312,838 cr) | ~931 out | 3 tools (Bash, Edit, Read)
|
|
71
|
+
*/
|
|
72
|
+
export declare function formatStatsSummary(stats: RunStats, durationMs: number): string;
|
|
73
|
+
//# sourceMappingURL=stats.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../src/output/stats.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGrD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,4BAA4B;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,wBAAwB;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,oBAAoB;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB;IAClB,MAAM,EAAE,WAAW,CAAC;IACpB,sBAAsB;IACtB,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACvB,qBAAqB;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,QAAQ,CAczC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAYnD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CAOzE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAGrE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAEjE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAE3D;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAG,IAAI,CAYnE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,CAQpD;AA0BD;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,QAAQ,EACf,UAAU,EAAE,MAAM,GACjB,MAAM,CAuCR"}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Run statistics tracking and summary formatting
|
|
3
|
+
* Tracks messages, tokens, and tool usage for display
|
|
4
|
+
*/
|
|
5
|
+
import { formatDuration } from './colors.js';
|
|
6
|
+
/**
|
|
7
|
+
* Create empty run stats
|
|
8
|
+
*/
|
|
9
|
+
export function createRunStats() {
|
|
10
|
+
return {
|
|
11
|
+
messageCount: 0,
|
|
12
|
+
tokens: {
|
|
13
|
+
prompt: 0,
|
|
14
|
+
cacheWrite5m: 0,
|
|
15
|
+
cacheWrite1h: 0,
|
|
16
|
+
cacheRead: 0,
|
|
17
|
+
output: 0,
|
|
18
|
+
},
|
|
19
|
+
toolsUsed: new Set(),
|
|
20
|
+
toolUseCount: 0,
|
|
21
|
+
outputChars: 0,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Reset run stats (for new step/task)
|
|
26
|
+
*/
|
|
27
|
+
export function resetRunStats(stats) {
|
|
28
|
+
stats.messageCount = 0;
|
|
29
|
+
stats.tokens = {
|
|
30
|
+
prompt: 0,
|
|
31
|
+
cacheWrite5m: 0,
|
|
32
|
+
cacheWrite1h: 0,
|
|
33
|
+
cacheRead: 0,
|
|
34
|
+
output: 0,
|
|
35
|
+
};
|
|
36
|
+
stats.toolsUsed.clear();
|
|
37
|
+
stats.toolUseCount = 0;
|
|
38
|
+
stats.outputChars = 0;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Update stats from token usage
|
|
42
|
+
*/
|
|
43
|
+
export function updateTokenStats(stats, usage) {
|
|
44
|
+
stats.tokens.prompt += usage.input_tokens ?? 0;
|
|
45
|
+
stats.tokens.cacheWrite5m +=
|
|
46
|
+
usage.cache_creation?.ephemeral_5m_input_tokens ?? 0;
|
|
47
|
+
stats.tokens.cacheWrite1h +=
|
|
48
|
+
usage.cache_creation?.ephemeral_1h_input_tokens ?? 0;
|
|
49
|
+
stats.tokens.cacheRead += usage.cache_read_input_tokens ?? 0;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Record a tool use
|
|
53
|
+
*/
|
|
54
|
+
export function recordToolUse(stats, toolName) {
|
|
55
|
+
stats.toolsUsed.add(toolName);
|
|
56
|
+
stats.toolUseCount++;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Record output characters for token estimation
|
|
60
|
+
*/
|
|
61
|
+
export function recordOutput(stats, chars) {
|
|
62
|
+
stats.outputChars += chars;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Increment message count
|
|
66
|
+
*/
|
|
67
|
+
export function incrementMessageCount(stats) {
|
|
68
|
+
stats.messageCount++;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Merge source stats into target (accumulates values)
|
|
72
|
+
*/
|
|
73
|
+
export function mergeStats(target, source) {
|
|
74
|
+
target.messageCount += source.messageCount;
|
|
75
|
+
target.tokens.prompt += source.tokens.prompt;
|
|
76
|
+
target.tokens.cacheWrite5m += source.tokens.cacheWrite5m;
|
|
77
|
+
target.tokens.cacheWrite1h += source.tokens.cacheWrite1h;
|
|
78
|
+
target.tokens.cacheRead += source.tokens.cacheRead;
|
|
79
|
+
target.tokens.output += source.tokens.output;
|
|
80
|
+
for (const tool of source.toolsUsed) {
|
|
81
|
+
target.toolsUsed.add(tool);
|
|
82
|
+
}
|
|
83
|
+
target.toolUseCount += source.toolUseCount;
|
|
84
|
+
target.outputChars += source.outputChars;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Clone stats (creates a copy)
|
|
88
|
+
*/
|
|
89
|
+
export function cloneStats(stats) {
|
|
90
|
+
return {
|
|
91
|
+
messageCount: stats.messageCount,
|
|
92
|
+
tokens: { ...stats.tokens },
|
|
93
|
+
toolsUsed: new Set(stats.toolsUsed),
|
|
94
|
+
toolUseCount: stats.toolUseCount,
|
|
95
|
+
outputChars: stats.outputChars,
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Calculate total input tokens
|
|
100
|
+
*/
|
|
101
|
+
function totalInputTokens(tokens) {
|
|
102
|
+
return (tokens.prompt + tokens.cacheWrite5m + tokens.cacheWrite1h + tokens.cacheRead);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Estimate output tokens from character count
|
|
106
|
+
* Rough estimate: ~4 chars per token
|
|
107
|
+
*/
|
|
108
|
+
function estimateOutputTokens(chars) {
|
|
109
|
+
return Math.ceil(chars / 4);
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Format number with commas
|
|
113
|
+
*/
|
|
114
|
+
function formatNumber(n) {
|
|
115
|
+
return n.toLocaleString();
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Format stats summary for display
|
|
119
|
+
* Example: 33s | 14 msgs | 319,449 in (32 p / 6,579 cw5m / 312,838 cr) | ~931 out | 3 tools (Bash, Edit, Read)
|
|
120
|
+
*/
|
|
121
|
+
export function formatStatsSummary(stats, durationMs) {
|
|
122
|
+
const parts = [];
|
|
123
|
+
// Duration
|
|
124
|
+
parts.push(formatDuration(durationMs));
|
|
125
|
+
// Message count
|
|
126
|
+
parts.push(`${stats.messageCount} msgs`);
|
|
127
|
+
// Input tokens with breakdown
|
|
128
|
+
const totalIn = totalInputTokens(stats.tokens);
|
|
129
|
+
const breakdownParts = [];
|
|
130
|
+
if (stats.tokens.prompt > 0) {
|
|
131
|
+
breakdownParts.push(`${formatNumber(stats.tokens.prompt)} p`);
|
|
132
|
+
}
|
|
133
|
+
if (stats.tokens.cacheWrite5m > 0) {
|
|
134
|
+
breakdownParts.push(`${formatNumber(stats.tokens.cacheWrite5m)} cw5m`);
|
|
135
|
+
}
|
|
136
|
+
if (stats.tokens.cacheWrite1h > 0) {
|
|
137
|
+
breakdownParts.push(`${formatNumber(stats.tokens.cacheWrite1h)} cw1h`);
|
|
138
|
+
}
|
|
139
|
+
if (stats.tokens.cacheRead > 0) {
|
|
140
|
+
breakdownParts.push(`${formatNumber(stats.tokens.cacheRead)} cr`);
|
|
141
|
+
}
|
|
142
|
+
const breakdown = breakdownParts.length > 0 ? ` (${breakdownParts.join(' / ')})` : '';
|
|
143
|
+
parts.push(`${formatNumber(totalIn)} in${breakdown}`);
|
|
144
|
+
// Output tokens (estimated)
|
|
145
|
+
const outputTokens = estimateOutputTokens(stats.outputChars);
|
|
146
|
+
parts.push(`~${formatNumber(outputTokens)} out`);
|
|
147
|
+
// Tools
|
|
148
|
+
if (stats.toolUseCount > 0) {
|
|
149
|
+
const toolList = Array.from(stats.toolsUsed).sort().join(', ');
|
|
150
|
+
parts.push(`${stats.toolUseCount} tools (${toolList})`);
|
|
151
|
+
}
|
|
152
|
+
return parts.join(' | ');
|
|
153
|
+
}
|
|
154
|
+
//# sourceMappingURL=stats.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stats.js","sourceRoot":"","sources":["../../src/output/stats.ts"],"names":[],"mappings":"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"}
|
package/dist/types/claude.d.ts
CHANGED
|
@@ -22,9 +22,21 @@ export interface McpServer {
|
|
|
22
22
|
name: string;
|
|
23
23
|
status: 'connected' | 'failed' | 'connecting';
|
|
24
24
|
}
|
|
25
|
+
export interface CacheCreation {
|
|
26
|
+
ephemeral_5m_input_tokens?: number;
|
|
27
|
+
ephemeral_1h_input_tokens?: number;
|
|
28
|
+
}
|
|
29
|
+
export interface TokenUsage {
|
|
30
|
+
input_tokens?: number;
|
|
31
|
+
output_tokens?: number;
|
|
32
|
+
cache_creation_input_tokens?: number;
|
|
33
|
+
cache_read_input_tokens?: number;
|
|
34
|
+
cache_creation?: CacheCreation;
|
|
35
|
+
}
|
|
25
36
|
export interface MessageEnvelope {
|
|
26
37
|
role: 'assistant' | 'user';
|
|
27
38
|
content: ContentBlock[];
|
|
39
|
+
usage?: TokenUsage;
|
|
28
40
|
}
|
|
29
41
|
export interface SystemInitMessage {
|
|
30
42
|
type: 'system';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../src/types/claude.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,UAAU,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,aAAa,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,GAAG,OAAO,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,YAAY,GAAG,eAAe,CAAC;AAGtE,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,YAAY,CAAC;CAC/C;AAGD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,WAAW,GAAG,MAAM,CAAC;IAC3B,OAAO,EAAE,YAAY,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../src/types/claude.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,UAAU,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,aAAa,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,GAAG,OAAO,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,YAAY,GAAG,eAAe,CAAC;AAGtE,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,YAAY,CAAC;CAC/C;AAGD,MAAM,WAAW,aAAa;IAC5B,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED,MAAM,WAAW,UAAU;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,cAAc,CAAC,EAAE,aAAa,CAAC;CAChC;AAGD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,WAAW,GAAG,MAAM,CAAC;IAC3B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB;AAGD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC;CAC3B;AAGD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,eAAe,CAAC;CAC1B;AAGD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,eAAe,CAAC;CAC1B;AAGD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,QAAQ,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAGD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,aAAa,GACrB,iBAAiB,GACjB,gBAAgB,GAChB,WAAW,GACX,aAAa,GACb,cAAc,CAAC;AAEnB;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,aAAa,GACjB,GAAG,IAAI,iBAAiB,CAE1B;AAED,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,aAAa,GACjB,GAAG,IAAI,gBAAgB,CAEzB;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,aAAa,GAAG,GAAG,IAAI,WAAW,CAEpE;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,aAAa,GAAG,GAAG,IAAI,aAAa,CAExE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,GAAG,KAAK,IAAI,YAAY,CAEzE;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,YAAY,GAClB,KAAK,IAAI,eAAe,CAE1B;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,KAAK,IAAI,SAAS,CAEnE"}
|
package/dist/types/claude.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/types/claude.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/types/claude.ts"],"names":[],"mappings":"AAAA;;GAEG;AA8FH;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,GAAkB;IAElB,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,SAAS,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,KAAK,MAAM,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,GAAkB;IAElB,OAAO,GAAG,CAAC,IAAI,KAAK,WAAW,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAkB;IAC9C,OAAO,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAkB;IAChD,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAmB;IAChD,OAAO,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,KAAmB;IAEnB,OAAO,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAmB;IAC7C,OAAO,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC;AAC/B,CAAC"}
|
|
@@ -24,6 +24,8 @@ export declare const TRUNCATE_ERROR = 100;
|
|
|
24
24
|
export declare const TRUNCATE_MESSAGE = 100;
|
|
25
25
|
/** Truncation length for verbose tool result lines */
|
|
26
26
|
export declare const TRUNCATE_VERBOSE_LINE = 150;
|
|
27
|
+
/** Truncation length for terminal output lines (Claude messages, runner messages) */
|
|
28
|
+
export declare const TRUNCATE_TERMINAL_LINE = 150;
|
|
27
29
|
/** Truncation length for normal task result summary */
|
|
28
30
|
export declare const TRUNCATE_TASK_SUMMARY = 200;
|
|
29
31
|
/** Truncation length for quiet mode answer display */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,sDAAsD;AACtD,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,yDAAyD;AACzD,eAAO,MAAM,gBAAgB,UAAU,CAAC;AAGxC,gDAAgD;AAChD,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,iDAAiD;AACjD,eAAO,MAAM,qBAAqB,KAAK,CAAC;AACxC,6CAA6C;AAC7C,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,iDAAiD;AACjD,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,yCAAyC;AACzC,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,8CAA8C;AAC9C,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,2CAA2C;AAC3C,eAAO,MAAM,cAAc,MAAM,CAAC;AAClC,6CAA6C;AAC7C,eAAO,MAAM,gBAAgB,MAAM,CAAC;AACpC,sDAAsD;AACtD,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,uDAAuD;AACvD,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,sDAAsD;AACtD,eAAO,MAAM,eAAe,MAAM,CAAC;AACnC,wDAAwD;AACxD,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAGzC,4BAA4B;AAC5B,eAAO,MAAM,QAAQ,MAAM,CAAC;AAC5B,yBAAyB;AACzB,eAAO,MAAM,QAAQ,KAAK,CAAC;AAG3B,8BAA8B;AAC9B,eAAO,MAAM,aAAa,OAAO,CAAC;AAClC,yBAAyB;AACzB,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,uBAAuB;AACvB,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAGrC,6CAA6C;AAC7C,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,sDAAsD;AACtD,eAAO,MAAM,6BAA6B,MAAM,CAAC;AACjD,6CAA6C;AAC7C,eAAO,MAAM,0BAA0B,OAAO,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,sDAAsD;AACtD,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,yDAAyD;AACzD,eAAO,MAAM,gBAAgB,UAAU,CAAC;AAGxC,gDAAgD;AAChD,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,iDAAiD;AACjD,eAAO,MAAM,qBAAqB,KAAK,CAAC;AACxC,6CAA6C;AAC7C,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,iDAAiD;AACjD,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,yCAAyC;AACzC,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,8CAA8C;AAC9C,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,2CAA2C;AAC3C,eAAO,MAAM,cAAc,MAAM,CAAC;AAClC,6CAA6C;AAC7C,eAAO,MAAM,gBAAgB,MAAM,CAAC;AACpC,sDAAsD;AACtD,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,qFAAqF;AACrF,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAC1C,uDAAuD;AACvD,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,sDAAsD;AACtD,eAAO,MAAM,eAAe,MAAM,CAAC;AACnC,wDAAwD;AACxD,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAGzC,4BAA4B;AAC5B,eAAO,MAAM,QAAQ,MAAM,CAAC;AAC5B,yBAAyB;AACzB,eAAO,MAAM,QAAQ,KAAK,CAAC;AAG3B,8BAA8B;AAC9B,eAAO,MAAM,aAAa,OAAO,CAAC;AAClC,yBAAyB;AACzB,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,uBAAuB;AACvB,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAGrC,6CAA6C;AAC7C,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,sDAAsD;AACtD,eAAO,MAAM,6BAA6B,MAAM,CAAC;AACjD,6CAA6C;AAC7C,eAAO,MAAM,0BAA0B,OAAO,CAAC"}
|
package/dist/utils/constants.js
CHANGED
|
@@ -26,6 +26,8 @@ export const TRUNCATE_ERROR = 100;
|
|
|
26
26
|
export const TRUNCATE_MESSAGE = 100;
|
|
27
27
|
/** Truncation length for verbose tool result lines */
|
|
28
28
|
export const TRUNCATE_VERBOSE_LINE = 150;
|
|
29
|
+
/** Truncation length for terminal output lines (Claude messages, runner messages) */
|
|
30
|
+
export const TRUNCATE_TERMINAL_LINE = 150;
|
|
29
31
|
/** Truncation length for normal task result summary */
|
|
30
32
|
export const TRUNCATE_TASK_SUMMARY = 200;
|
|
31
33
|
/** Truncation length for quiet mode answer display */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,0BAA0B;AAC1B,sDAAsD;AACtD,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC;AACrC,yDAAyD;AACzD,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC;AAExC,yBAAyB;AACzB,gDAAgD;AAChD,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AACnC,iDAAiD;AACjD,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACxC,6CAA6C;AAC7C,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AACrC,iDAAiD;AACjD,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AACpC,yCAAyC;AACzC,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AACnC,8CAA8C;AAC9C,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AACrC,2CAA2C;AAC3C,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC;AAClC,6CAA6C;AAC7C,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AACpC,sDAAsD;AACtD,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AACzC,uDAAuD;AACvD,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AACzC,sDAAsD;AACtD,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAC;AACnC,wDAAwD;AACxD,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAEzC,4BAA4B;AAC5B,4BAA4B;AAC5B,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,CAAC;AAC5B,yBAAyB;AACzB,MAAM,CAAC,MAAM,QAAQ,GAAG,EAAE,CAAC;AAE3B,yBAAyB;AACzB,8BAA8B;AAC9B,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC;AAClC,yBAAyB;AACzB,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AACrC,uBAAuB;AACvB,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAErC,gCAAgC;AAChC,6CAA6C;AAC7C,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AACzC,sDAAsD;AACtD,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAAG,CAAC;AACjD,6CAA6C;AAC7C,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,0BAA0B;AAC1B,sDAAsD;AACtD,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC;AACrC,yDAAyD;AACzD,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC;AAExC,yBAAyB;AACzB,gDAAgD;AAChD,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AACnC,iDAAiD;AACjD,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACxC,6CAA6C;AAC7C,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AACrC,iDAAiD;AACjD,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AACpC,yCAAyC;AACzC,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AACnC,8CAA8C;AAC9C,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AACrC,2CAA2C;AAC3C,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC;AAClC,6CAA6C;AAC7C,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AACpC,sDAAsD;AACtD,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AACzC,qFAAqF;AACrF,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAC1C,uDAAuD;AACvD,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AACzC,sDAAsD;AACtD,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAC;AACnC,wDAAwD;AACxD,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAEzC,4BAA4B;AAC5B,4BAA4B;AAC5B,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,CAAC;AAC5B,yBAAyB;AACzB,MAAM,CAAC,MAAM,QAAQ,GAAG,EAAE,CAAC;AAE3B,yBAAyB;AACzB,8BAA8B;AAC9B,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC;AAClC,yBAAyB;AACzB,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AACrC,uBAAuB;AACvB,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAErC,gCAAgC;AAChC,6CAA6C;AAC7C,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AACzC,sDAAsD;AACtD,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAAG,CAAC;AACjD,6CAA6C;AAC7C,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,CAAC"}
|
package/package.json
CHANGED