@defai.digital/ax-cli 4.1.11 → 4.1.15

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 (86) hide show
  1. package/.ax-cli/settings.json +1 -0
  2. package/README.md +140 -589
  3. package/bin/ax-cli +6 -0
  4. package/dist/agent/dependency-resolver.d.ts +7 -0
  5. package/dist/agent/dependency-resolver.js +46 -18
  6. package/dist/agent/dependency-resolver.js.map +1 -1
  7. package/dist/agent/execution/tool-executor.d.ts +4 -0
  8. package/dist/agent/execution/tool-executor.js +76 -52
  9. package/dist/agent/execution/tool-executor.js.map +1 -1
  10. package/dist/agent/parallel-tools.d.ts +4 -0
  11. package/dist/agent/parallel-tools.js +65 -24
  12. package/dist/agent/parallel-tools.js.map +1 -1
  13. package/dist/agent/planning/plan-executor.d.ts +0 -5
  14. package/dist/agent/planning/plan-executor.js +23 -6
  15. package/dist/agent/planning/plan-executor.js.map +1 -1
  16. package/dist/agent/streaming/stream-handler.js +7 -4
  17. package/dist/agent/streaming/stream-handler.js.map +1 -1
  18. package/dist/agent/subagent-orchestrator.d.ts +35 -2
  19. package/dist/agent/subagent-orchestrator.js +188 -146
  20. package/dist/agent/subagent-orchestrator.js.map +1 -1
  21. package/dist/agent/subagent-types.js +3 -1
  22. package/dist/agent/subagent-types.js.map +1 -1
  23. package/dist/agent/subagent.d.ts +15 -4
  24. package/dist/agent/subagent.js +91 -72
  25. package/dist/agent/subagent.js.map +1 -1
  26. package/dist/design/figma-alias.d.ts +77 -0
  27. package/dist/design/figma-alias.js +246 -0
  28. package/dist/design/figma-alias.js.map +1 -1
  29. package/dist/design/figma-client.d.ts +4 -0
  30. package/dist/design/figma-client.js +24 -4
  31. package/dist/design/figma-client.js.map +1 -1
  32. package/dist/design/figma-map.js +78 -6
  33. package/dist/design/figma-map.js.map +1 -1
  34. package/dist/design/figma-tokens.js +6 -2
  35. package/dist/design/figma-tokens.js.map +1 -1
  36. package/dist/design/index.d.ts +1 -1
  37. package/dist/design/index.js +3 -1
  38. package/dist/design/index.js.map +1 -1
  39. package/dist/design/types.d.ts +9 -0
  40. package/dist/index.js +1 -0
  41. package/dist/index.js.map +1 -1
  42. package/dist/mcp/client-v2.js +4 -0
  43. package/dist/mcp/client-v2.js.map +1 -1
  44. package/dist/mcp/config-detector.js +3 -4
  45. package/dist/mcp/config-detector.js.map +1 -1
  46. package/dist/mcp/debug.d.ts +207 -0
  47. package/dist/mcp/debug.js +398 -0
  48. package/dist/mcp/debug.js.map +1 -0
  49. package/dist/mcp/index.d.ts +1 -0
  50. package/dist/mcp/index.js +4 -0
  51. package/dist/mcp/index.js.map +1 -1
  52. package/dist/mcp/reconnection.js +6 -3
  53. package/dist/mcp/reconnection.js.map +1 -1
  54. package/dist/mcp/validation.js +15 -6
  55. package/dist/mcp/validation.js.map +1 -1
  56. package/dist/memory/index.d.ts +1 -0
  57. package/dist/memory/index.js +2 -0
  58. package/dist/memory/index.js.map +1 -1
  59. package/dist/memory/provider-context-store.d.ts +127 -0
  60. package/dist/memory/provider-context-store.js +385 -0
  61. package/dist/memory/provider-context-store.js.map +1 -0
  62. package/dist/sdk/errors.d.ts +2 -0
  63. package/dist/sdk/errors.js +2 -0
  64. package/dist/sdk/errors.js.map +1 -1
  65. package/dist/sdk/index.d.ts +633 -62
  66. package/dist/sdk/index.js +854 -116
  67. package/dist/sdk/index.js.map +1 -1
  68. package/dist/sdk/testing.d.ts +46 -4
  69. package/dist/sdk/testing.js +58 -6
  70. package/dist/sdk/testing.js.map +1 -1
  71. package/dist/sdk/version.d.ts +13 -9
  72. package/dist/sdk/version.js +13 -9
  73. package/dist/sdk/version.js.map +1 -1
  74. package/dist/utils/file-lock.d.ts +141 -0
  75. package/dist/utils/file-lock.js +559 -0
  76. package/dist/utils/file-lock.js.map +1 -0
  77. package/dist/utils/provider-context.d.ts +243 -0
  78. package/dist/utils/provider-context.js +421 -0
  79. package/dist/utils/provider-context.js.map +1 -0
  80. package/dist/utils/provider-file-cache.d.ts +91 -0
  81. package/dist/utils/provider-file-cache.js +165 -0
  82. package/dist/utils/provider-file-cache.js.map +1 -0
  83. package/dist/utils/provider-settings.d.ts +181 -0
  84. package/dist/utils/provider-settings.js +450 -0
  85. package/dist/utils/provider-settings.js.map +1 -0
  86. package/package.json +4 -3
