attocode 0.2.2 → 0.2.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 (152) hide show
  1. package/CHANGELOG.md +103 -3
  2. package/dist/src/agent.d.ts +6 -0
  3. package/dist/src/agent.d.ts.map +1 -1
  4. package/dist/src/agent.js +504 -49
  5. package/dist/src/agent.js.map +1 -1
  6. package/dist/src/cli.d.ts.map +1 -1
  7. package/dist/src/cli.js +23 -2
  8. package/dist/src/cli.js.map +1 -1
  9. package/dist/src/core/protocol/types.d.ts +8 -8
  10. package/dist/src/defaults.d.ts +6 -1
  11. package/dist/src/defaults.d.ts.map +1 -1
  12. package/dist/src/defaults.js +36 -2
  13. package/dist/src/defaults.js.map +1 -1
  14. package/dist/src/integrations/agent-registry.d.ts +11 -0
  15. package/dist/src/integrations/agent-registry.d.ts.map +1 -1
  16. package/dist/src/integrations/agent-registry.js.map +1 -1
  17. package/dist/src/integrations/auto-compaction.d.ts.map +1 -1
  18. package/dist/src/integrations/auto-compaction.js +5 -1
  19. package/dist/src/integrations/auto-compaction.js.map +1 -1
  20. package/dist/src/integrations/bash-policy.d.ts +33 -0
  21. package/dist/src/integrations/bash-policy.d.ts.map +1 -0
  22. package/dist/src/integrations/bash-policy.js +142 -0
  23. package/dist/src/integrations/bash-policy.js.map +1 -0
  24. package/dist/src/integrations/codebase-context.d.ts +5 -0
  25. package/dist/src/integrations/codebase-context.d.ts.map +1 -1
  26. package/dist/src/integrations/codebase-context.js +33 -0
  27. package/dist/src/integrations/codebase-context.js.map +1 -1
  28. package/dist/src/integrations/delegation-protocol.js +2 -2
  29. package/dist/src/integrations/delegation-protocol.js.map +1 -1
  30. package/dist/src/integrations/economics.d.ts +42 -0
  31. package/dist/src/integrations/economics.d.ts.map +1 -1
  32. package/dist/src/integrations/economics.js +130 -14
  33. package/dist/src/integrations/economics.js.map +1 -1
  34. package/dist/src/integrations/hierarchical-config.d.ts.map +1 -1
  35. package/dist/src/integrations/hierarchical-config.js +17 -0
  36. package/dist/src/integrations/hierarchical-config.js.map +1 -1
  37. package/dist/src/integrations/index.d.ts +3 -1
  38. package/dist/src/integrations/index.d.ts.map +1 -1
  39. package/dist/src/integrations/index.js +3 -1
  40. package/dist/src/integrations/index.js.map +1 -1
  41. package/dist/src/integrations/policy-engine.d.ts +55 -0
  42. package/dist/src/integrations/policy-engine.d.ts.map +1 -0
  43. package/dist/src/integrations/policy-engine.js +247 -0
  44. package/dist/src/integrations/policy-engine.js.map +1 -0
  45. package/dist/src/integrations/safety.d.ts +5 -4
  46. package/dist/src/integrations/safety.d.ts.map +1 -1
  47. package/dist/src/integrations/safety.js +32 -7
  48. package/dist/src/integrations/safety.js.map +1 -1
  49. package/dist/src/integrations/sandbox/basic.d.ts +7 -0
  50. package/dist/src/integrations/sandbox/basic.d.ts.map +1 -1
  51. package/dist/src/integrations/sandbox/basic.js +27 -2
  52. package/dist/src/integrations/sandbox/basic.js.map +1 -1
  53. package/dist/src/integrations/sandbox/index.d.ts +6 -0
  54. package/dist/src/integrations/sandbox/index.d.ts.map +1 -1
  55. package/dist/src/integrations/sandbox/index.js +3 -0
  56. package/dist/src/integrations/sandbox/index.js.map +1 -1
  57. package/dist/src/integrations/sandbox/landlock.d.ts.map +1 -1
  58. package/dist/src/integrations/sandbox/landlock.js +3 -0
  59. package/dist/src/integrations/sandbox/landlock.js.map +1 -1
  60. package/dist/src/integrations/self-improvement.d.ts.map +1 -1
  61. package/dist/src/integrations/self-improvement.js +12 -0
  62. package/dist/src/integrations/self-improvement.js.map +1 -1
  63. package/dist/src/integrations/smart-decomposer.d.ts +18 -1
  64. package/dist/src/integrations/smart-decomposer.d.ts.map +1 -1
  65. package/dist/src/integrations/smart-decomposer.js +72 -0
  66. package/dist/src/integrations/smart-decomposer.js.map +1 -1
  67. package/dist/src/integrations/swarm/index.d.ts +1 -1
  68. package/dist/src/integrations/swarm/index.d.ts.map +1 -1
  69. package/dist/src/integrations/swarm/index.js.map +1 -1
  70. package/dist/src/integrations/swarm/model-selector.d.ts +15 -0
  71. package/dist/src/integrations/swarm/model-selector.d.ts.map +1 -1
  72. package/dist/src/integrations/swarm/model-selector.js +99 -20
  73. package/dist/src/integrations/swarm/model-selector.js.map +1 -1
  74. package/dist/src/integrations/swarm/swarm-budget.d.ts +4 -0
  75. package/dist/src/integrations/swarm/swarm-budget.d.ts.map +1 -1
  76. package/dist/src/integrations/swarm/swarm-budget.js +6 -0
  77. package/dist/src/integrations/swarm/swarm-budget.js.map +1 -1
  78. package/dist/src/integrations/swarm/swarm-config-loader.d.ts.map +1 -1
  79. package/dist/src/integrations/swarm/swarm-config-loader.js +154 -7
  80. package/dist/src/integrations/swarm/swarm-config-loader.js.map +1 -1
  81. package/dist/src/integrations/swarm/swarm-event-bridge.d.ts +12 -1
  82. package/dist/src/integrations/swarm/swarm-event-bridge.d.ts.map +1 -1
  83. package/dist/src/integrations/swarm/swarm-event-bridge.js +170 -23
  84. package/dist/src/integrations/swarm/swarm-event-bridge.js.map +1 -1
  85. package/dist/src/integrations/swarm/swarm-events.d.ts +55 -1
  86. package/dist/src/integrations/swarm/swarm-events.d.ts.map +1 -1
  87. package/dist/src/integrations/swarm/swarm-events.js +22 -5
  88. package/dist/src/integrations/swarm/swarm-events.js.map +1 -1
  89. package/dist/src/integrations/swarm/swarm-orchestrator.d.ts +124 -8
  90. package/dist/src/integrations/swarm/swarm-orchestrator.d.ts.map +1 -1
  91. package/dist/src/integrations/swarm/swarm-orchestrator.js +1668 -96
  92. package/dist/src/integrations/swarm/swarm-orchestrator.js.map +1 -1
  93. package/dist/src/integrations/swarm/swarm-quality-gate.d.ts +83 -2
  94. package/dist/src/integrations/swarm/swarm-quality-gate.d.ts.map +1 -1
  95. package/dist/src/integrations/swarm/swarm-quality-gate.js +278 -19
  96. package/dist/src/integrations/swarm/swarm-quality-gate.js.map +1 -1
  97. package/dist/src/integrations/swarm/task-queue.d.ts +44 -0
  98. package/dist/src/integrations/swarm/task-queue.d.ts.map +1 -1
  99. package/dist/src/integrations/swarm/task-queue.js +274 -11
  100. package/dist/src/integrations/swarm/task-queue.js.map +1 -1
  101. package/dist/src/integrations/swarm/types.d.ts +210 -13
  102. package/dist/src/integrations/swarm/types.d.ts.map +1 -1
  103. package/dist/src/integrations/swarm/types.js +61 -8
  104. package/dist/src/integrations/swarm/types.js.map +1 -1
  105. package/dist/src/integrations/swarm/worker-pool.d.ts +11 -4
  106. package/dist/src/integrations/swarm/worker-pool.d.ts.map +1 -1
  107. package/dist/src/integrations/swarm/worker-pool.js +173 -43
  108. package/dist/src/integrations/swarm/worker-pool.js.map +1 -1
  109. package/dist/src/integrations/tool-recommendation.d.ts +7 -4
  110. package/dist/src/integrations/tool-recommendation.d.ts.map +1 -1
  111. package/dist/src/integrations/tool-recommendation.js +58 -5
  112. package/dist/src/integrations/tool-recommendation.js.map +1 -1
  113. package/dist/src/integrations/work-log.js +4 -4
  114. package/dist/src/integrations/work-log.js.map +1 -1
  115. package/dist/src/main.js +26 -1
  116. package/dist/src/main.js.map +1 -1
  117. package/dist/src/modes/repl.d.ts.map +1 -1
  118. package/dist/src/modes/repl.js +10 -4
  119. package/dist/src/modes/repl.js.map +1 -1
  120. package/dist/src/modes/tui.d.ts.map +1 -1
  121. package/dist/src/modes/tui.js +5 -0
  122. package/dist/src/modes/tui.js.map +1 -1
  123. package/dist/src/modes.d.ts.map +1 -1
  124. package/dist/src/modes.js +4 -27
  125. package/dist/src/modes.js.map +1 -1
  126. package/dist/src/tools/agent.d.ts.map +1 -1
  127. package/dist/src/tools/agent.js +11 -2
  128. package/dist/src/tools/agent.js.map +1 -1
  129. package/dist/src/tools/bash.d.ts +3 -3
  130. package/dist/src/tools/coercion.d.ts +6 -0
  131. package/dist/src/tools/coercion.d.ts.map +1 -1
  132. package/dist/src/tools/coercion.js +13 -0
  133. package/dist/src/tools/coercion.js.map +1 -1
  134. package/dist/src/tools/file.d.ts +2 -2
  135. package/dist/src/tools/file.js +2 -2
  136. package/dist/src/tools/file.js.map +1 -1
  137. package/dist/src/tools/permission.d.ts.map +1 -1
  138. package/dist/src/tools/permission.js +4 -111
  139. package/dist/src/tools/permission.js.map +1 -1
  140. package/dist/src/tracing/trace-collector.d.ts +167 -0
  141. package/dist/src/tracing/trace-collector.d.ts.map +1 -1
  142. package/dist/src/tracing/trace-collector.js +137 -0
  143. package/dist/src/tracing/trace-collector.js.map +1 -1
  144. package/dist/src/tracing/types.d.ts +105 -1
  145. package/dist/src/tracing/types.d.ts.map +1 -1
  146. package/dist/src/tracing/types.js.map +1 -1
  147. package/dist/src/tui/app.d.ts.map +1 -1
  148. package/dist/src/tui/app.js +34 -5
  149. package/dist/src/tui/app.js.map +1 -1
  150. package/dist/src/types.d.ts +71 -0
  151. package/dist/src/types.d.ts.map +1 -1
  152. package/package.json +1 -1
