@rcrsr/claude-code-runner 0.4.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/README.md +104 -31
  2. package/dist/cli/args.d.ts +0 -3
  3. package/dist/cli/args.d.ts.map +1 -1
  4. package/dist/cli/args.js +51 -20
  5. package/dist/cli/args.js.map +1 -1
  6. package/dist/core/runner.d.ts +5 -2
  7. package/dist/core/runner.d.ts.map +1 -1
  8. package/dist/core/runner.js +27 -24
  9. package/dist/core/runner.js.map +1 -1
  10. package/dist/index.js +85 -42
  11. package/dist/index.js.map +1 -1
  12. package/dist/output/colors.d.ts +16 -12
  13. package/dist/output/colors.d.ts.map +1 -1
  14. package/dist/output/colors.js +27 -65
  15. package/dist/output/colors.js.map +1 -1
  16. package/dist/output/deaddrop-queue.d.ts +45 -0
  17. package/dist/output/deaddrop-queue.d.ts.map +1 -0
  18. package/dist/output/deaddrop-queue.js +82 -0
  19. package/dist/output/deaddrop-queue.js.map +1 -0
  20. package/dist/output/formatter.d.ts +23 -0
  21. package/dist/output/formatter.d.ts.map +1 -1
  22. package/dist/output/formatter.js +83 -42
  23. package/dist/output/formatter.js.map +1 -1
  24. package/dist/output/index.d.ts +1 -0
  25. package/dist/output/index.d.ts.map +1 -1
  26. package/dist/output/index.js +1 -0
  27. package/dist/output/index.js.map +1 -1
  28. package/dist/output/logger.js +2 -2
  29. package/dist/output/logger.js.map +1 -1
  30. package/dist/output/stats.d.ts +73 -0
  31. package/dist/output/stats.d.ts.map +1 -0
  32. package/dist/output/stats.js +154 -0
  33. package/dist/output/stats.js.map +1 -0
  34. package/dist/process/pty.d.ts.map +1 -1
  35. package/dist/process/pty.js +3 -2
  36. package/dist/process/pty.js.map +1 -1
  37. package/dist/script/index.d.ts +8 -0
  38. package/dist/script/index.d.ts.map +1 -0
  39. package/dist/script/index.js +10 -0
  40. package/dist/script/index.js.map +1 -0
  41. package/dist/script/loader.d.ts +13 -0
  42. package/dist/script/loader.d.ts.map +1 -0
  43. package/dist/script/loader.js +66 -0
  44. package/dist/script/loader.js.map +1 -0
  45. package/dist/script/parser.d.ts +63 -0
  46. package/dist/script/parser.d.ts.map +1 -0
  47. package/dist/script/parser.js +349 -0
  48. package/dist/script/parser.js.map +1 -0
  49. package/dist/script/types.d.ts +49 -0
  50. package/dist/script/types.d.ts.map +1 -0
  51. package/dist/script/types.js +5 -0
  52. package/dist/script/types.js.map +1 -0
  53. package/dist/script/variables.d.ts +27 -0
  54. package/dist/script/variables.d.ts.map +1 -0
  55. package/dist/script/variables.js +74 -0
  56. package/dist/script/variables.js.map +1 -0
  57. package/dist/templates/command.d.ts +18 -20
  58. package/dist/templates/command.d.ts.map +1 -1
  59. package/dist/templates/command.js +40 -61
  60. package/dist/templates/command.js.map +1 -1
  61. package/dist/types/claude.d.ts +12 -0
  62. package/dist/types/claude.d.ts.map +1 -1
  63. package/dist/types/claude.js.map +1 -1
  64. package/dist/types/index.d.ts +1 -0
  65. package/dist/types/index.d.ts.map +1 -1
  66. package/dist/types/index.js +1 -0
  67. package/dist/types/index.js.map +1 -1
  68. package/dist/types/runner.d.ts +12 -0
  69. package/dist/types/runner.d.ts.map +1 -1
  70. package/dist/types/runner.js +4 -3
  71. package/dist/types/runner.js.map +1 -1
  72. package/dist/types/tools.d.ts +64 -0
  73. package/dist/types/tools.d.ts.map +1 -0
  74. package/dist/types/tools.js +12 -0
  75. package/dist/types/tools.js.map +1 -0
  76. package/dist/utils/arguments.d.ts +19 -0
  77. package/dist/utils/arguments.d.ts.map +1 -0
  78. package/dist/utils/arguments.js +31 -0
  79. package/dist/utils/arguments.js.map +1 -0
  80. package/dist/utils/constants.d.ts +51 -0
  81. package/dist/utils/constants.d.ts.map +1 -0
  82. package/dist/utils/constants.js +56 -0
  83. package/dist/utils/constants.js.map +1 -0
  84. package/dist/utils/formatting.d.ts +10 -0
  85. package/dist/utils/formatting.d.ts.map +1 -0
  86. package/dist/utils/formatting.js +19 -0
  87. package/dist/utils/formatting.js.map +1 -0
  88. package/dist/utils/index.d.ts +7 -0
  89. package/dist/utils/index.d.ts.map +1 -0
  90. package/dist/utils/index.js +7 -0
  91. package/dist/utils/index.js.map +1 -0
  92. package/package.json +1 -1
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Variable store and substitution for script execution
3
+ */
4
+ import { formatSize } from '../utils/formatting.js';
5
+ /**
6
+ * Create an empty variable store
7
+ */
8
+ export function createVariableStore() {
9
+ return {
10
+ named: new Map(),
11
+ last: '',
12
+ };
13
+ }
14
+ /**
15
+ * Capture output into the variable store
16
+ * Updates both the named variable (if provided) and $_
17
+ */
18
+ export function captureOutput(store, output, varName) {
19
+ // Always update $_
20
+ store.last = output;
21
+ // Update named variable if provided
22
+ if (varName) {
23
+ store.named.set(varName, output);
24
+ }
25
+ }
26
+ /**
27
+ * Get capture log message for [RUNNER] output
28
+ */
29
+ export function getCaptureLogMessage(output, varName) {
30
+ const size = formatSize(output.length);
31
+ if (varName) {
32
+ return `$${varName} captured (${size})`;
33
+ }
34
+ return `$_ captured (${size})`;
35
+ }
36
+ /**
37
+ * Substitute variables in a string
38
+ * Handles: $_, $varname, $1, $2, etc.
39
+ */
40
+ export function substituteVariables(text, store, scriptArgs = []) {
41
+ let result = text;
42
+ // Substitute $_ (last output)
43
+ result = result.replace(/\$_/g, store.last);
44
+ // Substitute $ARGUMENTS BEFORE named variables (otherwise regex catches it)
45
+ result = result.replace(/\$ARGUMENTS/g, scriptArgs.join(' '));
46
+ // Substitute positional args ($1, $2, etc.) BEFORE named variables
47
+ for (const [i, arg] of scriptArgs.entries()) {
48
+ result = result.replace(new RegExp(`\\$${i + 1}`, 'g'), arg);
49
+ }
50
+ // Remove any remaining unmatched $N placeholders
51
+ result = result.replace(/\$\d+/g, '');
52
+ // Substitute named variables ($varname) LAST
53
+ // Match $word but not $1, $2, etc. (already handled above)
54
+ result = result.replace(/\$([a-zA-Z_][a-zA-Z0-9_]*)/g, (_match, name) => store.named.get(name) ?? '');
55
+ return result;
56
+ }
57
+ /**
58
+ * Get list of variables being substituted (for logging)
59
+ */
60
+ export function getSubstitutionList(text, store) {
61
+ const vars = [];
62
+ // Check for $_
63
+ if (text.includes('$_') && store.last) {
64
+ vars.push('$_');
65
+ }
66
+ // Check for named variables
67
+ for (const name of store.named.keys()) {
68
+ if (text.includes(`$${name}`)) {
69
+ vars.push(`$${name}`);
70
+ }
71
+ }
72
+ return vars;
73
+ }
74
+ //# sourceMappingURL=variables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variables.js","sourceRoot":"","sources":["../../src/script/variables.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGpD;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO;QACL,KAAK,EAAE,IAAI,GAAG,EAAE;QAChB,IAAI,EAAE,EAAE;KACT,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAC3B,KAAoB,EACpB,MAAc,EACd,OAAgB;IAEhB,mBAAmB;IACnB,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC;IAEpB,oCAAoC;IACpC,IAAI,OAAO,EAAE,CAAC;QACZ,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACnC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAc,EAAE,OAAgB;IACnE,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,IAAI,OAAO,cAAc,IAAI,GAAG,CAAC;IAC1C,CAAC;IACD,OAAO,gBAAgB,IAAI,GAAG,CAAC;AACjC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,IAAY,EACZ,KAAoB,EACpB,aAAuB,EAAE;IAEzB,IAAI,MAAM,GAAG,IAAI,CAAC;IAElB,8BAA8B;IAC9B,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAE5C,4EAA4E;IAC5E,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAE9D,mEAAmE;IACnE,KAAK,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;QAC5C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IAC/D,CAAC;IAED,iDAAiD;IACjD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAEtC,6CAA6C;IAC7C,2DAA2D;IAC3D,MAAM,GAAG,MAAM,CAAC,OAAO,CACrB,6BAA6B,EAC7B,CAAC,MAAM,EAAE,IAAY,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CACtD,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,IAAY,EACZ,KAAoB;IAEpB,MAAM,IAAI,GAAa,EAAE,CAAC;IAE1B,eAAe;IACf,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IAED,4BAA4B;IAC5B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,10 +1,10 @@
1
1
  /**
2
- * Command template loading and variable substitution
2
+ * Template loading and variable substitution for commands and scripts
3
3
  */
