@rcrsr/claude-code-runner 0.10.0 → 0.11.1
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 +7 -1
- package/dist/index.js.map +1 -1
- package/dist/output/colors.d.ts +29 -1
- package/dist/output/colors.d.ts.map +1 -1
- package/dist/output/colors.js +95 -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 +50 -9
- package/dist/output/formatter.js.map +1 -1
- 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 +10 -1
- 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 +2 -4
- package/dist/core/index.d.ts +0 -2
- package/dist/core/index.d.ts.map +0 -1
- package/dist/core/index.js +0 -2
- package/dist/core/index.js.map +0 -1
- package/dist/core/runner.d.ts +0 -22
- package/dist/core/runner.d.ts.map +0 -1
- package/dist/core/runner.js +0 -100
- package/dist/core/runner.js.map +0 -1
- package/dist/output/ui-components.d.ts +0 -34
- package/dist/output/ui-components.d.ts.map +0 -1
- package/dist/output/ui-components.js +0 -158
- package/dist/output/ui-components.js.map +0 -1
- package/dist/output/ui-renderer.d.ts +0 -18
- package/dist/output/ui-renderer.d.ts.map +0 -1
- package/dist/output/ui-renderer.js +0 -75
- package/dist/output/ui-renderer.js.map +0 -1
- package/dist/output/ui-state.d.ts +0 -71
- package/dist/output/ui-state.d.ts.map +0 -1
- package/dist/output/ui-state.js +0 -131
- package/dist/output/ui-state.js.map +0 -1
- package/dist/parsers/signals.d.ts +0 -10
- package/dist/parsers/signals.d.ts.map +0 -1
- package/dist/parsers/signals.js +0 -21
- package/dist/parsers/signals.js.map +0 -1
- package/dist/script/index.d.ts +0 -8
- package/dist/script/index.d.ts.map +0 -1
- package/dist/script/index.js +0 -10
- package/dist/script/index.js.map +0 -1
- package/dist/script/loader.d.ts +0 -13
- package/dist/script/loader.d.ts.map +0 -1
- package/dist/script/loader.js +0 -66
- package/dist/script/loader.js.map +0 -1
- package/dist/script/parser.d.ts +0 -63
- package/dist/script/parser.d.ts.map +0 -1
- package/dist/script/parser.js +0 -349
- package/dist/script/parser.js.map +0 -1
- package/dist/script/types.d.ts +0 -49
- package/dist/script/types.d.ts.map +0 -1
- package/dist/script/types.js +0 -5
- package/dist/script/types.js.map +0 -1
- package/dist/script/variables.d.ts +0 -27
- package/dist/script/variables.d.ts.map +0 -1
- package/dist/script/variables.js +0 -74
- package/dist/script/variables.js.map +0 -1
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
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
import { VERSION as RILL_VERSION } from '@rcrsr/rill';
|
|
7
7
|
import { randomBytes } from 'crypto';
|
|
8
8
|
import { createRequire } from 'module';
|
|
9
|
-
import { parseArgs } from './cli/
|
|
9
|
+
import { generateDocs, parseArgs } from './cli/index.js';
|
|
10
10
|
const require = createRequire(import.meta.url);
|
|
11
11
|
const pkg = require('../package.json');
|
|
12
12
|
import { createDeadDropClientFromEnv } from './deaddrop/index.js';
|
|
@@ -26,6 +26,12 @@ async function main() {
|
|
|
26
26
|
const totalStart = Date.now();
|
|
27
27
|
const args = process.argv.slice(2);
|
|
28
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
|
+
}
|
|
29
35
|
// Generate run ID for this session
|
|
30
36
|
const runId = generateRunId();
|
|
31
37
|
// Merge config with defaults
|
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,OAAO,IAAI,YAAY,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC,OAAO,EAAE,SAAS,EAAE,MAAM,
|
|
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";
|
|
@@ -29,8 +39,11 @@ export declare function stripCR(str: string): string;
|
|
|
29
39
|
/**
|
|
30
40
|
* Log to terminal with CR stripping for clean display
|
|
31
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
|
|
32
45
|
*/
|
|
33
|
-
export declare function terminalLog(line: string): void;
|
|
46
|
+
export declare function terminalLog(line: string, state?: FormatterState): void;
|
|
34
47
|
/**
|
|
35
48
|
* Apply color to a string
|
|
36
49
|
*/
|
|
@@ -56,6 +69,21 @@ export declare function formatTimestamp(date?: Date): string;
|
|
|
56
69
|
* Get a timestamped prefix for output lines
|
|
57
70
|
*/
|
|
58
71
|
export declare function timestampPrefix(): string;
|
|
72
|
+
/**
|
|
73
|
+
* Render a status line on the current cursor line.
|
|
74
|
+
* Uses \r to park cursor at column 0 so the next console.log overwrites it.
|
|
75
|
+
* When text is null or empty, clears the status line.
|
|
76
|
+
*
|
|
77
|
+
* @param text - Status text to display, or null to clear
|
|
78
|
+
* @param stream - Output stream (expected: process.stderr)
|
|
79
|
+
*/
|
|
80
|
+
export declare function renderStatusLine(text: string | null, stream: NodeJS.WriteStream): void;
|
|
81
|
+
/**
|
|
82
|
+
* Clear the status line from terminal display.
|
|
83
|
+
*
|
|
84
|
+
* @param stream - Output stream (expected: process.stderr)
|
|
85
|
+
*/
|
|
86
|
+
export declare function clearStatusLine(stream: NodeJS.WriteStream): void;
|
|
59
87
|
/**
|
|
60
88
|
* Deaddrop user type
|
|
61
89
|
*/
|
|
@@ -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,CAgBtE;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;AAOD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,MAAM,EAAE,MAAM,CAAC,WAAW,GACzB,IAAI,CAyCN;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,GAAG,IAAI,CAWhE;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',
|
|
@@ -55,9 +71,22 @@ export function stripCR(str) {
|
|
|
55
71
|
/**
|
|
56
72
|
* Log to terminal with CR stripping for clean display
|
|
57
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
|
|
58
77
|
*/
|
|
59
|
-
export function terminalLog(line) {
|
|
78
|
+
export function terminalLog(line, state) {
|
|
79
|
+
const effectiveState = state ?? boundFormatterState;
|
|
80
|
+
const hasStatus = effectiveState !== null && effectiveState.currentStatusText !== null;
|
|
81
|
+
// Clear status line before logging to prevent ghost lines in scrollback
|
|
82
|
+
if (hasStatus) {
|
|
83
|
+
clearStatusLine(process.stderr);
|
|
84
|
+
}
|
|
60
85
|
console.log(stripCR(line));
|
|
86
|
+
// Re-render status line below new cursor position
|
|
87
|
+
if (hasStatus) {
|
|
88
|
+
renderStatusLine(effectiveState.currentStatusText, process.stderr);
|
|
89
|
+
}
|
|
61
90
|
}
|
|
62
91
|
/**
|
|
63
92
|
* Apply color to a string
|
|
@@ -121,6 +150,71 @@ export function formatTimestamp(date = new Date()) {
|
|
|
121
150
|
export function timestampPrefix() {
|
|
122
151
|
return `${colors.dim}${formatTimestamp()}${colors.reset} `;
|
|
123
152
|
}
|
|
153
|
+
/**
|
|
154
|
+
* ANSI escape sequence: clear entire line + carriage return to column 0
|
|
155
|
+
*/
|
|
156
|
+
const ANSI_CLEAR_LINE_CR = '\x1b[2K\r';
|
|
157
|
+
/**
|
|
158
|
+
* Render a status line on the current cursor line.
|
|
159
|
+
* Uses \r to park cursor at column 0 so the next console.log overwrites it.
|
|
160
|
+
* When text is null or empty, clears the status line.
|
|
161
|
+
*
|
|
162
|
+
* @param text - Status text to display, or null to clear
|
|
163
|
+
* @param stream - Output stream (expected: process.stderr)
|
|
164
|
+
*/
|
|
165
|
+
export function renderStatusLine(text, stream) {
|
|
166
|
+
// No-op when not a TTY
|
|
167
|
+
if (!stream.isTTY) {
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
// Get terminal width with fallback to 80 for misconfigured TTYs (EC-5)
|
|
171
|
+
// TypeScript types guarantee columns is defined when isTTY is true,
|
|
172
|
+
// but handle edge case where it might be undefined at runtime
|
|
173
|
+
const terminalWidth = stream.columns ?? 80;
|
|
174
|
+
// Suppress display if terminal too narrow
|
|
175
|
+
if (terminalWidth < STATUS_LINE_MIN_WIDTH) {
|
|
176
|
+
return;
|
|
177
|
+
}
|
|
178
|
+
try {
|
|
179
|
+
// Clear current line
|
|
180
|
+
stream.write(ANSI_CLEAR_LINE_CR);
|
|
181
|
+
// If text provided, sanitize and render on current line
|
|
182
|
+
if (text?.trim()) {
|
|
183
|
+
// Strip ANSI codes for security (IC-2)
|
|
184
|
+
let sanitized = stripAnsi(text);
|
|
185
|
+
// Strip newlines to keep single line
|
|
186
|
+
sanitized = sanitized.replace(/[\r\n]+/g, ' ');
|
|
187
|
+
// Truncate if exceeds terminal width
|
|
188
|
+
if (sanitized.length > terminalWidth) {
|
|
189
|
+
sanitized =
|
|
190
|
+
sanitized.slice(0, terminalWidth - STATUS_LINE_ELLIPSIS.length) +
|
|
191
|
+
STATUS_LINE_ELLIPSIS;
|
|
192
|
+
}
|
|
193
|
+
// Write dim text, then \r to park cursor at column 0
|
|
194
|
+
stream.write(`${colors.dim}${sanitized}${colors.reset}\r`);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
catch {
|
|
198
|
+
// Ignore write errors (broken pipe)
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Clear the status line from terminal display.
|
|
203
|
+
*
|
|
204
|
+
* @param stream - Output stream (expected: process.stderr)
|
|
205
|
+
*/
|
|
206
|
+
export function clearStatusLine(stream) {
|
|
207
|
+
// No-op when not a TTY
|
|
208
|
+
if (!stream.isTTY) {
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
211
|
+
try {
|
|
212
|
+
stream.write(ANSI_CLEAR_LINE_CR);
|
|
213
|
+
}
|
|
214
|
+
catch {
|
|
215
|
+
// Ignore write errors
|
|
216
|
+
}
|
|
217
|
+
}
|
|
124
218
|
/**
|
|
125
219
|
* Print a [RUNNER] operational message with timestamp
|
|
126
220
|
* 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":"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"}
|
|
@@ -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;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;
|
|
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"}
|