@@ -24,19 +24,24 @@ export function formatSwarmEvent(event) {
24
24
  case 'swarm.wave.complete':
25
25
  return `Wave ${event.wave}/${event.totalWaves} complete: ${event.completed} done, ${event.failed} failed, ${event.skipped} skipped`;
26
26
  case 'swarm.task.dispatched':
27
- return `Task ${event.taskId} → ${event.workerName} (${event.model}): ${event.description.slice(0, 80)}`;
27
+ return `Task ${event.taskId} → ${event.workerName} (${event.model}${event.fromModel ? `, was ${event.fromModel}` : ''}): ${event.description.slice(0, 80)}${event.toolCount >= 0 ? ` [${event.toolCount} tools]` : ''}`;
28
28
  case 'swarm.task.completed':
29
29
  return `Task ${event.taskId} ${event.success ? 'completed' : 'failed'} (${event.tokensUsed} tokens, $${event.costUsed.toFixed(4)}, ${(event.durationMs / 1000).toFixed(1)}s)`;
30
30
  case 'swarm.task.failed':
31
- return `Task ${event.taskId} failed (attempt ${event.attempt}/${event.maxAttempts}): ${event.error}${event.willRetry ? ' — will retry' : ''}`;
31
+ return `Task ${event.taskId} failed (attempt ${event.attempt}/${event.maxAttempts}): ${event.error}${event.willRetry ? ' — will retry' : ''}${event.toolCalls !== undefined ? ` [${event.toolCalls === -1 ? 'timeout' : event.toolCalls + ' tools'}]` : ''}`;
32
32
  case 'swarm.task.skipped':
33
33
  return `Task ${event.taskId} skipped: ${event.reason}`;
34
34
  case 'swarm.quality.rejected':
35
- return `Task ${event.taskId} rejected (score ${event.score}/5): ${event.feedback}`;
35
+ return `Task ${event.taskId} rejected (score ${event.score}/5): ${event.feedback} [artifacts: ${event.artifactCount}, output: ${event.outputLength} chars${event.preFlightReject ? ', pre-flight' : ''}]`;
36
36
  case 'swarm.budget.update':
37
37
  return `Budget: ${(event.tokensUsed / 1000).toFixed(0)}k/${(event.tokensTotal / 1000).toFixed(0)}k tokens, $${event.costUsed.toFixed(4)}/$${event.costTotal.toFixed(2)}`;
38
- case 'swarm.complete':
39
- return `Swarm complete: ${event.stats.completedTasks}/${event.stats.totalTasks} tasks, ${(event.stats.totalTokens / 1000).toFixed(0)}k tokens, $${event.stats.totalCost.toFixed(4)}`;
38
+ case 'swarm.complete': {
39
+ const base = `Swarm complete: ${event.stats.completedTasks}/${event.stats.totalTasks} tasks, ${(event.stats.totalTokens / 1000).toFixed(0)}k tokens, $${event.stats.totalCost.toFixed(4)}`;
40
+ const artifacts = event.artifactInventory?.totalFiles
41
+ ? `, ${event.artifactInventory.totalFiles} files on disk (${(event.artifactInventory.totalBytes / 1024).toFixed(1)}KB)`
42
+ : '';
43
+ return base + artifacts;
44
+ }
40
45
  case 'swarm.status':
41
46
  return `Swarm: wave ${event.status.currentWave}/${event.status.totalWaves}, ${event.status.activeWorkers.length} workers active`;
42
47
  case 'swarm.error':
@@ -80,6 +85,18 @@ export function formatSwarmEvent(event) {
80
85
  return `Wave ${event.wave}: ALL tasks failed — attempting recovery`;
81
86
  case 'swarm.phase.progress':
82
87
  return `[${event.phase}] ${event.message}`;
88
+ case 'swarm.orchestrator.llm':
89
+ return `Orchestrator LLM (${event.purpose}): ${event.model.split('/').pop() ?? event.model}, ${event.tokens} tokens, $${event.cost.toFixed(4)}`;
90
+ case 'swarm.task.attempt':
91
+ return `Task ${event.taskId} attempt ${event.attempt}: ${event.success ? 'success' : 'failed'} (${event.model.split('/').pop() ?? event.model}, ${(event.durationMs / 1000).toFixed(1)}s, ${event.toolCalls === -1 ? 'timeout' : event.toolCalls + ' tools'}${event.failureMode ? `, ${event.failureMode}` : ''})`;
92
+ case 'swarm.task.resilience':
93
+ return `Task ${event.taskId} resilience: ${event.strategy} — ${event.succeeded ? 'recovered' : 'failed'} (${event.reason}, ${event.artifactsFound} artifacts, ${event.toolCalls} tools)`;
94
+ case 'swarm.abort':
95
+ return `Swarm ABORTED: ${event.reason}`;
96
+ case 'swarm.replan':
97
+ return `Swarm re-planned: ${event.stuckCount} stuck tasks → ${event.newTaskCount} new tasks`;
98
+ case 'swarm.stall':
99
+ return `Swarm stalled: ${event.completed}/${event.attempted} tasks succeeded (${(event.progressRatio * 100).toFixed(0)}%)`;
83
100
  }
84
101
  }
