@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.
Files changed (40) hide show
  1. package/README.md +66 -114
  2. package/dist/cli/args.d.ts +0 -7
  3. package/dist/cli/args.d.ts.map +1 -1
  4. package/dist/cli/args.js +15 -59
  5. package/dist/cli/args.js.map +1 -1
  6. package/dist/index.js +57 -114
  7. package/dist/index.js.map +1 -1
  8. package/dist/parsers/index.d.ts +0 -1
  9. package/dist/parsers/index.d.ts.map +1 -1
  10. package/dist/parsers/index.js +0 -1
  11. package/dist/parsers/index.js.map +1 -1
  12. package/dist/rill/context.d.ts +44 -0
  13. package/dist/rill/context.d.ts.map +1 -0
  14. package/dist/rill/context.js +207 -0
  15. package/dist/rill/context.js.map +1 -0
  16. package/dist/rill/index.d.ts +8 -0
  17. package/dist/rill/index.d.ts.map +1 -0
  18. package/dist/rill/index.js +6 -0
  19. package/dist/rill/index.js.map +1 -0
  20. package/dist/rill/runner.d.ts +62 -0
  21. package/dist/rill/runner.d.ts.map +1 -0
  22. package/dist/rill/runner.js +263 -0
  23. package/dist/rill/runner.js.map +1 -0
  24. package/dist/templates/command.d.ts +9 -0
  25. package/dist/templates/command.d.ts.map +1 -1
  26. package/dist/templates/command.js +43 -9
  27. package/dist/templates/command.js.map +1 -1
  28. package/dist/types/runner.d.ts +2 -28
  29. package/dist/types/runner.d.ts.map +1 -1
  30. package/dist/types/runner.js +2 -9
  31. package/dist/types/runner.js.map +1 -1
  32. package/dist/utils/constants.d.ts +0 -4
  33. package/dist/utils/constants.d.ts.map +1 -1
  34. package/dist/utils/constants.js +0 -4
  35. package/dist/utils/constants.js.map +1 -1
  36. package/dist/utils/formatting.d.ts +5 -0
  37. package/dist/utils/formatting.d.ts.map +1 -1
  38. package/dist/utils/formatting.js +13 -0
  39. package/dist/utils/formatting.js.map +1 -1
  40. 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;CACvB;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,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG;IACjD,WAAW,EAAE,mBAAmB,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;CACd,CA8BA;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"}
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
- const [, key, value] = match;
26
- const trimmedValue = value?.trim().replace(/^["']|["']$/g, '') ?? '';
27
- if (key === 'model' && trimmedValue) {
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
- else if (key === 'description' && trimmedValue) {
60
+ break;
61
+ case 'description':
31
62
  frontmatter.description = trimmedValue;
32
- }
33
- else if (key === 'argument-hint' && trimmedValue) {
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":"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"}
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/templates/command.ts"],"names":[],"mappings":"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"}
@@ -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 (when scriptMode is true) */
37
+ /** Script file path (for script subcommand) */
64
38
  scriptFile: string | null;
65
- /** Script arguments (passed to script file for variable substitution) */
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;AAQH,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEvD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEzD;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,aAAa,GAAG,SAAS,GAAG,OAAO,CAAC;AAE/D,eAAO,MAAM,cAAc;;;;CAIjB,CAAC;AAEX;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,YAAY,CAAC;IACrB,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,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,YAS5B,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,qDAAqD;IACrD,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC9B,iDAAiD;IACjD,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,yEAAyE;IACzE,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"}
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"}
@@ -1,22 +1,15 @@
1
1
  /**
2
2
  * Runner configuration and state types
3
3
  */
4
- import { DEFAULT_ITERATION_PAUSE_MS, DEFAULT_MAX_ITERATIONS, DEFAULT_PARALLEL_THRESHOLD_MS, } from '../utils/constants.js';
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: true,
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
  };
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/types/runner.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,6BAA6B,GAC9B,MAAM,uBAAuB,CAAC;AAY/B,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,WAAW,EAAE,2BAA2B;IACxC,OAAO,EAAE,uBAAuB;IAChC,KAAK,EAAE,qBAAqB;CACpB,CAAC;AAsCX;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAiB;IAC1C,SAAS,EAAE,QAAQ;IACnB,SAAS,EAAE,IAAI;IACf,MAAM,EAAE,MAAM;IACd,aAAa,EAAE,sBAAsB;IACrC,mBAAmB,EAAE,6BAA6B;IAClD,gBAAgB,EAAE,0BAA0B;IAC5C,KAAK,EAAE,IAAI;IACX,QAAQ,EAAE,KAAK;CAChB,CAAC;AAqCF;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAa;IACtC,UAAU;IACV,gBAAgB;IAChB,UAAU;IACV,eAAe;IACf,QAAQ;CACT,CAAC"}
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,6CAA6C;AAC7C,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,sDAAsD;AACtD,eAAO,MAAM,6BAA6B,MAAM,CAAC;AACjD,6CAA6C;AAC7C,eAAO,MAAM,0BAA0B,OAAO,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,sDAAsD;AACtD,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,yDAAyD;AACzD,eAAO,MAAM,gBAAgB,UAAU,CAAC;AAGxC,gDAAgD;AAChD,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,iDAAiD;AACjD,eAAO,MAAM,qBAAqB,KAAK,CAAC;AACxC,6CAA6C;AAC7C,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,iDAAiD;AACjD,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,yCAAyC;AACzC,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,8CAA8C;AAC9C,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,2CAA2C;AAC3C,eAAO,MAAM,cAAc,MAAM,CAAC;AAClC,6CAA6C;AAC7C,eAAO,MAAM,gBAAgB,MAAM,CAAC;AACpC,sDAAsD;AACtD,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,qFAAqF;AACrF,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAC1C,uDAAuD;AACvD,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,sDAAsD;AACtD,eAAO,MAAM,eAAe,MAAM,CAAC;AACnC,wDAAwD;AACxD,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAGzC,4BAA4B;AAC5B,eAAO,MAAM,QAAQ,MAAM,CAAC;AAC5B,yBAAyB;AACzB,eAAO,MAAM,QAAQ,KAAK,CAAC;AAG3B,8BAA8B;AAC9B,eAAO,MAAM,aAAa,OAAO,CAAC;AAClC,yBAAyB;AACzB,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,uBAAuB;AACvB,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAGrC,sDAAsD;AACtD,eAAO,MAAM,6BAA6B,MAAM,CAAC"}
@@ -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,6CAA6C;AAC7C,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AACzC,sDAAsD;AACtD,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAAG,CAAC;AACjD,6CAA6C;AAC7C,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,0BAA0B;AAC1B,sDAAsD;AACtD,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC;AACrC,yDAAyD;AACzD,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC;AAExC,yBAAyB;AACzB,gDAAgD;AAChD,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AACnC,iDAAiD;AACjD,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACxC,6CAA6C;AAC7C,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AACrC,iDAAiD;AACjD,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AACpC,yCAAyC;AACzC,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AACnC,8CAA8C;AAC9C,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AACrC,2CAA2C;AAC3C,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC;AAClC,6CAA6C;AAC7C,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AACpC,sDAAsD;AACtD,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AACzC,qFAAqF;AACrF,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAC1C,uDAAuD;AACvD,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AACzC,sDAAsD;AACtD,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAC;AACnC,wDAAwD;AACxD,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAEzC,4BAA4B;AAC5B,4BAA4B;AAC5B,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,CAAC;AAC5B,yBAAyB;AACzB,MAAM,CAAC,MAAM,QAAQ,GAAG,EAAE,CAAC;AAE3B,yBAAyB;AACzB,8BAA8B;AAC9B,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC;AAClC,yBAAyB;AACzB,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AACrC,uBAAuB;AACvB,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAErC,gCAAgC;AAChC,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;AAIH;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOhD"}
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"}
@@ -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;AAEH,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"}
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.6.2",
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": {