@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
@@ -3,7 +3,9 @@
3
3
  */
4
4
  import { isAssistantMessage, isResultMessage, isSystemInitMessage, isTextBlock, isToolResultBlock, isToolUseBlock, isUserMessage, } from '../types/claude.js';
5
5
  import { NOISE_PATTERNS, } from '../types/runner.js';
6
- import { colors, formatDuration, printClaude, printRunner, shortenPath, timestampPrefix, truncate, } from './colors.js';
6
+ import { MAX_RESULT_LINES, TRUNCATE_ANSWER, TRUNCATE_BASH_CMD, TRUNCATE_ERROR, TRUNCATE_GREP_PATTERN, TRUNCATE_MESSAGE, TRUNCATE_TASK_DESC, TRUNCATE_TERMINAL_LINE, TRUNCATE_TOOL_JSON, TRUNCATE_VERBOSE_LINE, } from '../utils/constants.js';
7
+ import { colors, formatDuration, printClaude, printRunner, shortenPath, terminalLog, timestampPrefix, truncate, } from './colors.js';
8
+ import { createRunStats, formatStatsSummary, incrementMessageCount, mergeStats, recordOutput, recordToolUse, resetRunStats, updateTokenStats, } from './stats.js';
7
9
  export function createFormatterState() {
8
10
  return {
9
11
  pendingTools: [],
@@ -11,6 +13,13 @@ export function createFormatterState() {
11
13
  activeTask: null,
12
14
  toolStartTimes: new Map(),
13
15
  currentStep: 1,
16
+ suppressStepCompletion: true,
17
+ lastStepDurationMs: null,
18
+ stats: createRunStats(),
19
+ runStats: createRunStats(),
20
+ stepStartTime: null,
21
+ taskStats: null,
22
+ taskStartTime: null,
14
23
  };
15
24
  }
16
25
  export function resetFormatterState(state) {
@@ -18,6 +27,26 @@ export function resetFormatterState(state) {
18
27
  state.lastToolTime = null;
19
28
  state.activeTask = null;
20
29
  state.toolStartTimes.clear();
30
+ resetRunStats(state.stats);
31
+ state.stepStartTime = null;
32
+ state.taskStats = null;
33
+ state.taskStartTime = null;
34
+ // Note: runStats is NOT reset - it accumulates across steps
35
+ }
36
+ /**
37
+ * Finalize step stats: merge into runStats and return step summary
38
+ */
39
+ export function finalizeStepStats(state, stepDurationMs) {
40
+ // Merge step stats into run stats
41
+ mergeStats(state.runStats, state.stats);
42
+ // Format and return the step summary
43
+ return formatStatsSummary(state.stats, stepDurationMs);
44
+ }
45
+ /**
46
+ * Get the overall run stats summary
47
+ */
48
+ export function getRunStatsSummary(state, runDurationMs) {
49
+ return formatStatsSummary(state.runStats, runDurationMs);
21
50
  }
22
51
  /**
23
52
  * Check if a line contains noise patterns (node_modules, venv, etc.)
@@ -39,7 +68,7 @@ function filterNoiseLines(text) {
39
68
  */
40
69
  function formatToolUse(tool, indented, state) {
41
70
  const inTask = state.activeTask !== null;
42
- const indent = inTask ? ' ' : '';
71
+ const indent = inTask ? '│' : '';
43
72
  const prefix = indented
44
73
  ? `${timestampPrefix()}${indent} → `
45
74
  : `${timestampPrefix()}${indent}${colors.yellow}[TOOL]${colors.reset} `;
@@ -53,30 +82,32 @@ function formatToolUse(tool, indented, state) {
53
82
  summary = input['pattern'] ?? '';
54
83
  }
55
84
  else if (name === 'Grep') {
56
- summary = `"${truncate(input['pattern'] ?? '', 30)}"`;
85
+ summary = `"${truncate(input['pattern'] ?? '', TRUNCATE_GREP_PATTERN)}"`;
57
86
  }
58
87
  else if (name === 'Bash') {
59
- summary = truncate(input['command'] ?? '', 50);
88
+ summary = truncate(input['command'] ?? '', TRUNCATE_BASH_CMD);
60
89
  }
61
90
  else if (name === 'Task') {
62
91
  const taskType = input['subagent_type'] ?? 'agent';
63
92
  const taskDesc = truncate(input['description'] ??
64
93
  input['prompt'] ??
65
- '', 40);
94
+ '', TRUNCATE_TASK_DESC);
66
95
  summary = `${colors.magenta}${taskType}${colors.reset}: ${taskDesc}`;
67
- // Mark task as active and print task header
96
+ // Mark task as active and print task header (no divider)
68
97
  state.activeTask = { name: taskType, description: taskDesc, id: tool.id };
69
- console.log(`${timestampPrefix()}${colors.yellow}[TASK]${colors.reset} ${colors.magenta}${taskType}${colors.reset} ${taskDesc}`);
70
- console.log(`${timestampPrefix()} ${colors.dim}┌─────────────────────────────────────────────────${colors.reset}`);
98
+ // Initialize task stats tracking
99
+ state.taskStats = createRunStats();
100
+ state.taskStartTime = Date.now();
101
+ terminalLog(`${timestampPrefix()}${colors.yellow}[TASK]${colors.reset} ${colors.magenta}${taskType}${colors.reset} ${taskDesc}`);
71
102
  return;
72
103
  }
73
104
  else if (name === 'Write' || name === 'Edit') {
74
105
  summary = shortenPath(input['file_path'] ?? '');
75
106
  }
76
107
  else {
77
- summary = truncate(JSON.stringify(input), 60);
108
+ summary = truncate(JSON.stringify(input), TRUNCATE_TOOL_JSON);
78
109
  }
79
- console.log(`${prefix}${colors.cyan}${name}${colors.reset} ${summary}`);
110
+ terminalLog(`${prefix}${colors.cyan}${name}${colors.reset} ${summary}`);
80
111
  }
81
112
  /**
82
113
  * Flush pending tools, grouping parallel calls
@@ -95,7 +126,7 @@ export function flushPendingTools(state, verbosity) {
95
126
  }
96
127
  else {
97
128
  // Group parallel tools
98
- console.log(`${timestampPrefix()}${colors.yellow}[TOOL ×${state.pendingTools.length}]${colors.reset} ${colors.dim}(parallel)${colors.reset}`);
129
+ terminalLog(`${timestampPrefix()}${colors.yellow}[TOOL ×${state.pendingTools.length}]${colors.reset} ${colors.dim}(parallel)${colors.reset}`);
99
130
  for (const tool of state.pendingTools) {
100
131
  formatToolUse(tool, true, state);
101
132
  }
@@ -110,7 +141,7 @@ function printToolResult(result, durationStr, verbosity, state) {
110
141
  return;
111
142
  }
112
143
  const inTask = state.activeTask !== null;
113
- const indent = inTask ? ' ' : '';
144
+ const indent = inTask ? '│' : '';
114
145
  if (verbosity === 'normal') {
115
146
  // In normal mode, suppress per-tool timing
116
147
  return;
@@ -121,39 +152,34 @@ function printToolResult(result, durationStr, verbosity, state) {
121
152
  : JSON.stringify(result.content);
122
153
  const filtered = filterNoiseLines(content);
123
154
  const lines = filtered.split('\n').filter((l) => l.trim());
124
- const maxLines = 10;
125
- const showLines = lines.slice(0, maxLines);
155
+ const showLines = lines.slice(0, MAX_RESULT_LINES);
126
156
  for (const line of showLines) {
127
- console.log(`${timestampPrefix()}${indent} ${colors.dim}${truncate(line, 150)}${colors.reset}`);
157
+ terminalLog(`${timestampPrefix()}${indent} ${colors.dim}${truncate(line, TRUNCATE_VERBOSE_LINE)}${colors.reset}`);
128
158
  }
129
- if (lines.length > maxLines) {
130
- console.log(`${timestampPrefix()}${indent} ${colors.dim}... (${lines.length - maxLines} more lines)${colors.reset}${durationStr}`);
159
+ if (lines.length > MAX_RESULT_LINES) {
160
+ terminalLog(`${timestampPrefix()}${indent} ${colors.dim}... (${lines.length - MAX_RESULT_LINES} more lines)${colors.reset}${durationStr}`);
131
161
  }
132
162
  else if (durationStr) {
133
- console.log(`${timestampPrefix()}${indent} ${durationStr}`);
163
+ terminalLog(`${timestampPrefix()}${indent} ${durationStr}`);
134
164
  }
135
165
  }
136
166
  /**
137
167
  * Print a task result
138
168
  */
139
- function printTaskResult(result, durationStr, verbosity, state) {
140
- const content = typeof result.content === 'string'
141
- ? result.content
142
- : JSON.stringify(result.content);
143
- // Close the task visual box with duration
144
- console.log(`${timestampPrefix()} ${colors.dim}└─────────────────────────────────────────────────${colors.reset}${durationStr}`);
145
- // Extract the text part of task result, skip agentId line
146
- const lines = content
147
- .split('\n')
148
- .filter((l) => l.trim() && !l.includes('agentId:'));
149
- // Show task result summary
150
- if (lines.length > 0) {
151
- const maxLen = verbosity === 'verbose' ? 500 : 200;
152
- const summary = lines.join(' ').replace(/\s+/g, ' ');
153
- console.log(`${timestampPrefix()} ${colors.green}→ ${truncate(summary, maxLen)}${colors.reset}`);
154
- }
155
- // Clear active task
169
+ function printTaskResult(_result, _durationStr, _verbosity, state) {
170
+ // Calculate task duration and format stats summary
171
+ const taskDuration = state.taskStartTime
172
+ ? Date.now() - state.taskStartTime
173
+ : 0;
174
+ const statsSummary = state.taskStats
175
+ ? formatStatsSummary(state.taskStats, taskDuration)
176
+ : formatDuration(taskDuration);
177
+ // Print task completion with stats
178
+ terminalLog(`${timestampPrefix()}└─${colors.yellow}[TASK]${colors.reset} Complete: ${statsSummary}`);
179
+ // Clear active task and stats
156
180
  state.activeTask = null;
181
+ state.taskStats = null;
182
+ state.taskStartTime = null;
157
183
  }
158
184
  /**
159
185
  * Format and display a Claude message
@@ -167,26 +193,36 @@ parallelThresholdMs) {
167
193
  }
168
194
  else if (isAssistantMessage(msg)) {
169
195
  flushPendingTools(state, verbosity);
196
+ // Track message and token usage in stats
197
+ const stats = state.taskStats ?? state.stats;
198
+ incrementMessageCount(stats);
199
+ if (msg.message.usage) {
200
+ updateTokenStats(stats, msg.message.usage);
201
+ }
170
202
  for (const block of msg.message.content) {
171
203
  if (isTextBlock(block)) {
172
204
  claudeText += block.text + '\n';
205
+ // Track output characters for token estimation
206
+ recordOutput(stats, block.text.length);
173
207
  if (verbosity === 'quiet') {
174
208
  // Show answers but not thinking/status updates
175
209
  if (!block.text.startsWith("I'll ") &&
176
210
  !block.text.startsWith('Let me ')) {
177
- const text = block.text.replace(/[\r\n]+/g, ' ').trim();
178
- console.log(`${timestampPrefix()}${colors.green}[ANSWER]${colors.reset} ${truncate(text, 500)}`);
211
+ const displayText = block.text.replace(/[\r\n]+/g, ' ').trim();
212
+ terminalLog(`${timestampPrefix()}${colors.green}[ANSWER]${colors.reset} ${truncate(displayText, TRUNCATE_ANSWER)}`);
179
213
  }
180
214
  }
181
215
  else {
182
- const text = block.text.replace(/[\r\n]+/g, ' ').trim();
183
- printClaude(text);
216
+ const displayText = block.text.replace(/[\r\n]+/g, ' ').trim();
217
+ printClaude(truncate(displayText, TRUNCATE_TERMINAL_LINE), block.text);
184
218
  }
185
219
  }
186
220
  else if (isToolUseBlock(block)) {
187
221
  const now = Date.now();
188
222
  // Record start time
189
223
  state.toolStartTimes.set(block.id, now);
224
+ // Track tool use in stats
225
+ recordToolUse(stats, block.name);
190
226
  if (state.lastToolTime &&
191
227
  now - state.lastToolTime < parallelThresholdMs) {
192
228
  // Part of parallel batch
@@ -230,7 +266,11 @@ parallelThresholdMs) {
230
266
  content.startsWith('Error:') ||
231
267
  content.startsWith('error:');
232
268
  if (isError) {
233
- console.log(`${timestampPrefix()} ${colors.red}ERROR: ${truncate(content, 100)}${colors.reset}${durationStr}`);
269
+ const inTask = state.activeTask !== null;
270
+ const indent = inTask ? '│' : '';
271
+ // Strip <tool_use_error> tags for cleaner display
272
+ const cleanError = content.replace(/<\/?tool_use_error>/g, '').trim();
273
+ terminalLog(`${timestampPrefix()}${indent} ${colors.red}ERROR: ${truncate(cleanError, TRUNCATE_ERROR)}${colors.reset}${durationStr}`);
234
274
  }
235
275
  else if (state.activeTask?.id === toolUseId) {
236
276
  // Task completing
@@ -244,14 +284,15 @@ parallelThresholdMs) {
244
284
  }
245
285
  else if (isResultMessage(msg)) {
246
286
  flushPendingTools(state, verbosity);
247
- if (verbosity !== 'quiet') {
287
+ state.lastStepDurationMs = msg.duration_ms ?? null;
288
+ if (!state.suppressStepCompletion && verbosity !== 'quiet') {
248
289
  const duration = msg.duration_ms ? formatDuration(msg.duration_ms) : '?';
249
290
  printRunner(`Completed step ${state.currentStep} in ${duration}`);
250
291
  }
251
292
  }
252
293
  else {
253
294
  if (verbosity === 'verbose') {
254
- console.log(`${timestampPrefix()}${colors.dim}[${msg.type.toUpperCase()}] ${truncate(JSON.stringify(msg), 100)}${colors.reset}`);
295
+ terminalLog(`${timestampPrefix()}${colors.dim}[${msg.type.toUpperCase()}] ${truncate(JSON.stringify(msg), TRUNCATE_MESSAGE)}${colors.reset}`);
255
296
  }
256
297
  }
257
298
  return claudeText;
@@ -1 +1 @@
1
- {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../src/output/formatter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../src/output/formatter.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export * from './colors.js';
2
2
  export * from './formatter.js';
3
3
  export * from './logger.js';
4
+ export * from './stats.js';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/output/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/output/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export * from './colors.js';
2
2
  export * from './formatter.js';
3
3
  export * from './logger.js';
4
+ export * from './stats.js';
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/output/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/output/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
@@ -26,8 +26,8 @@ export function createLogger(enabled, logDir, commandName) {
26
26
  const logStream = fs.createWriteStream(logFile, { flags: 'a' });
27
27
  return {
28
28
  log(msg) {
29
- // Strip ANSI codes and CR for clean log file
30
- const clean = stripAnsi(msg).replace(/\r/g, '');
29
+ // Strip ANSI codes but preserve CRs for full fidelity
30
+ const clean = stripAnsi(msg);
31
31
  logStream.write(clean + '\n');
32
32
  },
33
33
  close() {
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/output/logger.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAQxC;;GAEG;AACH,MAAM,UAAU,YAAY,CAC1B,OAAgB,EAChB,MAAc,EACd,WAAmB;IAEnB,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;YACL,GAAG,EAAE,GAAG,EAAE,CAAC,SAAS;YACpB,KAAK,EAAE,GAAG,EAAE,CAAC,SAAS;YACtB,QAAQ,EAAE,IAAI;SACf,CAAC;IACJ,CAAC;IAED,8BAA8B;IAC9B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,8BAA8B;IAC9B,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9E,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,aAAa,IAAI,SAAS,MAAM,CAAC,CAAC;IACvE,MAAM,SAAS,GAAG,EAAE,CAAC,iBAAiB,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IAEhE,OAAO;QACL,GAAG,CAAC,GAAW;YACb,6CAA6C;YAC7C,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAChD,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;QAChC,CAAC;QACD,KAAK;YACH,SAAS,CAAC,GAAG,EAAE,CAAC;QAClB,CAAC;QACD,QAAQ,EAAE,OAAO;KAClB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/output/logger.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAQxC;;GAEG;AACH,MAAM,UAAU,YAAY,CAC1B,OAAgB,EAChB,MAAc,EACd,WAAmB;IAEnB,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;YACL,GAAG,EAAE,GAAG,EAAE,CAAC,SAAS;YACpB,KAAK,EAAE,GAAG,EAAE,CAAC,SAAS;YACtB,QAAQ,EAAE,IAAI;SACf,CAAC;IACJ,CAAC;IAED,8BAA8B;IAC9B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,8BAA8B;IAC9B,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9E,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,aAAa,IAAI,SAAS,MAAM,CAAC,CAAC;IACvE,MAAM,SAAS,GAAG,EAAE,CAAC,iBAAiB,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IAEhE,OAAO;QACL,GAAG,CAAC,GAAW;YACb,sDAAsD;YACtD,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;YAC7B,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;QAChC,CAAC;QACD,KAAK;YACH,SAAS,CAAC,GAAG,EAAE,CAAC;QAClB,CAAC;QACD,QAAQ,EAAE,OAAO;KAClB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Run statistics tracking and summary formatting
3
+ * Tracks messages, tokens, and tool usage for display
4
+ */
5
+ import type { TokenUsage } from '../types/claude.js';
6
+ /**
7
+ * Aggregated token counts
8
+ */
9
+ export interface TokenCounts {
10
+ /** Prompt tokens (non-cached input) */
11
+ prompt: number;
12
+ /** Cache write 5m tokens */
13
+ cacheWrite5m: number;
14
+ /** Cache write 1h tokens */
15
+ cacheWrite1h: number;
16
+ /** Cache read tokens */
17
+ cacheRead: number;
18
+ /** Output tokens (estimated from content) */
19
+ output: number;
20
+ }
21
+ /**
22
+ * Run statistics
23
+ */
24
+ export interface RunStats {
25
+ /** Message count */
26
+ messageCount: number;
27
+ /** Token usage */
28
+ tokens: TokenCounts;
29
+ /** Tool names used */
30
+ toolsUsed: Set<string>;
31
+ /** Tool use count */
32
+ toolUseCount: number;
33
+ /** Characters of output (for token estimation) */
34
+ outputChars: number;
35
+ }
36
+ /**
37
+ * Create empty run stats
38
+ */
39
+ export declare function createRunStats(): RunStats;
40
+ /**
41
+ * Reset run stats (for new step/task)
42
+ */
43
+ export declare function resetRunStats(stats: RunStats): void;
44
+ /**
45
+ * Update stats from token usage
46
+ */
47
+ export declare function updateTokenStats(stats: RunStats, usage: TokenUsage): void;
48
+ /**
49
+ * Record a tool use
50
+ */
51
+ export declare function recordToolUse(stats: RunStats, toolName: string): void;
52
+ /**
53
+ * Record output characters for token estimation
54
+ */
55
+ export declare function recordOutput(stats: RunStats, chars: number): void;
56
+ /**
57
+ * Increment message count
58
+ */
59
+ export declare function incrementMessageCount(stats: RunStats): void;
60
+ /**
61
+ * Merge source stats into target (accumulates values)
62
+ */
63
+ export declare function mergeStats(target: RunStats, source: RunStats): void;
64
+ /**
65
+ * Clone stats (creates a copy)
66
+ */
67
+ export declare function cloneStats(stats: RunStats): RunStats;
68
+ /**
69
+ * Format stats summary for display
70
+ * Example: 33s | 14 msgs | 319,449 in (32 p / 6,579 cw5m / 312,838 cr) | ~931 out | 3 tools (Bash, Edit, Read)
71
+ */
72
+ export declare function formatStatsSummary(stats: RunStats, durationMs: number): string;
73
+ //# sourceMappingURL=stats.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../src/output/stats.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGrD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,4BAA4B;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,wBAAwB;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,oBAAoB;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB;IAClB,MAAM,EAAE,WAAW,CAAC;IACpB,sBAAsB;IACtB,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACvB,qBAAqB;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,QAAQ,CAczC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAYnD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CAOzE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAGrE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAEjE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAE3D;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAG,IAAI,CAYnE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,CAQpD;AA0BD;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,QAAQ,EACf,UAAU,EAAE,MAAM,GACjB,MAAM,CAuCR"}
@@ -0,0 +1,154 @@
1
+ /**
2
+ * Run statistics tracking and summary formatting
3
+ * Tracks messages, tokens, and tool usage for display
4
+ */
5
+ import { formatDuration } from './colors.js';
6
+ /**
7
+ * Create empty run stats
8
+ */
9
+ export function createRunStats() {
10
+ return {
11
+ messageCount: 0,
12
+ tokens: {
13
+ prompt: 0,
14
+ cacheWrite5m: 0,
15
+ cacheWrite1h: 0,
16
+ cacheRead: 0,
17
+ output: 0,
18
+ },
19
+ toolsUsed: new Set(),
20
+ toolUseCount: 0,
21
+ outputChars: 0,
22
+ };
23
+ }
24
+ /**
25
+ * Reset run stats (for new step/task)
26
+ */
27
+ export function resetRunStats(stats) {
28
+ stats.messageCount = 0;
29
+ stats.tokens = {
30
+ prompt: 0,
31
+ cacheWrite5m: 0,
32
+ cacheWrite1h: 0,
33
+ cacheRead: 0,
34
+ output: 0,
35
+ };
36
+ stats.toolsUsed.clear();
37
+ stats.toolUseCount = 0;
38
+ stats.outputChars = 0;
39
+ }
40
+ /**
41
+ * Update stats from token usage
42
+ */
43
+ export function updateTokenStats(stats, usage) {
44
+ stats.tokens.prompt += usage.input_tokens ?? 0;
45
+ stats.tokens.cacheWrite5m +=
46
+ usage.cache_creation?.ephemeral_5m_input_tokens ?? 0;
47
+ stats.tokens.cacheWrite1h +=
48
+ usage.cache_creation?.ephemeral_1h_input_tokens ?? 0;
49
+ stats.tokens.cacheRead += usage.cache_read_input_tokens ?? 0;
50
+ }
51
+ /**
52
+ * Record a tool use
53
+ */
54
+ export function recordToolUse(stats, toolName) {
55
+ stats.toolsUsed.add(toolName);
56
+ stats.toolUseCount++;
57
+ }
58
+ /**
59
+ * Record output characters for token estimation
60
+ */
61
+ export function recordOutput(stats, chars) {
62
+ stats.outputChars += chars;
63
+ }
64
+ /**
65
+ * Increment message count
66
+ */
67
+ export function incrementMessageCount(stats) {
68
+ stats.messageCount++;
69
+ }
70
+ /**
71
+ * Merge source stats into target (accumulates values)
72
+ */
73
+ export function mergeStats(target, source) {
74
+ target.messageCount += source.messageCount;
75
+ target.tokens.prompt += source.tokens.prompt;
76
+ target.tokens.cacheWrite5m += source.tokens.cacheWrite5m;
77
+ target.tokens.cacheWrite1h += source.tokens.cacheWrite1h;
78
+ target.tokens.cacheRead += source.tokens.cacheRead;
79
+ target.tokens.output += source.tokens.output;
80
+ for (const tool of source.toolsUsed) {
81
+ target.toolsUsed.add(tool);
82
+ }
83
+ target.toolUseCount += source.toolUseCount;
84
+ target.outputChars += source.outputChars;
85
+ }
86
+ /**
87
+ * Clone stats (creates a copy)
88
+ */
89
+ export function cloneStats(stats) {
90
+ return {
91
+ messageCount: stats.messageCount,
92
+ tokens: { ...stats.tokens },
93
+ toolsUsed: new Set(stats.toolsUsed),
94
+ toolUseCount: stats.toolUseCount,
95
+ outputChars: stats.outputChars,
96
+ };
97
+ }
98
+ /**
99
+ * Calculate total input tokens
100
+ */
101
+ function totalInputTokens(tokens) {
102
+ return (tokens.prompt + tokens.cacheWrite5m + tokens.cacheWrite1h + tokens.cacheRead);
103
+ }
104
+ /**
105
+ * Estimate output tokens from character count
106
+ * Rough estimate: ~4 chars per token
107
+ */
108
+ function estimateOutputTokens(chars) {
109
+ return Math.ceil(chars / 4);
110
+ }
111
+ /**
112
+ * Format number with commas
113
+ */
114
+ function formatNumber(n) {
115
+ return n.toLocaleString();
116
+ }
117
+ /**
118
+ * Format stats summary for display
119
+ * Example: 33s | 14 msgs | 319,449 in (32 p / 6,579 cw5m / 312,838 cr) | ~931 out | 3 tools (Bash, Edit, Read)
120
+ */
121
+ export function formatStatsSummary(stats, durationMs) {
122
+ const parts = [];
123
+ // Duration
124
+ parts.push(formatDuration(durationMs));
125
+ // Message count
126
+ parts.push(`${stats.messageCount} msgs`);
127
+ // Input tokens with breakdown
128
+ const totalIn = totalInputTokens(stats.tokens);
129
+ const breakdownParts = [];
130
+ if (stats.tokens.prompt > 0) {
131
+ breakdownParts.push(`${formatNumber(stats.tokens.prompt)} p`);
132
+ }
133
+ if (stats.tokens.cacheWrite5m > 0) {
134
+ breakdownParts.push(`${formatNumber(stats.tokens.cacheWrite5m)} cw5m`);
135
+ }
136
+ if (stats.tokens.cacheWrite1h > 0) {
137
+ breakdownParts.push(`${formatNumber(stats.tokens.cacheWrite1h)} cw1h`);
138
+ }
139
+ if (stats.tokens.cacheRead > 0) {
140
+ breakdownParts.push(`${formatNumber(stats.tokens.cacheRead)} cr`);
141
+ }
142
+ const breakdown = breakdownParts.length > 0 ? ` (${breakdownParts.join(' / ')})` : '';
143
+ parts.push(`${formatNumber(totalIn)} in${breakdown}`);
144
+ // Output tokens (estimated)
145
+ const outputTokens = estimateOutputTokens(stats.outputChars);
146
+ parts.push(`~${formatNumber(outputTokens)} out`);
147
+ // Tools
148
+ if (stats.toolUseCount > 0) {
149
+ const toolList = Array.from(stats.toolsUsed).sort().join(', ');
150
+ parts.push(`${stats.toolUseCount} tools (${toolList})`);
151
+ }
152
+ return parts.join(' | ');
153
+ }
154
+ //# sourceMappingURL=stats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stats.js","sourceRoot":"","sources":["../../src/output/stats.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pty.d.ts","sourceRoot":"","sources":["../../src/process/pty.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAM7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/D,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,cAAc,CAAC;IAC/B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,SAAS,CAAC,CA8D7E"}
1
+ {"version":3,"file":"pty.d.ts","sourceRoot":"","sources":["../../src/process/pty.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAM7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/D,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,cAAc,CAAC;IAC/B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,SAAS,CAAC,CA8D7E"}
@@ -4,6 +4,7 @@
4
4
  import * as pty from 'node-pty';
5
5
  import { flushPendingTools, formatMessage, resetFormatterState, } from '../output/formatter.js';
6
6
  import { createStreamParser } from '../parsers/stream.js';
7
+ import { PTY_COLS, PTY_ROWS } from '../utils/constants.js';
7
8
  /**
8
9
  * Spawn Claude CLI process with PTY
9
10
  */
@@ -28,8 +29,8 @@ export function spawnClaude(options) {
28
29
  }
29
30
  const ptyProcess = pty.spawn('claude', args, {
30
31
  name: 'xterm-256color',
31
- cols: 200,
32
- rows: 50,
32
+ cols: PTY_COLS,
33
+ rows: PTY_ROWS,
33
34
  cwd,
34
35
  env: { ...process.env },
35
36
  });
@@ -1 +1 @@
1
- {"version":3,"file":"pty.js","sourceRoot":"","sources":["../../src/process/pty.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAGhC,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAa1D;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,OAA6B;IACvD,MAAM,EACJ,MAAM,EACN,GAAG,EACH,SAAS,EACT,MAAM,EACN,cAAc,EACd,mBAAmB,EACnB,KAAK,GACN,GAAG,OAAO,CAAC;IAEZ,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,0BAA0B;QAC1B,mBAAmB,CAAC,cAAc,CAAC,CAAC;QAEpC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;QAEpC,MAAM,IAAI,GAAG;YACX,IAAI;YACJ,MAAM;YACN,gCAAgC;YAChC,WAAW;YACX,iBAAiB;YACjB,aAAa;SACd,CAAC;QAEF,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC9B,CAAC;QAED,MAAM,UAAU,GAAS,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE;YACjD,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,GAAG;YACT,IAAI,EAAE,EAAE;YACR,GAAG;YACH,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE;SACxB,CAAC,CAAC;QAEH,UAAU,CAAC,MAAM,CAAC,CAAC,IAAY,EAAE,EAAE;YACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAEtC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;gBAC3B,MAAM,IAAI,GAAG,aAAa,CACxB,GAAG,EACH,cAAc,EACd,SAAS,EACT,MAAM,EACN,mBAAmB,CACpB,CAAC;gBACF,UAAU,IAAI,IAAI,CAAC;gBACnB,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YAClC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;YACjC,iBAAiB,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;YAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;YAC5D,OAAO,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"pty.js","sourceRoot":"","sources":["../../src/process/pty.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAGhC,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAY3D;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,OAA6B;IACvD,MAAM,EACJ,MAAM,EACN,GAAG,EACH,SAAS,EACT,MAAM,EACN,cAAc,EACd,mBAAmB,EACnB,KAAK,GACN,GAAG,OAAO,CAAC;IAEZ,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,0BAA0B;QAC1B,mBAAmB,CAAC,cAAc,CAAC,CAAC;QAEpC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;QAEpC,MAAM,IAAI,GAAG;YACX,IAAI;YACJ,MAAM;YACN,gCAAgC;YAChC,WAAW;YACX,iBAAiB;YACjB,aAAa;SACd,CAAC;QAEF,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC9B,CAAC;QAED,MAAM,UAAU,GAAS,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE;YACjD,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,QAAQ;YACd,GAAG;YACH,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE;SACxB,CAAC,CAAC;QAEH,UAAU,CAAC,MAAM,CAAC,CAAC,IAAY,EAAE,EAAE;YACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAEtC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;gBAC3B,MAAM,IAAI,GAAG,aAAa,CACxB,GAAG,EACH,cAAc,EACd,SAAS,EACT,MAAM,EACN,mBAAmB,CACpB,CAAC;gBACF,UAAU,IAAI,IAAI,CAAC;gBACnB,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YAClC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;YACjC,iBAAiB,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;YAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;YAC5D,OAAO,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Script module - parsing, loading, and variable management
3
+ */
4
+ export type { CommandLine, ParsedScript, PromptLine, ScriptFrontmatter, ScriptLine, VariableStore, } from './types.js';
5
+ export { loadScript } from './loader.js';
6
+ export { extractScriptLines, parseCommandLine, parsePromptLine, parseScriptLine, } from './parser.js';
7
+ export { captureOutput, createVariableStore, getCaptureLogMessage, getSubstitutionList, substituteVariables, } from './variables.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/script/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,YAAY,EACV,WAAW,EACX,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,UAAU,EACV,aAAa,GACd,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,eAAe,GAChB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,gBAAgB,CAAC"}