centaurus-cli 2.7.3 → 2.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/dist/cli-adapter.d.ts +10 -6
  2. package/dist/cli-adapter.d.ts.map +1 -1
  3. package/dist/cli-adapter.js +613 -154
  4. package/dist/cli-adapter.js.map +1 -1
  5. package/dist/config/slash-commands.d.ts.map +1 -1
  6. package/dist/config/slash-commands.js +1 -0
  7. package/dist/config/slash-commands.js.map +1 -1
  8. package/dist/context/context-manager.d.ts +4 -1
  9. package/dist/context/context-manager.d.ts.map +1 -1
  10. package/dist/context/context-manager.js +30 -7
  11. package/dist/context/context-manager.js.map +1 -1
  12. package/dist/context/handlers/wsl-handler.d.ts +10 -0
  13. package/dist/context/handlers/wsl-handler.d.ts.map +1 -1
  14. package/dist/context/handlers/wsl-handler.js +31 -2
  15. package/dist/context/handlers/wsl-handler.js.map +1 -1
  16. package/dist/index.js +33 -0
  17. package/dist/index.js.map +1 -1
  18. package/dist/services/ai-service-client.d.ts +1 -0
  19. package/dist/services/ai-service-client.d.ts.map +1 -1
  20. package/dist/services/ai-service-client.js +20 -0
  21. package/dist/services/ai-service-client.js.map +1 -1
  22. package/dist/tools/command.d.ts.map +1 -1
  23. package/dist/tools/command.js +136 -21
  24. package/dist/tools/command.js.map +1 -1
  25. package/dist/tools/file-ops.d.ts +1 -0
  26. package/dist/tools/file-ops.d.ts.map +1 -1
  27. package/dist/tools/file-ops.js +144 -3
  28. package/dist/tools/file-ops.js.map +1 -1
  29. package/dist/tools/inspect-symbol.js +27 -27
  30. package/dist/tools/inspect-symbol.js.map +1 -1
  31. package/dist/tools/plan-mode.d.ts +55 -19
  32. package/dist/tools/plan-mode.d.ts.map +1 -1
  33. package/dist/tools/plan-mode.js +204 -123
  34. package/dist/tools/plan-mode.js.map +1 -1
  35. package/dist/tools/types.d.ts +1 -1
  36. package/dist/tools/types.d.ts.map +1 -1
  37. package/dist/types/index.d.ts +11 -1
  38. package/dist/types/index.d.ts.map +1 -1
  39. package/dist/ui/components/App.d.ts +6 -5
  40. package/dist/ui/components/App.d.ts.map +1 -1
  41. package/dist/ui/components/App.js +277 -125
  42. package/dist/ui/components/App.js.map +1 -1
  43. package/dist/ui/components/InputBox.d.ts.map +1 -1
  44. package/dist/ui/components/InputBox.js +24 -5
  45. package/dist/ui/components/InputBox.js.map +1 -1
  46. package/dist/ui/components/InteractiveShell.d.ts +2 -1
  47. package/dist/ui/components/InteractiveShell.d.ts.map +1 -1
  48. package/dist/ui/components/InteractiveShell.js +41 -106
  49. package/dist/ui/components/InteractiveShell.js.map +1 -1
  50. package/dist/ui/components/MarkdownRenderer.d.ts.map +1 -1
  51. package/dist/ui/components/MarkdownRenderer.js +12 -8
  52. package/dist/ui/components/MarkdownRenderer.js.map +1 -1
  53. package/dist/ui/components/MessageDisplay.d.ts.map +1 -1
  54. package/dist/ui/components/MessageDisplay.js +11 -3
  55. package/dist/ui/components/MessageDisplay.js.map +1 -1
  56. package/dist/ui/components/PlanAcceptedMessage.d.ts +12 -0
  57. package/dist/ui/components/PlanAcceptedMessage.d.ts.map +1 -0
  58. package/dist/ui/components/PlanAcceptedMessage.js +22 -0
  59. package/dist/ui/components/PlanAcceptedMessage.js.map +1 -0
  60. package/dist/ui/components/PlanReviewScreen.d.ts +14 -0
  61. package/dist/ui/components/PlanReviewScreen.d.ts.map +1 -0
  62. package/dist/ui/components/PlanReviewScreen.js +52 -0
  63. package/dist/ui/components/PlanReviewScreen.js.map +1 -0
  64. package/dist/ui/components/StreamingMessageDisplay.d.ts.map +1 -1
  65. package/dist/ui/components/StreamingMessageDisplay.js +5 -5
  66. package/dist/ui/components/StreamingMessageDisplay.js.map +1 -1
  67. package/dist/ui/components/TaskCompletedMessage.d.ts +14 -0
  68. package/dist/ui/components/TaskCompletedMessage.d.ts.map +1 -0
  69. package/dist/ui/components/TaskCompletedMessage.js +25 -0
  70. package/dist/ui/components/TaskCompletedMessage.js.map +1 -0
  71. package/dist/ui/components/ToolExecutionMessage.d.ts.map +1 -1
  72. package/dist/ui/components/ToolExecutionMessage.js +174 -17
  73. package/dist/ui/components/ToolExecutionMessage.js.map +1 -1
  74. package/dist/utils/conversation-logger.d.ts +127 -0
  75. package/dist/utils/conversation-logger.d.ts.map +1 -0
  76. package/dist/utils/conversation-logger.js +283 -0
  77. package/dist/utils/conversation-logger.js.map +1 -0
  78. package/dist/utils/editor-utils.d.ts +87 -0
  79. package/dist/utils/editor-utils.d.ts.map +1 -0
  80. package/dist/utils/editor-utils.js +712 -0
  81. package/dist/utils/editor-utils.js.map +1 -0
  82. package/dist/utils/input-classifier.d.ts.map +1 -1
  83. package/dist/utils/input-classifier.js +12 -4
  84. package/dist/utils/input-classifier.js.map +1 -1
  85. package/dist/utils/markdown-parser.d.ts.map +1 -1
  86. package/dist/utils/markdown-parser.js +4 -2
  87. package/dist/utils/markdown-parser.js.map +1 -1
  88. package/dist/utils/shell.d.ts +32 -1
  89. package/dist/utils/shell.d.ts.map +1 -1
  90. package/dist/utils/shell.js +97 -161
  91. package/dist/utils/shell.js.map +1 -1
  92. package/dist/utils/syntax-checker.d.ts +24 -0
  93. package/dist/utils/syntax-checker.d.ts.map +1 -0
  94. package/dist/utils/syntax-checker.js +320 -0
  95. package/dist/utils/syntax-checker.js.map +1 -0
  96. package/package.json +4 -3
  97. package/prompts/system-prompt-autonomous.md +0 -377