@@ -15,6 +15,14 @@ import { RefactoringAgent } from './specialized/refactoring-agent.js';
15
15
  import { AnalysisAgent } from './specialized/analysis-agent.js';
16
16
  import { DebugAgent } from './specialized/debug-agent.js';
17
17
  import { PerformanceAgent } from './specialized/performance-agent.js';
18
+ const AGENT_FACTORIES = new Map([
19
+ [SubagentRole.TESTING, (config) => new TestingAgent(config)],
20
+ [SubagentRole.DOCUMENTATION, (config) => new DocumentationAgent(config)],
21
+ [SubagentRole.REFACTORING, (config) => new RefactoringAgent(config)],
22
+ [SubagentRole.ANALYSIS, (config) => new AnalysisAgent(config)],
23
+ [SubagentRole.DEBUG, (config) => new DebugAgent(config)],
24
+ [SubagentRole.PERFORMANCE, (config) => new PerformanceAgent(config)],
25
+ ]);
18
26
  /**
19
27
  * SubagentOrchestrator manages multiple subagents
20
28
  */
@@ -53,32 +61,14 @@ export class SubagentOrchestrator extends EventEmitter {
53
61
  if (this.subagents.size >= maxAgents) {
54
62
  throw new Error(`Maximum concurrent agents limit (${maxAgents}) reached`);
55
63
  }
56
- let subagent;
57
- // Create specialized subagent based on role
58
- switch (role) {
59
- case SubagentRole.TESTING:
60
- subagent = new TestingAgent(config);
61
- break;
62
- case SubagentRole.DOCUMENTATION:
63
- subagent = new DocumentationAgent(config);
64
- break;
65
- case SubagentRole.REFACTORING:
66
- subagent = new RefactoringAgent(config);
67
- break;
68
- case SubagentRole.ANALYSIS:
69
- subagent = new AnalysisAgent(config);
70
- break;
71
- case SubagentRole.DEBUG:
72
- subagent = new DebugAgent(config);
73
- break;
74
- case SubagentRole.PERFORMANCE:
75
- subagent = new PerformanceAgent(config);
76
- break;
77
- case SubagentRole.GENERAL:
78
- default:
79
- subagent = new Subagent(SubagentRole.GENERAL, config);
80
- break;
81
- }
64
+ // BUG FIX: Apply defaultTimeout from orchestrator config if not specified in subagent config
65
+ const mergedConfig = {
66
+ timeout: this.config.defaultTimeout,
67
+ ...config, // Allow config to override defaultTimeout
68
+ };
69
+ // REFACTOR: Use factory registry instead of switch statement
70
+ const factory = AGENT_FACTORIES.get(role);
71
+ const subagent = factory ? factory(mergedConfig) : new Subagent(SubagentRole.GENERAL, mergedConfig);
82
72
  // Register subagent using its own ID
83
73
  this.subagents.set(subagent.id, subagent);
84
74
  // Forward subagent events
@@ -92,59 +82,48 @@ export class SubagentOrchestrator extends EventEmitter {
92
82
  async spawnSubagent(role, config) {
93
83
  return this.spawn(role, config);
94
84
  }
85
+ // REFACTOR: Event mapping configuration for data-driven handler registration
86
+ static EVENT_MAPPINGS = [
87
+ { source: 'task-started', target: 'subagent-start', modifyActiveCount: 'increment' },
88
+ { source: 'task-completed', target: 'subagent-complete', modifyActiveCount: 'decrement', storeResult: true },
89
+ { source: 'task-failed', target: 'subagent-error', modifyActiveCount: 'decrement' },
90
+ { source: 'progress', target: 'subagent-progress' },
91
+ { source: 'tool-executed', target: 'subagent-tool' },
92
+ { source: 'tool-call', target: 'subagent-tool-call' },
93
+ { source: 'tool-result', target: 'subagent-tool-result' },
94
+ ];
95
95
  /**
96
96
  * Forward events from subagent to orchestrator
97
- * Stores listeners for proper cleanup to prevent memory leaks
97
+ * REFACTOR: Data-driven approach reduces repetitive handler code
98
98
  */
99
99
  forwardSubagentEvents(id, subagent) {
100
100
  // Guard against duplicate listener registration
101
101
  if (this.subagentListeners.has(id)) {
102
- return; // Already registered, avoid duplicates
102
+ return;
103
103
  }
104
- // Create named handlers so we can remove them later
105
104
  const handlers = new Map();
106
- const taskStartedHandler = (data) => {
107
- this.activeCount++;
108
- this.emit('subagent-start', { subagentId: id, ...data });
109
- };
110
- handlers.set('task-started', taskStartedHandler);
111
- subagent.on('task-started', taskStartedHandler);
112
- const taskCompletedHandler = (data) => {
113
- this.activeCount--;
114
- this.results.set(data.taskId, data.result);
115
- this.emit('subagent-complete', { subagentId: id, ...data });
116
- };
117
- handlers.set('task-completed', taskCompletedHandler);
118
- subagent.on('task-completed', taskCompletedHandler);
119
- const taskFailedHandler = (data) => {
120
- this.activeCount--;
121
- this.emit('subagent-error', { subagentId: id, ...data });
122
- };
123
- handlers.set('task-failed', taskFailedHandler);
124
- subagent.on('task-failed', taskFailedHandler);
125
- const progressHandler = (data) => {
126
- this.emit('subagent-progress', { subagentId: id, ...data });
127
- };
128
- handlers.set('progress', progressHandler);
129
- subagent.on('progress', progressHandler);
130
- const toolExecutedHandler = (data) => {
131
- this.emit('subagent-tool', { subagentId: id, ...data });
132
- };
133
- handlers.set('tool-executed', toolExecutedHandler);
134
- subagent.on('tool-executed', toolExecutedHandler);
135
- // Forward tool-call events for real-time UI updates
136
- const toolCallHandler = (data) => {
137
- this.emit('subagent-tool-call', { subagentId: id, ...data });
138
- };
139
- handlers.set('tool-call', toolCallHandler);
140
- subagent.on('tool-call', toolCallHandler);
141
- // Forward tool-result events
142
- const toolResultHandler = (data) => {
143
- this.emit('subagent-tool-result', { subagentId: id, ...data });
144
- };
145
- handlers.set('tool-result', toolResultHandler);
146
- subagent.on('tool-result', toolResultHandler);
147
- // Store handlers for cleanup
105
+ for (const mapping of SubagentOrchestrator.EVENT_MAPPINGS) {
106
+ const handler = (data) => {
107
+ // Handle activeCount modifications
108
+ if (mapping.modifyActiveCount === 'increment') {
109
+ this.activeCount++;
110
+ }
111
+ else if (mapping.modifyActiveCount === 'decrement' && this.activeCount > 0) {
112
+ this.activeCount--;
113
+ }
114
+ // Store result if configured
115
+ if (mapping.storeResult && data && typeof data === 'object' && 'taskId' in data && 'result' in data) {
116
+ const taskData = data;
117
+ this.results.set(taskData.taskId, taskData.result);
118
+ }
119
+ // Forward event with subagentId
120
+ // BUG FIX: Safely spread data only if it's a valid object
121
+ const eventData = data && typeof data === 'object' ? data : {};
122
+ this.emit(mapping.target, { subagentId: id, ...eventData });
123
+ };
124
+ handlers.set(mapping.source, handler);
125
+ subagent.on(mapping.source, handler);
126
+ }
148
127
  this.subagentListeners.set(id, handlers);
149
128
  }
150
129
  /**
@@ -178,10 +157,12 @@ export class SubagentOrchestrator extends EventEmitter {
178
157
  // Resolve dependencies and get execution batches
179
158
  const batches = this.dependencyResolver.resolveDependencies(tasks);
180
159
  const allResults = [];
160
+ // BUG FIX: Use Map for O(1) lookup instead of O(n) find() in loop
161
+ const taskMap = new Map(tasks.map(t => [t.id, t]));
181
162
  // Execute batches sequentially, but tasks within each batch in parallel
182
163
  for (const batch of batches) {
183
164
  const batchTasks = batch
184
- .map(taskId => tasks.find(t => t.id === taskId))
165
+ .map(taskId => taskMap.get(taskId))
185
166
  .filter((task) => task !== undefined);
186
167
  // Skip empty batches (shouldn't happen with valid dependency resolution)
187
168
  if (batchTasks.length === 0)
@@ -192,6 +173,31 @@ export class SubagentOrchestrator extends EventEmitter {
192
173
  }
193
174
  return allResults;
194
175
  }
176
+ /**
177
+ * REFACTOR: Extract failed result creation to reduce duplication
178
+ */
179
+ createFailedResult(taskId, role, errorMessage) {
180
+ const now = new Date();
181
+ return {
182
+ id: `failed-${taskId}`,
183
+ taskId,
184
+ role,
185
+ success: false,
186
+ output: '',
187
+ error: errorMessage,
188
+ executionTime: 0,
189
+ status: {
190
+ id: `status-${taskId}`,
191
+ taskId,
192
+ role,
193
+ state: SubagentState.FAILED,
194
+ progress: 0,
195
+ startTime: now,
196
+ endTime: now,
197
+ error: errorMessage,
198
+ },
199
+ };
200
+ }
195
201
  /**
196
202
  * Execute a batch of tasks in parallel
197
203
  */
@@ -216,77 +222,38 @@ export class SubagentOrchestrator extends EventEmitter {
216
222
  if (r.status === 'fulfilled') {
217
223
  return r.value;
218
224
  }
219
- else {
220
- // Task failed - create a proper SubagentResult
221
- // BUG FIX: Add safety check for array bounds in case of misalignment
222
- const task = tasks[i];
223
- if (!task) {
224
- // Fallback for edge case where arrays are misaligned
225
- return {
226
- id: `failed-unknown-${i}`,
227
- taskId: `unknown-${i}`,
228
- role: 'researcher',
229
- success: false,
230
- output: '',
231
- error: r.reason?.message || 'Unknown error (task not found)',
232
- executionTime: 0,
233
- status: {
234
- id: `status-unknown-${i}`,
235
- taskId: `unknown-${i}`,
236
- role: 'researcher',
237
- state: SubagentState.FAILED,
238
- progress: 0,
239
- startTime: new Date(),
240
- endTime: new Date(),
241
- error: r.reason?.message || 'Unknown error',
242
- },
243
- };
244
- }
245
- const failedResult = {
246
- id: `failed-${task.id}`,
247
- taskId: task.id,
248
- role: task.role,
249
- success: false,
250
- output: '',
251
- error: r.reason?.message || 'Unknown error',
252
- executionTime: 0,
253
- status: {
254
- id: `status-${task.id}`,
255
- taskId: task.id,
256
- role: task.role,
257
- state: SubagentState.FAILED,
258
- progress: 0,
259
- startTime: new Date(),
260
- endTime: new Date(),
261
- error: r.reason?.message || 'Unknown error',
262
- },
263
- };
264
- return failedResult;
225
+ // Task failed - use helper to create result
226
+ const task = tasks[i];
227
+ const errorMessage = r.reason?.message || 'Unknown error';
228
+ if (!task) {
229
+ // Fallback for edge case where arrays are misaligned
230
+ return this.createFailedResult(`unknown-${i}`, SubagentRole.GENERAL, `${errorMessage} (task not found)`);
265
231
  }
232
+ // BUG FIX: Use inferred role (same as in executeBatch) instead of task.role
233
+ // which may be different from the actual subagent role used
234
+ const inferredRole = this.inferRoleFromTask(task);
235
+ return this.createFailedResult(task.id, inferredRole, errorMessage);
266
236
  });
267
237
  }
238
+ // REFACTOR: Pre-compiled regex patterns for role inference (avoid creating on each call)
239
+ static ROLE_PATTERNS = [
240
+ { role: SubagentRole.TESTING, pattern: /\b(test|testing|tests)\b/i },
241
+ { role: SubagentRole.DOCUMENTATION, pattern: /\b(document|readme|docs|documentation)\b/i },
242
+ { role: SubagentRole.REFACTORING, pattern: /\b(refactor|restructure|refactoring)\b/i },
243
+ { role: SubagentRole.ANALYSIS, pattern: /\b(analyze|review|audit|analysis)\b/i },
244
+ { role: SubagentRole.DEBUG, pattern: /\b(debug|fix|bug|debugging)\b/i },
245
+ { role: SubagentRole.PERFORMANCE, pattern: /\b(performance|optimize|speed|optimization)\b/i },
246
+ ];
268
247
  /**
269
248
  * Infer subagent role from task description
249
+ * Uses pre-compiled regex patterns for performance
270
250
  */
271
251
  inferRoleFromTask(task) {
272
- const desc = task.description.toLowerCase();
273
- if (desc.includes('test') || desc.includes('testing')) {
274
- return SubagentRole.TESTING;
275
- }
276
- if (desc.includes('document') || desc.includes('readme') || desc.includes('docs')) {
277
- return SubagentRole.DOCUMENTATION;
278
- }
279
- if (desc.includes('refactor') || desc.includes('restructure')) {
280
- return SubagentRole.REFACTORING;
281
- }
282
- if (desc.includes('analyze') || desc.includes('review') || desc.includes('audit')) {
283
- return SubagentRole.ANALYSIS;
284
- }
285
- if (desc.includes('debug') || desc.includes('fix') || desc.includes('bug')) {
286
- return SubagentRole.DEBUG;
287
- }
288
- if (desc.includes('performance') || desc.includes('optimize') || desc.includes('speed')) {
289
- return SubagentRole.PERFORMANCE;
252
+ const desc = task.description;
253
+ for (const { role, pattern } of SubagentOrchestrator.ROLE_PATTERNS) {
254
+ if (pattern.test(desc)) {
255
+ return role;
256
+ }
290
257
  }
291
258
  return SubagentRole.GENERAL;
292
259
  }
@@ -332,10 +299,14 @@ export class SubagentOrchestrator extends EventEmitter {
332
299
  // Use Promise.allSettled to ensure all subagents are attempted
333
300
  // even if some terminations fail
334
301
  const results = await Promise.allSettled(terminatePromises);
335
- // Log any failures but don't throw
302
+ // BUG FIX: Emit event for failures instead of console.warn
303
+ // This allows the caller to handle failures appropriately
336
304
  results.forEach((result, index) => {
337
305
  if (result.status === 'rejected') {
338
- console.warn(`Failed to terminate subagent ${subagentEntries[index][0]}:`, result.reason);
306
+ this.emit('termination-error', {
307
+ subagentId: subagentEntries[index][0],
308
+ error: result.reason?.message || 'Unknown error',
309
+ });
339
310
  }
340
311
  });
341
312
  this.subagents.clear();
@@ -389,6 +360,53 @@ export class SubagentOrchestrator extends EventEmitter {
389
360
  clearResults() {
390
361
  this.results.clear();
391
362
  }
363
+ /**
364
+ * Add a task to the queue for later processing
365
+ * BUG FIX: taskQueue was declared but never used - now provides queue functionality
366
+ */
367
+ queueTask(task) {
368
+ this.taskQueue.push(task);
369
+ this.emit('task-queued', { taskId: task.id, queueLength: this.taskQueue.length });
370
+ }
371
+ /**
372
+ * Add multiple tasks to the queue
373
+ */
374
+ queueTasks(tasks) {
375
+ for (const task of tasks) {
376
+ this.taskQueue.push(task);
377
+ }
378
+ this.emit('tasks-queued', { count: tasks.length, queueLength: this.taskQueue.length });
379
+ }
380
+ /**
381
+ * Process all queued tasks
382
+ * Clears the queue after processing
383
+ */
384
+ async processQueue() {
385
+ if (this.taskQueue.length === 0) {
386
+ return [];
387
+ }
388
+ // Move tasks out of queue before processing
389
+ const tasksToProcess = [...this.taskQueue];
390
+ this.taskQueue = [];
391
+ this.emit('queue-processing', { count: tasksToProcess.length });
392
+ const results = await this.executeParallel(tasksToProcess);
393
+ this.emit('queue-processed', { count: results.length });
394
+ return results;
395
+ }
396
+ /**
397
+ * Get current queue length
398
+ */
399
+ getQueueLength() {
400
+ return this.taskQueue.length;
401
+ }
402
+ /**
403
+ * Clear the task queue without processing
404
+ */
405
+ clearQueue() {
406
+ const clearedCount = this.taskQueue.length;
407
+ this.taskQueue = [];
408
+ this.emit('queue-cleared', { clearedCount });
409
+ }
392
410
  /**
393
411
  * Get all active subagents (alias for tests)
394
412
  */
@@ -407,33 +425,57 @@ export class SubagentOrchestrator extends EventEmitter {
407
425
  }
408
426
  /**
409
427
  * Get orchestrator statistics
428
+ * REFACTOR: Single pass through results instead of two filter operations
410
429
  */
411
430
  getStats() {
412
- const results = Array.from(this.results.values());
431
+ let successfulTasks = 0;
432
+ let failedTasks = 0;
433
+ for (const result of this.results.values()) {
434
+ if (result.success) {
435
+ successfulTasks++;
436
+ }
437
+ else {
438
+ failedTasks++;
439
+ }
440
+ }
413
441
  return {
414
442
  activeAgents: this.subagents.size,
415
- totalResults: results.length,
416
- successfulTasks: results.filter(r => r.success).length,
417
- failedTasks: results.filter(r => !r.success).length,
443
+ totalResults: this.results.size,
444
+ successfulTasks,
445
+ failedTasks,
418
446
  };
419
447
  }
420
448
  /**
421
449
  * Spawn multiple subagents in parallel
450
+ * BUG FIX: Respects maxConcurrentAgents limit by spawning sequentially
451
+ * if the total would exceed the limit
422
452
  */
423
453
  async spawnParallel(configs) {
454
+ const maxAgents = this.config.maxConcurrentAgents ?? 5;
455
+ const availableSlots = maxAgents - this.subagents.size;
456
+ if (configs.length > availableSlots) {
457
+ throw new Error(`Cannot spawn ${configs.length} agents: only ${availableSlots} slots available (max: ${maxAgents}, current: ${this.subagents.size})`);
458
+ }
424
459
  return Promise.all(configs.map(({ role, config }) => this.spawn(role, config)));
425
460
  }
426
461
  /**
427
462
  * Send a message to a subagent
463
+ * BUG FIX: Actually call receiveMessage on the subagent instead of just emitting event
428
464
  */
429
- async sendMessage(subagentId, message) {
465
+ async sendMessage(subagentId, message, type = 'instruction') {
430
466
  const subagent = this.subagents.get(subagentId);
431
467
  if (!subagent) {
432
468
  throw new Error(`Subagent ${subagentId} not found`);
433
469
  }
434
- // Subagent will handle the message via receiveMessage method
435
- // For now, just emit an event
436
- this.emit('message-sent', { subagentId, message });
470
+ // Actually deliver the message to the subagent
471
+ await subagent.receiveMessage({
472
+ from: 'orchestrator',
473
+ to: 'subagent',
474
+ type,
475
+ content: message,
476
+ timestamp: new Date(),
477
+ });
478
+ this.emit('message-sent', { subagentId, message, type });
437
479
  }
438
480
  }
439
481
  //# sourceMappingURL=subagent-orchestrator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"subagent-orchestrator.js","sourceRoot":"","sources":["../../src/agent/subagent-orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subagent-orchestrator.js","sourceRoot":"","sources":["../../src/agent/subagent-orchestrator.ts"],"names":[],"mappings":"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"}
@@ -45,7 +45,9 @@ export var SubagentState;
45
45
  */
46
46
  export const DEFAULT_SUBAGENT_CONFIG = {
47
47
  [SubagentRole.GENERAL]: {
48
- allowedTools: ['bash', 'text_editor', 'search', 'todo'],
48
+ // BUG FIX: Removed 'todo' - subagents don't need todo functionality
49
+ // and there's no factory for it in TOOL_FACTORIES
50
+ allowedTools: ['bash', 'text_editor', 'search'],
49
51
  maxToolRounds: 30,
50
52
  contextDepth: 20,
51
53
  priority: 1,
@@ -1 +1 @@
1
- {"version":3,"file":"subagent-types.js","sourceRoot":"","sources":["../../src/agent/subagent-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subagent-types.js","sourceRoot":"","sources":["../../src/agent/subagent-types.ts"],"names":[],"mappings":"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"}
@@ -7,16 +7,19 @@
7
7
  */
8
8
  import { EventEmitter } from 'events';
9
9
  import { LLMClient } from '../llm/client.js';
10
- import type { LLMMessage } from '../llm/client.js';
10
+ import type { LLMMessage, LLMTool } from '../llm/client.js';
11
11
  import type { ChatEntry } from './llm-agent.js';
12
12
  import type { SubagentConfig, SubagentTask, SubagentResult, SubagentStatus } from './subagent-types.js';
13
13
  import { SubagentRole } from './subagent-types.js';
14
+ import type { ToolResult } from '../types/index.js';
14
15
  /**
15
16
  * Type for tools used by subagents
16
- * Note: Different tools have different method signatures (execute, search, view, etc.)
17
- * so we use a flexible type that allows any tool implementation
17
+ * Defines the minimal interface required for subagent tool execution
18
18
  */
19
- type SubagentTool = any;
19
+ interface SubagentTool {
20
+ execute(args: Record<string, unknown>): Promise<ToolResult>;
21
+ getToolDefinition?(): LLMTool;
22
+ }
20
23
  /**
21
24
  * Base Subagent class
22
25
  */
@@ -32,13 +35,18 @@ export declare class Subagent extends EventEmitter {
32
35
  protected currentTaskId: string | null;
33
36
  protected status: SubagentStatus;
34
37
  private toolCallArgsCache;
38
+ private cachedToolDefinitions;
35
39
  constructor(role: SubagentRole, configOverrides?: Partial<SubagentConfig>);
36
40
  /**
37
41
  * Get default configuration for a role
42
+ * BUG FIX: Use DEFAULT_SUBAGENT_CONFIG from subagent-types.ts as single source of truth
43
+ * This ensures consistency between the two definitions
38
44
  */
39
45
  private getDefaultConfig;
46
+ private static readonly TOOL_FACTORIES;
40
47
  /**
41
48
  * Initialize tools based on allowed tools in config
49
+ * REFACTOR: Use factory registry instead of if statements
42
50
  */
43
51
  private initializeTools;
44
52
  /**
@@ -65,6 +73,7 @@ export declare class Subagent extends EventEmitter {
65
73
  private executeToolCall;
66
74
  /**
67
75
  * Get tool definitions for LLM
76
+ * REFACTOR: Cache definitions since tools don't change after initialization
68
77
  */
69
78
  private getToolDefinitions;
70
79
  /**
@@ -73,6 +82,8 @@ export declare class Subagent extends EventEmitter {
73
82
  getStatus(): SubagentStatus;
74
83
  /**
75
84
  * Abort execution
85
+ * BUG FIX: Now properly stops execution by setting isActive = false
86
+ * which is checked in the execution loop
76
87
  */
77
88
  abort(): void;
78
89
  /**