4
4
  /**
5
- * Frontmatter metadata from command template
5
+ * Frontmatter metadata from template files
6
6
  */
7
- export interface CommandFrontmatter {
7
+ export interface TemplateFrontmatter {
8
8
  model?: string;
9
9
  description?: string;
10
10
  argumentHint?: string;
@@ -14,14 +14,21 @@ export interface CommandFrontmatter {
14
14
  */
15
15
  export interface CommandTemplate {
16
16
  prompt: string;
17
- frontmatter: CommandFrontmatter;
17
+ frontmatter: TemplateFrontmatter;
18
18
  }
19
+ /**
20
+ * Result of loading a script template
21
+ */
22
+ export interface ScriptTemplate {
23
+ lines: string[];
24
+ frontmatter: TemplateFrontmatter;
25
+ }
26
+ export type CommandFrontmatter = TemplateFrontmatter;
19
27
  /**
20
28
  * Parse YAML frontmatter from markdown content
21
- * Returns the frontmatter object and remaining content
22
29
  */
23
30
  export declare function parseFrontmatter(content: string): {
24
- frontmatter: CommandFrontmatter;
31
+ frontmatter: TemplateFrontmatter;
25
32
  body: string;
26
33
  };
27
34
  /**
@@ -29,20 +36,11 @@ export declare function parseFrontmatter(content: string): {
29
36
  */
30
37
  export declare function stripFrontmatter(content: string): string;
31
38
  /**
32
- * Load a command template and substitute positional arguments
33
- * Templates are loaded from .claude/commands/<name>.md
34
- *
35
- * Supports:
36
- * - $ARGUMENTS: all arguments joined with spaces
37
- * - $1, $2, $3...: positional arguments
38
- *
39
- * Frontmatter fields:
40
- * - model: default model for this command (CLI arg takes precedence)
41
- * - description: command description
42
- * - argument-hint: defines required <arg> and optional [arg] arguments
43
- *
44
- * @param commandName - Name of the command (without .md extension)
45
- * @param cmdArgs - Positional arguments to substitute
39
+ * Load a command template from .claude/commands/<name>.md
46
40
  */
47
41
  export declare function loadCommandTemplate(commandName: string, cmdArgs: string[]): CommandTemplate;
42
+ /**
43
+ * Load a script template and substitute arguments
44
+ */
45
+ export declare function loadScriptTemplate(scriptFile: string, scriptArgs: string[]): ScriptTemplate;
48
46
  //# sourceMappingURL=command.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/templates/command.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,kBAAkB,CAAC;CACjC;AAkCD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG;IACjD,WAAW,EAAE,kBAAkB,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;CACd,CA+BA;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EAAE,GAChB,eAAe,CAkDjB"}
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,37 +1,11 @@
1
1
  /**
2
- * Command template loading and variable substitution
2
+ * Template loading and variable substitution for commands and scripts
3
3
  */
4
4
  import * as fs from 'fs';
5
5
  import * as path from 'path';
6
- /**
7
- * Parse argument-hint to determine required vs optional args
8
- * Convention: <arg> = required, [arg] = optional
9
- * Returns set of optional argument positions (1-indexed)
10
- */
11
- function parseArgumentHint(hint) {
12
- if (!hint) {
13
- return { requiredCount: 0, optionalPositions: new Set() };
14
- }
15
- const optionalPositions = new Set();
16
- let position = 0;
17
- let requiredCount = 0;
18
- // Match <required> or [optional] patterns
19
- const argPattern = /<[^>]+>|\[[^\]]+\]/g;
20
- let match;
21
- while ((match = argPattern.exec(hint)) !== null) {
22
- position++;
23
- if (match[0].startsWith('[')) {
24
- optionalPositions.add(position);
25
- }
26
- else {
27
- requiredCount = position;
28
- }
29
- }
30
- return { requiredCount, optionalPositions };
31
- }
6
+ import { parseArgumentHint } from '../utils/arguments.js';
32
7
  /**
33
8
  * Parse YAML frontmatter from markdown content
34
- * Returns the frontmatter object and remaining content
35
9
  */
36
10
  export function parseFrontmatter(content) {
37
11
  if (!content.startsWith('---')) {
@@ -43,7 +17,6 @@ export function parseFrontmatter(content) {
43
17
  }
44
18
  const yamlContent = content.slice(4, endIndex);
45
19
  const body = content.slice(endIndex + 4).trimStart();
46
- // Simple YAML parsing for known fields
47
20
  const frontmatter = {};
48
21
  const keyValueRegex = /^(\S+):\s*(.*)$/;
49
22
  for (const line of yamlContent.split('\n')) {
@@ -71,34 +44,15 @@ export function stripFrontmatter(content) {
71
44
  return parseFrontmatter(content).body;
72
45
  }
73
46
  /**
74
- * Load a command template and substitute positional arguments
75
- * Templates are loaded from .claude/commands/<name>.md
76
- *
77
- * Supports:
78
- * - $ARGUMENTS: all arguments joined with spaces
79
- * - $1, $2, $3...: positional arguments
80
- *
81
- * Frontmatter fields:
82
- * - model: default model for this command (CLI arg takes precedence)
83
- * - description: command description
84
- * - argument-hint: defines required <arg> and optional [arg] arguments
85
- *
86
- * @param commandName - Name of the command (without .md extension)
87
- * @param cmdArgs - Positional arguments to substitute
47
+ * Process template content: parse frontmatter, validate and substitute arguments
88
48
  */
89
- export function loadCommandTemplate(commandName, cmdArgs) {
90
- const commandFile = path.join(process.cwd(), '.claude', 'commands', `${commandName}.md`);
91
- if (!fs.existsSync(commandFile)) {
92
- throw new Error(`Command not found: ${commandFile}`);
93
- }
94
- const content = fs.readFileSync(commandFile, 'utf-8');
49
+ function processTemplate(content, args) {
95
50
  const { frontmatter, body } = parseFrontmatter(content);
96
- // Parse argument hints to determine required vs optional
51
+ // Validate required arguments
97
52
  const { requiredCount, optionalPositions } = parseArgumentHint(frontmatter.argumentHint);
98
- // Check for missing required arguments
99
- if (cmdArgs.length < requiredCount) {
53
+ if (args.length < requiredCount) {
100
54
  const missing = [];
101
- for (let i = cmdArgs.length + 1; i <= requiredCount; i++) {
55
+ for (let i = args.length + 1; i <= requiredCount; i++) {
102
56
  if (!optionalPositions.has(i)) {
103
57
  missing.push(`$${i}`);
104
58
  }
@@ -110,14 +64,39 @@ export function loadCommandTemplate(commandName, cmdArgs) {
110
64
  throw new Error(`Missing required arguments: ${missing.join(', ')}${hint}`);
111
65
  }
112
66
  }
113
- // Substitute $ARGUMENTS with all args joined
114
- let prompt = body.replace(/\$ARGUMENTS/g, cmdArgs.join(' '));
115
- // Substitute $1, $2, $3, ... with positional args
116
- for (const [i, arg] of cmdArgs.entries()) {
117
- prompt = prompt.replace(new RegExp(`\\$${i + 1}`, 'g'), arg);
67
+ // Substitute arguments
68
+ let result = body.replace(/\$ARGUMENTS/g, args.join(' '));
69
+ for (const [i, arg] of args.entries()) {
70
+ result = result.replace(new RegExp(`\\$${i + 1}`, 'g'), arg);
71
+ }
72
+ result = result.replace(/\$\d+/g, '');
73
+ return { body: result, frontmatter };
74
+ }
75
+ /**
76
+ * Load a command template from .claude/commands/<name>.md
77
+ */
78
+ export function loadCommandTemplate(commandName, cmdArgs) {
79
+ const commandFile = path.join(process.cwd(), '.claude', 'commands', `${commandName}.md`);
80
+ if (!fs.existsSync(commandFile)) {
81
+ throw new Error(`Command not found: ${commandFile}`);
82
+ }
83
+ const content = fs.readFileSync(commandFile, 'utf-8');
84
+ const { body, frontmatter } = processTemplate(content, cmdArgs);
85
+ return { prompt: body, frontmatter };
86
+ }
87
+ /**
88
+ * Load a script template and substitute arguments
89
+ */
90
+ export function loadScriptTemplate(scriptFile, scriptArgs) {
91
+ if (!fs.existsSync(scriptFile)) {
92
+ throw new Error(`Script not found: ${scriptFile}`);
118
93
  }
119
- // Replace any remaining $N with empty string (optional args)
120
- prompt = prompt.replace(/\$\d+/g, '');
121
- return { prompt, frontmatter };
94
+ const content = fs.readFileSync(scriptFile, 'utf-8');
95
+ const { body, frontmatter } = processTemplate(content, scriptArgs);
96
+ const lines = body
97
+ .split('\n')
98
+ .map((l) => l.trim())
99
+ .filter((l) => l && !l.startsWith('#'));
100
+ return { lines, frontmatter };
122
101
  }
123
102
  //# sourceMappingURL=command.js.map
@@ -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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"}
@@ -22,9 +22,21 @@ export interface McpServer {
22
22
  name: string;
23
23
  status: 'connected' | 'failed' | 'connecting';
24
24
  }
25
+ export interface CacheCreation {
26
+ ephemeral_5m_input_tokens?: number;
27
+ ephemeral_1h_input_tokens?: number;
28
+ }
29
+ export interface TokenUsage {
30
+ input_tokens?: number;
31
+ output_tokens?: number;
32
+ cache_creation_input_tokens?: number;
33
+ cache_read_input_tokens?: number;
34
+ cache_creation?: CacheCreation;
35
+ }
25
36
  export interface MessageEnvelope {
26
37
  role: 'assistant' | 'user';
27
38
  content: ContentBlock[];
39
+ usage?: TokenUsage;
28
40
  }
29
41
  export interface SystemInitMessage {
30
42
  type: 'system';
@@ -1 +1 @@
1
- {"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../src/types/claude.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,UAAU,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,aAAa,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,GAAG,OAAO,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,YAAY,GAAG,eAAe,CAAC;AAGtE,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,YAAY,CAAC;CAC/C;AAGD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,WAAW,GAAG,MAAM,CAAC;IAC3B,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB;AAGD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC;CAC3B;AAGD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,eAAe,CAAC;CAC1B;AAGD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,eAAe,CAAC;CAC1B;AAGD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,QAAQ,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAGD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,aAAa,GACrB,iBAAiB,GACjB,gBAAgB,GAChB,WAAW,GACX,aAAa,GACb,cAAc,CAAC;AAEnB;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,aAAa,GACjB,GAAG,IAAI,iBAAiB,CAE1B;AAED,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,aAAa,GACjB,GAAG,IAAI,gBAAgB,CAEzB;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,aAAa,GAAG,GAAG,IAAI,WAAW,CAEpE;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,aAAa,GAAG,GAAG,IAAI,aAAa,CAExE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,GAAG,KAAK,IAAI,YAAY,CAEzE;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,YAAY,GAClB,KAAK,IAAI,eAAe,CAE1B;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,KAAK,IAAI,SAAS,CAEnE"}
1
+ {"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../src/types/claude.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/types/claude.ts"],"names":[],"mappings":"AAAA;;GAEG;AA+EH;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,GAAkB;IAElB,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,SAAS,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,KAAK,MAAM,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,GAAkB;IAElB,OAAO,GAAG,CAAC,IAAI,KAAK,WAAW,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAkB;IAC9C,OAAO,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAkB;IAChD,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAmB;IAChD,OAAO,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,KAAmB;IAEnB,OAAO,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAmB;IAC7C,OAAO,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/types/claude.ts"],"names":[],"mappings":"AAAA;;GAEG;AA8FH;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,GAAkB;IAElB,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,SAAS,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,KAAK,MAAM,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,GAAkB;IAElB,OAAO,GAAG,CAAC,IAAI,KAAK,WAAW,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAkB;IAC9C,OAAO,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAkB;IAChD,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAmB;IAChD,OAAO,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,KAAmB;IAEnB,OAAO,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAmB;IAC7C,OAAO,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC;AAC/B,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export * from './claude.js';
2
2
  export * from './runner.js';
3
+ export * from './tools.js';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export * from './claude.js';
2
2
  export * from './runner.js';
3
+ export * from './tools.js';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
@@ -25,6 +25,13 @@ export interface RunResult {
25
25
  * Result of running with signal support (may involve multiple iterations)
26
26
  */
27
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
+ }
28
35
  /**
29
36
  * Runner configuration
30
37
  */
@@ -49,9 +56,14 @@ export interface ParsedArgs {
49
56
  subcommand: Subcommand;
50
57
  prompt: string;
51
58
  displayCommand: string;
59
+ /** Display strings for script lines (for logging) */
52
60
  scriptLines: string[];
53
61
  scriptMode: boolean;
54
62
  config: Partial<RunnerConfig>;
63
+ /** Script file path (when scriptMode is true) */
64
+ scriptFile: string | null;
65
+ /** Script arguments (passed to script file for variable substitution) */
66
+ scriptArgs: string[];
55
67
  }
56
68
  /**
57
69
  * Tool call tracking
@@ -1 +1 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/types/runner.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEvD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEzD;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,aAAa,GAAG,SAAS,GAAG,OAAO,CAAC;AAE/D,eAAO,MAAM,cAAc;;;;CAIjB,CAAC;AAEX;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;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,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,EAMlC,CAAC"}
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,6 +1,7 @@
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';
4
5
  export const RUNNER_SIGNALS = {
5
6
  REPEAT_STEP: ':::RUNNER::REPEAT_STEP:::',
6
7
  BLOCKED: ':::RUNNER::BLOCKED:::',
@@ -13,9 +14,9 @@ export const DEFAULT_CONFIG = {
13
14
  verbosity: 'normal',
14
15
  enableLog: true,
15
16
  logDir: 'logs',
16
- maxIterations: 10,
17
- parallelThresholdMs: 100,
18
- iterationPauseMs: 2000,
17
+ maxIterations: DEFAULT_MAX_ITERATIONS,
18
+ parallelThresholdMs: DEFAULT_PARALLEL_THRESHOLD_MS,
19
+ iterationPauseMs: DEFAULT_ITERATION_PAUSE_MS,
19
20
  model: null,
20
21
  deaddrop: false,
21
22
  };
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/types/runner.ts"],"names":[],"mappings":"AAAA;;GAEG;AAYH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,WAAW,EAAE,2BAA2B;IACxC,OAAO,EAAE,uBAAuB;IAChC,KAAK,EAAE,qBAAqB;CACpB,CAAC;AA8BX;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAiB;IAC1C,SAAS,EAAE,QAAQ;IACnB,SAAS,EAAE,IAAI;IACf,MAAM,EAAE,MAAM;IACd,aAAa,EAAE,EAAE;IACjB,mBAAmB,EAAE,GAAG;IACxB,gBAAgB,EAAE,IAAI;IACtB,KAAK,EAAE,IAAI;IACX,QAAQ,EAAE,KAAK;CAChB,CAAC;AAgCF;;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,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"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Type-safe tool input handling
3
+ * Provides discriminated union types for tool inputs
4
+ */
5
+ /**
6
+ * Read tool input
7
+ */
8
+ export interface ReadToolInput {
9
+ file_path: string;
10
+ offset?: number;
11
+ limit?: number;
12
+ }
13
+ /**
14
+ * Glob tool input
15
+ */
16
+ export interface GlobToolInput {
17
+ pattern: string;
18
+ path?: string;
19
+ }
20
+ /**
21
+ * Grep tool input
22
+ */
23
+ export interface GrepToolInput {
24
+ pattern: string;
25
+ path?: string;
26
+ glob?: string;
27
+ type?: string;
28
+ }
29
+ /**
30
+ * Bash tool input
31
+ */
32
+ export interface BashToolInput {
33
+ command: string;
34
+ description?: string;
35
+ timeout?: number;
36
+ }
37
+ /**
38
+ * Task tool input
39
+ */
40
+ export interface TaskToolInput {
41
+ description?: string;
42
+ prompt?: string;
43
+ subagent_type?: string;
44
+ }
45
+ /**
46
+ * Write tool input
47
+ */
48
+ export interface WriteToolInput {
49
+ file_path: string;
50
+ content: string;
51
+ }
52
+ /**
53
+ * Edit tool input
54
+ */
55
+ export interface EditToolInput {
56
+ file_path: string;
57
+ old_string: string;
58
+ new_string: string;
59
+ }
60
+ /**
61
+ * Get a string field from tool input with safe fallback
62
+ */
63
+ export declare function getToolInputString(input: Record<string, unknown>, field: string, defaultValue?: string): string;
64
+ //# sourceMappingURL=tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/types/tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,KAAK,EAAE,MAAM,EACb,YAAY,SAAK,GAChB,MAAM,CAGR"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Type-safe tool input handling
3
+ * Provides discriminated union types for tool inputs
4
+ */
5
+ /**
6
+ * Get a string field from tool input with safe fallback
7
+ */
8
+ export function getToolInputString(input, field, defaultValue = '') {
9
+ const value = input[field];
10
+ return typeof value === 'string' ? value : defaultValue;
11
+ }
12
+ //# sourceMappingURL=tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/types/tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAgEH;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAA8B,EAC9B,KAAa,EACb,YAAY,GAAG,EAAE;IAEjB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC;AAC1D,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Shared argument parsing utilities
3
+ */
4
+ /**
5
+ * Parsed argument hint result
6
+ */
7
+ export interface ArgumentHintResult {
8
+ requiredCount: number;
9
+ optionalPositions: Set<number>;
10
+ }
11
+ /**
12
+ * Parse argument-hint to determine required vs optional args
13
+ * Convention: <arg> = required, [arg] = optional
14
+ *
15
+ * @param hint - Argument hint string like "<file> [options]"
16
+ * @returns Object with requiredCount and set of optional positions
17
+ */
18
+ export declare function parseArgumentHint(hint: string | undefined): ArgumentHintResult;
19
+ //# sourceMappingURL=arguments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arguments.d.ts","sourceRoot":"","sources":["../../src/utils/arguments.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAChC;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,GAAG,SAAS,GACvB,kBAAkB,CAqBpB"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Shared argument parsing utilities
3
+ */
4
+ /**
5
+ * Parse argument-hint to determine required vs optional args
6
+ * Convention: <arg> = required, [arg] = optional
7
+ *
8
+ * @param hint - Argument hint string like "<file> [options]"
9
+ * @returns Object with requiredCount and set of optional positions
10
+ */
11
+ export function parseArgumentHint(hint) {
12
+ if (!hint) {
13
+ return { requiredCount: 0, optionalPositions: new Set() };
14
+ }
15
+ const optionalPositions = new Set();
16
+ let position = 0;
17
+ let requiredCount = 0;
18
+ const argPattern = /<[^>]+>|\[[^\]]+\]/g;
19
+ let match;
20
+ while ((match = argPattern.exec(hint)) !== null) {
21
+ position++;
22
+ if (match[0].startsWith('[')) {
23
+ optionalPositions.add(position);
24
+ }
25
+ else {
26
+ requiredCount = position;
27
+ }
28
+ }
29
+ return { requiredCount, optionalPositions };
30
+ }
31
+ //# sourceMappingURL=arguments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arguments.js","sourceRoot":"","sources":["../../src/utils/arguments.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAAwB;IAExB,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE,iBAAiB,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;IAC5D,CAAC;IAED,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC5C,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,MAAM,UAAU,GAAG,qBAAqB,CAAC;IACzC,IAAI,KAAK,CAAC;IACV,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAChD,QAAQ,EAAE,CAAC;QACX,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,aAAa,GAAG,QAAQ,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,CAAC;AAC9C,CAAC"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Centralized constants for the runner codebase
3
+ * Replaces magic numbers with descriptive names
4
+ */
5
+ /** Threshold for displaying size in K (1000 chars) */
6
+ export declare const SIZE_THRESHOLD_K = 1000;
7
+ /** Threshold for displaying size in M (1000000 chars) */
8
+ export declare const SIZE_THRESHOLD_M = 1000000;
9
+ /** Maximum lines shown in tool result output */
10
+ export declare const MAX_RESULT_LINES = 10;
11
+ /** Truncation length for Grep pattern display */
12
+ export declare const TRUNCATE_GREP_PATTERN = 30;
13
+ /** Truncation length for Task description */
14
+ export declare const TRUNCATE_TASK_DESC = 40;
15
+ /** Truncation length for Bash command display */
16
+ export declare const TRUNCATE_BASH_CMD = 50;
17
+ /** Truncation length for preview text */
18
+ export declare const TRUNCATE_PREVIEW = 50;
19
+ /** Truncation length for unknown tool JSON */
20
+ export declare const TRUNCATE_TOOL_JSON = 60;
21
+ /** Truncation length for error messages */
22
+ export declare const TRUNCATE_ERROR = 100;
23
+ /** Truncation length for generic messages */
24
+ export declare const TRUNCATE_MESSAGE = 100;
25
+ /** Truncation length for verbose tool result lines */
26
+ export declare const TRUNCATE_VERBOSE_LINE = 150;
27
+ /** Truncation length for terminal output lines (Claude messages, runner messages) */
28
+ export declare const TRUNCATE_TERMINAL_LINE = 150;
29
+ /** Truncation length for normal task result summary */
30
+ export declare const TRUNCATE_TASK_SUMMARY = 200;
31
+ /** Truncation length for quiet mode answer display */
32
+ export declare const TRUNCATE_ANSWER = 500;
33
+ /** Truncation length for verbose task result summary */
34
+ export declare const TRUNCATE_TASK_VERBOSE = 500;
35
+ /** Terminal column width */
36
+ export declare const PTY_COLS = 200;
37
+ /** Terminal row count */
38
+ export declare const PTY_ROWS = 50;
39
+ /** Milliseconds per second */
40
+ export declare const MS_PER_SECOND = 1000;
41
+ /** Seconds per minute */
42
+ export declare const SECONDS_PER_MINUTE = 60;
43
+ /** Seconds per hour */
44
+ export declare const SECONDS_PER_HOUR = 3600;
45
+ /** Default max iterations before stopping */
46
+ export declare const DEFAULT_MAX_ITERATIONS = 10;
47
+ /** Default parallel tool detection threshold in ms */
48
+ 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
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +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"}