ghcralph 0.1.1 → 0.1.3

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 (59) hide show
  1. package/README.md +35 -17
  2. package/dist/commands/init.d.ts.map +1 -1
  3. package/dist/commands/init.js +38 -8
  4. package/dist/commands/init.js.map +1 -1
  5. package/dist/commands/run.d.ts +1 -0
  6. package/dist/commands/run.d.ts.map +1 -1
  7. package/dist/commands/run.js +214 -87
  8. package/dist/commands/run.js.map +1 -1
  9. package/dist/core/action-executor.d.ts +25 -0
  10. package/dist/core/action-executor.d.ts.map +1 -1
  11. package/dist/core/action-executor.js +68 -2
  12. package/dist/core/action-executor.js.map +1 -1
  13. package/dist/core/checkpoint-manager.d.ts +55 -8
  14. package/dist/core/checkpoint-manager.d.ts.map +1 -1
  15. package/dist/core/checkpoint-manager.js +282 -94
  16. package/dist/core/checkpoint-manager.js.map +1 -1
  17. package/dist/core/config-schema.d.ts +13 -1
  18. package/dist/core/config-schema.d.ts.map +1 -1
  19. package/dist/core/config-schema.js +27 -1
  20. package/dist/core/config-schema.js.map +1 -1
  21. package/dist/core/context-builder.d.ts.map +1 -1
  22. package/dist/core/context-builder.js +39 -1
  23. package/dist/core/context-builder.js.map +1 -1
  24. package/dist/core/git-branch-manager.d.ts +8 -0
  25. package/dist/core/git-branch-manager.d.ts.map +1 -1
  26. package/dist/core/git-branch-manager.js +28 -0
  27. package/dist/core/git-branch-manager.js.map +1 -1
  28. package/dist/core/index.d.ts +4 -4
  29. package/dist/core/index.d.ts.map +1 -1
  30. package/dist/core/index.js +1 -1
  31. package/dist/core/index.js.map +1 -1
  32. package/dist/core/loop-state.d.ts +8 -0
  33. package/dist/core/loop-state.d.ts.map +1 -1
  34. package/dist/core/loop-state.js.map +1 -1
  35. package/dist/core/plan-manager.d.ts +4 -0
  36. package/dist/core/plan-manager.d.ts.map +1 -1
  37. package/dist/core/progress-tracker.d.ts +86 -3
  38. package/dist/core/progress-tracker.d.ts.map +1 -1
  39. package/dist/core/progress-tracker.js +257 -2
  40. package/dist/core/progress-tracker.js.map +1 -1
  41. package/dist/core/prompt-examples.d.ts +7 -3
  42. package/dist/core/prompt-examples.d.ts.map +1 -1
  43. package/dist/core/prompt-examples.js +30 -5
  44. package/dist/core/prompt-examples.js.map +1 -1
  45. package/dist/core/response-parser.d.ts +19 -2
  46. package/dist/core/response-parser.d.ts.map +1 -1
  47. package/dist/core/response-parser.js +47 -1
  48. package/dist/core/response-parser.js.map +1 -1
  49. package/dist/integrations/copilot-agent.d.ts +11 -0
  50. package/dist/integrations/copilot-agent.d.ts.map +1 -1
  51. package/dist/integrations/copilot-agent.js +55 -0
  52. package/dist/integrations/copilot-agent.js.map +1 -1
  53. package/dist/integrations/index.d.ts +1 -1
  54. package/dist/integrations/index.d.ts.map +1 -1
  55. package/dist/utils/shell.d.ts +5 -0
  56. package/dist/utils/shell.d.ts.map +1 -1
  57. package/dist/utils/shell.js +22 -0
  58. package/dist/utils/shell.js.map +1 -1
  59. package/package.json +2 -1
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * Progress Tracker
3
3
  *
4
- * Creates and maintains Markdown-based progress artifacts
4
+ * Creates and maintains Markdown-based progress artifacts.
5
+ * Uses in-memory accumulation to preserve full task history across a run.
5
6
  */
6
7
  import fs from 'node:fs/promises';
7
8
  import path from 'node:path';
@@ -32,13 +33,177 @@ function formatElapsed(startDate, endDate) {
32
33
  }
33
34
  /**
34
35
  * Progress Tracker class
36
+ *
37
+ * Maintains in-memory accumulation of all task results across a run,
38
+ * persisting full history to the progress file after each task.
35
39
  */