@@ -1,183 +1,179 @@
1
1
  /**
2
- * Plan Mode Tool
3
- * Helps users plan and approve implementation steps for complex tasks
2
+ * Plan Mode - Structured Task Planning and Execution
3
+ * Enables AI to create structured plans and track task completion
4
4
  */
5
+ // In-memory plan state
5
6
  let currentPlan = null;
6
7
  /**
7
- * Exit Plan Mode tool
8
- * Similar to Claude Code's ExitPlanMode - prompts user to approve the plan before proceeding
8
+ * Create Plan Tool
9
+ * AI uses this to generate a structured plan with tasks
9
10
  */
10
- export const exitPlanModeTool = {
11
+ export const createPlanTool = {
11
12
  schema: {
12
- name: 'exit_plan_mode',
13
- description: `Use this tool when you are in plan mode and have finished presenting your plan and are ready to code.
14
- This will prompt the user to exit plan mode.
13
+ name: 'create_plan',
14
+ description: `Use this tool when in planning mode to create a structured implementation plan.
15
+ This will present the plan to the user for review and approval before execution begins.
15
16
 
16
- IMPORTANT: Only use this tool when the task requires planning the implementation steps of a task that requires writing code.
17
- For research tasks where you're gathering information, searching files, reading files or in general trying to understand the codebase - do NOT use this tool.
17
+ The plan should include:
18
+ 1. A clear title describing what will be accomplished
19
+ 2. A brief summary of the approach
20
+ 3. A numbered list of concrete, actionable tasks
18
21
 
19
- Examples:
20
- 1. Initial task: "Search for and understand the implementation of vim mode in the codebase" - Do not use the exit plan mode tool because you are not planning the implementation steps of a task.
21
- 2. Initial task: "Help me implement yank mode for vim" - Use the exit plan mode tool after you have finished planning the implementation steps of the task.`,
22
+ IMPORTANT: Only use this tool when in planning mode. Each task should be:
23
+ - Specific and actionable
24
+ - Independent enough to be marked complete individually
25
+ - Ordered in a logical sequence`,
22
26
  parameters: {
23
27
  type: 'object',
24
28
  properties: {
25
- plan: {
29
+ title: {
26
30
  type: 'string',
27
- description: 'The plan you came up with, that you want to run by the user for approval. Supports markdown. The plan should be pretty concise.'
31
+ description: 'A clear, concise title for the plan'
28
32
  },
29
- steps: {
33
+ summary: {
34
+ type: 'string',
35
+ description: 'Brief summary of the overall approach (1-2 sentences)'
36
+ },
37
+ tasks: {
30
38
  type: 'array',
31
39
  items: {
32
40
  type: 'object',
33
41
  properties: {
34
42
  description: {
35
43
  type: 'string',
36
- description: 'Description of the step'
44
+ description: 'Clear description of what this task accomplishes'
37
45
  },
38
46
  complexity: {
39
47
  type: 'string',
40
48
  enum: ['low', 'medium', 'high'],
41
- description: 'Estimated complexity of the step'
49
+ description: 'Estimated complexity of the task'
42
50
  }
43
51
  },
44
52
  required: ['description']
45
53
  },
46
- description: 'List of implementation steps (optional, for structured planning)'
54
+ description: 'List of tasks to execute, in order'
47
55
  }
48
56
  },
49
- required: ['plan']
57
+ required: ['title', 'summary', 'tasks']
50
58
  }
51
59
  },
52
60
  async execute(args, context) {
53
- const planText = args.plan;
54
- const steps = args.steps;
55
- if (!planText || planText.trim().length === 0) {
56
- throw new Error('Plan cannot be empty');
61
+ const title = args.title;
62
+ const summary = args.summary;
63
+ const tasks = args.tasks;
64
+ if (!title || title.trim().length === 0) {
65
+ throw new Error('Plan title cannot be empty');
66
+ }
67
+ if (!tasks || tasks.length === 0) {
68
+ throw new Error('Plan must have at least one task');
57
69
  }
58
70
  // Create the plan object
59
71
  const plan = {
60
- title: 'Implementation Plan',
61
- summary: planText,
62
- steps: steps ? steps.map((step, index) => ({
63
- id: `step_${index + 1}`,
64
- description: step.description,
72
+ title: title.trim(),
73
+ summary: summary?.trim() || '',
74
+ steps: tasks.map((task, index) => ({
75
+ id: `task_${index + 1}`,
76
+ description: task.description.trim(),
65
77
  status: 'pending',
66
- estimatedComplexity: step.complexity
67
- })) : [],
78
+ estimatedComplexity: task.complexity
79
+ })),
68
80
  createdAt: new Date(),
69
- approved: false
81
+ approved: false,
82
+ isActive: false,
83
+ currentTaskIndex: 0
70
84
  };
71
85
  currentPlan = plan;
72
- // Format the plan for display
73
- let formattedPlan = '## 📋 Implementation Plan\n\n';
74
- formattedPlan += planText + '\n\n';
75
- if (steps && steps.length > 0) {
76
- formattedPlan += '### Steps:\n\n';
77
- steps.forEach((step, index) => {
78
- const complexity = step.complexity ? ` [${step.complexity}]` : '';
79
- formattedPlan += `${index + 1}. ${step.description}${complexity}\n`;
80
- });
81
- formattedPlan += '\n';
82
- }
83
- formattedPlan += '---\n\n';
84
- formattedPlan += '**Ready to proceed with this plan?**\n';
85
- formattedPlan += 'Type "yes" to approve and start implementation, or provide feedback to adjust the plan.\n';
86
- return formattedPlan;
87
- }
88
- };
89
- /**
90
- * Get current plan status
91
- */
92
- export const getPlanStatusTool = {
93
- schema: {
94
- name: 'get_plan_status',
95
- description: 'Get the current plan status and progress',
96
- parameters: {
97
- type: 'object',
98
- properties: {},
99
- required: []
100
- }
101
- },
102
- async execute(args, context) {
103
- if (!currentPlan) {
104
- return 'No active plan';
105
- }
106
- const completedSteps = currentPlan.steps.filter(s => s.status === 'completed').length;
107
- const totalSteps = currentPlan.steps.length;
108
- const progress = totalSteps > 0 ? Math.round((completedSteps / totalSteps) * 100) : 0;
109
- let status = `## Plan Status\n\n`;
110
- status += `**Title:** ${currentPlan.title}\n`;
111
- status += `**Progress:** ${completedSteps}/${totalSteps} (${progress}%)\n`;
112
- status += `**Approved:** ${currentPlan.approved ? 'Yes' : 'No'}\n\n`;
113
- if (currentPlan.steps.length > 0) {
114
- status += '### Steps:\n\n';
115
- currentPlan.steps.forEach((step, index) => {
116
- const statusIcon = step.status === 'completed' ? '✅' :
117
- step.status === 'in_progress' ? '🔄' :
118
- step.status === 'skipped' ? '⏭️' : '⏳';
119
- const complexity = step.estimatedComplexity ? ` [${step.estimatedComplexity}]` : '';
120
- status += `${index + 1}. ${statusIcon} ${step.description}${complexity}\n`;
121
- });
122
- }
123
- return status;
86
+ // Return confirmation - the UI will handle displaying the plan
87
+ return `PLAN_CREATED:${JSON.stringify(plan)}`;
124
88
  }
125
89
  };
126
90
  /**
127
- * Update plan step status
91
+ * Mark Task Complete Tool
92
+ * AI uses this to mark individual tasks as completed during execution
128
93
  */
129
- export const updatePlanStepTool = {
94
+ export const markTaskCompleteTool = {
130
95
  schema: {
131
- name: 'update_plan_step',
132
- description: 'Update the status of a plan step',
96
+ name: 'mark_task_complete',
97
+ description: `Use this tool to mark a task as completed in the current plan.
98
+ Call this after successfully completing each task in the plan.
99
+
100
+ This will:
101
+ 1. Update the task status to 'completed'
102
+ 2. Show a completion message in the UI
103
+ 3. Automatically advance to the next task
104
+
105
+ IMPORTANT:
106
+ - Must have an active approved plan
107
+ - Call this for each task as you complete it
108
+ - After marking the LAST task complete, call task_complete to end the session`,
133
109
  parameters: {
134
110
  type: 'object',
135
111
  properties: {
136
- step_id: {
137
- type: 'string',
138
- description: 'The ID of the step to update (e.g., "step_1")'
139
- },
140
- step_number: {
112
+ task_number: {
141
113
  type: 'number',
142
- description: 'The step number (alternative to step_id)'
114
+ description: 'The task number to mark complete (1-indexed)'
143
115
  },
144
- status: {
116
+ completion_note: {
145
117
  type: 'string',
146
- enum: ['pending', 'in_progress', 'completed', 'skipped'],
147
- description: 'The new status of the step'
118
+ description: 'Optional note about what was accomplished'
148
119
  }
149
120
  },
150
- required: ['status']
121
+ required: ['task_number']
151
122
  }
152
123
  },
153
124
  async execute(args, context) {
154
125
  if (!currentPlan) {
155
- throw new Error('No active plan to update');
126
+ throw new Error('No active plan. Create a plan first using create_plan.');
156
127
  }
157
- const stepId = args.step_id;
158
- const stepNumber = args.step_number;
159
- const newStatus = args.status;
160
- let step;
161
- if (stepId) {
162
- step = currentPlan.steps.find(s => s.id === stepId);
128
+ if (!currentPlan.approved || !currentPlan.isActive) {
129
+ throw new Error('Plan must be approved and active before marking tasks complete.');
163
130
  }
164
- else if (stepNumber !== undefined) {
165
- step = currentPlan.steps[stepNumber - 1];
131
+ const taskNumber = args.task_number;
132
+ const completionNote = args.completion_note;
133
+ if (taskNumber < 1 || taskNumber > currentPlan.steps.length) {
134
+ throw new Error(`Invalid task number. Must be between 1 and ${currentPlan.steps.length}.`);
166
135
  }
167
- if (!step) {
168
- throw new Error('Step not found');
136
+ const taskIndex = taskNumber - 1;
137
+ const task = currentPlan.steps[taskIndex];
138
+ if (task.status === 'completed') {
139
+ return `Task ${taskNumber} is already marked as completed.`;
169
140
  }
170
- step.status = newStatus;
171
- return `Step "${step.description}" marked as ${newStatus}`;
141
+ // Mark the task as complete
142
+ task.status = 'completed';
143
+ task.completedAt = new Date();
144
+ // Update current task index to next pending task
145
+ const nextPendingIndex = currentPlan.steps.findIndex((step, idx) => idx > taskIndex && step.status === 'pending');
146
+ if (nextPendingIndex !== -1) {
147
+ currentPlan.currentTaskIndex = nextPendingIndex;
148
+ }
149
+ // Count completed and remaining
150
+ const completedCount = currentPlan.steps.filter(s => s.status === 'completed').length;
151
+ const totalCount = currentPlan.steps.length;
152
+ const allComplete = completedCount === totalCount;
153
+ // Return structured response for UI parsing
154
+ const result = {
155
+ taskNumber,
156
+ taskDescription: task.description,
157
+ completionNote: completionNote || null,
158
+ completedCount,
159
+ totalCount,
160
+ allComplete,
161
+ nextTask: allComplete ? null : currentPlan.steps[currentPlan.currentTaskIndex]?.description
162
+ };
163
+ return `TASK_COMPLETED:${JSON.stringify(result)}`;
172
164
  }
173
165
  };
174
166
  /**
175
- * Approve the current plan
167
+ * Set the current plan (used by CLI adapter)
176
168
  */
177
- export function approvePlan() {
178
- if (currentPlan) {
179
- currentPlan.approved = true;
180
- }
169
+ export function setPlan(plan) {
170
+ currentPlan = plan;
171
+ }
172
+ /**
173
+ * Get the current plan
174
+ */
175
+ export function getCurrentPlan() {
176
+ return currentPlan;
181
177
  }
182
178
  /**
183
179
  * Clear the current plan
@@ -186,17 +182,102 @@ export function clearPlan() {
186
182
  currentPlan = null;
187
183
  }
188
184
  /**
189
- * Get the current plan
185
+ * Approve the current plan and make it active
190
186
  */
191
- export function getCurrentPlan() {
187
+ export function approvePlan() {
188
+ if (currentPlan) {
189
+ currentPlan.approved = true;
190
+ currentPlan.isActive = true;
191
+ currentPlan.currentTaskIndex = 0;
192
+ }
192
193
  return currentPlan;
193
194
  }
195
+ /**
196
+ * Mark a task as complete by task number
197
+ */
198
+ export function markTaskComplete(taskNumber) {
199
+ if (!currentPlan || taskNumber < 1 || taskNumber > currentPlan.steps.length) {
200
+ return null;
201
+ }
202
+ const task = currentPlan.steps[taskNumber - 1];
203
+ task.status = 'completed';
204
+ task.completedAt = new Date();
205
+ return task;
206
+ }
207
+ /**
208
+ * Get the next incomplete task
209
+ */
210
+ export function getNextIncompleteTask() {
211
+ if (!currentPlan)
212
+ return null;
213
+ const index = currentPlan.steps.findIndex(step => step.status === 'pending');
214
+ if (index === -1)
215
+ return null;
216
+ return {
217
+ taskNumber: index + 1,
218
+ task: currentPlan.steps[index]
219
+ };
220
+ }
221
+ /**
222
+ * Check if all tasks are complete
223
+ */
224
+ export function areAllTasksComplete() {
225
+ if (!currentPlan)
226
+ return false;
227
+ return currentPlan.steps.every(step => step.status === 'completed' || step.status === 'skipped');
228
+ }
229
+ /**
230
+ * Get plan progress summary
231
+ */
232
+ export function getPlanProgress() {
233
+ if (!currentPlan)
234
+ return null;
235
+ const completed = currentPlan.steps.filter(s => s.status === 'completed').length;
236
+ const total = currentPlan.steps.length;
237
+ const percentage = total > 0 ? Math.round((completed / total) * 100) : 0;
238
+ return { completed, total, percentage };
239
+ }
240
+ /**
241
+ * Generate plan context for AI system prompt injection
242
+ */
243
+ export function getPlanContextForPrompt() {
244
+ if (!currentPlan || !currentPlan.isActive)
245
+ return '';
246
+ const progress = getPlanProgress();
247
+ if (!progress)
248
+ return '';
249
+ let context = `\n\n## ACTIVE PLAN: ${currentPlan.title}\n`;
250
+ context += `Progress: ${progress.completed}/${progress.total} tasks completed (${progress.percentage}%)\n\n`;
251
+ context += `### Tasks:\n`;
252
+ currentPlan.steps.forEach((step, index) => {
253
+ const statusIcon = step.status === 'completed' ? '✅' :
254
+ step.status === 'in_progress' ? '🔄' :
255
+ step.status === 'skipped' ? '⏭️' : '⏳';
256
+ const isCurrent = index === currentPlan.currentTaskIndex && step.status === 'pending';
257
+ const marker = isCurrent ? ' 👈 CURRENT' : '';
258
+ context += `${index + 1}. ${statusIcon} ${step.description}${marker}\n`;
259
+ });
260
+ const nextTask = getNextIncompleteTask();
261
+ if (nextTask) {
262
+ context += `\n**NEXT ACTION**: Complete task ${nextTask.taskNumber}: ${nextTask.task.description}\n`;
263
+ context += `After completing this task, call mark_task_complete with task_number=${nextTask.taskNumber}\n`;
264
+ }
265
+ else {
266
+ context += `\n**ALL TASKS COMPLETE**: Call task_complete with a summary of what was accomplished.\n`;
267
+ }
268
+ return context;
269
+ }
194
270
  export default {
195
- exitPlanModeTool,
196
- getPlanStatusTool,
197
- updatePlanStepTool,
198
- approvePlan,
271
+ createPlanTool,
272
+ markTaskCompleteTool,
273
+ setPlan,
274
+ getCurrentPlan,
199
275
  clearPlan,
200
- getCurrentPlan
276
+ approvePlan,
277
+ markTaskComplete,
278
+ getNextIncompleteTask,
279
+ areAllTasksComplete,
280
+ getPlanProgress,
281
+ getPlanContextForPrompt
201
282
  };
202
283
  //# sourceMappingURL=plan-mode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plan-mode.js","sourceRoot":"","sources":["../../src/tools/plan-mode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan-mode.js","sourceRoot":"","sources":["../../src/tools/plan-mode.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,7 @@ export interface ToolExecutionContext {
22
22
  content: string;
23
23
  language?: string;
24
24
  fullDiff?: string;
25
- }, operationType?: 'write_file' | 'edit_file' | 'execute_command' | 'write_to_file', operationDetails?: Record<string, any>) => Promise<boolean | {
25
+ }, operationType?: 'write_file' | 'edit_file' | 'execute_command' | 'write_to_file' | 'multi_edit_file', operationDetails?: Record<string, any>) => Promise<boolean | {
26
26
  approved: false;
27
27
  feedback: string;
28
28
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAChC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAED,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,EAAE,GAAG,CAAC;IACpB,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,eAAe,EAAE,CACf,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,EAC1F,aAAa,CAAC,EAAE,YAAY,GAAG,WAAW,GAAG,iBAAiB,GAAG,eAAe,EAChF,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KACnC,OAAO,CAAC,OAAO,GAAG;QAAE,QAAQ,EAAE,KAAK,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9D,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,QAAQ,KAAK,IAAI,CAAC;IACvE,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAEzG,MAAM,WAAW,IAAI;IACnB,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,YAAY,CAAC;CACvB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAChC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAED,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,EAAE,GAAG,CAAC;IACpB,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,eAAe,EAAE,CACf,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,EAC1F,aAAa,CAAC,EAAE,YAAY,GAAG,WAAW,GAAG,iBAAiB,GAAG,eAAe,GAAG,iBAAiB,EACpG,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KACnC,OAAO,CAAC,OAAO,GAAG;QAAE,QAAQ,EAAE,KAAK,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9D,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,QAAQ,KAAK,IAAI,CAAC;IACvE,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAEzG,MAAM,WAAW,IAAI;IACnB,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,YAAY,CAAC;CACvB"}
@@ -41,7 +41,7 @@ export interface AgenticLoopStats {
41
41
  }
42
42
  export interface ToolExecution {
43
43
  toolName: string;
44
- status: 'executing' | 'completed' | 'error';
44
+ status: 'pending' | 'executing' | 'completed' | 'error';
45
45
  result?: string;
46
46
  error?: string;
47
47
  arguments?: Record<string, any>;
@@ -77,6 +77,16 @@ export interface Message {
77
77
  tool_calls?: ToolCall[];
78
78
  thoughts?: string[];
79
79
  thinkingDuration?: number;
80
+ taskCompletion?: {
81
+ taskNumber: number;
82
+ totalTasks: number;
83
+ taskDescription: string;
84
+ completionNote?: string;
85
+ };
86
+ planAccepted?: {
87
+ planTitle?: string;
88
+ totalTasks?: number;
89
+ };
80
90
  }
81
91
  export interface ToolCall {
82
92
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,QAAQ,GAAG,eAAe,GAAG,UAAU,GAAG,WAAW,GAAG,WAAW,CAAC;IACtF,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,OAAO,CAAC;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IACrC,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACxE,aAAa,CAAC,EAAE,YAAY,GAAG,WAAW,GAAG,iBAAiB,CAAC;IAC/D,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,eAAe,EAAE,MAAM,CAAC;QACxB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,YAAY,CAAC,EAAE;QACb,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import { SubshellContext } from '../../context/types.js';
3
+ import { Plan, PlanStep } from '../../tools/plan-mode.js';
3
4
  interface AppProps {
4
5
  onMessage: (message: string) => Promise<void>;
5
6
  onCancelRequest: () => void;
@@ -21,7 +22,7 @@ interface AppProps {
21
22
  onPickerSelection: (selection: string, type: 'model') => Promise<void>;
22
23
  onToolExecutionUpdate: (callback: (update: {
23
24
  toolName: string;
24
- status: 'executing' | 'completed' | 'error';
25
+ status: 'pending' | 'executing' | 'completed' | 'error';
25
26
  result?: string;
26
27
  error?: string;
27
28
  arguments?: Record<string, any>;
@@ -44,10 +45,9 @@ interface AppProps {
44
45
  type: 'stdout' | 'stderr';
45
46
  }) => void) => void;
46
47
  onPlanModeChange: (callback: (planMode: boolean) => void) => void;
47
- onPlanApprovalRequest: (callback: (plan: {
48
- tasks: string[];
49
- question: string;
50
- }) => Promise<boolean>) => void;
48
+ onPlanApprovalRequest: (callback: (plan: Plan) => Promise<boolean>) => void;
49
+ onPlanCreated: (callback: (plan: Plan) => void) => void;
50
+ onTaskCompleted: (callback: (task: PlanStep, taskNumber: number, totalTasks: number, completionNote?: string) => void) => void;
51
51
  onCommandModeChange: (callback: (commandMode: boolean) => void) => void;
52
52
  onToggleCommandMode: () => void;
53
53
  onCwdChange: (callback: (cwd: string) => void) => void;
@@ -57,6 +57,7 @@ interface AppProps {
57
57
  onShellInput: (input: string) => void;
58
58
  onShellSignal: (signal: string) => void;
59
59
  onKillProcess: () => void;
60
+ onInteractiveEditorMode: (callback: (active: boolean, command?: string, cwd?: string, remoteContext?: SubshellContext) => void) => void;
60
61
  }
61
62
  export declare const App: React.FC<AppProps>;
62
63
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../../src/ui/components/App.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../../src/ui/components/App.tsx"],"names":[],"mappings":"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"}