85
102
  //# sourceMappingURL=swarm-events.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"swarm-events.js","sourceRoot":"","sources":["../../../../src/integrations/swarm/swarm-events.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA2CH;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,KAAuB;IAClD,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAiB;IAChD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,aAAa;YAChB,OAAO,kBAAkB,KAAK,CAAC,SAAS,aAAa,KAAK,CAAC,SAAS,eAAe,KAAK,CAAC,MAAM,CAAC,cAAc,cAAc,CAAC;QAC/H,KAAK,oBAAoB;YACvB,OAAO,iBAAiB,KAAK,CAAC,KAAK,CAAC,MAAM,8BAA8B,CAAC;QAC3E,KAAK,kBAAkB;YACrB,OAAO,QAAQ,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,UAAU,iBAAiB,KAAK,CAAC,SAAS,QAAQ,CAAC;QACxF,KAAK,qBAAqB;YACxB,OAAO,QAAQ,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,UAAU,cAAc,KAAK,CAAC,SAAS,UAAU,KAAK,CAAC,MAAM,YAAY,KAAK,CAAC,OAAO,UAAU,CAAC;QACtI,KAAK,uBAAuB;YAC1B,OAAO,QAAQ,KAAK,CAAC,MAAM,MAAM,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC,KAAK,MAAM,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QAC1G,KAAK,sBAAsB;YACzB,OAAO,QAAQ,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,UAAU,aAAa,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QAChL,KAAK,mBAAmB;YACtB,OAAO,QAAQ,KAAK,CAAC,MAAM,oBAAoB,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,WAAW,MAAM,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAChJ,KAAK,oBAAoB;YACvB,OAAO,QAAQ,KAAK,CAAC,MAAM,aAAa,KAAK,CAAC,MAAM,EAAE,CAAC;QACzD,KAAK,wBAAwB;YAC3B,OAAO,QAAQ,KAAK,CAAC,MAAM,oBAAoB,KAAK,CAAC,KAAK,QAAQ,KAAK,CAAC,QAAQ,EAAE,CAAC;QACrF,KAAK,qBAAqB;YACxB,OAAO,WAAW,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3K,KAAK,gBAAgB;YACnB,OAAO,mBAAmB,KAAK,CAAC,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACvL,KAAK,cAAc;YACjB,OAAO,eAAe,KAAK,CAAC,MAAM,CAAC,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,KAAK,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,iBAAiB,CAAC;QACnI,KAAK,aAAa;YAChB,OAAO,kBAAkB,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC;QACzD,YAAY;QACZ,KAAK,qBAAqB;YACxB,OAAO,iBAAiB,KAAK,CAAC,aAAa,uBAAuB,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACtI,KAAK,oBAAoB;YACvB,OAAO,kBAAkB,KAAK,CAAC,IAAI,aAAa,CAAC;QACnD,KAAK,uBAAuB;YAC1B,OAAO,QAAQ,KAAK,CAAC,IAAI,YAAY,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,UAAU,wBAAwB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACtI,KAAK,oBAAoB;YACvB,OAAO,WAAW,KAAK,CAAC,SAAS,wBAAwB,CAAC;QAC5D,KAAK,mBAAmB;YACtB,OAAO,eAAe,KAAK,CAAC,SAAS,GAAG,CAAC,KAAK,KAAK,CAAC,WAAW,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QACxG,KAAK,uBAAuB;YAC1B,OAAO,gBAAgB,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9F,KAAK,oBAAoB;YACvB,OAAO,sBAAsB,KAAK,CAAC,MAAM,aAAa,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC;QAC7F,KAAK,sBAAsB;YACzB,OAAO,wBAAwB,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,SAAS,MAAM,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC;QACxG,KAAK,oBAAoB;YACvB,OAAO,iBAAiB,KAAK,CAAC,MAAM,CAAC,KAAK,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,KAAK,KAAK,CAAC,MAAM,CAAC,SAAS,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,QAAQ,KAAK,CAAC,MAAM,CAAC,UAAU,KAAK,CAAC;QAC3L,KAAK,wBAAwB;YAC3B,OAAO,6BAA6B,KAAK,CAAC,SAAS,UAAU,KAAK,CAAC,IAAI,EAAE,CAAC;QAC5E,KAAK,oBAAoB;YACvB,OAAO,oBAAoB,KAAK,CAAC,SAAS,cAAc,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC3E,KAAK,6BAA6B;YAChC,OAAO,aAAa,KAAK,CAAC,QAAQ,CAAC,KAAK,MAAM,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAC1E,KAAK,qBAAqB;YACxB,OAAO,eAAe,KAAK,CAAC,MAAM,YAAY,KAAK,CAAC,WAAW,KAAK,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QACvG,KAAK,oBAAoB;YACvB,OAAO,yBAAyB,KAAK,CAAC,WAAW,6CAA6C,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;QACrI,KAAK,sBAAsB;YACzB,OAAO,0CAA0C,CAAC;QACpD,KAAK,mBAAmB,CAAC,CAAC,CAAC;YACzB,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC3E,OAAO,GAAG,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACxI,CAAC;QACD,KAAK,sBAAsB;YACzB,OAAO,QAAQ,KAAK,CAAC,IAAI,0CAA0C,CAAC;QACtE,KAAK,sBAAsB;YACzB,OAAO,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;IAC/C,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"swarm-events.js","sourceRoot":"","sources":["../../../../src/integrations/swarm/swarm-events.ts"],"names":[],"mappings":"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"}