36
40
  export class ProgressTracker {
37
41
  projectRoot;
38
42
  maxIterations;
39
- constructor(projectRoot, maxIterations = 10) {
43
+ session = null;
44
+ verbosity;
45
+ constructor(projectRoot, maxIterations = 10, verbosity = 'standard') {
40
46
  this.projectRoot = projectRoot;
41
47
  this.maxIterations = maxIterations;
48
+ this.verbosity = verbosity;
49
+ }
50
+ /**
51
+ * Set verbosity level
52
+ */
53
+ setVerbosity(verbosity) {
54
+ this.verbosity = verbosity;
55
+ }
56
+ /**
57
+ * Get the current session (for context like task numbers in commit messages)
58
+ */
59
+ getSession() {
60
+ return this.session;
61
+ }
62
+ /**
63
+ * Get the count of completed tasks in the session
64
+ */
65
+ getCompletedTaskCount() {
66
+ return this.session?.completedTasks.length ?? 0;
67
+ }
68
+ /**
69
+ * Start a new run session for multi-task execution
70
+ */
71
+ startSession(branch, totalTasks) {
72
+ this.session = {
73
+ startTime: new Date(),
74
+ branch,
75
+ totalTasks,
76
+ completedTasks: [],
77
+ };
78
+ debug(`Started progress tracking session${branch ? ` on branch ${branch}` : ''}`);
79
+ }
80
+ /**
81
+ * Set the current task being processed (for live progress display)
82
+ */
83
+ setCurrentTask(taskNumber, state) {
84
+ if (!this.session) {
85
+ this.startSession();
86
+ }
87
+ // Session is guaranteed to exist after startSession()
88
+ const session = this.session;
89
+ session.currentTask = {
90
+ taskId: state.task.id,
91
+ taskTitle: state.task.title,
92
+ taskNumber,
93
+ state,
94
+ };
95
+ }
96
+ /**
97
+ * Record a completed task result and persist to file
98
+ */
99
+ async recordTaskCompletion(state, status, attempt, summary, error) {
100
+ if (!this.session) {
101
+ this.startSession();
102
+ }
103
+ // Session is guaranteed to exist after startSession()
104
+ const session = this.session;
105
+ const result = {
106
+ taskId: state.task.id,
107
+ taskTitle: state.task.title,
108
+ status,
109
+ attempt,
110
+ iterationCount: state.iteration,
111
+ tokensUsed: state.tokensUsed,
112
+ startedAt: state.startedAt,
113
+ completedAt: new Date(),
114
+ iterations: [...state.iterations],
115
+ };
116
+ if (summary)
117
+ result.summary = summary;
118
+ if (error)
119
+ result.error = error;
120
+ session.completedTasks.push(result);
121
+ session.currentTask = undefined;
122
+ // Persist full history to file
123
+ await this.saveFullSession();
124
+ }
125
+ /**
126
+ * Save the full session history to progress file
127
+ */
128
+ async saveFullSession() {
129
+ if (!this.session)
130
+ return;
131
+ const filePath = this.getProgressFilePath();
132
+ const dir = path.dirname(filePath);
133
+ await fs.mkdir(dir, { recursive: true });
134
+ const content = this.generateFullSessionMarkdown();
135
+ await fs.writeFile(filePath, content, 'utf-8');
136
+ debug(`Progress saved with ${this.session.completedTasks.length} task(s) to ${filePath}`);
137
+ }
138
+ /**
139
+ * Generate full session markdown with all task history
140
+ */
141
+ generateFullSessionMarkdown() {
142
+ if (!this.session)
143
+ return '';
144
+ let md = `# Ralph Progress Log\n\n`;
145
+ md += `## Run Session\n\n`;
146
+ md += `- **Started**: ${formatDate(this.session.startTime)}\n`;
147
+ if (this.session.branch) {
148
+ md += `- **Branch**: ${this.session.branch}\n`;
149
+ }
150
+ if (this.session.totalTasks) {
151
+ md += `- **Total Tasks**: ${this.session.totalTasks}\n`;
152
+ }
153
+ md += `- **Completed**: ${this.session.completedTasks.length}\n`;
154
+ md += `- **Elapsed**: ${formatElapsed(this.session.startTime)}\n`;
155
+ md += `\n---\n\n`;
156
+ // Output all completed tasks with full iteration history
157
+ for (let i = 0; i < this.session.completedTasks.length; i++) {
158
+ const task = this.session.completedTasks[i];
159
+ if (!task)
160
+ continue;
161
+ const taskNum = i + 1;
162
+ const statusEmoji = task.status === 'completed' ? '✅' : task.status === 'stuck' ? '🔄' : '❌';
163
+ md += `## Task ${taskNum}: ${task.taskTitle}\n\n`;
164
+ md += `- **ID**: ${task.taskId}\n`;
165
+ md += `- **Status**: ${statusEmoji} ${task.status}\n`;
166
+ md += `- **Attempt**: ${task.attempt}\n`;
167
+ md += `- **Iterations**: ${task.iterationCount}\n`;
168
+ md += `- **Tokens Used**: ${task.tokensUsed.toLocaleString()}\n`;
169
+ md += `- **Started**: ${formatDate(task.startedAt)}\n`;
170
+ md += `- **Completed**: ${formatDate(task.completedAt)}\n`;
171
+ md += `- **Duration**: ${formatElapsed(task.startedAt, task.completedAt)}\n`;
172
+ if (task.summary) {
173
+ md += `- **Summary**: ${task.summary}\n`;
174
+ }
175
+ if (task.error) {
176
+ md += `- **Error**: ${task.error}\n`;
177
+ }
178
+ // Include iteration log for this task
179
+ if (task.iterations.length > 0) {
180
+ md += `\n### Iteration Log\n\n`;
181
+ for (const iter of task.iterations) {
182
+ md += this.formatIteration(iter);
183
+ }
184
+ }
185
+ md += `\n---\n\n`;
186
+ }
187
+ // Include current task if in progress
188
+ if (this.session.currentTask) {
189
+ const { taskNumber, state } = this.session.currentTask;
190
+ md += `## Task ${taskNumber}: ${state.task.title} (In Progress)\n\n`;
191
+ md += `- **ID**: ${state.task.id}\n`;
192
+ md += `- **Status**: 🔄 ${this.formatStatus(state.status)}\n`;
193
+ md += `- **Iterations**: ${state.iteration}/${this.maxIterations}\n`;
194
+ md += `- **Tokens Used**: ${state.tokensUsed.toLocaleString()}\n`;
195
+ md += `- **Started**: ${formatDate(state.startedAt)}\n`;
196
+ if (state.lastCheckpoint) {
197
+ md += `- **Last Checkpoint**: \`${state.lastCheckpoint}\`\n`;
198
+ }
199
+ if (state.iterations.length > 0) {
200
+ md += `\n### Iteration Log\n\n`;
201
+ for (const iter of state.iterations) {
202
+ md += this.formatIteration(iter);
203
+ }
204
+ }
205
+ }
206
+ return md;
42
207
  }
43
208
  /**
44
209
  * Get the progress file path
@@ -97,6 +262,10 @@ export class ProgressTracker {
97
262
  formatIteration(iter) {
98
263
  const time = iter.startedAt.toLocaleTimeString();
99
264
  const status = iter.success ? '✓' : '✗';
265
+ // Minimal verbosity: just iteration header and status
266
+ if (this.verbosity === 'minimal') {
267
+ return `#### Iteration ${iter.iteration} (${time}) ${status}\n\n`;
268
+ }
100
269
  let md = `#### Iteration ${iter.iteration} (${time}) ${status}\n\n`;
101
270
  md += `- **Tokens**: ${iter.tokensUsed.toLocaleString()}\n`;
102
271
  if (iter.summary) {
@@ -109,6 +278,23 @@ export class ProgressTracker {
109
278
  const duration = iter.endedAt.getTime() - iter.startedAt.getTime();
110
279
  md += `- **Duration**: ${Math.floor(duration / 1000)}s\n`;
111
280
  }
281
+ // Full verbosity: include raw response if available
282
+ if (this.verbosity === 'full' && iter.rawResponse) {
283
+ md += `\n**Agent Response**:\n`;
284
+ md += `> ${iter.rawResponse.replace(/\n/g, '\n> ')}\n`;
285
+ }
286
+ // Full verbosity: include actions executed if available
287
+ if (this.verbosity === 'full' && iter.actions && iter.actions.length > 0) {
288
+ md += `\n**Actions Executed**:\n`;
289
+ for (const action of iter.actions) {
290
+ const actionStatus = action.success ? '✓' : '✗';
291
+ md += `${actionStatus} [${action.type}]`;
292
+ if (action.summary) {
293
+ md += ` ${action.summary}`;
294
+ }
295
+ md += '\n';
296
+ }
297
+ }
112
298
  md += `\n`;
113
299
  return md;
114
300
  }
@@ -194,5 +380,74 @@ export class ProgressTracker {
194
380
  // File doesn't exist
195
381
  }
196
382
  }
383
+ /**
384
+ * Load previous task results from progress file for context injection.
385
+ * Returns a formatted summary of previous task attempts.
386
+ */
387
+ async loadPreviousTaskResults() {
388
+ const filePath = this.getProgressFilePath();
389
+ try {
390
+ const content = await fs.readFile(filePath, 'utf-8');
391
+ // Extract iteration log section if it exists
392
+ const iterationLogMatch = content.match(/### Iteration Log\n\n([\s\S]*?)(?=\n## |$)/);
393
+ const taskResultsMatch = content.match(/### Task Results\n\n([\s\S]*?)(?=\n## |$)/);
394
+ const parts = [];
395
+ if (iterationLogMatch?.[1]) {
396
+ parts.push('## Previous Iteration Progress\n' + iterationLogMatch[1].trim());
397
+ }
398
+ if (taskResultsMatch?.[1]) {
399
+ parts.push('## Previous Task Results\n' + taskResultsMatch[1].trim());
400
+ }
401
+ return parts.join('\n\n');
402
+ }
403
+ catch {
404
+ return '';
405
+ }
406
+ }
407
+ /**
408
+ * Append a task result to the progress file.
409
+ * Used to track multi-task execution progress.
410
+ */
411
+ async appendTaskResult(task, status, attempt, summary, error) {
412
+ const filePath = this.getProgressFilePath();
413
+ const dir = path.dirname(filePath);
414
+ await fs.mkdir(dir, { recursive: true });
415
+ const timestamp = new Date().toISOString();
416
+ const statusEmoji = status === 'completed' ? '✅' : status === 'stuck' ? '🔄' : '❌';
417
+ let entry = `\n#### ${statusEmoji} Task: ${task.title}\n\n`;
418
+ entry += `- **ID**: ${task.id}\n`;
419
+ entry += `- **Status**: ${status}\n`;
420
+ entry += `- **Attempt**: ${attempt}\n`;
421
+ entry += `- **Timestamp**: ${timestamp}\n`;
422
+ if (summary) {
423
+ entry += `- **Summary**: ${summary}\n`;
424
+ }
425
+ if (error) {
426
+ entry += `- **Error**: ${error}\n`;
427
+ }
428
+ entry += '\n';
429
+ try {
430
+ // Check if file exists
431
+ let content = '';
432
+ try {
433
+ content = await fs.readFile(filePath, 'utf-8');
434
+ }
435
+ catch {
436
+ // File doesn't exist, create with header
437
+ content = '# Ralph Progress Log\n\n## Task Results\n';
438
+ }
439
+ // If Task Results section doesn't exist, add it
440
+ if (!content.includes('## Task Results')) {
441
+ content += '\n## Task Results\n';
442
+ }
443
+ // Append the entry at the end
444
+ content += entry;
445
+ await fs.writeFile(filePath, content, 'utf-8');
446
+ debug(`Appended task result for ${task.id} to ${filePath}`);
447
+ }
448
+ catch (err) {
449
+ debug(`Failed to append task result: ${err instanceof Error ? err.message : String(err)}`);
450
+ }
451
+ }
197
452
  }
198
453
  //# sourceMappingURL=progress-tracker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"progress-tracker.js","sourceRoot":"","sources":["../../src/core/progress-tracker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"progress-tracker.js","sourceRoot":"","sources":["../../src/core/progress-tracker.ts"],"names":[],"mappings":"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"}
@@ -25,18 +25,22 @@ export declare const EXECUTE_EXAMPLE = "[ACTION:EXECUTE]\ncommand: npm test";
25
25
  * Example of ACTION:COMPLETE block
26
26
  */
27
27
  export declare const COMPLETE_EXAMPLE = "[ACTION:COMPLETE]\nreason: All tests pass. Calculator implements addition, subtraction, multiplication, and division.";
28
+ /**
29
+ * Example of ACTION:STUCK block (for when task cannot be completed)
30
+ */
31
+ export declare const STUCK_EXAMPLE = "[ACTION:STUCK]\nattempted: Tried 3 different approaches to fix the syntax error in case statement\nblocker: Bash case syntax requires specific quoting for * character that conflicts with shell expansion\nsuggestion: Consider using a different operator syntax or escaping approach - may need human review";
28
32
  /**
29
33
  * All examples combined for inclusion in prompts
30
34
  */
31
- export declare const ALL_EXAMPLES = "\n### Example: Create a new file\n[ACTION:CREATE]\npath: src/calculator.sh\n```bash\n#!/bin/bash\n# Simple calculator\n\nnum1=$1\nop=$2\nnum2=$3\n\ncase $op in\n \"+\") echo $((num1 + num2)) ;;\n \"-\") echo $((num1 - num2)) ;;\n \"*\") echo $((num1 * num2)) ;;\n \"/\") echo $((num1 / num2)) ;;\nesac\n```\n\n### Example: Edit an existing file\n[ACTION:EDIT]\npath: src/calculator.sh\n[OLD]\ncase $op in\n \"+\") echo $((num1 + num2)) ;;\nesac\n[NEW]\ncase $op in\n \"+\") echo $((num1 + num2)) ;;\n \"-\") echo $((num1 - num2)) ;;\nesac\n\n### Example: Run a command to test\n[ACTION:EXECUTE]\ncommand: npm test\n\n### Example: Mark task complete\n[ACTION:COMPLETE]\nreason: All tests pass. Calculator implements addition, subtraction, multiplication, and division.\n";
35
+ export declare const ALL_EXAMPLES = "\n### Example: Create a new file\n[ACTION:CREATE]\npath: src/calculator.sh\n```bash\n#!/bin/bash\n# Simple calculator\n\nnum1=$1\nop=$2\nnum2=$3\n\ncase $op in\n \"+\") echo $((num1 + num2)) ;;\n \"-\") echo $((num1 - num2)) ;;\n \"*\") echo $((num1 * num2)) ;;\n \"/\") echo $((num1 / num2)) ;;\nesac\n```\n\n### Example: Edit an existing file\n[ACTION:EDIT]\npath: src/calculator.sh\n[OLD]\ncase $op in\n \"+\") echo $((num1 + num2)) ;;\nesac\n[NEW]\ncase $op in\n \"+\") echo $((num1 + num2)) ;;\n \"-\") echo $((num1 - num2)) ;;\nesac\n\n### Example: Run a command to test\n[ACTION:EXECUTE]\ncommand: npm test\n\n### Example: Mark task complete (ONLY when tests pass!)\n[ACTION:COMPLETE]\nreason: All tests pass. Calculator implements addition, subtraction, multiplication, and division.\n\n### Example: Report when stuck (be honest if you can't complete!)\n[ACTION:STUCK]\nattempted: Tried 3 different approaches to fix the syntax error in case statement\nblocker: Bash case syntax requires specific quoting for * character that conflicts with shell expansion\nsuggestion: Consider using a different operator syntax or escaping approach - may need human review\n";
32
36
  /**
33
37
  * Minimal examples (for context-constrained situations)
34
38
  */
35
- export declare const MINIMAL_EXAMPLES = "\nExample CREATE:\n[ACTION:CREATE]\npath: file.sh\n```bash\n#!/bin/bash\necho \"Hello\"\n```\n\nExample EDIT:\n[ACTION:EDIT]\npath: file.sh\n[OLD]\necho \"Hello\"\n[NEW]\necho \"Hello World\"\n\nExample EXECUTE:\n[ACTION:EXECUTE]\ncommand: ./file.sh\n\nExample COMPLETE:\n[ACTION:COMPLETE]\nreason: Task done, tests pass\n";
39
+ export declare const MINIMAL_EXAMPLES = "\nExample CREATE:\n[ACTION:CREATE]\npath: file.sh\n```bash\n#!/bin/bash\necho \"Hello\"\n```\n\nExample EDIT:\n[ACTION:EDIT]\npath: file.sh\n[OLD]\necho \"Hello\"\n[NEW]\necho \"Hello World\"\n\nExample EXECUTE:\n[ACTION:EXECUTE]\ncommand: ./file.sh\n\nExample COMPLETE (only when tests pass!):\n[ACTION:COMPLETE]\nreason: Task done, tests pass\n\nExample STUCK (when you cannot complete):\n[ACTION:STUCK]\nattempted: Tried X approach\nblocker: Error Y prevents completion\nsuggestion: Try Z instead\n";
36
40
  /**
37
41
  * Format instructions for ACTION blocks
38
42
  */
39
- export declare const FORMAT_INSTRUCTIONS = "## Output Format\n\nYou MUST respond using ONLY structured ACTION blocks. DO NOT write prose explanations.\n\nAvailable actions:\n\n**[ACTION:CREATE]** - Create a new file\n```\n[ACTION:CREATE]\npath: <relative file path>\n```<language>\n<file content>\n```\n```\n\n**[ACTION:EDIT]** - Modify an existing file \n```\n[ACTION:EDIT]\npath: <relative file path>\n[OLD]\n<exact text to find>\n[NEW]\n<replacement text>\n```\n\n**[ACTION:EXECUTE]** - Run a shell command\n```\n[ACTION:EXECUTE]\ncommand: <shell command>\n```\n\n**[ACTION:COMPLETE]** - Mark task as done (only when tests pass!)\n```\n[ACTION:COMPLETE]\nreason: <brief explanation of why task is complete>\n```\n\n## Important Rules\n1. Use EXACT text for [OLD] blocks - must match file contents precisely\n2. Use [ACTION:EXECUTE] to run tests before marking complete\n3. Only use [ACTION:COMPLETE] when verification passes\n4. One action per block - you can include multiple blocks\n";
43
+ export declare const FORMAT_INSTRUCTIONS = "## Output Format\n\nYou MUST respond using ONLY structured ACTION blocks. DO NOT write prose explanations.\n\nAvailable actions:\n\n**[ACTION:CREATE]** - Create a new file\n```\n[ACTION:CREATE]\npath: <relative file path>\n```<language>\n<file content>\n```\n```\n\n**[ACTION:EDIT]** - Modify an existing file \n```\n[ACTION:EDIT]\npath: <relative file path>\n[OLD]\n<exact text to find>\n[NEW]\n<replacement text>\n```\n\n**[ACTION:EXECUTE]** - Run a shell command\n```\n[ACTION:EXECUTE]\ncommand: <shell command>\n```\n\n**[ACTION:COMPLETE]** - Mark task as done (ONLY when all tests pass!)\n```\n[ACTION:COMPLETE]\nreason: <brief explanation of why task is complete>\n```\n\n**[ACTION:STUCK]** - Report inability to complete (be honest!)\n```\n[ACTION:STUCK]\nattempted: <what you tried>\nblocker: <what prevents completion>\nsuggestion: <what might help>\n```\n\n## Important Rules\n1. Use EXACT text for [OLD] blocks - must match file contents precisely\n2. Use [ACTION:EXECUTE] to run tests before marking complete\n3. Only use [ACTION:COMPLETE] when ALL tests pass with exit code 0\n4. Use [ACTION:STUCK] if you cannot complete - honesty is critical!\n5. One action per block - you can include multiple blocks\n";
40
44
  /**
41
45
  * Get prompt examples based on model strength
42
46
  */
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-examples.d.ts","sourceRoot":"","sources":["../../src/core/prompt-examples.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,eAAO,MAAM,cAAc,iSAgBpB,CAAC;AAER;;GAEG;AACH,eAAO,MAAM,YAAY,8MAUpB,CAAC;AAEN;;GAEG;AACH,eAAO,MAAM,cAAc,2CACL,CAAC;AAEvB;;GAEG;AACH,eAAO,MAAM,eAAe,wCACV,CAAC;AAEnB;;GAEG;AACH,eAAO,MAAM,gBAAgB,0HACsE,CAAC;AAEpG;;GAEG;AACH,eAAO,MAAM,YAAY,2xBAYxB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,uUAwB5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,s7BA0C/B,CAAC;AAEF;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAcrF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAyB5E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGzD"}
1
+ {"version":3,"file":"prompt-examples.d.ts","sourceRoot":"","sources":["../../src/core/prompt-examples.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,eAAO,MAAM,cAAc,iSAgBpB,CAAC;AAER;;GAEG;AACH,eAAO,MAAM,YAAY,8MAUpB,CAAC;AAEN;;GAEG;AACH,eAAO,MAAM,cAAc,2CACL,CAAC;AAEvB;;GAEG;AACH,eAAO,MAAM,eAAe,wCACV,CAAC;AAEnB;;GAEG;AACH,eAAO,MAAM,gBAAgB,0HACsE,CAAC;AAEpG;;GAEG;AACH,eAAO,MAAM,aAAa,oTAG0E,CAAC;AAErG;;GAEG;AACH,eAAO,MAAM,YAAY,yqCAexB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,0fA8B5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,wsCAmD/B,CAAC;AAEF;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAcrF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAyB5E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGzD"}
@@ -54,6 +54,13 @@ command: npm test`;
54
54
  */
55
55
  export const COMPLETE_EXAMPLE = `[ACTION:COMPLETE]
56
56
  reason: All tests pass. Calculator implements addition, subtraction, multiplication, and division.`;
57
+ /**
58
+ * Example of ACTION:STUCK block (for when task cannot be completed)
59
+ */
60
+ export const STUCK_EXAMPLE = `[ACTION:STUCK]
61
+ attempted: Tried 3 different approaches to fix the syntax error in case statement
62
+ blocker: Bash case syntax requires specific quoting for * character that conflicts with shell expansion
63
+ suggestion: Consider using a different operator syntax or escaping approach - may need human review`;
57
64
  /**
58
65
  * All examples combined for inclusion in prompts
59
66
  */
@@ -67,8 +74,11 @@ ${EDIT_EXAMPLE}
67
74
  ### Example: Run a command to test
68
75
  ${EXECUTE_EXAMPLE}
69
76
 
70
- ### Example: Mark task complete
77
+ ### Example: Mark task complete (ONLY when tests pass!)
71
78
  ${COMPLETE_EXAMPLE}
79
+
80
+ ### Example: Report when stuck (be honest if you can't complete!)
81
+ ${STUCK_EXAMPLE}
72
82
  `;
73
83
  /**
74
84
  * Minimal examples (for context-constrained situations)
@@ -94,9 +104,15 @@ Example EXECUTE:
94
104
  [ACTION:EXECUTE]
95
105
  command: ./file.sh
96
106
 
97
- Example COMPLETE:
107
+ Example COMPLETE (only when tests pass!):
98
108
  [ACTION:COMPLETE]
99
109
  reason: Task done, tests pass
110
+
111
+ Example STUCK (when you cannot complete):
112
+ [ACTION:STUCK]
113
+ attempted: Tried X approach
114
+ blocker: Error Y prevents completion
115
+ suggestion: Try Z instead
100
116
  `;
101
117
  /**
102
118
  * Format instructions for ACTION blocks
@@ -132,17 +148,26 @@ path: <relative file path>
132
148
  command: <shell command>
133
149
  \`\`\`
134
150
 
135
- **[ACTION:COMPLETE]** - Mark task as done (only when tests pass!)
151
+ **[ACTION:COMPLETE]** - Mark task as done (ONLY when all tests pass!)
136
152
  \`\`\`
137
153
  [ACTION:COMPLETE]
138
154
  reason: <brief explanation of why task is complete>
139
155
  \`\`\`
140
156
 
157
+ **[ACTION:STUCK]** - Report inability to complete (be honest!)
158
+ \`\`\`
159
+ [ACTION:STUCK]
160
+ attempted: <what you tried>
161
+ blocker: <what prevents completion>
162
+ suggestion: <what might help>
163
+ \`\`\`
164
+
141
165
  ## Important Rules
142
166
  1. Use EXACT text for [OLD] blocks - must match file contents precisely
143
167
  2. Use [ACTION:EXECUTE] to run tests before marking complete
144
- 3. Only use [ACTION:COMPLETE] when verification passes
145
- 4. One action per block - you can include multiple blocks
168
+ 3. Only use [ACTION:COMPLETE] when ALL tests pass with exit code 0
169
+ 4. Use [ACTION:STUCK] if you cannot complete - honesty is critical!
170
+ 5. One action per block - you can include multiple blocks
146
171
  `;
147
172
  /**
148
173
  * Get prompt examples based on model strength
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-examples.js","sourceRoot":"","sources":["../../src/core/prompt-examples.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;OAgBvB,CAAC;AAER;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;;;;;KAUvB,CAAC;AAEN;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;sBACR,CAAC;AAEvB;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;kBACb,CAAC;AAEnB;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;mGACmE,CAAC;AAEpG;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;;EAE1B,cAAc;;;EAGd,YAAY;;;EAGZ,eAAe;;;EAGf,gBAAgB;CACjB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;CAwB/B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0ClC,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,aAA2C;IAC3E,QAAQ,aAAa,EAAE,CAAC;QACtB,KAAK,QAAQ;YACX,uDAAuD;YACvD,OAAO,mBAAmB,CAAC;QAC7B,KAAK,QAAQ;YACX,+CAA+C;YAC/C,OAAO,mBAAmB,GAAG,mBAAmB,GAAG,gBAAgB,CAAC;QACtE,KAAK,MAAM;YACT,2DAA2D;YAC3D,OAAO,mBAAmB,GAAG,4BAA4B,GAAG,YAAY,CAAC;QAC3E;YACE,OAAO,mBAAmB,CAAC;IAC/B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAEvC,kDAAkD;IAClD,IACE,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC7B,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC7B,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC5B,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC7B,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAC3B,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,iDAAiD;IACjD,IACE,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC;QAClC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAC7B,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,uCAAuC;IACvC,qEAAqE;IACrE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACzC,OAAO,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"prompt-examples.js","sourceRoot":"","sources":["../../src/core/prompt-examples.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;OAgBvB,CAAC;AAER;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;;;;;KAUvB,CAAC;AAEN;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;sBACR,CAAC;AAEvB;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;kBACb,CAAC;AAEnB;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;mGACmE,CAAC;AAEpG;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;;;oGAGuE,CAAC;AAErG;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;;EAE1B,cAAc;;;EAGd,YAAY;;;EAGZ,eAAe;;;EAGf,gBAAgB;;;EAGhB,aAAa;CACd,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8B/B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDlC,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,aAA2C;IAC3E,QAAQ,aAAa,EAAE,CAAC;QACtB,KAAK,QAAQ;YACX,uDAAuD;YACvD,OAAO,mBAAmB,CAAC;QAC7B,KAAK,QAAQ;YACX,+CAA+C;YAC/C,OAAO,mBAAmB,GAAG,mBAAmB,GAAG,gBAAgB,CAAC;QACtE,KAAK,MAAM;YACT,2DAA2D;YAC3D,OAAO,mBAAmB,GAAG,4BAA4B,GAAG,YAAY,CAAC;QAC3E;YACE,OAAO,mBAAmB,CAAC;IAC/B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAEvC,kDAAkD;IAClD,IACE,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC7B,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC7B,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC5B,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC7B,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAC3B,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,iDAAiD;IACjD,IACE,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC;QAClC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAC7B,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,uCAAuC;IACvC,qEAAqE;IACrE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACzC,OAAO,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AACrC,CAAC"}
@@ -8,7 +8,7 @@
8
8
  /**
9
9
  * Action types that the AI can request
10
10
  */
11
- export type ActionType = 'CREATE' | 'EDIT' | 'DELETE' | 'EXECUTE' | 'COMPLETE';
11
+ export type ActionType = 'CREATE' | 'EDIT' | 'DELETE' | 'EXECUTE' | 'COMPLETE' | 'STUCK';
12
12
  /**
13
13
  * Base action interface
14
14
  */
@@ -54,10 +54,19 @@ export interface CompleteAction extends BaseAction {
54
54
  type: 'COMPLETE';
55
55
  reason: string;
56
56
  }
57
+ /**
58
+ * Signal that the agent is stuck and cannot proceed
59
+ */
60
+ export interface StuckAction extends BaseAction {
61
+ type: 'STUCK';
62
+ attempted: string;
63
+ blocker: string;
64
+ suggestion?: string;
65
+ }
57
66
  /**
58
67
  * Union type of all actions
59
68
  */
60
- export type Action = CreateAction | EditAction | DeleteAction | ExecuteAction | CompleteAction;
69
+ export type Action = CreateAction | EditAction | DeleteAction | ExecuteAction | CompleteAction | StuckAction;
61
70
  /**
62
71
  * Result of parsing a response
63
72
  */
@@ -79,10 +88,18 @@ export declare function parseResponse(response: string): ParseResult;
79
88
  * Check if a response contains a COMPLETE action
80
89
  */
81
90
  export declare function hasCompleteAction(result: ParseResult): boolean;
91
+ /**
92
+ * Check if a response contains a STUCK action
93
+ */
94
+ export declare function hasStuckAction(result: ParseResult): boolean;
82
95
  /**
83
96
  * Get the COMPLETE action if present
84
97
  */
85
98
  export declare function getCompleteAction(result: ParseResult): CompleteAction | null;
99
+ /**
100
+ * Get the STUCK action if present
101
+ */
102
+ export declare function getStuckAction(result: ParseResult): StuckAction | null;
86
103
  /**
87
104
  * Filter actions by type
88
105
  */
@@ -1 +1 @@
1
- {"version":3,"file":"response-parser.d.ts","sourceRoot":"","sources":["../../src/core/response-parser.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;AAE/E;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,UAAU,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,UAAU;IAC9C,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,UAAW,SAAQ,UAAU;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,UAAU;IAC9C,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,UAAU;IAC/C,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,YAAY,GAAG,UAAU,GAAG,YAAY,GAAG,aAAa,GAAG,cAAc,CAAC;AAE/F;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,kCAAkC;IAClC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,qCAAqC;IACrC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,yDAAyD;IACzD,UAAU,EAAE,OAAO,CAAC;IACpB,gEAAgE;IAChE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAOD;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CA8C3D;AAqJD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAE9D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,cAAc,GAAG,IAAI,CAG5E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAC/C,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,GACd,CAAC,EAAE,CAEL"}
1
+ {"version":3,"file":"response-parser.d.ts","sourceRoot":"","sources":["../../src/core/response-parser.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;AAEzF;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,UAAU,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,UAAU;IAC9C,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,UAAW,SAAQ,UAAU;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,UAAU;IAC9C,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,UAAU;IAC/C,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,UAAU;IAC7C,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,YAAY,GAAG,UAAU,GAAG,YAAY,GAAG,aAAa,GAAG,cAAc,GAAG,WAAW,CAAC;AAE7G;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,kCAAkC;IAClC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,qCAAqC;IACrC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,yDAAyD;IACzD,UAAU,EAAE,OAAO,CAAC;IACpB,gEAAgE;IAChE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAOD;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CA8C3D;AA4LD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAE9D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAE3D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,cAAc,GAAG,IAAI,CAG5E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,GAAG,IAAI,CAGtE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAC/C,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,GACd,CAAC,EAAE,CAEL"}
@@ -8,7 +8,7 @@
8
8
  /**
9
9
  * Action block pattern - matches [ACTION:TYPE] blocks
10
10
  */
11
- const ACTION_BLOCK_PATTERN = /\[ACTION:(CREATE|EDIT|DELETE|EXECUTE|COMPLETE)\]([\s\S]*?)(?=\[ACTION:|$)/gi;
11
+ const ACTION_BLOCK_PATTERN = /\[ACTION:(CREATE|EDIT|DELETE|EXECUTE|COMPLETE|STUCK)\]([\s\S]*?)(?=\[ACTION:|$)/gi;
12
12
  /**
13
13
  * Parse an AI response to extract structured actions
14
14
  */
@@ -69,6 +69,8 @@ function parseActionBody(type, body, raw) {
69
69
  return parseExecuteAction(body, raw);
70
70
  case 'COMPLETE':
71
71
  return parseCompleteAction(body, raw);
72
+ case 'STUCK':
73
+ return parseStuckAction(body, raw);
72
74
  default:
73
75
  return null;
74
76
  }
@@ -187,12 +189,49 @@ function parseCompleteAction(body, raw) {
187
189
  raw,
188
190
  };
189
191
  }
192
+ /**
193
+ * Parse a STUCK action
194
+ * Expected format:
195
+ * attempted: what was tried
196
+ * blocker: what is preventing completion
197
+ * suggestion: optional suggestion for next steps
198
+ */
199
+ function parseStuckAction(body, raw) {
200
+ const attemptedMatch = body.match(/^attempted:\s*(.+)$/m);
201
+ if (!attemptedMatch?.[1]) {
202
+ throw new Error('Missing attempted field');
203
+ }
204
+ const attempted = attemptedMatch[1].trim();
205
+ const blockerMatch = body.match(/^blocker:\s*(.+)$/m);
206
+ if (!blockerMatch?.[1]) {
207
+ throw new Error('Missing blocker field');
208
+ }
209
+ const blocker = blockerMatch[1].trim();
210
+ const suggestionMatch = body.match(/^suggestion:\s*(.+)$/m);
211
+ const suggestion = suggestionMatch?.[1]?.trim();
212
+ const result = {
213
+ type: 'STUCK',
214
+ attempted,
215
+ blocker,
216
+ raw,
217
+ };
218
+ if (suggestion) {
219
+ result.suggestion = suggestion;
220
+ }
221
+ return result;
222
+ }
190
223
  /**
191
224
  * Check if a response contains a COMPLETE action
192
225
  */
193
226
  export function hasCompleteAction(result) {
194
227
  return result.actions.some((a) => a.type === 'COMPLETE');
195
228
  }
229
+ /**
230
+ * Check if a response contains a STUCK action
231
+ */
232
+ export function hasStuckAction(result) {
233
+ return result.actions.some((a) => a.type === 'STUCK');
234
+ }
196
235
  /**
197
236
  * Get the COMPLETE action if present
198
237
  */
@@ -200,6 +239,13 @@ export function getCompleteAction(result) {
200
239
  const action = result.actions.find((a) => a.type === 'COMPLETE');
201
240
  return action?.type === 'COMPLETE' ? action : null;
202
241
  }
242
+ /**
243
+ * Get the STUCK action if present
244
+ */
245
+ export function getStuckAction(result) {
246
+ const action = result.actions.find((a) => a.type === 'STUCK');
247
+ return action?.type === 'STUCK' ? action : null;
248
+ }
203
249
  /**
204
250
  * Filter actions by type
205
251
  */
@@ -1 +1 @@
1
- {"version":3,"file":"response-parser.js","sourceRoot":"","sources":["../../src/core/response-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"response-parser.js","sourceRoot":"","sources":["../../src/core/response-parser.ts"],"names":[],"mappings":"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"}