@rcrsr/claude-code-runner 0.6.2 → 0.7.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 +66 -114
- package/dist/cli/args.d.ts +0 -7
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +15 -59
- package/dist/cli/args.js.map +1 -1
- package/dist/index.js +57 -114
- package/dist/index.js.map +1 -1
- package/dist/parsers/index.d.ts +0 -1
- package/dist/parsers/index.d.ts.map +1 -1
- package/dist/parsers/index.js +0 -1
- package/dist/parsers/index.js.map +1 -1
- package/dist/rill/context.d.ts +44 -0
- package/dist/rill/context.d.ts.map +1 -0
- package/dist/rill/context.js +207 -0
- package/dist/rill/context.js.map +1 -0
- package/dist/rill/index.d.ts +8 -0
- package/dist/rill/index.d.ts.map +1 -0
- package/dist/rill/index.js +6 -0
- package/dist/rill/index.js.map +1 -0
- package/dist/rill/runner.d.ts +62 -0
- package/dist/rill/runner.d.ts.map +1 -0
- package/dist/rill/runner.js +263 -0
- package/dist/rill/runner.js.map +1 -0
- package/dist/templates/command.d.ts +9 -0
- package/dist/templates/command.d.ts.map +1 -1
- package/dist/templates/command.js +43 -9
- package/dist/templates/command.js.map +1 -1
- package/dist/types/runner.d.ts +2 -28
- package/dist/types/runner.d.ts.map +1 -1
- package/dist/types/runner.js +2 -9
- package/dist/types/runner.js.map +1 -1
- package/dist/utils/constants.d.ts +0 -4
- package/dist/utils/constants.d.ts.map +1 -1
- package/dist/utils/constants.js +0 -4
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/formatting.d.ts +5 -0
- package/dist/utils/formatting.d.ts.map +1 -1
- package/dist/utils/formatting.js +13 -0
- package/dist/utils/formatting.js.map +1 -1
- package/package.json +2 -1
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rill Script Runner
|
|
3
|
+
*
|
|
4
|
+
* Executes .rill scripts using the Rill parser and runtime,
|
|
5
|
+
* integrated with the existing Claude runner infrastructure.
|
|
6
|
+
*/
|
|
7
|
+
import { AbortError, execute, parse, ParseError, RuntimeError, TimeoutError, } from '@rcrsr/rill';
|
|
8
|
+
import * as fs from 'fs';
|
|
9
|
+
import { colors, printRunner } from '../output/colors.js';
|
|
10
|
+
import { finalizeStepStats } from '../output/formatter.js';
|
|
11
|
+
import { spawnClaude } from '../process/pty.js';
|
|
12
|
+
import { parseFrontmatter } from '../templates/command.js';
|
|
13
|
+
import { formatRillValue } from '../utils/formatting.js';
|
|
14
|
+
import { createRunnerContext } from './context.js';
|
|
15
|
+
// ============================================================
|
|
16
|
+
// SCRIPT LOADING
|
|
17
|
+
// ============================================================
|
|
18
|
+
/**
|
|
19
|
+
* Parse args definition from frontmatter
|
|
20
|
+
* Format: "file: string, retries: number = 3"
|
|
21
|
+
*/
|
|
22
|
+
function parseArgsDefinition(argsStr) {
|
|
23
|
+
if (!argsStr.trim())
|
|
24
|
+
return [];
|
|
25
|
+
const defs = [];
|
|
26
|
+
// Split by comma, but handle potential commas in default values
|
|
27
|
+
const parts = argsStr.split(/,(?![^[]*])/).map((s) => s.trim());
|
|
28
|
+
for (const part of parts) {
|
|
29
|
+
if (!part)
|
|
30
|
+
continue;
|
|
31
|
+
// Pattern: name: type or name: type = default
|
|
32
|
+
const match = /^(\w+)\s*:\s*(string|number|bool)(?:\s*=\s*(.+))?$/.exec(part);
|
|
33
|
+
if (!match) {
|
|
34
|
+
throw new Error(`Invalid arg definition: ${part}`);
|
|
35
|
+
}
|
|
36
|
+
const [, name, type, defaultStr] = match;
|
|
37
|
+
if (!name || !type)
|
|
38
|
+
continue;
|
|
39
|
+
const def = {
|
|
40
|
+
name,
|
|
41
|
+
type: type,
|
|
42
|
+
required: defaultStr === undefined,
|
|
43
|
+
};
|
|
44
|
+
// Parse default value
|
|
45
|
+
if (defaultStr !== undefined) {
|
|
46
|
+
const trimmed = defaultStr.trim();
|
|
47
|
+
if (type === 'number') {
|
|
48
|
+
def.defaultValue = Number(trimmed);
|
|
49
|
+
}
|
|
50
|
+
else if (type === 'bool') {
|
|
51
|
+
def.defaultValue = trimmed === 'true';
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
// String - remove quotes if present
|
|
55
|
+
def.defaultValue = trimmed.replace(/^["']|["']$/g, '');
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
defs.push(def);
|
|
59
|
+
}
|
|
60
|
+
return defs;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Load a .rill script file, extracting frontmatter and body
|
|
64
|
+
*/
|
|
65
|
+
export function loadRillScript(scriptFile) {
|
|
66
|
+
if (!fs.existsSync(scriptFile)) {
|
|
67
|
+
throw new Error(`Script not found: ${scriptFile}`);
|
|
68
|
+
}
|
|
69
|
+
const content = fs.readFileSync(scriptFile, 'utf-8');
|
|
70
|
+
const { frontmatter, body } = parseFrontmatter(content);
|
|
71
|
+
// Parse args definition if present
|
|
72
|
+
let argsDefs;
|
|
73
|
+
if (frontmatter.args) {
|
|
74
|
+
argsDefs = parseArgsDefinition(frontmatter.args);
|
|
75
|
+
}
|
|
76
|
+
return {
|
|
77
|
+
source: body,
|
|
78
|
+
meta: {
|
|
79
|
+
model: frontmatter.model,
|
|
80
|
+
description: frontmatter.description,
|
|
81
|
+
args: argsDefs,
|
|
82
|
+
},
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
// ============================================================
|
|
86
|
+
// RUNNER
|
|
87
|
+
// ============================================================
|
|
88
|
+
/**
|
|
89
|
+
* Execute a Rill script
|
|
90
|
+
*/
|
|
91
|
+
export async function runRillScript(options) {
|
|
92
|
+
const { scriptFile, args, config, logger, formatterState, cwd, runId } = options;
|
|
93
|
+
// Load and parse script
|
|
94
|
+
const { source, meta } = loadRillScript(scriptFile);
|
|
95
|
+
// Use frontmatter model if no CLI override
|
|
96
|
+
const effectiveModel = config.model ?? meta.model ?? null;
|
|
97
|
+
// Map CLI args to named variables based on frontmatter definition
|
|
98
|
+
const namedArgs = {};
|
|
99
|
+
if (meta.args) {
|
|
100
|
+
for (let i = 0; i < meta.args.length; i++) {
|
|
101
|
+
const argDef = meta.args[i];
|
|
102
|
+
if (!argDef)
|
|
103
|
+
continue;
|
|
104
|
+
const cliValue = args[i];
|
|
105
|
+
if (cliValue !== undefined) {
|
|
106
|
+
// Convert CLI string to appropriate type
|
|
107
|
+
if (argDef.type === 'number') {
|
|
108
|
+
namedArgs[argDef.name] = Number(cliValue);
|
|
109
|
+
}
|
|
110
|
+
else if (argDef.type === 'bool') {
|
|
111
|
+
namedArgs[argDef.name] = cliValue === 'true';
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
namedArgs[argDef.name] = cliValue;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
else if (argDef.defaultValue !== undefined) {
|
|
118
|
+
namedArgs[argDef.name] = argDef.defaultValue;
|
|
119
|
+
}
|
|
120
|
+
else if (argDef.required) {
|
|
121
|
+
throw new Error(`Missing required argument: ${argDef.name}`);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
// Parse the Rill script
|
|
126
|
+
const ast = parse(source);
|
|
127
|
+
// Track execution state (use object to allow mutation in closures)
|
|
128
|
+
const state = {
|
|
129
|
+
lastOutput: '',
|
|
130
|
+
stepNum: 0,
|
|
131
|
+
};
|
|
132
|
+
// Create Claude executor that uses the existing infrastructure
|
|
133
|
+
const executeClause = async (prompt, model) => {
|
|
134
|
+
state.stepNum++;
|
|
135
|
+
formatterState.currentStep = state.stepNum;
|
|
136
|
+
formatterState.stepStartTime = Date.now();
|
|
137
|
+
// Log step start
|
|
138
|
+
const preview = prompt.length > 50 ? prompt.slice(0, 50) + '...' : prompt;
|
|
139
|
+
logger.logEvent({
|
|
140
|
+
event: 'step_start',
|
|
141
|
+
step: state.stepNum,
|
|
142
|
+
prompt: preview,
|
|
143
|
+
});
|
|
144
|
+
if (config.verbosity !== 'quiet') {
|
|
145
|
+
printRunner(`Running step ${state.stepNum}: "${preview}"`);
|
|
146
|
+
}
|
|
147
|
+
// Execute via existing PTY infrastructure
|
|
148
|
+
const result = await spawnClaude({
|
|
149
|
+
prompt,
|
|
150
|
+
cwd,
|
|
151
|
+
verbosity: config.verbosity,
|
|
152
|
+
logger,
|
|
153
|
+
formatterState,
|
|
154
|
+
parallelThresholdMs: config.parallelThresholdMs,
|
|
155
|
+
model: model ?? effectiveModel,
|
|
156
|
+
});
|
|
157
|
+
// Finalize step stats (merge into runStats for final summary)
|
|
158
|
+
const stepDurationMs = formatterState.stepStartTime
|
|
159
|
+
? Date.now() - formatterState.stepStartTime
|
|
160
|
+
: 0;
|
|
161
|
+
finalizeStepStats(formatterState, stepDurationMs);
|
|
162
|
+
// Log completion
|
|
163
|
+
logger.logEvent({
|
|
164
|
+
event: 'step_complete',
|
|
165
|
+
step: state.stepNum,
|
|
166
|
+
exit: result.exitCode,
|
|
167
|
+
});
|
|
168
|
+
return {
|
|
169
|
+
output: result.claudeText,
|
|
170
|
+
exitCode: result.exitCode,
|
|
171
|
+
};
|
|
172
|
+
};
|
|
173
|
+
// Logging callback
|
|
174
|
+
const callbacks = {
|
|
175
|
+
onLog: (value) => {
|
|
176
|
+
const text = formatRillValue(value);
|
|
177
|
+
printRunner(text);
|
|
178
|
+
logger.log(`[LOG] ${text}`);
|
|
179
|
+
},
|
|
180
|
+
};
|
|
181
|
+
// Create Rill runtime context
|
|
182
|
+
const ctx = createRunnerContext({
|
|
183
|
+
executeClause,
|
|
184
|
+
namedArgs,
|
|
185
|
+
rawArgs: args,
|
|
186
|
+
env: process.env,
|
|
187
|
+
commandsDir: '.claude/commands',
|
|
188
|
+
defaultModel: effectiveModel ?? undefined,
|
|
189
|
+
callbacks,
|
|
190
|
+
});
|
|
191
|
+
// Execute the script
|
|
192
|
+
try {
|
|
193
|
+
logger.logEvent({ event: 'rill_script_start', runId, file: scriptFile });
|
|
194
|
+
const result = await execute(ast, ctx);
|
|
195
|
+
// Update last output from final result
|
|
196
|
+
if (result.value !== null) {
|
|
197
|
+
state.lastOutput = formatRillValue(result.value);
|
|
198
|
+
}
|
|
199
|
+
logger.logEvent({
|
|
200
|
+
event: 'rill_script_complete',
|
|
201
|
+
runId,
|
|
202
|
+
success: true,
|
|
203
|
+
});
|
|
204
|
+
return {
|
|
205
|
+
success: true,
|
|
206
|
+
lastOutput: state.lastOutput,
|
|
207
|
+
};
|
|
208
|
+
}
|
|
209
|
+
catch (error) {
|
|
210
|
+
// Handle specific Rill error types
|
|
211
|
+
if (error instanceof AbortError) {
|
|
212
|
+
printRunner(`${colors.yellow}Script cancelled${colors.reset}`);
|
|
213
|
+
logger.logEvent({ event: 'rill_script_cancelled', runId });
|
|
214
|
+
return {
|
|
215
|
+
success: false,
|
|
216
|
+
lastOutput: state.lastOutput,
|
|
217
|
+
};
|
|
218
|
+
}
|
|
219
|
+
if (error instanceof TimeoutError) {
|
|
220
|
+
const msg = `Timeout: ${error.message}`;
|
|
221
|
+
printRunner(`${colors.red}${msg}${colors.reset}`);
|
|
222
|
+
logger.logEvent({ event: 'rill_script_timeout', runId, error: msg });
|
|
223
|
+
return { success: false, lastOutput: state.lastOutput };
|
|
224
|
+
}
|
|
225
|
+
if (error instanceof ParseError) {
|
|
226
|
+
const location = error.location
|
|
227
|
+
? ` at line ${error.location.line}:${error.location.column}`
|
|
228
|
+
: '';
|
|
229
|
+
const msg = `Parse error${location}: ${error.message}`;
|
|
230
|
+
printRunner(`${colors.red}${msg}${colors.reset}`);
|
|
231
|
+
logger.logEvent({ event: 'rill_script_parse_error', runId, error: msg });
|
|
232
|
+
return { success: false, lastOutput: state.lastOutput };
|
|
233
|
+
}
|
|
234
|
+
if (error instanceof RuntimeError) {
|
|
235
|
+
const location = error.location
|
|
236
|
+
? ` at line ${error.location.line}:${error.location.column}`
|
|
237
|
+
: '';
|
|
238
|
+
const msg = `Runtime error${location}: ${error.message}`;
|
|
239
|
+
printRunner(`${colors.red}${msg}${colors.reset}`);
|
|
240
|
+
logger.logEvent({
|
|
241
|
+
event: 'rill_script_runtime_error',
|
|
242
|
+
runId,
|
|
243
|
+
error: msg,
|
|
244
|
+
});
|
|
245
|
+
return { success: false, lastOutput: state.lastOutput };
|
|
246
|
+
}
|
|
247
|
+
// Generic error fallback
|
|
248
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
249
|
+
printRunner(`${colors.red}Script error:${colors.reset} ${msg}`);
|
|
250
|
+
logger.logEvent({ event: 'rill_script_error', runId, error: msg });
|
|
251
|
+
return { success: false, lastOutput: state.lastOutput };
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
// ============================================================
|
|
255
|
+
// DETECTION
|
|
256
|
+
// ============================================================
|
|
257
|
+
/**
|
|
258
|
+
* Check if a file is a Rill script
|
|
259
|
+
*/
|
|
260
|
+
export function isRillScript(filename) {
|
|
261
|
+
return filename.endsWith('.rill');
|
|
262
|
+
}
|
|
263
|
+
//# sourceMappingURL=runner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/rill/runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,8 @@ export interface TemplateFrontmatter {
|
|
|
8
8
|
model?: string;
|
|
9
9
|
description?: string;
|
|
10
10
|
argumentHint?: string;
|
|
11
|
+
/** Rill named args definition (e.g., "file: string, retries: number = 3") */
|
|
12
|
+
args?: string;
|
|
11
13
|
}
|
|
12
14
|
/**
|
|
13
15
|
* Result of loading a command template
|
|
@@ -24,6 +26,13 @@ export interface ScriptTemplate {
|
|
|
24
26
|
frontmatter: TemplateFrontmatter;
|
|
25
27
|
}
|
|
26
28
|
export type CommandFrontmatter = TemplateFrontmatter;
|
|
29
|
+
/**
|
|
30
|
+
* Parse YAML frontmatter from markdown content, returning all key-value pairs
|
|
31
|
+
*/
|
|
32
|
+
export declare function parseGenericFrontmatter(content: string): {
|
|
33
|
+
frontmatter: Record<string, string>;
|
|
34
|
+
body: string;
|
|
35
|
+
};
|
|
27
36
|
/**
|
|
28
37
|
* Parse YAML frontmatter from markdown content
|
|
29
38
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/templates/command.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/templates/command.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6EAA6E;IAC7E,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAUD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,mBAAmB,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,EAAE,mBAAmB,CAAC;CAClC;AAGD,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,CAAC;AAErD;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG;IACxD,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,IAAI,EAAE,MAAM,CAAC;CACd,CA0BA;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG;IACjD,WAAW,EAAE,mBAAmB,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;CACd,CAuCA;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAExD;AAwCD;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EAAE,GAChB,eAAe,CAgBjB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAAE,GACnB,cAAc,CAchB"}
|
|
@@ -4,6 +4,33 @@
|
|
|
4
4
|
import * as fs from 'fs';
|
|
5
5
|
import * as path from 'path';
|
|
6
6
|
import { parseArgumentHint } from '../utils/arguments.js';
|
|
7
|
+
/**
|
|
8
|
+
* Parse YAML frontmatter from markdown content, returning all key-value pairs
|
|
9
|
+
*/
|
|
10
|
+
export function parseGenericFrontmatter(content) {
|
|
11
|
+
if (!content.startsWith('---')) {
|
|
12
|
+
return { frontmatter: {}, body: content };
|
|
13
|
+
}
|
|
14
|
+
const endIndex = content.indexOf('\n---', 3);
|
|
15
|
+
if (endIndex === -1) {
|
|
16
|
+
return { frontmatter: {}, body: content };
|
|
17
|
+
}
|
|
18
|
+
const yamlContent = content.slice(4, endIndex);
|
|
19
|
+
const body = content.slice(endIndex + 4).trimStart();
|
|
20
|
+
const frontmatter = {};
|
|
21
|
+
const keyValueRegex = /^(\S+):\s*(.*)$/;
|
|
22
|
+
for (const line of yamlContent.split('\n')) {
|
|
23
|
+
const match = keyValueRegex.exec(line);
|
|
24
|
+
if (!match)
|
|
25
|
+
continue;
|
|
26
|
+
const [, key, value] = match;
|
|
27
|
+
const trimmedValue = value?.trim().replace(/^["']|["']$/g, '') ?? '';
|
|
28
|
+
if (key && trimmedValue) {
|
|
29
|
+
frontmatter[key] = trimmedValue;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return { frontmatter, body };
|
|
33
|
+
}
|
|
7
34
|
/**
|
|
8
35
|
* Parse YAML frontmatter from markdown content
|
|
9
36
|
*/
|
|
@@ -21,18 +48,25 @@ export function parseFrontmatter(content) {
|
|
|
21
48
|
const keyValueRegex = /^(\S+):\s*(.*)$/;
|
|
22
49
|
for (const line of yamlContent.split('\n')) {
|
|
23
50
|
const match = keyValueRegex.exec(line);
|
|
24
|
-
if (match)
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
51
|
+
if (!match)
|
|
52
|
+
continue;
|
|
53
|
+
const [, key, value] = match;
|
|
54
|
+
const trimmedValue = value?.trim().replace(/^["']|["']$/g, '') ?? '';
|
|
55
|
+
if (!trimmedValue)
|
|
56
|
+
continue;
|
|
57
|
+
switch (key) {
|
|
58
|
+
case 'model':
|
|
28
59
|
frontmatter.model = trimmedValue;
|
|
29
|
-
|
|
30
|
-
|
|
60
|
+
break;
|
|
61
|
+
case 'description':
|
|
31
62
|
frontmatter.description = trimmedValue;
|
|
32
|
-
|
|
33
|
-
|
|
63
|
+
break;
|
|
64
|
+
case 'argument-hint':
|
|
34
65
|
frontmatter.argumentHint = trimmedValue;
|
|
35
|
-
|
|
66
|
+
break;
|
|
67
|
+
case 'args':
|
|
68
|
+
frontmatter.args = trimmedValue;
|
|
69
|
+
break;
|
|
36
70
|
}
|
|
37
71
|
}
|
|
38
72
|
return { frontmatter, body };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/templates/command.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/templates/command.ts"],"names":[],"mappings":"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"}
|
package/dist/types/runner.d.ts
CHANGED
|
@@ -3,16 +3,6 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export type Verbosity = 'quiet' | 'normal' | 'verbose';
|
|
5
5
|
export type Subcommand = 'prompt' | 'command' | 'script';
|
|
6
|
-
/**
|
|
7
|
-
* Runner signals for iteration control
|
|
8
|
-
* Claude outputs these to control the runner loop
|
|
9
|
-
*/
|
|
10
|
-
export type RunnerSignal = 'repeat_step' | 'blocked' | 'error';
|
|
11
|
-
export declare const RUNNER_SIGNALS: {
|
|
12
|
-
readonly REPEAT_STEP: ":::RUNNER::REPEAT_STEP:::";
|
|
13
|
-
readonly BLOCKED: ":::RUNNER::BLOCKED:::";
|
|
14
|
-
readonly ERROR: ":::RUNNER::ERROR:::";
|
|
15
|
-
};
|
|
16
6
|
/**
|
|
17
7
|
* Result of running a single Claude invocation
|
|
18
8
|
*/
|
|
@@ -21,17 +11,6 @@ export interface RunResult {
|
|
|
21
11
|
duration: number;
|
|
22
12
|
claudeText: string;
|
|
23
13
|
}
|
|
24
|
-
/**
|
|
25
|
-
* Result of running with signal support (may involve multiple iterations)
|
|
26
|
-
*/
|
|
27
|
-
export type SignalResult = 'ok' | 'blocked' | 'error';
|
|
28
|
-
/**
|
|
29
|
-
* Extended result from runWithSignals including output text
|
|
30
|
-
*/
|
|
31
|
-
export interface SignalRunResult {
|
|
32
|
-
status: SignalResult;
|
|
33
|
-
claudeText: string;
|
|
34
|
-
}
|
|
35
14
|
/**
|
|
36
15
|
* Runner configuration
|
|
37
16
|
*/
|
|
@@ -39,9 +18,7 @@ export interface RunnerConfig {
|
|
|
39
18
|
verbosity: Verbosity;
|
|
40
19
|
enableLog: boolean;
|
|
41
20
|
logDir: string;
|
|
42
|
-
maxIterations: number;
|
|
43
21
|
parallelThresholdMs: number;
|
|
44
|
-
iterationPauseMs: number;
|
|
45
22
|
model: string | null;
|
|
46
23
|
deaddrop: boolean;
|
|
47
24
|
}
|
|
@@ -56,13 +33,10 @@ export interface ParsedArgs {
|
|
|
56
33
|
subcommand: Subcommand;
|
|
57
34
|
prompt: string;
|
|
58
35
|
displayCommand: string;
|
|
59
|
-
/** Display strings for script lines (for logging) */
|
|
60
|
-
scriptLines: string[];
|
|
61
|
-
scriptMode: boolean;
|
|
62
36
|
config: Partial<RunnerConfig>;
|
|
63
|
-
/** Script file path (
|
|
37
|
+
/** Script file path (for script subcommand) */
|
|
64
38
|
scriptFile: string | null;
|
|
65
|
-
/** Script arguments
|
|
39
|
+
/** Script arguments */
|
|
66
40
|
scriptArgs: string[];
|
|
67
41
|
}
|
|
68
42
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/types/runner.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/types/runner.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEvD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEzD;;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,WAAW,YAAY;IAC3B,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB,EAAE,MAAM,CAAC;IAC5B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,YAO5B,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC9B,+CAA+C;IAC/C,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,uBAAuB;IACvB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;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
|
@@ -1,22 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Runner configuration and state types
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
5
|
-
export const RUNNER_SIGNALS = {
|
|
6
|
-
REPEAT_STEP: ':::RUNNER::REPEAT_STEP:::',
|
|
7
|
-
BLOCKED: ':::RUNNER::BLOCKED:::',
|
|
8
|
-
ERROR: ':::RUNNER::ERROR:::',
|
|
9
|
-
};
|
|
4
|
+
import { DEFAULT_PARALLEL_THRESHOLD_MS } from '../utils/constants.js';
|
|
10
5
|
/**
|
|
11
6
|
* Default runner configuration
|
|
12
7
|
*/
|
|
13
8
|
export const DEFAULT_CONFIG = {
|
|
14
9
|
verbosity: 'normal',
|
|
15
|
-
enableLog:
|
|
10
|
+
enableLog: false,
|
|
16
11
|
logDir: 'logs',
|
|
17
|
-
maxIterations: DEFAULT_MAX_ITERATIONS,
|
|
18
12
|
parallelThresholdMs: DEFAULT_PARALLEL_THRESHOLD_MS,
|
|
19
|
-
iterationPauseMs: DEFAULT_ITERATION_PAUSE_MS,
|
|
20
13
|
model: null,
|
|
21
14
|
deaddrop: false,
|
|
22
15
|
};
|
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;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/types/runner.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AA2BtE;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAiB;IAC1C,SAAS,EAAE,QAAQ;IACnB,SAAS,EAAE,KAAK;IAChB,MAAM,EAAE,MAAM;IACd,mBAAmB,EAAE,6BAA6B;IAClD,KAAK,EAAE,IAAI;IACX,QAAQ,EAAE,KAAK;CAChB,CAAC;AAkCF;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAa;IACtC,UAAU;IACV,gBAAgB;IAChB,UAAU;IACV,eAAe;IACf,QAAQ;CACT,CAAC"}
|
|
@@ -42,10 +42,6 @@ export declare const MS_PER_SECOND = 1000;
|
|
|
42
42
|
export declare const SECONDS_PER_MINUTE = 60;
|
|
43
43
|
/** Seconds per hour */
|
|
44
44
|
export declare const SECONDS_PER_HOUR = 3600;
|
|
45
|
-
/** Default max iterations before stopping */
|
|
46
|
-
export declare const DEFAULT_MAX_ITERATIONS = 10;
|
|
47
45
|
/** Default parallel tool detection threshold in ms */
|
|
48
46
|
export declare const DEFAULT_PARALLEL_THRESHOLD_MS = 100;
|
|
49
|
-
/** Default pause between iterations in ms */
|
|
50
|
-
export declare const DEFAULT_ITERATION_PAUSE_MS = 2000;
|
|
51
47
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,sDAAsD;AACtD,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,yDAAyD;AACzD,eAAO,MAAM,gBAAgB,UAAU,CAAC;AAGxC,gDAAgD;AAChD,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,iDAAiD;AACjD,eAAO,MAAM,qBAAqB,KAAK,CAAC;AACxC,6CAA6C;AAC7C,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,iDAAiD;AACjD,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,yCAAyC;AACzC,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,8CAA8C;AAC9C,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,2CAA2C;AAC3C,eAAO,MAAM,cAAc,MAAM,CAAC;AAClC,6CAA6C;AAC7C,eAAO,MAAM,gBAAgB,MAAM,CAAC;AACpC,sDAAsD;AACtD,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,qFAAqF;AACrF,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAC1C,uDAAuD;AACvD,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,sDAAsD;AACtD,eAAO,MAAM,eAAe,MAAM,CAAC;AACnC,wDAAwD;AACxD,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAGzC,4BAA4B;AAC5B,eAAO,MAAM,QAAQ,MAAM,CAAC;AAC5B,yBAAyB;AACzB,eAAO,MAAM,QAAQ,KAAK,CAAC;AAG3B,8BAA8B;AAC9B,eAAO,MAAM,aAAa,OAAO,CAAC;AAClC,yBAAyB;AACzB,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,uBAAuB;AACvB,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAGrC,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,sDAAsD;AACtD,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,yDAAyD;AACzD,eAAO,MAAM,gBAAgB,UAAU,CAAC;AAGxC,gDAAgD;AAChD,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,iDAAiD;AACjD,eAAO,MAAM,qBAAqB,KAAK,CAAC;AACxC,6CAA6C;AAC7C,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,iDAAiD;AACjD,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,yCAAyC;AACzC,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,8CAA8C;AAC9C,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,2CAA2C;AAC3C,eAAO,MAAM,cAAc,MAAM,CAAC;AAClC,6CAA6C;AAC7C,eAAO,MAAM,gBAAgB,MAAM,CAAC;AACpC,sDAAsD;AACtD,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,qFAAqF;AACrF,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAC1C,uDAAuD;AACvD,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,sDAAsD;AACtD,eAAO,MAAM,eAAe,MAAM,CAAC;AACnC,wDAAwD;AACxD,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAGzC,4BAA4B;AAC5B,eAAO,MAAM,QAAQ,MAAM,CAAC;AAC5B,yBAAyB;AACzB,eAAO,MAAM,QAAQ,KAAK,CAAC;AAG3B,8BAA8B;AAC9B,eAAO,MAAM,aAAa,OAAO,CAAC;AAClC,yBAAyB;AACzB,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,uBAAuB;AACvB,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAGrC,sDAAsD;AACtD,eAAO,MAAM,6BAA6B,MAAM,CAAC"}
|
package/dist/utils/constants.js
CHANGED
|
@@ -47,10 +47,6 @@ export const SECONDS_PER_MINUTE = 60;
|
|
|
47
47
|
/** Seconds per hour */
|
|
48
48
|
export const SECONDS_PER_HOUR = 3600;
|
|
49
49
|
// === Default Configuration ===
|
|
50
|
-
/** Default max iterations before stopping */
|
|
51
|
-
export const DEFAULT_MAX_ITERATIONS = 10;
|
|
52
50
|
/** Default parallel tool detection threshold in ms */
|
|
53
51
|
export const DEFAULT_PARALLEL_THRESHOLD_MS = 100;
|
|
54
|
-
/** Default pause between iterations in ms */
|
|
55
|
-
export const DEFAULT_ITERATION_PAUSE_MS = 2000;
|
|
56
52
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,0BAA0B;AAC1B,sDAAsD;AACtD,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC;AACrC,yDAAyD;AACzD,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC;AAExC,yBAAyB;AACzB,gDAAgD;AAChD,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AACnC,iDAAiD;AACjD,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACxC,6CAA6C;AAC7C,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AACrC,iDAAiD;AACjD,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AACpC,yCAAyC;AACzC,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AACnC,8CAA8C;AAC9C,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AACrC,2CAA2C;AAC3C,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC;AAClC,6CAA6C;AAC7C,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AACpC,sDAAsD;AACtD,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AACzC,qFAAqF;AACrF,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAC1C,uDAAuD;AACvD,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AACzC,sDAAsD;AACtD,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAC;AACnC,wDAAwD;AACxD,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAEzC,4BAA4B;AAC5B,4BAA4B;AAC5B,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,CAAC;AAC5B,yBAAyB;AACzB,MAAM,CAAC,MAAM,QAAQ,GAAG,EAAE,CAAC;AAE3B,yBAAyB;AACzB,8BAA8B;AAC9B,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC;AAClC,yBAAyB;AACzB,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AACrC,uBAAuB;AACvB,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAErC,gCAAgC;AAChC,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,0BAA0B;AAC1B,sDAAsD;AACtD,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC;AACrC,yDAAyD;AACzD,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC;AAExC,yBAAyB;AACzB,gDAAgD;AAChD,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AACnC,iDAAiD;AACjD,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACxC,6CAA6C;AAC7C,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AACrC,iDAAiD;AACjD,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AACpC,yCAAyC;AACzC,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AACnC,8CAA8C;AAC9C,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AACrC,2CAA2C;AAC3C,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC;AAClC,6CAA6C;AAC7C,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AACpC,sDAAsD;AACtD,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AACzC,qFAAqF;AACrF,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAC1C,uDAAuD;AACvD,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AACzC,sDAAsD;AACtD,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAC;AACnC,wDAAwD;AACxD,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAEzC,4BAA4B;AAC5B,4BAA4B;AAC5B,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,CAAC;AAC5B,yBAAyB;AACzB,MAAM,CAAC,MAAM,QAAQ,GAAG,EAAE,CAAC;AAE3B,yBAAyB;AACzB,8BAA8B;AAC9B,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC;AAClC,yBAAyB;AACzB,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AACrC,uBAAuB;AACvB,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAErC,gCAAgC;AAChC,sDAAsD;AACtD,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAAG,CAAC"}
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Shared formatting utilities
|
|
3
3
|
*/
|
|
4
|
+
import type { RillValue } from '@rcrsr/rill';
|
|
4
5
|
/**
|
|
5
6
|
* Format character count for display
|
|
6
7
|
* @param chars - Number of characters
|
|
7
8
|
* @returns Formatted string: "N chars", "N.NK chars", or "N.NM chars"
|
|
8
9
|
*/
|
|
9
10
|
export declare function formatSize(chars: number): string;
|
|
11
|
+
/**
|
|
12
|
+
* Format a Rill value for display or substitution
|
|
13
|
+
*/
|
|
14
|
+
export declare function formatRillValue(value: RillValue): string;
|
|
10
15
|
//# sourceMappingURL=formatting.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatting.d.ts","sourceRoot":"","sources":["../../src/utils/formatting.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"formatting.d.ts","sourceRoot":"","sources":["../../src/utils/formatting.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAI7C;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOhD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAOxD"}
|
package/dist/utils/formatting.js
CHANGED
|
@@ -16,4 +16,17 @@ export function formatSize(chars) {
|
|
|
16
16
|
}
|
|
17
17
|
return `${(chars / SIZE_THRESHOLD_M).toFixed(1)}M chars`;
|
|
18
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* Format a Rill value for display or substitution
|
|
21
|
+
*/
|
|
22
|
+
export function formatRillValue(value) {
|
|
23
|
+
if (value === null)
|
|
24
|
+
return '';
|
|
25
|
+
if (typeof value === 'string')
|
|
26
|
+
return value;
|
|
27
|
+
if (typeof value === 'number' || typeof value === 'boolean') {
|
|
28
|
+
return String(value);
|
|
29
|
+
}
|
|
30
|
+
return JSON.stringify(value);
|
|
31
|
+
}
|
|
19
32
|
//# sourceMappingURL=formatting.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatting.js","sourceRoot":"","sources":["../../src/utils/formatting.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"formatting.js","sourceRoot":"","sources":["../../src/utils/formatting.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEpE;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,IAAI,KAAK,GAAG,gBAAgB,EAAE,CAAC;QAC7B,OAAO,GAAG,KAAK,QAAQ,CAAC;IAC1B,CAAC;SAAM,IAAI,KAAK,GAAG,gBAAgB,EAAE,CAAC;QACpC,OAAO,GAAG,CAAC,KAAK,GAAG,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3D,CAAC;IACD,OAAO,GAAG,CAAC,KAAK,GAAG,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,KAAgB;IAC9C,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC5D,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rcrsr/claude-code-runner",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.1",
|
|
4
4
|
"description": "Execute Claude CLI with PTY handling, real-time tool visualization, and iterative execution support",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -46,6 +46,7 @@
|
|
|
46
46
|
"author": "Andre Bremer",
|
|
47
47
|
"license": "MIT",
|
|
48
48
|
"dependencies": {
|
|
49
|
+
"@rcrsr/rill": "^0.1.0",
|
|
49
50
|
"node-pty": "^1.0.0"
|
|
50
51
|
},
|
|
51
52
|
"devDependencies": {
|