@rcrsr/claude-code-runner 0.9.1 → 0.11.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 +13 -10
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +25 -4
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/docs.d.ts +9 -0
- package/dist/cli/docs.d.ts.map +1 -0
- package/dist/cli/docs.js +55 -0
- package/dist/cli/docs.js.map +1 -0
- package/dist/cli/index.d.ts +1 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +1 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/index.js +14 -2
- package/dist/index.js.map +1 -1
- package/dist/output/colors.d.ts +33 -1
- package/dist/output/colors.d.ts.map +1 -1
- package/dist/output/colors.js +119 -1
- package/dist/output/colors.js.map +1 -1
- package/dist/output/formatter.d.ts +6 -0
- package/dist/output/formatter.d.ts.map +1 -1
- package/dist/output/formatter.js +72 -34
- package/dist/output/formatter.js.map +1 -1
- package/dist/output/ui-components.d.ts +34 -0
- package/dist/output/ui-components.d.ts.map +1 -0
- package/dist/output/ui-components.js +158 -0
- package/dist/output/ui-components.js.map +1 -0
- package/dist/output/ui-renderer.d.ts +18 -0
- package/dist/output/ui-renderer.d.ts.map +1 -0
- package/dist/output/ui-renderer.js +75 -0
- package/dist/output/ui-renderer.js.map +1 -0
- package/dist/output/ui-state.d.ts +71 -0
- package/dist/output/ui-state.d.ts.map +1 -0
- package/dist/output/ui-state.js +131 -0
- package/dist/output/ui-state.js.map +1 -0
- package/dist/rill/context.d.ts +2 -0
- package/dist/rill/context.d.ts.map +1 -1
- package/dist/rill/context.js +84 -13
- package/dist/rill/context.js.map +1 -1
- package/dist/rill/runner.d.ts.map +1 -1
- package/dist/rill/runner.js +56 -1
- package/dist/rill/runner.js.map +1 -1
- package/dist/types/runner.d.ts +12 -3
- package/dist/types/runner.d.ts.map +1 -1
- package/dist/types/runner.js.map +1 -1
- package/dist/utils/constants.d.ts +4 -0
- package/dist/utils/constants.d.ts.map +1 -1
- package/dist/utils/constants.js +5 -0
- package/dist/utils/constants.js.map +1 -1
- package/package.json +4 -3
package/README.md
CHANGED
|
@@ -4,13 +4,14 @@ Deterministic, scripted, unattended Claude Code execution with [Rill](https://gi
|
|
|
4
4
|
|
|
5
5
|
## Why Use This?
|
|
6
6
|
|
|
7
|
+
Like [Ralph Wiggum](https://awesomeclaude.ai/ralph-wiggum), but smarter.
|
|
8
|
+
|
|
7
9
|
- **Rich scripting** — Fully scriptable with variables, conditionals, loops, and functions
|
|
8
|
-
- **Walk away** — Workflows run unattended
|
|
9
|
-
- **
|
|
10
|
-
- **
|
|
11
|
-
- **
|
|
12
|
-
- **
|
|
13
|
-
- **Replay later** — Full session logs for debugging
|
|
10
|
+
- **Walk away** — Workflows can run unattended for hours if needed
|
|
11
|
+
- **Treat Claude Code Skills as Functions** — Call with arguments and get back return values throgh `<ccr:result type="..."/>`
|
|
12
|
+
- **Fresh context** — Each invocation starts with a clean slate
|
|
13
|
+
- **Watch live** — See your calls log activity as they execute
|
|
14
|
+
- **Inspect later** — Full session logs for debugging
|
|
14
15
|
|
|
15
16
|
## Prerequisites
|
|
16
17
|
|
|
@@ -19,6 +20,10 @@ Deterministic, scripted, unattended Claude Code execution with [Rill](https://gi
|
|
|
19
20
|
|
|
20
21
|
## Installation
|
|
21
22
|
|
|
23
|
+
Claude Code Runner depends on `node-pty` for TTY terminal handling. You may need to install build tools first so the native modules can compile. See [node-pty instructions](https://github.com/microsoft/node-pty) for your platform.
|
|
24
|
+
|
|
25
|
+
Then install Claude Code Runner globally:
|
|
26
|
+
|
|
22
27
|
```bash
|
|
23
28
|
npm install -g @rcrsr/claude-code-runner
|
|
24
29
|
```
|
|
@@ -31,16 +36,14 @@ npm install -g @rcrsr/claude-code-runner
|
|
|
31
36
|
claude-code-runner prompt "Refactor the auth module to use async/await"
|
|
32
37
|
```
|
|
33
38
|
|
|
34
|
-
###
|
|
39
|
+
### skill — Run a Claude Code Skill file
|
|
35
40
|
|
|
36
|
-
Run skills
|
|
41
|
+
Run skills by name:
|
|
37
42
|
|
|
38
43
|
```bash
|
|
39
44
|
claude-code-runner command review-code src/auth.ts
|
|
40
45
|
```
|
|
41
46
|
|
|
42
|
-
**Skills** (recommended) support subdirectories with templates, examples, and scripts. **Commands** are single-file prompts. Both use the same template syntax and create `/slash-commands` in Claude Code.
|
|
43
|
-
|
|
44
47
|
**Example skill** (`.claude/skills/review-code/SKILL.md`):
|
|
45
48
|
|
|
46
49
|
```markdown
|
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;AASH,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;AASH,OAAO,KAAK,EACV,UAAU,EAIX,MAAM,mBAAmB,CAAC;AAiE3B,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAqHpD;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,IAAI,CA8BjC"}
|
package/dist/cli/args.js
CHANGED
|
@@ -52,7 +52,13 @@ function extractOptions(args) {
|
|
|
52
52
|
/**
|
|
53
53
|
* Parse CLI arguments
|
|
54
54
|
*/
|
|
55
|
-
const VALID_SUBCOMMANDS = [
|
|
55
|
+
const VALID_SUBCOMMANDS = [
|
|
56
|
+
'prompt',
|
|
57
|
+
'command',
|
|
58
|
+
'script',
|
|
59
|
+
'skill',
|
|
60
|
+
'docs',
|
|
61
|
+
];
|
|
56
62
|
function isValidSubcommand(value) {
|
|
57
63
|
return VALID_SUBCOMMANDS.includes(value);
|
|
58
64
|
}
|
|
@@ -62,13 +68,13 @@ export function parseArgs(args) {
|
|
|
62
68
|
// Validate subcommand
|
|
63
69
|
if (!firstArg) {
|
|
64
70
|
console.error('Error: subcommand required');
|
|
65
|
-
console.error('Usage: claude-code-runner <prompt|command|skill|script> [args...]');
|
|
71
|
+
console.error('Usage: claude-code-runner <prompt|command|skill|script|docs> [args...]');
|
|
66
72
|
process.exit(1);
|
|
67
73
|
}
|
|
68
74
|
if (!isValidSubcommand(firstArg)) {
|
|
69
75
|
console.error(`Error: unknown subcommand '${firstArg}'`);
|
|
70
|
-
console.error('Valid subcommands: prompt, command, skill, script');
|
|
71
|
-
console.error('Usage: claude-code-runner <prompt|command|skill|script> [args...]');
|
|
76
|
+
console.error('Valid subcommands: prompt, command, skill, script, docs');
|
|
77
|
+
console.error('Usage: claude-code-runner <prompt|command|skill|script|docs> [args...]');
|
|
72
78
|
process.exit(1);
|
|
73
79
|
}
|
|
74
80
|
const subcommand = firstArg;
|
|
@@ -77,6 +83,7 @@ export function parseArgs(args) {
|
|
|
77
83
|
let scriptFile = null;
|
|
78
84
|
let scriptArgs = [];
|
|
79
85
|
let frontmatterModel = null;
|
|
86
|
+
let docsOptions = undefined;
|
|
80
87
|
switch (subcommand) {
|
|
81
88
|
case 'command': {
|
|
82
89
|
const commandName = positionalArgs[1];
|
|
@@ -132,6 +139,13 @@ export function parseArgs(args) {
|
|
|
132
139
|
displayCommand = `"${prompt}"`;
|
|
133
140
|
break;
|
|
134
141
|
}
|
|
142
|
+
case 'docs': {
|
|
143
|
+
const functionsOnly = positionalArgs.includes('--functions-only');
|
|
144
|
+
const languageOnly = positionalArgs.includes('--language-only');
|
|
145
|
+
docsOptions = { functionsOnly, languageOnly };
|
|
146
|
+
displayCommand = 'docs';
|
|
147
|
+
break;
|
|
148
|
+
}
|
|
135
149
|
}
|
|
136
150
|
const config = {
|
|
137
151
|
verbosity,
|
|
@@ -146,6 +160,7 @@ export function parseArgs(args) {
|
|
|
146
160
|
config,
|
|
147
161
|
scriptFile,
|
|
148
162
|
scriptArgs,
|
|
163
|
+
docsOptions,
|
|
149
164
|
};
|
|
150
165
|
}
|
|
151
166
|
/**
|
|
@@ -160,12 +175,14 @@ Usage:
|
|
|
160
175
|
claude-code-runner [options] command <name> [args...]
|
|
161
176
|
claude-code-runner [options] skill <name> [args...]
|
|
162
177
|
claude-code-runner [options] script <file.rill> [args...]
|
|
178
|
+
claude-code-runner docs [--functions-only | --language-only]
|
|
163
179
|
|
|
164
180
|
Subcommands:
|
|
165
181
|
prompt <text> Run with the given prompt
|
|
166
182
|
command <name> [args] Load .claude/commands/<name>.md template
|
|
167
183
|
skill <name> [args] Run slash command /<name> [args]
|
|
168
184
|
script <file.rill> [args] Run a Rill script
|
|
185
|
+
docs Display Rill documentation and CCR host functions
|
|
169
186
|
|
|
170
187
|
Options:
|
|
171
188
|
--quiet Minimal output (errors only)
|
|
@@ -174,6 +191,10 @@ Options:
|
|
|
174
191
|
--log Enable logging to file (disabled by default)
|
|
175
192
|
--model, -m <model> Specify Claude model (e.g., sonnet, opus, haiku)
|
|
176
193
|
--deaddrop Send messages to Deaddrop (requires DEADDROP_API_KEY env var)
|
|
194
|
+
|
|
195
|
+
Docs Options:
|
|
196
|
+
--functions-only Show only CCR host function signatures
|
|
197
|
+
--language-only Show only Rill language reference
|
|
177
198
|
`);
|
|
178
199
|
}
|
|
179
200
|
//# 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,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,oBAAoB,CAAwB,CAAC;AAgBjE;;GAEG;AACH,SAAS,cAAc,CAAC,IAAc;IACpC,yBAAyB;IACzB,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,SAAS,GAAc,QAAQ,CAAC;IACpC,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,KAAK,GAAkB,IAAI,CAAC;IAChC,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,MAAM,cAAc,GAAa,EAAE,CAAC;IAEpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,SAAS,GAAG,OAAO,CAAC;QACtB,CAAC;aAAM,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;YAC9B,SAAS,GAAG,QAAQ,CAAC;QACvB,CAAC;aAAM,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YAC/B,SAAS,GAAG,SAAS,CAAC;QACxB,CAAC;aAAM,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YAC3B,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;aAAM,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;YAChC,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;aAAM,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC7C,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC;QAC5B,CAAC;aAAM,IAAI,GAAG,EAAE,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACvC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AACnE,CAAC;AAED;;GAEG;AACH,MAAM,iBAAiB,GAAG,
|
|
1
|
+
{"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/cli/args.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Documentation generation for Rill language and CCR host functions
|
|
3
|
+
*/
|
|
4
|
+
import type { DocsOptions } from '../types/runner.js';
|
|
5
|
+
/**
|
|
6
|
+
* Generate Rill documentation for LLM prompt context
|
|
7
|
+
*/
|
|
8
|
+
export declare function generateDocs(options: DocsOptions): string;
|
|
9
|
+
//# sourceMappingURL=docs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/cli/docs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CA8BzD"}
|
package/dist/cli/docs.js
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Documentation generation for Rill language and CCR host functions
|
|
3
|
+
*/
|
|
4
|
+
import { getFunctions, getLanguageReference, } from '@rcrsr/rill';
|
|
5
|
+
import { createRunnerContext } from '../rill/context.js';
|
|
6
|
+
/**
|
|
7
|
+
* Generate Rill documentation for LLM prompt context
|
|
8
|
+
*/
|
|
9
|
+
export function generateDocs(options) {
|
|
10
|
+
const { functionsOnly, languageOnly } = options;
|
|
11
|
+
// If both flags are true, treat as neither (show both)
|
|
12
|
+
const showLanguage = !functionsOnly || languageOnly;
|
|
13
|
+
const showFunctions = !languageOnly || functionsOnly;
|
|
14
|
+
// Create minimal context with stub executor
|
|
15
|
+
const stubExecutor = () => Promise.reject(new Error('Executor called in docs context'));
|
|
16
|
+
const context = createRunnerContext({
|
|
17
|
+
executeClause: stubExecutor,
|
|
18
|
+
});
|
|
19
|
+
const sections = [];
|
|
20
|
+
// Generate language reference section
|
|
21
|
+
if (showLanguage) {
|
|
22
|
+
const langRef = getLanguageReference();
|
|
23
|
+
sections.push('# Rill Language Reference\n\n' + langRef);
|
|
24
|
+
}
|
|
25
|
+
// Generate host functions section
|
|
26
|
+
if (showFunctions) {
|
|
27
|
+
const functions = getFunctions(context);
|
|
28
|
+
sections.push(formatFunctions(functions));
|
|
29
|
+
}
|
|
30
|
+
return sections.join('\n\n');
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Format host functions as markdown
|
|
34
|
+
*/
|
|
35
|
+
function formatFunctions(functions) {
|
|
36
|
+
const lines = ['# CCR Host Functions'];
|
|
37
|
+
const sortedFunctions = functions
|
|
38
|
+
.slice()
|
|
39
|
+
.sort((a, b) => a.name.localeCompare(b.name));
|
|
40
|
+
for (const fn of sortedFunctions) {
|
|
41
|
+
lines.push('', `## ${fn.name}`);
|
|
42
|
+
if (fn.description) {
|
|
43
|
+
lines.push('', fn.description);
|
|
44
|
+
}
|
|
45
|
+
if (fn.params.length > 0) {
|
|
46
|
+
lines.push('', '**Parameters:**');
|
|
47
|
+
for (const param of fn.params) {
|
|
48
|
+
const required = param.defaultValue === undefined ? 'required' : 'optional';
|
|
49
|
+
lines.push(`- \`${param.name}\` (${param.type}, ${required})`);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return lines.join('\n');
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=docs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/cli/docs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAEL,YAAY,EACZ,oBAAoB,GAErB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAGzD;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,OAAoB;IAC/C,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;IAEhD,uDAAuD;IACvD,MAAM,YAAY,GAAG,CAAC,aAAa,IAAI,YAAY,CAAC;IACpD,MAAM,aAAa,GAAG,CAAC,YAAY,IAAI,aAAa,CAAC;IAErD,4CAA4C;IAC5C,MAAM,YAAY,GAAG,GAAkD,EAAE,CACvE,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC,CAAC;IAE/D,MAAM,OAAO,GAAmB,mBAAmB,CAAC;QAClD,aAAa,EAAE,YAAY;KAC5B,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,sCAAsC;IACtC,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;QACvC,QAAQ,CAAC,IAAI,CAAC,+BAA+B,GAAG,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED,kCAAkC;IAClC,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QACxC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,SAA6B;IACpD,MAAM,KAAK,GAAa,CAAC,sBAAsB,CAAC,CAAC;IAEjD,MAAM,eAAe,GAAG,SAAS;SAC9B,KAAK,EAAE;SACP,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAEhD,KAAK,MAAM,EAAE,IAAI,eAAe,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QAEhC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAC;YAClC,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;gBAC9B,MAAM,QAAQ,GACZ,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;gBAC7D,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,GAAG,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
package/dist/cli/index.d.ts
CHANGED
package/dist/cli/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC"}
|
package/dist/cli/index.js
CHANGED
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -3,8 +3,12 @@
|
|
|
3
3
|
* Claude Code Runner - executes claude CLI with proper TTY handling
|
|
4
4
|
* Shows intermediate tool calls and responses in real-time
|
|
5
5
|
*/
|
|
6
|
+
import { VERSION as RILL_VERSION } from '@rcrsr/rill';
|
|
6
7
|
import { randomBytes } from 'crypto';
|
|
7
|
-
import {
|
|
8
|
+
import { createRequire } from 'module';
|
|
9
|
+
import { generateDocs, parseArgs } from './cli/index.js';
|
|
10
|
+
const require = createRequire(import.meta.url);
|
|
11
|
+
const pkg = require('../package.json');
|
|
8
12
|
import { createDeadDropClientFromEnv } from './deaddrop/index.js';
|
|
9
13
|
import { configureDeadDrop, flushDeadDrop, printRunner, printRunnerInfo, } from './output/colors.js';
|
|
10
14
|
import { createFormatterState, finalizeStepStats, getRunStatsSummary, } from './output/formatter.js';
|
|
@@ -22,6 +26,12 @@ async function main() {
|
|
|
22
26
|
const totalStart = Date.now();
|
|
23
27
|
const args = process.argv.slice(2);
|
|
24
28
|
const parsed = parseArgs(args);
|
|
29
|
+
// Handle docs subcommand (exits immediately, no PTY)
|
|
30
|
+
if (parsed.subcommand === 'docs' && parsed.docsOptions) {
|
|
31
|
+
const docs = generateDocs(parsed.docsOptions);
|
|
32
|
+
console.log(docs);
|
|
33
|
+
process.exit(0);
|
|
34
|
+
}
|
|
25
35
|
// Generate run ID for this session
|
|
26
36
|
const runId = generateRunId();
|
|
27
37
|
// Merge config with defaults
|
|
@@ -42,7 +52,9 @@ async function main() {
|
|
|
42
52
|
const logger = createLogger(config.enableLog, config.logDir, parsed.subcommand);
|
|
43
53
|
// Create formatter state
|
|
44
54
|
const formatterState = createFormatterState();
|
|
45
|
-
//
|
|
55
|
+
// Print version info
|
|
56
|
+
printRunnerInfo(`v${pkg.version} (rill v${RILL_VERSION})`);
|
|
57
|
+
// Emit starting run message (operational, sent to deaddrop)
|
|
46
58
|
printRunner(`Starting run ${runId}`);
|
|
47
59
|
// Print config with [RUNNER] messages (informational, not sent to deaddrop)
|
|
48
60
|
printRunnerInfo(`Mode: ${parsed.subcommand} | Verbosity: ${config.verbosity}`);
|
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;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/output/colors.d.ts
CHANGED
|
@@ -2,7 +2,17 @@
|
|
|
2
2
|
* ANSI color codes for terminal output
|
|
3
3
|
*/
|
|
4
4
|
import { configureDeadDrop, flushDeadDrop } from './deaddrop-queue.js';
|
|
5
|
+
import type { FormatterState } from './formatter.js';
|
|
5
6
|
export { configureDeadDrop, flushDeadDrop };
|
|
7
|
+
/**
|
|
8
|
+
* Bind a FormatterState so terminalLog re-renders the status line after each log.
|
|
9
|
+
* Call once at runner startup; call unbindFormatterState() on teardown.
|
|
10
|
+
*/
|
|
11
|
+
export declare function bindFormatterState(state: FormatterState): void;
|
|
12
|
+
/**
|
|
13
|
+
* Unbind the formatter state (teardown).
|
|
14
|
+
*/
|
|
15
|
+
export declare function unbindFormatterState(): void;
|
|
6
16
|
export declare const colors: {
|
|
7
17
|
readonly reset: "\u001B[0m";
|
|
8
18
|
readonly dim: "\u001B[2m";
|
|
@@ -15,6 +25,11 @@ export declare const colors: {
|
|
|
15
25
|
readonly blue: "\u001B[34m";
|
|
16
26
|
};
|
|
17
27
|
export type ColorName = keyof typeof colors;
|
|
28
|
+
/**
|
|
29
|
+
* Get an agent marker: inverted dot with cycling background color
|
|
30
|
+
* @param index - Agent index (0-based), cycles through 8 colors
|
|
31
|
+
*/
|
|
32
|
+
export declare function agentMarker(index: number): string;
|
|
18
33
|
export declare function stripAnsi(str: string): string;
|
|
19
34
|
/**
|
|
20
35
|
* Strip carriage returns for cleaner terminal display
|
|
@@ -24,8 +39,11 @@ export declare function stripCR(str: string): string;
|
|
|
24
39
|
/**
|
|
25
40
|
* Log to terminal with CR stripping for clean display
|
|
26
41
|
* Use this for all terminal output in the formatter
|
|
42
|
+
*
|
|
43
|
+
* @param line - Text to log
|
|
44
|
+
* @param state - Optional formatter state; if provided and currentStatusText is non-null, re-renders status line
|
|
27
45
|
*/
|
|
28
|
-
export declare function terminalLog(line: string): void;
|
|
46
|
+
export declare function terminalLog(line: string, state?: FormatterState): void;
|
|
29
47
|
/**
|
|
30
48
|
* Apply color to a string
|
|
31
49
|
*/
|
|
@@ -51,6 +69,20 @@ export declare function formatTimestamp(date?: Date): string;
|
|
|
51
69
|
* Get a timestamped prefix for output lines
|
|
52
70
|
*/
|
|
53
71
|
export declare function timestampPrefix(): string;
|
|
72
|
+
/**
|
|
73
|
+
* Render a status line on the terminal using cursor control sequences.
|
|
74
|
+
* When text is null or empty, clears any previously rendered status line.
|
|
75
|
+
*
|
|
76
|
+
* @param text - Status text to display, or null to clear
|
|
77
|
+
* @param stream - Output stream (expected: process.stderr)
|
|
78
|
+
*/
|
|
79
|
+
export declare function renderStatusLine(text: string | null, stream: NodeJS.WriteStream): void;
|
|
80
|
+
/**
|
|
81
|
+
* Clear the status line from terminal display.
|
|
82
|
+
*
|
|
83
|
+
* @param stream - Output stream (expected: process.stderr)
|
|
84
|
+
*/
|
|
85
|
+
export declare function clearStatusLine(stream: NodeJS.WriteStream): void;
|
|
54
86
|
/**
|
|
55
87
|
* Deaddrop user type
|
|
56
88
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../src/output/colors.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../src/output/colors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,EACL,iBAAiB,EACjB,aAAa,EAEd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGrD,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,CAAC;AAK5C;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAE9D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C;AAED,eAAO,MAAM,MAAM;;;;;;;;;;CAUT,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,MAAM,CAAC;AAiB5C;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGjD;AAQD,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE3C;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,cAAc,GAAG,IAAI,CAMtE;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;AAUD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,MAAM,EAAE,MAAM,CAAC,WAAW,GACzB,IAAI,CA6CN;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,GAAG,IAAI,CAchE;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
|
@@ -1,9 +1,25 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* ANSI color codes for terminal output
|
|
3
3
|
*/
|
|
4
|
+
import { STATUS_LINE_ELLIPSIS, STATUS_LINE_MIN_WIDTH, } from '../utils/constants.js';
|
|
4
5
|
import { configureDeadDrop, flushDeadDrop, sendToDeadDrop, } from './deaddrop-queue.js';
|
|
5
6
|
// Re-export deaddrop functions for backward compatibility
|
|
6
7
|
export { configureDeadDrop, flushDeadDrop };
|
|
8
|
+
// Module-level formatter state binding (follows configureDeadDrop pattern)
|
|
9
|
+
let boundFormatterState = null;
|
|
10
|
+
/**
|
|
11
|
+
* Bind a FormatterState so terminalLog re-renders the status line after each log.
|
|
12
|
+
* Call once at runner startup; call unbindFormatterState() on teardown.
|
|
13
|
+
*/
|
|
14
|
+
export function bindFormatterState(state) {
|
|
15
|
+
boundFormatterState = state;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Unbind the formatter state (teardown).
|
|
19
|
+
*/
|
|
20
|
+
export function unbindFormatterState() {
|
|
21
|
+
boundFormatterState = null;
|
|
22
|
+
}
|
|
7
23
|
export const colors = {
|
|
8
24
|
reset: '\x1b[0m',
|
|
9
25
|
dim: '\x1b[2m',
|
|
@@ -15,6 +31,28 @@ export const colors = {
|
|
|
15
31
|
magenta: '\x1b[35m',
|
|
16
32
|
blue: '\x1b[34m',
|
|
17
33
|
};
|
|
34
|
+
/**
|
|
35
|
+
* Background colors for agent markers (8 distinct colors)
|
|
36
|
+
* Uses bright background colors (100-107) for better visibility
|
|
37
|
+
*/
|
|
38
|
+
const AGENT_BG_COLORS = [
|
|
39
|
+
'\x1b[106m', // bright cyan
|
|
40
|
+
'\x1b[103m', // bright yellow
|
|
41
|
+
'\x1b[102m', // bright green
|
|
42
|
+
'\x1b[105m', // bright magenta
|
|
43
|
+
'\x1b[104m', // bright blue
|
|
44
|
+
'\x1b[101m', // bright red
|
|
45
|
+
'\x1b[107m', // bright white
|
|
46
|
+
'\x1b[100m', // bright black (gray)
|
|
47
|
+
];
|
|
48
|
+
/**
|
|
49
|
+
* Get an agent marker: inverted dot with cycling background color
|
|
50
|
+
* @param index - Agent index (0-based), cycles through 8 colors
|
|
51
|
+
*/
|
|
52
|
+
export function agentMarker(index) {
|
|
53
|
+
const bg = AGENT_BG_COLORS[index % AGENT_BG_COLORS.length];
|
|
54
|
+
return `${bg}\x1b[30m●${colors.reset}`;
|
|
55
|
+
}
|
|
18
56
|
/**
|
|
19
57
|
* Strip ANSI escape codes from a string
|
|
20
58
|
*/
|
|
@@ -33,9 +71,16 @@ export function stripCR(str) {
|
|
|
33
71
|
/**
|
|
34
72
|
* Log to terminal with CR stripping for clean display
|
|
35
73
|
* Use this for all terminal output in the formatter
|
|
74
|
+
*
|
|
75
|
+
* @param line - Text to log
|
|
76
|
+
* @param state - Optional formatter state; if provided and currentStatusText is non-null, re-renders status line
|
|
36
77
|
*/
|
|
37
|
-
export function terminalLog(line) {
|
|
78
|
+
export function terminalLog(line, state) {
|
|
38
79
|
console.log(stripCR(line));
|
|
80
|
+
const effectiveState = state ?? boundFormatterState;
|
|
81
|
+
if (effectiveState && effectiveState.currentStatusText !== null) {
|
|
82
|
+
renderStatusLine(effectiveState.currentStatusText, process.stderr);
|
|
83
|
+
}
|
|
39
84
|
}
|
|
40
85
|
/**
|
|
41
86
|
* Apply color to a string
|
|
@@ -99,6 +144,79 @@ export function formatTimestamp(date = new Date()) {
|
|
|
99
144
|
export function timestampPrefix() {
|
|
100
145
|
return `${colors.dim}${formatTimestamp()}${colors.reset} `;
|
|
101
146
|
}
|
|
147
|
+
/**
|
|
148
|
+
* ANSI escape sequences for cursor control
|
|
149
|
+
*/
|
|
150
|
+
const ANSI_SAVE_CURSOR = '\x1b[s';
|
|
151
|
+
const ANSI_RESTORE_CURSOR = '\x1b[u';
|
|
152
|
+
const ANSI_MOVE_TO_NEXT_LINE = '\n';
|
|
153
|
+
const ANSI_CLEAR_LINE = '\x1b[2K';
|
|
154
|
+
/**
|
|
155
|
+
* Render a status line on the terminal using cursor control sequences.
|
|
156
|
+
* When text is null or empty, clears any previously rendered status line.
|
|
157
|
+
*
|
|
158
|
+
* @param text - Status text to display, or null to clear
|
|
159
|
+
* @param stream - Output stream (expected: process.stderr)
|
|
160
|
+
*/
|
|
161
|
+
export function renderStatusLine(text, stream) {
|
|
162
|
+
// No-op when not a TTY
|
|
163
|
+
if (!stream.isTTY) {
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
// Get terminal width with fallback to 80 for misconfigured TTYs (EC-5)
|
|
167
|
+
// TypeScript types guarantee columns is defined when isTTY is true,
|
|
168
|
+
// but handle edge case where it might be undefined at runtime
|
|
169
|
+
const terminalWidth = stream.columns ?? 80;
|
|
170
|
+
// Suppress display if terminal too narrow
|
|
171
|
+
if (terminalWidth < STATUS_LINE_MIN_WIDTH) {
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
try {
|
|
175
|
+
// Clear any existing status line
|
|
176
|
+
stream.write(ANSI_SAVE_CURSOR);
|
|
177
|
+
stream.write(ANSI_MOVE_TO_NEXT_LINE);
|
|
178
|
+
stream.write(ANSI_CLEAR_LINE);
|
|
179
|
+
// If text provided, sanitize and render it
|
|
180
|
+
if (text?.trim()) {
|
|
181
|
+
// Strip ANSI codes for security (IC-2)
|
|
182
|
+
let sanitized = stripAnsi(text);
|
|
183
|
+
// Strip newlines to keep single line
|
|
184
|
+
sanitized = sanitized.replace(/[\r\n]+/g, ' ');
|
|
185
|
+
// Truncate if exceeds terminal width
|
|
186
|
+
if (sanitized.length > terminalWidth) {
|
|
187
|
+
sanitized =
|
|
188
|
+
sanitized.slice(0, terminalWidth - STATUS_LINE_ELLIPSIS.length) +
|
|
189
|
+
STATUS_LINE_ELLIPSIS;
|
|
190
|
+
}
|
|
191
|
+
// Apply dim styling and write
|
|
192
|
+
stream.write(`${colors.dim}${sanitized}${colors.reset}`);
|
|
193
|
+
}
|
|
194
|
+
stream.write(ANSI_RESTORE_CURSOR);
|
|
195
|
+
}
|
|
196
|
+
catch {
|
|
197
|
+
// Ignore write errors (broken pipe)
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Clear the status line from terminal display.
|
|
202
|
+
*
|
|
203
|
+
* @param stream - Output stream (expected: process.stderr)
|
|
204
|
+
*/
|
|
205
|
+
export function clearStatusLine(stream) {
|
|
206
|
+
// No-op when not a TTY
|
|
207
|
+
if (!stream.isTTY) {
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
210
|
+
try {
|
|
211
|
+
stream.write(ANSI_SAVE_CURSOR);
|
|
212
|
+
stream.write(ANSI_MOVE_TO_NEXT_LINE);
|
|
213
|
+
stream.write(ANSI_CLEAR_LINE);
|
|
214
|
+
stream.write(ANSI_RESTORE_CURSOR);
|
|
215
|
+
}
|
|
216
|
+
catch {
|
|
217
|
+
// Ignore write errors
|
|
218
|
+
}
|
|
219
|
+
}
|
|
102
220
|
/**
|
|
103
221
|
* Print a [RUNNER] operational message with timestamp
|
|
104
222
|
* Automatically sends to Deaddrop if configured (without prefix)
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"colors.js","sourceRoot":"","sources":["../../src/output/colors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,cAAc,GACf,MAAM,qBAAqB,CAAC;AAG7B,0DAA0D;AAC1D,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,CAAC;AAE5C,2EAA2E;AAC3E,IAAI,mBAAmB,GAA0B,IAAI,CAAC;AAEtD;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAqB;IACtD,mBAAmB,GAAG,KAAK,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAClC,mBAAmB,GAAG,IAAI,CAAC;AAC7B,CAAC;AAED,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;;;GAGG;AACH,MAAM,eAAe,GAAG;IACtB,WAAW,EAAE,cAAc;IAC3B,WAAW,EAAE,gBAAgB;IAC7B,WAAW,EAAE,eAAe;IAC5B,WAAW,EAAE,iBAAiB;IAC9B,WAAW,EAAE,cAAc;IAC3B,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,eAAe;IAC5B,WAAW,EAAE,sBAAsB;CAC3B,CAAC;AAEX;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,MAAM,EAAE,GAAG,eAAe,CAAC,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAC3D,OAAO,GAAG,EAAE,YAAY,MAAM,CAAC,KAAK,EAAE,CAAC;AACzC,CAAC;AAED;;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;;;GAGG;AACH,MAAM,UAAU,OAAO,CAAC,GAAW;IACjC,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAChC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,KAAsB;IAC9D,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3B,MAAM,cAAc,GAAG,KAAK,IAAI,mBAAmB,CAAC;IACpD,IAAI,cAAc,IAAI,cAAc,CAAC,iBAAiB,KAAK,IAAI,EAAE,CAAC;QAChE,gBAAgB,CAAC,cAAc,CAAC,iBAAiB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACrE,CAAC;AACH,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,KAAK,IAAI,KAAK,IAAI,GAAG,CAAC;IACvC,CAAC;IACD,OAAO,GAAG,IAAI,KAAK,IAAI,GAAG,CAAC;AAC7B,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;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,OAAa,IAAI,IAAI,EAAE;IACrD,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACtD,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACxD,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACxD,MAAM,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC9D,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO,GAAG,MAAM,CAAC,GAAG,GAAG,eAAe,EAAE,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC;AAC7D,CAAC;AAED;;GAEG;AACH,MAAM,gBAAgB,GAAG,QAAQ,CAAC;AAClC,MAAM,mBAAmB,GAAG,QAAQ,CAAC;AACrC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AACpC,MAAM,eAAe,GAAG,SAAS,CAAC;AAElC;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAC9B,IAAmB,EACnB,MAA0B;IAE1B,uBAAuB;IACvB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,OAAO;IACT,CAAC;IAED,uEAAuE;IACvE,oEAAoE;IACpE,8DAA8D;IAC9D,MAAM,aAAa,GAAI,MAAM,CAAC,OAA8B,IAAI,EAAE,CAAC;IAEnE,0CAA0C;IAC1C,IAAI,aAAa,GAAG,qBAAqB,EAAE,CAAC;QAC1C,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,iCAAiC;QACjC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAC/B,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QACrC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAE9B,2CAA2C;QAC3C,IAAI,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;YACjB,uCAAuC;YACvC,IAAI,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;YAEhC,qCAAqC;YACrC,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;YAE/C,qCAAqC;YACrC,IAAI,SAAS,CAAC,MAAM,GAAG,aAAa,EAAE,CAAC;gBACrC,SAAS;oBACP,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,GAAG,oBAAoB,CAAC,MAAM,CAAC;wBAC/D,oBAAoB,CAAC;YACzB,CAAC;YAED,8BAA8B;YAC9B,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,GAAG,GAAG,SAAS,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,oCAAoC;IACtC,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,MAA0B;IACxD,uBAAuB;IACvB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAC/B,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QACrC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC9B,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,sBAAsB;IACxB,CAAC;AACH,CAAC;AAeD;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,WAAW,CACT,GAAG,eAAe,EAAE,GAAG,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC,KAAK,IAAI,OAAO,EAAE,CAC1E,CAAC;IACF,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC/C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,WAAW,CACT,GAAG,eAAe,EAAE,GAAG,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC,KAAK,IAAI,OAAO,EAAE,CAC1E,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,OAAe,EAAE,cAAuB;IAClE,WAAW,CACT,GAAG,eAAe,EAAE,GAAG,MAAM,CAAC,KAAK,WAAW,MAAM,CAAC,KAAK,IAAI,OAAO,EAAE,CACxE,CAAC;IACF,cAAc,CAAC,SAAS,CAAC,cAAc,IAAI,OAAO,CAAC,EAAE,aAAa,CAAC,CAAC;AACtE,CAAC"}
|
|
@@ -35,6 +35,12 @@ export interface FormatterState {
|
|
|
35
35
|
taskStatsMap: Map<string, RunStats>;
|
|
36
36
|
/** Task start times keyed by task id */
|
|
37
37
|
taskStartTimes: Map<string, number>;
|
|
38
|
+
/** Queue of task IDs ready to act (just received a tool result) */
|
|
39
|
+
taskReadyQueue: string[];
|
|
40
|
+
/** Queue of task IDs awaiting first action (in creation order) */
|
|
41
|
+
taskPendingQueue: string[];
|
|
42
|
+
/** Current state text from ccr::state() */
|
|
43
|
+
currentStatusText: string | null;
|
|
38
44
|
}
|
|
39
45
|
export declare function createFormatterState(): FormatterState;
|
|
40
46
|
export declare function resetFormatterState(state: FormatterState): void;
|
|
@@ -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;AAsB5B,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,iDAAiD;IACjD,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACrC,yDAAyD;IACzD,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,sDAAsD;IACtD,cAAc,EAAE,MAAM,CAAC;IACvB,2DAA2D;IAC3D,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,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,uCAAuC;IACvC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACpC,wCAAwC;IACxC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,mEAAmE;IACnE,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,kEAAkE;IAClE,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,2CAA2C;IAC3C,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED,wBAAgB,oBAAoB,IAAI,cAAc,CAqBrD;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAgB/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;AAuFD;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,SAAS,GACnB,IAAI,CAuBN;AA2FD;;;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+NR"}
|