@@ -24,12 +24,7 @@ import { type SwarmBudgetPool } from './swarm-budget.js';
24
24
  import { type SpawnAgentFn } from './worker-pool.js';
25
25
  import type { SwarmEvent } from './swarm-events.js';
26
26
  import type { SpawnResult } from '../agent-registry.js';
27
- /**
28
- * V10: Minimal hollow completion detection — let the quality gate judge everything else.
29
- * Only catches truly empty completions: zero tool calls AND trivial output (<50 chars).
30
- * No task-type lists, no closure report checks, no hardcoded thresholds beyond the bare minimum.
31
- */
32
- export declare function isHollowCompletion(spawnResult: SpawnResult): boolean;
27
+ export declare function isHollowCompletion(spawnResult: SpawnResult, taskType?: string, swarmConfig?: import('./types.js').SwarmConfig): boolean;
33
28
  export type SwarmEventListener = (event: SwarmEvent) => void;
34
29
  export declare class SwarmOrchestrator {
35
30
  private config;
@@ -50,9 +45,13 @@ export declare class SwarmOrchestrator {
50
45
  private retries;
51
46
  private startTime;
52
47
  private modelUsage;
48
+ private orchestratorTokens;
49
+ private orchestratorCost;
50
+ private orchestratorCalls;
53
51
  private plan?;
54
52
  private waveReviews;
55
53
  private verificationResult?;
54
+ private artifactInventory?;
56
55
  private orchestratorDecisions;
57
56
  private healthTracker;
58
57
  private stateStore?;
@@ -62,9 +61,18 @@ export declare class SwarmOrchestrator {
62
61
  private static readonly CIRCUIT_BREAKER_WINDOW_MS;
63
62
  private static readonly CIRCUIT_BREAKER_THRESHOLD;
64
63
  private static readonly CIRCUIT_BREAKER_PAUSE_MS;
65
- private consecutiveQualityRejections;
66
- private qualityGateDisabled;
64
+ private perModelQualityRejections;
65
+ private qualityGateDisabledModels;
67
66
  private static readonly QUALITY_CIRCUIT_BREAKER_THRESHOLD;
67
+ private hollowStreak;
68
+ private static readonly HOLLOW_STREAK_THRESHOLD;
69
+ private totalDispatches;
70
+ private totalHollows;
71
+ private hollowRatioWarned;
72
+ private adaptiveStaggerMs;
73
+ private taskTimeoutCounts;
74
+ private originalPrompt;
75
+ private hasReplanned;
68
76
  constructor(config: SwarmConfig, provider: LLMProvider, agentRegistry: AgentRegistry, spawnAgentFn: SpawnAgentFn, blackboard?: SharedBlackboard);
69
77
  /**
70
78
  * Get the swarm budget pool (used by parent agent to override its own pool).
@@ -78,6 +86,10 @@ export declare class SwarmOrchestrator {
78
86
  * Emit a swarm event to all listeners.
79
87
  */
80
88
  private emit;
89
+ /**
90
+ * Track token usage from an orchestrator LLM call.
91
+ */
92
+ private trackOrchestratorUsage;
81
93
  /**
82
94
  * Execute the full swarm pipeline for a task.
83
95
  *
@@ -149,6 +161,14 @@ export declare class SwarmOrchestrator {
149
161
  * M6: Wait for active workers before cleanup.
150
162
  */
151
163
  cancel(): Promise<void>;
164
+ /**
165
+ * D3/F23: Probe each unique model to verify it can make tool calls.
166
+ * Models that fail the probe are marked unhealthy so they're skipped in dispatch.
167
+ *
168
+ * F23 fix: Uses chatWithTools() with actual tool definitions instead of
169
+ * plain chat() which never included tools in the API request.
170
+ */
171
+ private probeModelCapability;
152
172
  /**
153
173
  * Record a rate limit hit and check if the circuit breaker should trip.
154
174
  */
@@ -158,6 +178,12 @@ export declare class SwarmOrchestrator {
158
178
  * Returns true if dispatch should be paused.
159
179
  */
160
180
  private isCircuitBreakerActive;
181
+ /** P7: Get current stagger delay (adapts based on rate limit / success signals). */
182
+ private getStaggerMs;
183
+ /** P7: Increase stagger on rate limit (×1.5, capped at 10s). */
184
+ private increaseStagger;
185
+ /** P7: Decrease stagger on success (×0.9, floor at 200ms). */
186
+ private decreaseStagger;
161
187
  private logDecision;
162
188
  private checkpoint;
163
189
  private emitBudgetUpdate;
@@ -167,6 +193,96 @@ export declare class SwarmOrchestrator {
167
193
  private buildErrorResult;
168
194
  /** Parse JSON from LLM response, handling markdown code blocks. */
169
195
  private parseJSON;
196
+ /**
197
+ * Detect foundation tasks: tasks that are a dependency of 2+ downstream tasks.
198
+ * These are critical single-points-of-failure — mark them for extra resilience.
199
+ */
200
+ private detectFoundationTasks;
201
+ /**
202
+ * Extract file artifacts from a worker's output for quality gate visibility.
203
+ * Reads actual file content from disk so the judge can verify real work,
204
+ * not just text claims about what was created.
205
+ */
206
+ private extractFileArtifacts;
207
+ /**
208
+ * Build an inventory of filesystem artifacts produced during swarm execution.
209
+ * Scans all tasks' targetFiles and readFiles to check what actually exists on disk.
210
+ * This reveals work done by workers even when tasks "failed" (timeout, quality gate, etc.).
211
+ */
212
+ private buildArtifactInventory;
213
+ /**
214
+ * Skip all remaining pending/ready tasks (used for early termination).
215
+ */
216
+ private skipRemainingTasks;
217
+ /**
218
+ * F21: Mid-swarm situational assessment after each wave.
219
+ * Evaluates success rate and budget health, triages low-priority tasks when budget is tight.
220
+ * Also detects stalled progress and triggers mid-swarm re-planning.
221
+ */
222
+ private assessAndAdapt;
223
+ /**
224
+ * F21: Find expendable tasks — leaf tasks (no dependents) with lowest complexity.
225
+ * These are the safest to skip when budget is tight.
226
+ * Only tasks with complexity <= 2 are considered expendable.
227
+ */
228
+ private findExpendableTasks;
229
+ /**
230
+ * Mid-swarm re-planning: when progress stalls, ask LLM to re-plan remaining work.
231
+ * Creates simpler replacement tasks for stuck/failed work, building on what's already done.
232
+ * Only triggers once per swarm execution to avoid infinite re-planning loops.
233
+ */
234
+ private midSwarmReplan;
235
+ /**
236
+ * Rescue cascade-skipped tasks that can still run.
237
+ * After cascade-skip fires, assess whether skipped tasks can still be attempted:
238
+ * - If all OTHER dependencies completed and the failed dep's artifacts exist on disk → un-skip
239
+ * - If the task has no strict data dependency on the failed task (different file targets) → un-skip with warning
240
+ */
241
+ private rescueCascadeSkipped;
242
+ /**
243
+ * Final rescue pass — runs after executeWaves() finishes.
244
+ * Uses lenient mode to rescue cascade-skipped tasks that have partial context.
245
+ * Re-dispatches rescued tasks in a final wave.
246
+ */
247
+ private finalRescuePass;
248
+ /**
249
+ * Try resilience recovery strategies before hard-failing a task.
250
+ * Called from dispatch-cap, timeout, hollow, and error paths to avoid bypassing resilience.
251
+ *
252
+ * Strategies (in order):
253
+ * 1. Micro-decomposition — break complex failing tasks into subtasks
254
+ * 2. Degraded acceptance — accept partial work if artifacts exist on disk
255
+ *
256
+ * Returns true if recovery succeeded (caller should return), false if hard-fail should proceed.
257
+ */
258
+ private tryResilienceRecovery;
259
+ /**
260
+ * Micro-decompose a complex task into 2-3 smaller subtasks using the LLM.
261
+ * Called when a complex task (complexity >= 6) fails 2+ times with the same failure mode.
262
+ * Returns null if decomposition doesn't make sense or LLM can't produce valid subtasks.
263
+ */
264
+ private microDecompose;
265
+ /**
266
+ * Heuristic pre-filter: should this task be considered for auto-split?
267
+ * Cheap check — no LLM call. Returns true if all conditions are met.
268
+ */
269
+ private shouldAutoSplit;
270
+ /**
271
+ * LLM judge call: ask the orchestrator model whether and how to split a task.
272
+ * Returns { shouldSplit: false } or { shouldSplit: true, subtasks: [...] }.
273
+ */
274
+ private judgeSplit;
275
+ /**
276
+ * V7: Compute effective retry limit for a task.
277
+ * F10: Fixup tasks get max 2 retries (3 attempts total) — one full model-failover cycle.
278
+ * Foundation tasks get +1 retry to reduce cascade failure risk.
279
+ */
280
+ private getEffectiveRetries;
281
+ /**
282
+ * F22: Build a brief summary of swarm progress for retry context.
283
+ * Helps retrying workers understand what the swarm has already accomplished.
284
+ */
285
+ private getSwarmProgressSummary;
170
286
  /** Get a model health summary for emitting events. */
171
287
  private getModelHealthSummary;
172
288
  }
@@ -1 +1 @@
1
- {"version":3,"file":"swarm-orchestrator.d.ts","sourceRoot":"","sources":["../../../../src/integrations/swarm/swarm-orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"swarm-orchestrator.d.ts","sourceRoot":"","sources":["../../../../src/integrations/swarm/swarm-orchestrator.ts"],"names":[],"mappings":"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"}