@rcrsr/claude-code-runner 0.1.0 → 0.3.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 +23 -16
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +38 -25
- package/dist/cli/args.js.map +1 -1
- package/dist/core/runner.d.ts +1 -1
- package/dist/core/runner.d.ts.map +1 -1
- package/dist/core/runner.js +17 -49
- package/dist/core/runner.js.map +1 -1
- package/dist/index.js +18 -42
- package/dist/index.js.map +1 -1
- package/dist/output/colors.d.ts +16 -0
- package/dist/output/colors.d.ts.map +1 -1
- package/dist/output/colors.js +31 -0
- package/dist/output/colors.js.map +1 -1
- package/dist/output/formatter.d.ts.map +1 -1
- package/dist/output/formatter.js +19 -34
- package/dist/output/formatter.js.map +1 -1
- package/dist/output/logger.d.ts.map +1 -1
- package/dist/output/logger.js +3 -2
- package/dist/output/logger.js.map +1 -1
- package/dist/parsers/signals.d.ts.map +1 -1
- package/dist/parsers/signals.js +2 -5
- package/dist/parsers/signals.js.map +1 -1
- package/dist/process/pty.d.ts +1 -0
- package/dist/process/pty.d.ts.map +1 -1
- package/dist/process/pty.js +7 -3
- package/dist/process/pty.js.map +1 -1
- package/dist/types/runner.d.ts +4 -3
- package/dist/types/runner.d.ts.map +1 -1
- package/dist/types/runner.js +2 -2
- package/dist/types/runner.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -81,28 +81,36 @@ Scripts stop on `BLOCKED` or `ERROR` signals, letting you catch issues before co
|
|
|
81
81
|
|
|
82
82
|
### Options
|
|
83
83
|
|
|
84
|
-
| Option
|
|
85
|
-
|
|
|
86
|
-
| `--
|
|
87
|
-
| `--
|
|
88
|
-
| `--
|
|
89
|
-
| `--
|
|
84
|
+
| Option | Description |
|
|
85
|
+
| --------------- | ------------------------------------------------------ |
|
|
86
|
+
| `--model`, `-m` | Specify Claude model (e.g., `sonnet`, `opus`, `haiku`) |
|
|
87
|
+
| `--quiet` | Minimal output (errors only) |
|
|
88
|
+
| `--normal` | Default output level |
|
|
89
|
+
| `--verbose` | Full output with details |
|
|
90
|
+
| `--no-log` | Disable file logging |
|
|
91
|
+
|
|
92
|
+
**Example with model selection:**
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
claude-code-runner -m sonnet "Explain this codebase"
|
|
96
|
+
```
|
|
90
97
|
|
|
91
98
|
## Runner Signals
|
|
92
99
|
|
|
93
100
|
Signals give Claude a way to control execution flow. Instruct Claude to output these signals in your prompts or templates, and the runner will respond accordingly.
|
|
94
101
|
|
|
95
|
-
| Signal
|
|
96
|
-
|
|
|
97
|
-
| `:::RUNNER::
|
|
98
|
-
| `:::RUNNER::
|
|
99
|
-
| `:::RUNNER::
|
|
100
|
-
|
|
102
|
+
| Signal | Effect |
|
|
103
|
+
| --------------------------- | -------------------------------- |
|
|
104
|
+
| `:::RUNNER::REPEAT_STEP:::` | Run the same step again |
|
|
105
|
+
| `:::RUNNER::BLOCKED:::` | Exit with error (awaiting human) |
|
|
106
|
+
| `:::RUNNER::ERROR:::` | Exit with error |
|
|
107
|
+
|
|
108
|
+
No signal means success—the runner exits when Claude finishes without outputting a signal.
|
|
101
109
|
|
|
102
110
|
**Example prompt using signals:**
|
|
103
111
|
|
|
104
112
|
```bash
|
|
105
|
-
claude-code-runner "Fix all lint errors in src/. Output :::RUNNER::
|
|
113
|
+
claude-code-runner "Fix all lint errors in src/. Output :::RUNNER::BLOCKED::: if you need human input."
|
|
106
114
|
```
|
|
107
115
|
|
|
108
116
|
**Example template with signals** (`.claude/commands/fix-tests.md`):
|
|
@@ -110,12 +118,11 @@ claude-code-runner "Fix all lint errors in src/. Output :::RUNNER::DONE::: when
|
|
|
110
118
|
```markdown
|
|
111
119
|
Run the test suite for $1.
|
|
112
120
|
|
|
113
|
-
- If
|
|
114
|
-
- If tests fail and you can fix them, fix them and output :::RUNNER::CONTINUE::: to re-run
|
|
121
|
+
- If tests fail and you can fix them, fix them and output :::RUNNER::REPEAT_STEP::: to re-run
|
|
115
122
|
- If tests fail and you need help, output :::RUNNER::BLOCKED::: with an explanation
|
|
116
123
|
```
|
|
117
124
|
|
|
118
|
-
This pattern enables self-correcting loops: Claude attempts a fix, signals `
|
|
125
|
+
This pattern enables self-correcting loops: Claude attempts a fix, signals `REPEAT_STEP` to retry, and exits when done or stuck.
|
|
119
126
|
|
|
120
127
|
**Defaults:**
|
|
121
128
|
|
package/dist/cli/args.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../src/cli/args.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EACV,UAAU,EAIX,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../src/cli/args.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EACV,UAAU,EAIX,MAAM,mBAAmB,CAAC;AAwC3B;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAkBjE;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CA8DpD;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,IAAI,CA0BjC"}
|
package/dist/cli/args.js
CHANGED
|
@@ -9,26 +9,33 @@ import { loadCommandTemplate } from '../templates/command.js';
|
|
|
9
9
|
function extractOptions(args) {
|
|
10
10
|
let verbosity = 'normal';
|
|
11
11
|
let enableLog = true;
|
|
12
|
+
let model = null;
|
|
12
13
|
const positionalArgs = [];
|
|
13
|
-
for (
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
14
|
+
for (let i = 0; i < args.length; i++) {
|
|
15
|
+
const arg = args[i];
|
|
16
|
+
if (arg === '--quiet') {
|
|
17
|
+
verbosity = 'quiet';
|
|
18
|
+
}
|
|
19
|
+
else if (arg === '--normal') {
|
|
20
|
+
verbosity = 'normal';
|
|
21
|
+
}
|
|
22
|
+
else if (arg === '--verbose') {
|
|
23
|
+
verbosity = 'verbose';
|
|
24
|
+
}
|
|
25
|
+
else if (arg === '--no-log') {
|
|
26
|
+
enableLog = false;
|
|
27
|
+
}
|
|
28
|
+
else if (arg === '--model' || arg === '-m') {
|
|
29
|
+
model = args[++i] ?? null;
|
|
30
|
+
}
|
|
31
|
+
else if (arg?.startsWith('--model=')) {
|
|
32
|
+
model = arg.slice(8);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
positionalArgs.push(arg ?? '');
|
|
29
36
|
}
|
|
30
37
|
}
|
|
31
|
-
return { positionalArgs, verbosity, enableLog };
|
|
38
|
+
return { positionalArgs, verbosity, enableLog, model };
|
|
32
39
|
}
|
|
33
40
|
/**
|
|
34
41
|
* Parse a command line into a prompt
|
|
@@ -59,9 +66,10 @@ export function parseCommandLine(line) {
|
|
|
59
66
|
* Parse CLI arguments
|
|
60
67
|
*/
|
|
61
68
|
export function parseArgs(args) {
|
|
62
|
-
const { positionalArgs, verbosity, enableLog } = extractOptions(args);
|
|
69
|
+
const { positionalArgs, verbosity, enableLog, model } = extractOptions(args);
|
|
63
70
|
const subcommand = (positionalArgs[0] ?? 'prompt');
|
|
64
71
|
let prompt = '';
|
|
72
|
+
let displayCommand = '';
|
|
65
73
|
let scriptMode = false;
|
|
66
74
|
let scriptLines = [];
|
|
67
75
|
switch (subcommand) {
|
|
@@ -73,6 +81,7 @@ export function parseArgs(args) {
|
|
|
73
81
|
process.exit(1);
|
|
74
82
|
}
|
|
75
83
|
prompt = loadCommandTemplate(commandName, positionalArgs.slice(2));
|
|
84
|
+
displayCommand = positionalArgs.slice(1).join(' ');
|
|
76
85
|
break;
|
|
77
86
|
}
|
|
78
87
|
case 'script': {
|
|
@@ -92,20 +101,24 @@ export function parseArgs(args) {
|
|
|
92
101
|
.map((l) => l.trim())
|
|
93
102
|
.filter((l) => l && !l.startsWith('#')); // Skip empty lines and comments
|
|
94
103
|
scriptMode = true;
|
|
104
|
+
displayCommand = `script ${scriptFile}`;
|
|
95
105
|
break;
|
|
96
106
|
}
|
|
97
107
|
case 'prompt':
|
|
98
108
|
prompt =
|
|
99
109
|
positionalArgs.slice(1).join(' ') || 'Tell me about this project';
|
|
110
|
+
displayCommand = `"${prompt}"`;
|
|
100
111
|
break;
|
|
101
112
|
}
|
|
102
113
|
const config = {
|
|
103
114
|
verbosity,
|
|
104
115
|
enableLog,
|
|
116
|
+
model,
|
|
105
117
|
};
|
|
106
118
|
return {
|
|
107
119
|
subcommand: scriptMode ? 'script' : subcommand,
|
|
108
120
|
prompt,
|
|
121
|
+
displayCommand,
|
|
109
122
|
scriptLines,
|
|
110
123
|
scriptMode,
|
|
111
124
|
config,
|
|
@@ -128,17 +141,17 @@ Subcommands:
|
|
|
128
141
|
command <name> [args] Load .claude/commands/<name>.md (supports RUNNER signals)
|
|
129
142
|
script <file> Run commands from file, stop on ERROR/BLOCKED
|
|
130
143
|
|
|
131
|
-
Iteration
|
|
132
|
-
:::RUNNER::
|
|
133
|
-
:::RUNNER::CONTINUE::: Continue to next iteration
|
|
144
|
+
Iteration Signals (control runner execution):
|
|
145
|
+
:::RUNNER::REPEAT_STEP::: Run the same step again
|
|
134
146
|
:::RUNNER::BLOCKED::: Exit with error (awaiting human intervention)
|
|
135
147
|
:::RUNNER::ERROR::: Exit with error (something went wrong)
|
|
136
148
|
|
|
137
149
|
Options:
|
|
138
|
-
--quiet
|
|
139
|
-
--normal
|
|
140
|
-
--verbose
|
|
141
|
-
--no-log
|
|
150
|
+
--quiet Minimal output (errors only)
|
|
151
|
+
--normal Default output level
|
|
152
|
+
--verbose Full output with all details
|
|
153
|
+
--no-log Disable logging to file (enabled by default)
|
|
154
|
+
--model, -m <model> Specify Claude model (e.g., sonnet, opus, haiku)
|
|
142
155
|
`);
|
|
143
156
|
}
|
|
144
157
|
//# sourceMappingURL=args.js.map
|
package/dist/cli/args.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/cli/args.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/cli/args.ts"],"names":[],"mappings":"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"}
|
package/dist/core/runner.d.ts
CHANGED
|
@@ -14,5 +14,5 @@ export interface RunnerContext {
|
|
|
14
14
|
* Run a command with RUNNER signal support
|
|
15
15
|
* Handles iteration loop and signal detection
|
|
16
16
|
*/
|
|
17
|
-
export declare function runWithSignals(promptText: string, startTime: number, context: RunnerContext): Promise<SignalResult>;
|
|
17
|
+
export declare function runWithSignals(promptText: string, displayCommand: string, startTime: number, context: RunnerContext): Promise<SignalResult>;
|
|
18
18
|
//# sourceMappingURL=runner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/core/runner.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAGlD,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAErE,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,cAAc,CAAC;IAC/B,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAClC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/core/runner.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAGlD,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAErE,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,cAAc,CAAC;IAC/B,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAClC,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,YAAY,CAAC,CAkFvB"}
|
package/dist/core/runner.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Core runner with iteration control and signal detection
|
|
3
3
|
*/
|
|
4
|
-
import { colors,
|
|
4
|
+
import { colors, formatElapsed, printRunner } from '../output/colors.js';
|
|
5
5
|
import { detectRunnerSignal } from '../parsers/signals.js';
|
|
6
6
|
import { spawnClaude } from '../process/pty.js';
|
|
7
7
|
/**
|
|
8
8
|
* Run a command with RUNNER signal support
|
|
9
9
|
* Handles iteration loop and signal detection
|
|
10
10
|
*/
|
|
11
|
-
export async function runWithSignals(promptText, startTime, context) {
|
|
11
|
+
export async function runWithSignals(promptText, displayCommand, startTime, context) {
|
|
12
12
|
const { config, logger, formatterState, cwd } = context;
|
|
13
|
-
const { verbosity, maxIterations, parallelThresholdMs, iterationPauseMs } = config;
|
|
13
|
+
const { verbosity, maxIterations, parallelThresholdMs, iterationPauseMs, model, } = config;
|
|
14
14
|
let iteration = 0;
|
|
15
15
|
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- intentional infinite loop with internal exits
|
|
16
16
|
while (true) {
|
|
@@ -18,86 +18,54 @@ export async function runWithSignals(promptText, startTime, context) {
|
|
|
18
18
|
// Check max iterations
|
|
19
19
|
if (iteration > maxIterations) {
|
|
20
20
|
const totalDuration = Math.round((Date.now() - startTime) / 1000);
|
|
21
|
-
|
|
22
|
-
printSeparator();
|
|
23
|
-
console.log(`${colors.red}MAX ITERATIONS (${maxIterations})${colors.reset} | Total: ${formatDuration(totalDuration * 1000)}`);
|
|
24
|
-
printSeparator();
|
|
21
|
+
printRunner(`${colors.red}Run stopped${colors.reset} max iterations (${maxIterations}) in ${formatElapsed(totalDuration)}`);
|
|
25
22
|
logger.log(`\nMAX ITERATIONS reached after ${maxIterations}`);
|
|
26
23
|
return 'error';
|
|
27
24
|
}
|
|
28
|
-
//
|
|
25
|
+
// Log iteration for subsequent iterations
|
|
29
26
|
if (iteration > 1) {
|
|
30
|
-
console.log('');
|
|
31
|
-
printIterationHeader(iteration);
|
|
32
27
|
logger.log(`\n--- Iteration ${iteration} ---\n`);
|
|
33
28
|
}
|
|
29
|
+
// Print running message
|
|
30
|
+
if (verbosity !== 'quiet') {
|
|
31
|
+
printRunner(`Running step [${iteration}]: ${displayCommand}`);
|
|
32
|
+
}
|
|
34
33
|
// Run Claude
|
|
35
|
-
const { exitCode,
|
|
34
|
+
const { exitCode, claudeText } = await spawnClaude({
|
|
36
35
|
prompt: promptText,
|
|
37
36
|
cwd,
|
|
38
37
|
verbosity,
|
|
39
38
|
logger,
|
|
40
39
|
formatterState,
|
|
41
40
|
parallelThresholdMs,
|
|
41
|
+
model,
|
|
42
42
|
});
|
|
43
43
|
const status = detectRunnerSignal(claudeText);
|
|
44
44
|
const totalDuration = Math.round((Date.now() - startTime) / 1000);
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
if (status === 'done') {
|
|
48
|
-
console.log(`${colors.green}COMPLETE${colors.reset} | Iterations: ${iteration} | Total: ${formatDuration(totalDuration * 1000)}`);
|
|
49
|
-
printSeparator();
|
|
50
|
-
logger.log(`\nCOMPLETE after ${iteration} iterations, ${totalDuration}s total`);
|
|
51
|
-
return 'ok';
|
|
52
|
-
}
|
|
53
|
-
else if (status === 'blocked') {
|
|
54
|
-
console.log(`${colors.red}BLOCKED${colors.reset} | Iterations: ${iteration} | Total: ${formatDuration(totalDuration * 1000)}`);
|
|
55
|
-
printSeparator();
|
|
45
|
+
if (status === 'blocked') {
|
|
46
|
+
printRunner(`${colors.red}Run blocked${colors.reset} [${iteration}] steps in ${formatElapsed(totalDuration)}`);
|
|
56
47
|
logger.log(`\nBLOCKED after ${iteration} iterations, ${totalDuration}s total`);
|
|
57
48
|
return 'blocked';
|
|
58
49
|
}
|
|
59
50
|
else if (status === 'error') {
|
|
60
|
-
|
|
61
|
-
printSeparator();
|
|
51
|
+
printRunner(`${colors.red}Run failed${colors.reset} [${iteration}] steps in ${formatElapsed(totalDuration)}`);
|
|
62
52
|
logger.log(`\nERROR after ${iteration} iterations, ${totalDuration}s total`);
|
|
63
53
|
return 'error';
|
|
64
54
|
}
|
|
65
|
-
else if (status === '
|
|
66
|
-
|
|
67
|
-
printSeparator();
|
|
55
|
+
else if (status === 'repeat_step') {
|
|
56
|
+
printRunner(`Claude requested to repeat the step`);
|
|
68
57
|
logger.log(`Iteration ${iteration} complete, continuing...`);
|
|
69
58
|
await sleep(iterationPauseMs);
|
|
70
59
|
}
|
|
71
60
|
else {
|
|
72
61
|
// No status signal - treat as successful single run
|
|
73
62
|
const exitStatus = exitCode === 0 ? 'ok' : 'error';
|
|
74
|
-
|
|
75
|
-
console.log(`Exit: ${exitCode === 0 ? colors.green : colors.red}${exitCode}${colors.reset} | Duration: ${duration}s`);
|
|
76
|
-
}
|
|
77
|
-
else {
|
|
78
|
-
console.log(`${exitCode === 0 ? colors.green + 'COMPLETE' : colors.red + 'FAILED'}${colors.reset} | Iterations: ${iteration} | Total: ${formatDuration(totalDuration * 1000)}`);
|
|
79
|
-
}
|
|
80
|
-
printSeparator();
|
|
63
|
+
printRunner(`${exitCode === 0 ? colors.green + 'Run completed' : colors.red + 'Run failed'}${colors.reset} [${iteration}] steps in ${formatElapsed(totalDuration)}`);
|
|
81
64
|
logger.log(`\nCompleted after ${iteration} iteration(s), exit=${exitCode}`);
|
|
82
65
|
return exitStatus;
|
|
83
66
|
}
|
|
84
67
|
}
|
|
85
68
|
}
|
|
86
|
-
/**
|
|
87
|
-
* Print a separator line
|
|
88
|
-
*/
|
|
89
|
-
function printSeparator() {
|
|
90
|
-
console.log(`${colors.bold}════════════════════════════════════════════════════════════${colors.reset}`);
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Print iteration header
|
|
94
|
-
*/
|
|
95
|
-
function printIterationHeader(iteration) {
|
|
96
|
-
console.log(`${colors.blue}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${colors.reset}`);
|
|
97
|
-
console.log(`${colors.blue}Iteration ${iteration}${colors.reset}`);
|
|
98
|
-
console.log(`${colors.blue}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${colors.reset}`);
|
|
99
|
-
console.log('');
|
|
100
|
-
}
|
|
101
69
|
/**
|
|
102
70
|
* Sleep for a given number of milliseconds
|
|
103
71
|
*/
|
package/dist/core/runner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/core/runner.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/core/runner.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { parseArgs, parseCommandLine } from './cli/args.js';
|
|
7
7
|
import { runWithSignals } from './core/runner.js';
|
|
8
|
-
import { colors,
|
|
8
|
+
import { colors, formatElapsed, printRunner } from './output/colors.js';
|
|
9
9
|
import { createFormatterState } from './output/formatter.js';
|
|
10
10
|
import { createLogger } from './output/logger.js';
|
|
11
11
|
import { DEFAULT_CONFIG } from './types/runner.js';
|
|
@@ -34,8 +34,14 @@ async function main() {
|
|
|
34
34
|
formatterState,
|
|
35
35
|
cwd: process.cwd(),
|
|
36
36
|
};
|
|
37
|
-
// Print
|
|
38
|
-
|
|
37
|
+
// Print config with [RUNNER] messages
|
|
38
|
+
printRunner(`Mode: ${parsed.subcommand} | Verbosity: ${config.verbosity}`);
|
|
39
|
+
if (config.model) {
|
|
40
|
+
printRunner(`Model: ${config.model}`);
|
|
41
|
+
}
|
|
42
|
+
if (logger.filePath) {
|
|
43
|
+
printRunner(`Log: ${logger.filePath}`);
|
|
44
|
+
}
|
|
39
45
|
logger.log(`Started: ${new Date().toISOString()}`);
|
|
40
46
|
if (parsed.scriptMode) {
|
|
41
47
|
// Script mode: run each line
|
|
@@ -43,28 +49,15 @@ async function main() {
|
|
|
43
49
|
}
|
|
44
50
|
else {
|
|
45
51
|
// Single command mode
|
|
46
|
-
await runSingleMode(parsed.prompt, context, totalStart);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Print runner header
|
|
51
|
-
*/
|
|
52
|
-
function printHeader(mode, verbosity, logFile) {
|
|
53
|
-
console.log(`${colors.bold}════════════════════════════════════════════════════════════${colors.reset}`);
|
|
54
|
-
console.log(`${colors.bold}Claude Code Runner${colors.reset} ${colors.dim}(${verbosity}, ${mode})${colors.reset}`);
|
|
55
|
-
console.log(`${colors.bold}════════════════════════════════════════════════════════════${colors.reset}`);
|
|
56
|
-
if (logFile) {
|
|
57
|
-
console.log(`${colors.dim}Log:${colors.reset} ${logFile}`);
|
|
52
|
+
await runSingleMode(parsed.prompt, parsed.subcommand, parsed.displayCommand, context, totalStart);
|
|
58
53
|
}
|
|
59
54
|
}
|
|
60
55
|
/**
|
|
61
56
|
* Run in single command mode (prompt or command)
|
|
62
57
|
*/
|
|
63
|
-
async function runSingleMode(prompt, context, startTime) {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
context.logger.log(`Prompt: ${prompt}\n`);
|
|
67
|
-
const result = await runWithSignals(prompt, startTime, context);
|
|
58
|
+
async function runSingleMode(prompt, subcommand, displayCommand, context, startTime) {
|
|
59
|
+
context.logger.log(`${subcommand}: ${displayCommand}\n`);
|
|
60
|
+
const result = await runWithSignals(prompt, displayCommand, startTime, context);
|
|
68
61
|
context.logger.close();
|
|
69
62
|
process.exit(result === 'ok' ? 0 : 1);
|
|
70
63
|
}
|
|
@@ -72,27 +65,22 @@ async function runSingleMode(prompt, context, startTime) {
|
|
|
72
65
|
* Run in script mode
|
|
73
66
|
*/
|
|
74
67
|
async function runScriptMode(scriptLines, context, startTime) {
|
|
75
|
-
|
|
76
|
-
console.log('');
|
|
68
|
+
printRunner(`Running script: ${scriptLines.length} commands`);
|
|
77
69
|
context.logger.log(`Script: ${scriptLines.length} commands\n`);
|
|
78
70
|
for (const [i, line] of scriptLines.entries()) {
|
|
79
|
-
printScriptStep(i + 1, scriptLines.length, line);
|
|
80
71
|
context.logger.log(`\n=== [${i + 1}/${scriptLines.length}] ${line} ===\n`);
|
|
81
72
|
let result;
|
|
82
73
|
try {
|
|
83
74
|
const parsed = parseCommandLine(line);
|
|
84
|
-
result = await runWithSignals(parsed.prompt, startTime, context);
|
|
75
|
+
result = await runWithSignals(parsed.prompt, line, startTime, context);
|
|
85
76
|
}
|
|
86
77
|
catch (err) {
|
|
87
|
-
|
|
78
|
+
printRunner(`${colors.red}Parse error:${colors.reset} ${err.message}`);
|
|
88
79
|
result = 'error';
|
|
89
80
|
}
|
|
90
81
|
if (result === 'blocked' || result === 'error') {
|
|
91
82
|
const totalDuration = Math.round((Date.now() - startTime) / 1000);
|
|
92
|
-
|
|
93
|
-
console.log(`${colors.bold}════════════════════════════════════════════════════════════${colors.reset}`);
|
|
94
|
-
console.log(`${colors.red}SCRIPT STOPPED${colors.reset} at step ${i + 1}/${scriptLines.length} | Total: ${formatDuration(totalDuration * 1000)}`);
|
|
95
|
-
console.log(`${colors.bold}════════════════════════════════════════════════════════════${colors.reset}`);
|
|
83
|
+
printRunner(`${colors.red}Script stopped${colors.reset} [${i + 1}/${scriptLines.length}] steps in ${formatElapsed(totalDuration)}`);
|
|
96
84
|
context.logger.log(`\nSCRIPT STOPPED at step ${i + 1}, ${totalDuration}s total`);
|
|
97
85
|
context.logger.close();
|
|
98
86
|
process.exit(1);
|
|
@@ -100,23 +88,11 @@ async function runScriptMode(scriptLines, context, startTime) {
|
|
|
100
88
|
}
|
|
101
89
|
// All commands completed
|
|
102
90
|
const totalDuration = Math.round((Date.now() - startTime) / 1000);
|
|
103
|
-
|
|
104
|
-
console.log(`${colors.bold}════════════════════════════════════════════════════════════${colors.reset}`);
|
|
105
|
-
console.log(`${colors.green}SCRIPT COMPLETE${colors.reset} | ${scriptLines.length} commands | Total: ${formatDuration(totalDuration * 1000)}`);
|
|
106
|
-
console.log(`${colors.bold}════════════════════════════════════════════════════════════${colors.reset}`);
|
|
91
|
+
printRunner(`${colors.green}Script completed${colors.reset} [${scriptLines.length}] steps in ${formatElapsed(totalDuration)}`);
|
|
107
92
|
context.logger.log(`\nSCRIPT COMPLETE, ${scriptLines.length} commands, ${totalDuration}s total`);
|
|
108
93
|
context.logger.close();
|
|
109
94
|
process.exit(0);
|
|
110
95
|
}
|
|
111
|
-
/**
|
|
112
|
-
* Print script step header
|
|
113
|
-
*/
|
|
114
|
-
function printScriptStep(current, total, line) {
|
|
115
|
-
console.log(`${colors.cyan}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${colors.reset}`);
|
|
116
|
-
console.log(`${colors.cyan}[${current}/${total}]${colors.reset} ${truncate(line, 60)}`);
|
|
117
|
-
console.log(`${colors.cyan}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${colors.reset}`);
|
|
118
|
-
console.log('');
|
|
119
|
-
}
|
|
120
96
|
// Run main
|
|
121
97
|
main().catch((err) => {
|
|
122
98
|
console.error('Fatal error:', err);
|
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,SAAS,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAsB,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/output/colors.d.ts
CHANGED
|
@@ -30,4 +30,20 @@ export declare function formatDuration(ms: number): string;
|
|
|
30
30
|
* Shorten file paths by removing common prefixes
|
|
31
31
|
*/
|
|
32
32
|
export declare function shortenPath(filePath: string): string;
|
|
33
|
+
/**
|
|
34
|
+
* Format current timestamp as HH:MM:SS.mmm
|
|
35
|
+
*/
|
|
36
|
+
export declare function formatTimestamp(date?: Date): string;
|
|
37
|
+
/**
|
|
38
|
+
* Format elapsed seconds as hh:mm:ss
|
|
39
|
+
*/
|
|
40
|
+
export declare function formatElapsed(seconds: number): string;
|
|
41
|
+
/**
|
|
42
|
+
* Get a timestamped prefix for output lines
|
|
43
|
+
*/
|
|
44
|
+
export declare function timestampPrefix(): string;
|
|
45
|
+
/**
|
|
46
|
+
* Print a [RUNNER] control message with timestamp
|
|
47
|
+
*/
|
|
48
|
+
export declare function printRunner(message: string): void;
|
|
33
49
|
//# sourceMappingURL=colors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../src/output/colors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,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;;GAEG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAUjD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAOpD"}
|
|
1
|
+
{"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../src/output/colors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,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;;GAEG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAUjD;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,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAKrD;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAIjD"}
|
package/dist/output/colors.js
CHANGED
|
@@ -60,4 +60,35 @@ export function shortenPath(filePath) {
|
|
|
60
60
|
.replace(/.*\/\.claude\//, '.claude/')
|
|
61
61
|
.replace(/.*\/infra\//, 'infra/');
|
|
62
62
|
}
|
|
63
|
+
/**
|
|
64
|
+
* Format current timestamp as HH:MM:SS.mmm
|
|
65
|
+
*/
|
|
66
|
+
export function formatTimestamp(date = new Date()) {
|
|
67
|
+
const h = date.getHours().toString().padStart(2, '0');
|
|
68
|
+
const m = date.getMinutes().toString().padStart(2, '0');
|
|
69
|
+
const s = date.getSeconds().toString().padStart(2, '0');
|
|
70
|
+
const ms = date.getMilliseconds().toString().padStart(3, '0');
|
|
71
|
+
return `${h}:${m}:${s}.${ms}`;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Format elapsed seconds as hh:mm:ss
|
|
75
|
+
*/
|
|
76
|
+
export function formatElapsed(seconds) {
|
|
77
|
+
const h = Math.floor(seconds / 3600);
|
|
78
|
+
const m = Math.floor((seconds % 3600) / 60);
|
|
79
|
+
const s = seconds % 60;
|
|
80
|
+
return `${h.toString().padStart(2, '0')}:${m.toString().padStart(2, '0')}:${s.toString().padStart(2, '0')}`;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Get a timestamped prefix for output lines
|
|
84
|
+
*/
|
|
85
|
+
export function timestampPrefix() {
|
|
86
|
+
return `${colors.dim}${formatTimestamp()}${colors.reset} `;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Print a [RUNNER] control message with timestamp
|
|
90
|
+
*/
|
|
91
|
+
export function printRunner(message) {
|
|
92
|
+
console.log(`${timestampPrefix()}${colors.magenta}[RUNNER]${colors.reset} ${message}`);
|
|
93
|
+
}
|
|
63
94
|
//# sourceMappingURL=colors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colors.js","sourceRoot":"","sources":["../../src/output/colors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,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;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,EAAU;IACvC,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC;QACd,OAAO,GAAG,EAAE,IAAI,CAAC;IACnB,CAAC;IACD,IAAI,EAAE,GAAG,KAAK,EAAE,CAAC;QACf,OAAO,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACtC,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9C,OAAO,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,QAAgB;IAC1C,OAAO,QAAQ;SACZ,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC;SAC9B,OAAO,CAAC,gBAAgB,EAAE,WAAW,CAAC;SACtC,OAAO,CAAC,eAAe,EAAE,UAAU,CAAC;SACpC,OAAO,CAAC,gBAAgB,EAAE,UAAU,CAAC;SACrC,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;AACtC,CAAC"}
|
|
1
|
+
{"version":3,"file":"colors.js","sourceRoot":"","sources":["../../src/output/colors.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;
|
|
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;AAS5B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C;;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;CACrC;AAED,wBAAgB,oBAAoB,IAAI,cAAc,CAOrD;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAK/D;AAwED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,SAAS,GACnB,IAAI,CAuBN;AAoFD;;;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,CA+GR"}
|
package/dist/output/formatter.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
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 { colors, formatDuration, shortenPath, truncate } from './colors.js';
|
|
6
|
+
import { colors, formatDuration, printRunner, shortenPath, timestampPrefix, truncate, } from './colors.js';
|
|
7
7
|
export function createFormatterState() {
|
|
8
8
|
return {
|
|
9
9
|
pendingTools: [],
|
|
@@ -40,8 +40,8 @@ function formatToolUse(tool, indented, state) {
|
|
|
40
40
|
const inTask = state.activeTask !== null;
|
|
41
41
|
const indent = inTask ? ' │ ' : '';
|
|
42
42
|
const prefix = indented
|
|
43
|
-
? `${indent} → `
|
|
44
|
-
: `${indent}${colors.yellow}[TOOL]${colors.reset} `;
|
|
43
|
+
? `${timestampPrefix()}${indent} → `
|
|
44
|
+
: `${timestampPrefix()}${indent}${colors.yellow}[TOOL]${colors.reset} `;
|
|
45
45
|
const name = tool.name;
|
|
46
46
|
const input = tool.input;
|
|
47
47
|
let summary = '';
|
|
@@ -65,8 +65,8 @@ function formatToolUse(tool, indented, state) {
|
|
|
65
65
|
summary = `${colors.magenta}${taskType}${colors.reset}: ${taskDesc}`;
|
|
66
66
|
// Mark task as active and print task header
|
|
67
67
|
state.activeTask = { name: taskType, description: taskDesc, id: tool.id };
|
|
68
|
-
console.log(`${colors.yellow}[TASK]${colors.reset} ${colors.magenta}${taskType}${colors.reset} ${taskDesc}`);
|
|
69
|
-
console.log(
|
|
68
|
+
console.log(`${timestampPrefix()}${colors.yellow}[TASK]${colors.reset} ${colors.magenta}${taskType}${colors.reset} ${taskDesc}`);
|
|
69
|
+
console.log(`${timestampPrefix()} ${colors.dim}┌─────────────────────────────────────────────────${colors.reset}`);
|
|
70
70
|
return;
|
|
71
71
|
}
|
|
72
72
|
else if (name === 'Write' || name === 'Edit') {
|
|
@@ -94,7 +94,7 @@ export function flushPendingTools(state, verbosity) {
|
|
|
94
94
|
}
|
|
95
95
|
else {
|
|
96
96
|
// Group parallel tools
|
|
97
|
-
console.log(`${colors.yellow}[TOOL ×${state.pendingTools.length}]${colors.reset} ${colors.dim}(parallel)${colors.reset}`);
|
|
97
|
+
console.log(`${timestampPrefix()}${colors.yellow}[TOOL ×${state.pendingTools.length}]${colors.reset} ${colors.dim}(parallel)${colors.reset}`);
|
|
98
98
|
for (const tool of state.pendingTools) {
|
|
99
99
|
formatToolUse(tool, true, state);
|
|
100
100
|
}
|
|
@@ -123,13 +123,13 @@ function printToolResult(result, durationStr, verbosity, state) {
|
|
|
123
123
|
const maxLines = 10;
|
|
124
124
|
const showLines = lines.slice(0, maxLines);
|
|
125
125
|
for (const line of showLines) {
|
|
126
|
-
console.log(`${indent} ${colors.dim}${truncate(line, 150)}${colors.reset}`);
|
|
126
|
+
console.log(`${timestampPrefix()}${indent} ${colors.dim}${truncate(line, 150)}${colors.reset}`);
|
|
127
127
|
}
|
|
128
128
|
if (lines.length > maxLines) {
|
|
129
|
-
console.log(`${indent} ${colors.dim}... (${lines.length - maxLines} more lines)${colors.reset}${durationStr}`);
|
|
129
|
+
console.log(`${timestampPrefix()}${indent} ${colors.dim}... (${lines.length - maxLines} more lines)${colors.reset}${durationStr}`);
|
|
130
130
|
}
|
|
131
131
|
else if (durationStr) {
|
|
132
|
-
console.log(`${indent} ${durationStr}`);
|
|
132
|
+
console.log(`${timestampPrefix()}${indent} ${durationStr}`);
|
|
133
133
|
}
|
|
134
134
|
}
|
|
135
135
|
/**
|
|
@@ -140,7 +140,7 @@ function printTaskResult(result, durationStr, verbosity, state) {
|
|
|
140
140
|
? result.content
|
|
141
141
|
: JSON.stringify(result.content);
|
|
142
142
|
// Close the task visual box with duration
|
|
143
|
-
console.log(
|
|
143
|
+
console.log(`${timestampPrefix()} ${colors.dim}└─────────────────────────────────────────────────${colors.reset}${durationStr}`);
|
|
144
144
|
// Extract the text part of task result, skip agentId line
|
|
145
145
|
const lines = content
|
|
146
146
|
.split('\n')
|
|
@@ -149,7 +149,7 @@ function printTaskResult(result, durationStr, verbosity, state) {
|
|
|
149
149
|
if (lines.length > 0) {
|
|
150
150
|
const maxLen = verbosity === 'verbose' ? 500 : 200;
|
|
151
151
|
const summary = lines.join(' ').replace(/\s+/g, ' ');
|
|
152
|
-
console.log(
|
|
152
|
+
console.log(`${timestampPrefix()} ${colors.green}→ ${truncate(summary, maxLen)}${colors.reset}`);
|
|
153
153
|
}
|
|
154
154
|
// Clear active task
|
|
155
155
|
state.activeTask = null;
|
|
@@ -162,23 +162,7 @@ export function formatMessage(msg, state, verbosity, _logger, // Reserved for fu
|
|
|
162
162
|
parallelThresholdMs) {
|
|
163
163
|
let claudeText = '';
|
|
164
164
|
if (isSystemInitMessage(msg)) {
|
|
165
|
-
|
|
166
|
-
console.log(`${colors.blue}[INIT]${colors.reset} ${msg.model} | ${msg.tools?.length ?? 0} tools`);
|
|
167
|
-
if (msg.mcp_servers && verbosity === 'verbose') {
|
|
168
|
-
const connected = msg.mcp_servers
|
|
169
|
-
.filter((s) => s.status === 'connected')
|
|
170
|
-
.map((s) => s.name);
|
|
171
|
-
const failed = msg.mcp_servers
|
|
172
|
-
.filter((s) => s.status === 'failed')
|
|
173
|
-
.map((s) => s.name);
|
|
174
|
-
if (connected.length) {
|
|
175
|
-
console.log(` ${colors.green}MCP:${colors.reset} ${connected.join(', ')}`);
|
|
176
|
-
}
|
|
177
|
-
if (failed.length) {
|
|
178
|
-
console.log(` ${colors.red}MCP failed:${colors.reset} ${failed.join(', ')}`);
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
}
|
|
165
|
+
// Skip init messages - config is shown by runner
|
|
182
166
|
}
|
|
183
167
|
else if (isAssistantMessage(msg)) {
|
|
184
168
|
flushPendingTools(state, verbosity);
|
|
@@ -189,12 +173,13 @@ parallelThresholdMs) {
|
|
|
189
173
|
// Show answers but not thinking/status updates
|
|
190
174
|
if (!block.text.startsWith("I'll ") &&
|
|
191
175
|
!block.text.startsWith('Let me ')) {
|
|
192
|
-
|
|
176
|
+
const text = block.text.replace(/[\r\n]+/g, ' ').trim();
|
|
177
|
+
console.log(`${timestampPrefix()}${colors.green}[ANSWER]${colors.reset} ${truncate(text, 500)}`);
|
|
193
178
|
}
|
|
194
179
|
}
|
|
195
180
|
else {
|
|
196
|
-
const
|
|
197
|
-
console.log(`${colors.green}[CLAUDE]${colors.reset} ${
|
|
181
|
+
const text = block.text.replace(/[\r\n]+/g, ' ').trim();
|
|
182
|
+
console.log(`${timestampPrefix()}${colors.green}[CLAUDE]${colors.reset} ${text}`);
|
|
198
183
|
}
|
|
199
184
|
}
|
|
200
185
|
else if (isToolUseBlock(block)) {
|
|
@@ -244,7 +229,7 @@ parallelThresholdMs) {
|
|
|
244
229
|
content.startsWith('Error:') ||
|
|
245
230
|
content.startsWith('error:');
|
|
246
231
|
if (isError) {
|
|
247
|
-
console.log(
|
|
232
|
+
console.log(`${timestampPrefix()} ${colors.red}ERROR: ${truncate(content, 100)}${colors.reset}${durationStr}`);
|
|
248
233
|
}
|
|
249
234
|
else if (state.activeTask?.id === toolUseId) {
|
|
250
235
|
// Task completing
|
|
@@ -262,12 +247,12 @@ parallelThresholdMs) {
|
|
|
262
247
|
const duration = msg.duration_ms
|
|
263
248
|
? `${(msg.duration_ms / 1000).toFixed(1)}s`
|
|
264
249
|
: '?';
|
|
265
|
-
|
|
250
|
+
printRunner(`Claude completed step in ${duration}`);
|
|
266
251
|
}
|
|
267
252
|
}
|
|
268
253
|
else {
|
|
269
254
|
if (verbosity === 'verbose') {
|
|
270
|
-
console.log(`${colors.dim}[${msg.type.toUpperCase()}] ${truncate(JSON.stringify(msg), 100)}${colors.reset}`);
|
|
255
|
+
console.log(`${timestampPrefix()}${colors.dim}[${msg.type.toUpperCase()}] ${truncate(JSON.stringify(msg), 100)}${colors.reset}`);
|
|
271
256
|
}
|
|
272
257
|
}
|
|
273
258
|
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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/output/logger.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,MAAM,WAAW,MAAM;IACrB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,IAAI,IAAI,CAAC;IACd,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAClB,MAAM,
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/output/logger.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,MAAM,WAAW,MAAM;IACrB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,IAAI,IAAI,CAAC;IACd,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAClB,MAAM,CA+BR"}
|
package/dist/output/logger.js
CHANGED
|
@@ -26,8 +26,9 @@ 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 for clean log file
|
|
30
|
-
|
|
29
|
+
// Strip ANSI codes and CR for clean log file
|
|
30
|
+
const clean = stripAnsi(msg).replace(/\r/g, '');
|
|
31
|
+
logStream.write(clean + '\n');
|
|
31
32
|
},
|
|
32
33
|
close() {
|
|
33
34
|
logStream.end();
|
|
@@ -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,6CAA6C;YAC7C,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAChD,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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signals.d.ts","sourceRoot":"","sources":["../../src/parsers/signals.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvE;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"signals.d.ts","sourceRoot":"","sources":["../../src/parsers/signals.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvE;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAWpE"}
|
package/dist/parsers/signals.js
CHANGED
|
@@ -7,11 +7,8 @@ import { RUNNER_SIGNALS } from '../types/runner.js';
|
|
|
7
7
|
* Returns null if no signal found
|
|
8
8
|
*/
|
|
9
9
|
export function detectRunnerSignal(text) {
|
|
10
|
-
if (text.includes(RUNNER_SIGNALS.
|
|
11
|
-
return '
|
|
12
|
-
}
|
|
13
|
-
if (text.includes(RUNNER_SIGNALS.CONTINUE)) {
|
|
14
|
-
return 'continue';
|
|
10
|
+
if (text.includes(RUNNER_SIGNALS.REPEAT_STEP)) {
|
|
11
|
+
return 'repeat_step';
|
|
15
12
|
}
|
|
16
13
|
if (text.includes(RUNNER_SIGNALS.BLOCKED)) {
|
|
17
14
|
return 'blocked';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signals.js","sourceRoot":"","sources":["../../src/parsers/signals.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAqB,MAAM,oBAAoB,CAAC;AAEvE;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"signals.js","sourceRoot":"","sources":["../../src/parsers/signals.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAqB,MAAM,oBAAoB,CAAC;AAEvE;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QACxC,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/dist/process/pty.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pty.d.ts","sourceRoot":"","sources":["../../src/process/pty.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAM7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/D,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,cAAc,CAAC;IAC/B,mBAAmB,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"pty.d.ts","sourceRoot":"","sources":["../../src/process/pty.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAM7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/D,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,cAAc,CAAC;IAC/B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,SAAS,CAAC,CA8D7E"}
|
package/dist/process/pty.js
CHANGED
|
@@ -8,21 +8,25 @@ import { createStreamParser } from '../parsers/stream.js';
|
|
|
8
8
|
* Spawn Claude CLI process with PTY
|
|
9
9
|
*/
|
|
10
10
|
export function spawnClaude(options) {
|
|
11
|
-
const { prompt, cwd, verbosity, logger, formatterState, parallelThresholdMs, } = options;
|
|
11
|
+
const { prompt, cwd, verbosity, logger, formatterState, parallelThresholdMs, model, } = options;
|
|
12
12
|
return new Promise((resolve) => {
|
|
13
13
|
// Reset state for new run
|
|
14
14
|
resetFormatterState(formatterState);
|
|
15
15
|
const runStart = Date.now();
|
|
16
16
|
let claudeText = '';
|
|
17
17
|
const parser = createStreamParser();
|
|
18
|
-
const
|
|
18
|
+
const args = [
|
|
19
19
|
'-p',
|
|
20
20
|
prompt,
|
|
21
21
|
'--dangerously-skip-permissions',
|
|
22
22
|
'--verbose',
|
|
23
23
|
'--output-format',
|
|
24
24
|
'stream-json',
|
|
25
|
-
]
|
|
25
|
+
];
|
|
26
|
+
if (model) {
|
|
27
|
+
args.push('--model', model);
|
|
28
|
+
}
|
|
29
|
+
const ptyProcess = pty.spawn('claude', args, {
|
|
26
30
|
name: 'xterm-256color',
|
|
27
31
|
cols: 200,
|
|
28
32
|
rows: 50,
|
package/dist/process/pty.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pty.js","sourceRoot":"","sources":["../../src/process/pty.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAGhC,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"pty.js","sourceRoot":"","sources":["../../src/process/pty.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAGhC,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAa1D;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,OAA6B;IACvD,MAAM,EACJ,MAAM,EACN,GAAG,EACH,SAAS,EACT,MAAM,EACN,cAAc,EACd,mBAAmB,EACnB,KAAK,GACN,GAAG,OAAO,CAAC;IAEZ,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,0BAA0B;QAC1B,mBAAmB,CAAC,cAAc,CAAC,CAAC;QAEpC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;QAEpC,MAAM,IAAI,GAAG;YACX,IAAI;YACJ,MAAM;YACN,gCAAgC;YAChC,WAAW;YACX,iBAAiB;YACjB,aAAa;SACd,CAAC;QAEF,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC9B,CAAC;QAED,MAAM,UAAU,GAAS,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE;YACjD,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,GAAG;YACT,IAAI,EAAE,EAAE;YACR,GAAG;YACH,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE;SACxB,CAAC,CAAC;QAEH,UAAU,CAAC,MAAM,CAAC,CAAC,IAAY,EAAE,EAAE;YACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAEtC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;gBAC3B,MAAM,IAAI,GAAG,aAAa,CACxB,GAAG,EACH,cAAc,EACd,SAAS,EACT,MAAM,EACN,mBAAmB,CACpB,CAAC;gBACF,UAAU,IAAI,IAAI,CAAC;gBACnB,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YAClC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;YACjC,iBAAiB,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;YAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;YAC5D,OAAO,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/types/runner.d.ts
CHANGED
|
@@ -7,10 +7,9 @@ export type Subcommand = 'prompt' | 'command' | 'script';
|
|
|
7
7
|
* Runner signals for iteration control
|
|
8
8
|
* Claude outputs these to control the runner loop
|
|
9
9
|
*/
|
|
10
|
-
export type RunnerSignal = '
|
|
10
|
+
export type RunnerSignal = 'repeat_step' | 'blocked' | 'error';
|
|
11
11
|
export declare const RUNNER_SIGNALS: {
|
|
12
|
-
readonly
|
|
13
|
-
readonly CONTINUE: ":::RUNNER::CONTINUE:::";
|
|
12
|
+
readonly REPEAT_STEP: ":::RUNNER::REPEAT_STEP:::";
|
|
14
13
|
readonly BLOCKED: ":::RUNNER::BLOCKED:::";
|
|
15
14
|
readonly ERROR: ":::RUNNER::ERROR:::";
|
|
16
15
|
};
|
|
@@ -36,6 +35,7 @@ export interface RunnerConfig {
|
|
|
36
35
|
maxIterations: number;
|
|
37
36
|
parallelThresholdMs: number;
|
|
38
37
|
iterationPauseMs: number;
|
|
38
|
+
model: string | null;
|
|
39
39
|
}
|
|
40
40
|
/**
|
|
41
41
|
* Default runner configuration
|
|
@@ -47,6 +47,7 @@ export declare const DEFAULT_CONFIG: RunnerConfig;
|
|
|
47
47
|
export interface ParsedArgs {
|
|
48
48
|
subcommand: Subcommand;
|
|
49
49
|
prompt: string;
|
|
50
|
+
displayCommand: string;
|
|
50
51
|
scriptLines: string[];
|
|
51
52
|
scriptMode: boolean;
|
|
52
53
|
config: Partial<RunnerConfig>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/types/runner.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEvD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEzD;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/types/runner.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEvD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEzD;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,aAAa,GAAG,SAAS,GAAG,OAAO,CAAC;AAE/D,eAAO,MAAM,cAAc;;;;CAIjB,CAAC;AAEX;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,YAQ5B,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,EAMlC,CAAC"}
|
package/dist/types/runner.js
CHANGED
|
@@ -2,8 +2,7 @@
|
|
|
2
2
|
* Runner configuration and state types
|
|
3
3
|
*/
|
|
4
4
|
export const RUNNER_SIGNALS = {
|
|
5
|
-
|
|
6
|
-
CONTINUE: ':::RUNNER::CONTINUE:::',
|
|
5
|
+
REPEAT_STEP: ':::RUNNER::REPEAT_STEP:::',
|
|
7
6
|
BLOCKED: ':::RUNNER::BLOCKED:::',
|
|
8
7
|
ERROR: ':::RUNNER::ERROR:::',
|
|
9
8
|
};
|
|
@@ -17,6 +16,7 @@ export const DEFAULT_CONFIG = {
|
|
|
17
16
|
maxIterations: 10,
|
|
18
17
|
parallelThresholdMs: 100,
|
|
19
18
|
iterationPauseMs: 2000,
|
|
19
|
+
model: null,
|
|
20
20
|
};
|
|
21
21
|
/**
|
|
22
22
|
* Noise patterns to filter from output
|
package/dist/types/runner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/types/runner.ts"],"names":[],"mappings":"AAAA;;GAEG;AAYH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/types/runner.ts"],"names":[],"mappings":"AAAA;;GAEG;AAYH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,WAAW,EAAE,2BAA2B;IACxC,OAAO,EAAE,uBAAuB;IAChC,KAAK,EAAE,qBAAqB;CACpB,CAAC;AA6BX;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAiB;IAC1C,SAAS,EAAE,QAAQ;IACnB,SAAS,EAAE,IAAI;IACf,MAAM,EAAE,MAAM;IACd,aAAa,EAAE,EAAE;IACjB,mBAAmB,EAAE,GAAG;IACxB,gBAAgB,EAAE,IAAI;IACtB,KAAK,EAAE,IAAI;CACZ,CAAC;AAgCF;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAa;IACtC,UAAU;IACV,gBAAgB;IAChB,UAAU;IACV,eAAe;IACf,QAAQ;CACT,CAAC"}
|
package/package.json
CHANGED