attocode 0.2.2 → 0.2.4

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 (382) hide show
  1. package/CHANGELOG.md +169 -3
  2. package/README.md +65 -5
  3. package/dist/src/adapters.d.ts.map +1 -1
  4. package/dist/src/adapters.js +15 -11
  5. package/dist/src/adapters.js.map +1 -1
  6. package/dist/src/agent.d.ts +44 -98
  7. package/dist/src/agent.d.ts.map +1 -1
  8. package/dist/src/agent.js +716 -2648
  9. package/dist/src/agent.js.map +1 -1
  10. package/dist/src/cli.d.ts.map +1 -1
  11. package/dist/src/cli.js +25 -3
  12. package/dist/src/cli.js.map +1 -1
  13. package/dist/src/commands/handler.d.ts.map +1 -1
  14. package/dist/src/commands/handler.js +11 -3
  15. package/dist/src/commands/handler.js.map +1 -1
  16. package/dist/src/commands/init-commands.d.ts.map +1 -1
  17. package/dist/src/commands/init-commands.js +16 -1
  18. package/dist/src/commands/init-commands.js.map +1 -1
  19. package/dist/src/commands/init.d.ts.map +1 -1
  20. package/dist/src/commands/init.js +31 -0
  21. package/dist/src/commands/init.js.map +1 -1
  22. package/dist/src/config/base-types.d.ts +45 -0
  23. package/dist/src/config/base-types.d.ts.map +1 -0
  24. package/dist/src/config/base-types.js +9 -0
  25. package/dist/src/config/base-types.js.map +1 -0
  26. package/dist/src/config/config-manager.d.ts +35 -0
  27. package/dist/src/config/config-manager.d.ts.map +1 -0
  28. package/dist/src/config/config-manager.js +108 -0
  29. package/dist/src/config/config-manager.js.map +1 -0
  30. package/dist/src/config/index.d.ts +4 -0
  31. package/dist/src/config/index.d.ts.map +1 -0
  32. package/dist/src/config/index.js +3 -0
  33. package/dist/src/config/index.js.map +1 -0
  34. package/dist/src/config/schema.d.ts +1546 -0
  35. package/dist/src/config/schema.d.ts.map +1 -0
  36. package/dist/src/config/schema.js +268 -0
  37. package/dist/src/config/schema.js.map +1 -0
  38. package/dist/src/config.d.ts +4 -1
  39. package/dist/src/config.d.ts.map +1 -1
  40. package/dist/src/config.js +8 -12
  41. package/dist/src/config.js.map +1 -1
  42. package/dist/src/core/agent-state-machine.d.ts +131 -0
  43. package/dist/src/core/agent-state-machine.d.ts.map +1 -0
  44. package/dist/src/core/agent-state-machine.js +302 -0
  45. package/dist/src/core/agent-state-machine.js.map +1 -0
  46. package/dist/src/core/base-manager.d.ts +79 -0
  47. package/dist/src/core/base-manager.d.ts.map +1 -0
  48. package/dist/src/core/base-manager.js +170 -0
  49. package/dist/src/core/base-manager.js.map +1 -0
  50. package/dist/src/core/completion-analyzer.d.ts +15 -0
  51. package/dist/src/core/completion-analyzer.d.ts.map +1 -0
  52. package/dist/src/core/completion-analyzer.js +53 -0
  53. package/dist/src/core/completion-analyzer.js.map +1 -0
  54. package/dist/src/core/execution-loop.d.ts +46 -0
  55. package/dist/src/core/execution-loop.d.ts.map +1 -0
  56. package/dist/src/core/execution-loop.js +1258 -0
  57. package/dist/src/core/execution-loop.js.map +1 -0
  58. package/dist/src/core/index.d.ts +7 -0
  59. package/dist/src/core/index.d.ts.map +1 -1
  60. package/dist/src/core/index.js +9 -0
  61. package/dist/src/core/index.js.map +1 -1
  62. package/dist/src/core/process-handlers.d.ts.map +1 -1
  63. package/dist/src/core/process-handlers.js +14 -0
  64. package/dist/src/core/process-handlers.js.map +1 -1
  65. package/dist/src/core/protocol/types.d.ts +4 -4
  66. package/dist/src/core/response-handler.d.ts +16 -0
  67. package/dist/src/core/response-handler.d.ts.map +1 -0
  68. package/dist/src/core/response-handler.js +234 -0
  69. package/dist/src/core/response-handler.js.map +1 -0
  70. package/dist/src/core/subagent-spawner.d.ts +43 -0
  71. package/dist/src/core/subagent-spawner.d.ts.map +1 -0
  72. package/dist/src/core/subagent-spawner.js +966 -0
  73. package/dist/src/core/subagent-spawner.js.map +1 -0
  74. package/dist/src/core/tool-executor.d.ts +59 -0
  75. package/dist/src/core/tool-executor.d.ts.map +1 -0
  76. package/dist/src/core/tool-executor.js +677 -0
  77. package/dist/src/core/tool-executor.js.map +1 -0
  78. package/dist/src/core/types.d.ts +133 -0
  79. package/dist/src/core/types.d.ts.map +1 -0
  80. package/dist/src/core/types.js +12 -0
  81. package/dist/src/core/types.js.map +1 -0
  82. package/dist/src/defaults.d.ts +8 -3
  83. package/dist/src/defaults.d.ts.map +1 -1
  84. package/dist/src/defaults.js +65 -3
  85. package/dist/src/defaults.js.map +1 -1
  86. package/dist/src/integrations/agent-registry.d.ts +11 -0
  87. package/dist/src/integrations/agent-registry.d.ts.map +1 -1
  88. package/dist/src/integrations/agent-registry.js.map +1 -1
  89. package/dist/src/integrations/auto-compaction.d.ts.map +1 -1
  90. package/dist/src/integrations/auto-compaction.js +8 -3
  91. package/dist/src/integrations/auto-compaction.js.map +1 -1
  92. package/dist/src/integrations/bash-policy.d.ts +33 -0
  93. package/dist/src/integrations/bash-policy.d.ts.map +1 -0
  94. package/dist/src/integrations/bash-policy.js +142 -0
  95. package/dist/src/integrations/bash-policy.js.map +1 -0
  96. package/dist/src/integrations/budget-pool.d.ts +7 -0
  97. package/dist/src/integrations/budget-pool.d.ts.map +1 -1
  98. package/dist/src/integrations/budget-pool.js +43 -0
  99. package/dist/src/integrations/budget-pool.js.map +1 -1
  100. package/dist/src/integrations/codebase-ast.d.ts +52 -0
  101. package/dist/src/integrations/codebase-ast.d.ts.map +1 -0
  102. package/dist/src/integrations/codebase-ast.js +457 -0
  103. package/dist/src/integrations/codebase-ast.js.map +1 -0
  104. package/dist/src/integrations/codebase-context.d.ts +23 -0
  105. package/dist/src/integrations/codebase-context.d.ts.map +1 -1
  106. package/dist/src/integrations/codebase-context.js +230 -17
  107. package/dist/src/integrations/codebase-context.js.map +1 -1
  108. package/dist/src/integrations/compaction.d.ts.map +1 -1
  109. package/dist/src/integrations/compaction.js +14 -6
  110. package/dist/src/integrations/compaction.js.map +1 -1
  111. package/dist/src/integrations/context-engineering.d.ts +8 -0
  112. package/dist/src/integrations/context-engineering.d.ts.map +1 -1
  113. package/dist/src/integrations/context-engineering.js +19 -0
  114. package/dist/src/integrations/context-engineering.js.map +1 -1
  115. package/dist/src/integrations/delegation-protocol.js +2 -2
  116. package/dist/src/integrations/delegation-protocol.js.map +1 -1
  117. package/dist/src/integrations/economics.d.ts +67 -1
  118. package/dist/src/integrations/economics.d.ts.map +1 -1
  119. package/dist/src/integrations/economics.js +328 -33
  120. package/dist/src/integrations/economics.js.map +1 -1
  121. package/dist/src/integrations/edit-validator.d.ts +30 -0
  122. package/dist/src/integrations/edit-validator.d.ts.map +1 -0
  123. package/dist/src/integrations/edit-validator.js +85 -0
  124. package/dist/src/integrations/edit-validator.js.map +1 -0
  125. package/dist/src/integrations/file-cache.d.ts +7 -0
  126. package/dist/src/integrations/file-cache.d.ts.map +1 -1
  127. package/dist/src/integrations/file-cache.js +54 -0
  128. package/dist/src/integrations/file-cache.js.map +1 -1
  129. package/dist/src/integrations/health-check.d.ts.map +1 -1
  130. package/dist/src/integrations/health-check.js +3 -2
  131. package/dist/src/integrations/health-check.js.map +1 -1
  132. package/dist/src/integrations/hierarchical-config.d.ts +3 -0
  133. package/dist/src/integrations/hierarchical-config.d.ts.map +1 -1
  134. package/dist/src/integrations/hierarchical-config.js +20 -0
  135. package/dist/src/integrations/hierarchical-config.js.map +1 -1
  136. package/dist/src/integrations/hooks.d.ts +2 -0
  137. package/dist/src/integrations/hooks.d.ts.map +1 -1
  138. package/dist/src/integrations/hooks.js +99 -15
  139. package/dist/src/integrations/hooks.js.map +1 -1
  140. package/dist/src/integrations/index.d.ts +10 -1
  141. package/dist/src/integrations/index.d.ts.map +1 -1
  142. package/dist/src/integrations/index.js +12 -2
  143. package/dist/src/integrations/index.js.map +1 -1
  144. package/dist/src/integrations/logger.d.ts +104 -0
  145. package/dist/src/integrations/logger.d.ts.map +1 -0
  146. package/dist/src/integrations/logger.js +219 -0
  147. package/dist/src/integrations/logger.js.map +1 -0
  148. package/dist/src/integrations/lsp.d.ts.map +1 -1
  149. package/dist/src/integrations/lsp.js +5 -4
  150. package/dist/src/integrations/lsp.js.map +1 -1
  151. package/dist/src/integrations/mcp-client.d.ts.map +1 -1
  152. package/dist/src/integrations/mcp-client.js +8 -7
  153. package/dist/src/integrations/mcp-client.js.map +1 -1
  154. package/dist/src/integrations/observability.d.ts.map +1 -1
  155. package/dist/src/integrations/observability.js +5 -4
  156. package/dist/src/integrations/observability.js.map +1 -1
  157. package/dist/src/integrations/openrouter-pricing.d.ts.map +1 -1
  158. package/dist/src/integrations/openrouter-pricing.js +4 -3
  159. package/dist/src/integrations/openrouter-pricing.js.map +1 -1
  160. package/dist/src/integrations/persistence.d.ts.map +1 -1
  161. package/dist/src/integrations/persistence.js +5 -4
  162. package/dist/src/integrations/persistence.js.map +1 -1
  163. package/dist/src/integrations/planning.d.ts.map +1 -1
  164. package/dist/src/integrations/planning.js +5 -4
  165. package/dist/src/integrations/planning.js.map +1 -1
  166. package/dist/src/integrations/policy-engine.d.ts +55 -0
  167. package/dist/src/integrations/policy-engine.d.ts.map +1 -0
  168. package/dist/src/integrations/policy-engine.js +247 -0
  169. package/dist/src/integrations/policy-engine.js.map +1 -0
  170. package/dist/src/integrations/retry.d.ts +1 -0
  171. package/dist/src/integrations/retry.d.ts.map +1 -1
  172. package/dist/src/integrations/retry.js.map +1 -1
  173. package/dist/src/integrations/routing.d.ts.map +1 -1
  174. package/dist/src/integrations/routing.js +2 -1
  175. package/dist/src/integrations/routing.js.map +1 -1
  176. package/dist/src/integrations/safety.d.ts +5 -4
  177. package/dist/src/integrations/safety.d.ts.map +1 -1
  178. package/dist/src/integrations/safety.js +45 -20
  179. package/dist/src/integrations/safety.js.map +1 -1
  180. package/dist/src/integrations/sandbox/basic.d.ts +7 -0
  181. package/dist/src/integrations/sandbox/basic.d.ts.map +1 -1
  182. package/dist/src/integrations/sandbox/basic.js +27 -2
  183. package/dist/src/integrations/sandbox/basic.js.map +1 -1
  184. package/dist/src/integrations/sandbox/docker.d.ts.map +1 -1
  185. package/dist/src/integrations/sandbox/docker.js +2 -1
  186. package/dist/src/integrations/sandbox/docker.js.map +1 -1
  187. package/dist/src/integrations/sandbox/index.d.ts +6 -0
  188. package/dist/src/integrations/sandbox/index.d.ts.map +1 -1
  189. package/dist/src/integrations/sandbox/index.js +8 -4
  190. package/dist/src/integrations/sandbox/index.js.map +1 -1
  191. package/dist/src/integrations/sandbox/landlock.d.ts.map +1 -1
  192. package/dist/src/integrations/sandbox/landlock.js +3 -0
  193. package/dist/src/integrations/sandbox/landlock.js.map +1 -1
  194. package/dist/src/integrations/self-improvement.d.ts.map +1 -1
  195. package/dist/src/integrations/self-improvement.js +12 -0
  196. package/dist/src/integrations/self-improvement.js.map +1 -1
  197. package/dist/src/integrations/session-store.d.ts +1 -0
  198. package/dist/src/integrations/session-store.d.ts.map +1 -1
  199. package/dist/src/integrations/session-store.js +1 -0
  200. package/dist/src/integrations/session-store.js.map +1 -1
  201. package/dist/src/integrations/shared-blackboard.d.ts +3 -0
  202. package/dist/src/integrations/shared-blackboard.d.ts.map +1 -1
  203. package/dist/src/integrations/shared-blackboard.js +47 -0
  204. package/dist/src/integrations/shared-blackboard.js.map +1 -1
  205. package/dist/src/integrations/smart-decomposer.d.ts +45 -1
  206. package/dist/src/integrations/smart-decomposer.d.ts.map +1 -1
  207. package/dist/src/integrations/smart-decomposer.js +486 -30
  208. package/dist/src/integrations/smart-decomposer.js.map +1 -1
  209. package/dist/src/integrations/sqlite-store.d.ts +2 -0
  210. package/dist/src/integrations/sqlite-store.d.ts.map +1 -1
  211. package/dist/src/integrations/sqlite-store.js +18 -6
  212. package/dist/src/integrations/sqlite-store.js.map +1 -1
  213. package/dist/src/integrations/swarm/failure-classifier.d.ts +11 -0
  214. package/dist/src/integrations/swarm/failure-classifier.d.ts.map +1 -0
  215. package/dist/src/integrations/swarm/failure-classifier.js +95 -0
  216. package/dist/src/integrations/swarm/failure-classifier.js.map +1 -0
  217. package/dist/src/integrations/swarm/index.d.ts +1 -1
  218. package/dist/src/integrations/swarm/index.d.ts.map +1 -1
  219. package/dist/src/integrations/swarm/index.js.map +1 -1
  220. package/dist/src/integrations/swarm/model-selector.d.ts +15 -0
  221. package/dist/src/integrations/swarm/model-selector.d.ts.map +1 -1
  222. package/dist/src/integrations/swarm/model-selector.js +100 -20
  223. package/dist/src/integrations/swarm/model-selector.js.map +1 -1
  224. package/dist/src/integrations/swarm/swarm-budget.d.ts +4 -0
  225. package/dist/src/integrations/swarm/swarm-budget.d.ts.map +1 -1
  226. package/dist/src/integrations/swarm/swarm-budget.js +6 -0
  227. package/dist/src/integrations/swarm/swarm-budget.js.map +1 -1
  228. package/dist/src/integrations/swarm/swarm-config-loader.d.ts +8 -0
  229. package/dist/src/integrations/swarm/swarm-config-loader.d.ts.map +1 -1
  230. package/dist/src/integrations/swarm/swarm-config-loader.js +249 -7
  231. package/dist/src/integrations/swarm/swarm-config-loader.js.map +1 -1
  232. package/dist/src/integrations/swarm/swarm-event-bridge.d.ts +86 -1
  233. package/dist/src/integrations/swarm/swarm-event-bridge.d.ts.map +1 -1
  234. package/dist/src/integrations/swarm/swarm-event-bridge.js +207 -23
  235. package/dist/src/integrations/swarm/swarm-event-bridge.js.map +1 -1
  236. package/dist/src/integrations/swarm/swarm-events.d.ts +58 -1
  237. package/dist/src/integrations/swarm/swarm-events.d.ts.map +1 -1
  238. package/dist/src/integrations/swarm/swarm-events.js +22 -5
  239. package/dist/src/integrations/swarm/swarm-events.js.map +1 -1
  240. package/dist/src/integrations/swarm/swarm-orchestrator.d.ts +147 -8
  241. package/dist/src/integrations/swarm/swarm-orchestrator.d.ts.map +1 -1
  242. package/dist/src/integrations/swarm/swarm-orchestrator.js +2179 -132
  243. package/dist/src/integrations/swarm/swarm-orchestrator.js.map +1 -1
  244. package/dist/src/integrations/swarm/swarm-quality-gate.d.ts +83 -2
  245. package/dist/src/integrations/swarm/swarm-quality-gate.d.ts.map +1 -1
  246. package/dist/src/integrations/swarm/swarm-quality-gate.js +278 -19
  247. package/dist/src/integrations/swarm/swarm-quality-gate.js.map +1 -1
  248. package/dist/src/integrations/swarm/swarm-state-store.d.ts +4 -1
  249. package/dist/src/integrations/swarm/swarm-state-store.d.ts.map +1 -1
  250. package/dist/src/integrations/swarm/swarm-state-store.js +8 -1
  251. package/dist/src/integrations/swarm/swarm-state-store.js.map +1 -1
  252. package/dist/src/integrations/swarm/task-queue.d.ts +54 -0
  253. package/dist/src/integrations/swarm/task-queue.d.ts.map +1 -1
  254. package/dist/src/integrations/swarm/task-queue.js +310 -12
  255. package/dist/src/integrations/swarm/task-queue.js.map +1 -1
  256. package/dist/src/integrations/swarm/types.d.ts +251 -13
  257. package/dist/src/integrations/swarm/types.d.ts.map +1 -1
  258. package/dist/src/integrations/swarm/types.js +70 -8
  259. package/dist/src/integrations/swarm/types.js.map +1 -1
  260. package/dist/src/integrations/swarm/worker-pool.d.ts +21 -4
  261. package/dist/src/integrations/swarm/worker-pool.d.ts.map +1 -1
  262. package/dist/src/integrations/swarm/worker-pool.js +223 -44
  263. package/dist/src/integrations/swarm/worker-pool.js.map +1 -1
  264. package/dist/src/integrations/task-manager.d.ts +33 -1
  265. package/dist/src/integrations/task-manager.d.ts.map +1 -1
  266. package/dist/src/integrations/task-manager.js +78 -4
  267. package/dist/src/integrations/task-manager.js.map +1 -1
  268. package/dist/src/integrations/tool-recommendation.d.ts +7 -4
  269. package/dist/src/integrations/tool-recommendation.d.ts.map +1 -1
  270. package/dist/src/integrations/tool-recommendation.js +58 -5
  271. package/dist/src/integrations/tool-recommendation.js.map +1 -1
  272. package/dist/src/integrations/work-log.js +4 -4
  273. package/dist/src/integrations/work-log.js.map +1 -1
  274. package/dist/src/main.js +106 -30
  275. package/dist/src/main.js.map +1 -1
  276. package/dist/src/modes/repl.d.ts.map +1 -1
  277. package/dist/src/modes/repl.js +50 -12
  278. package/dist/src/modes/repl.js.map +1 -1
  279. package/dist/src/modes/tui.d.ts.map +1 -1
  280. package/dist/src/modes/tui.js +41 -6
  281. package/dist/src/modes/tui.js.map +1 -1
  282. package/dist/src/modes.d.ts.map +1 -1
  283. package/dist/src/modes.js +4 -27
  284. package/dist/src/modes.js.map +1 -1
  285. package/dist/src/observability/tracer.d.ts.map +1 -1
  286. package/dist/src/observability/tracer.js +2 -1
  287. package/dist/src/observability/tracer.js.map +1 -1
  288. package/dist/src/persistence/schema.d.ts.map +1 -1
  289. package/dist/src/persistence/schema.js +11 -0
  290. package/dist/src/persistence/schema.js.map +1 -1
  291. package/dist/src/providers/adapters/anthropic.d.ts.map +1 -1
  292. package/dist/src/providers/adapters/anthropic.js +3 -2
  293. package/dist/src/providers/adapters/anthropic.js.map +1 -1
  294. package/dist/src/providers/adapters/openai.d.ts.map +1 -1
  295. package/dist/src/providers/adapters/openai.js +3 -2
  296. package/dist/src/providers/adapters/openai.js.map +1 -1
  297. package/dist/src/providers/adapters/openrouter.d.ts.map +1 -1
  298. package/dist/src/providers/adapters/openrouter.js +11 -11
  299. package/dist/src/providers/adapters/openrouter.js.map +1 -1
  300. package/dist/src/providers/circuit-breaker.d.ts +1 -0
  301. package/dist/src/providers/circuit-breaker.d.ts.map +1 -1
  302. package/dist/src/providers/circuit-breaker.js.map +1 -1
  303. package/dist/src/providers/provider.d.ts.map +1 -1
  304. package/dist/src/providers/provider.js +2 -1
  305. package/dist/src/providers/provider.js.map +1 -1
  306. package/dist/src/providers/resilient-provider.d.ts.map +1 -1
  307. package/dist/src/providers/resilient-provider.js +2 -1
  308. package/dist/src/providers/resilient-provider.js.map +1 -1
  309. package/dist/src/session-picker.d.ts.map +1 -1
  310. package/dist/src/session-picker.js +40 -5
  311. package/dist/src/session-picker.js.map +1 -1
  312. package/dist/src/shared/budget-tracker.d.ts +65 -0
  313. package/dist/src/shared/budget-tracker.d.ts.map +1 -0
  314. package/dist/src/shared/budget-tracker.js +128 -0
  315. package/dist/src/shared/budget-tracker.js.map +1 -0
  316. package/dist/src/shared/context-engine.d.ts +64 -0
  317. package/dist/src/shared/context-engine.d.ts.map +1 -0
  318. package/dist/src/shared/context-engine.js +117 -0
  319. package/dist/src/shared/context-engine.js.map +1 -0
  320. package/dist/src/shared/index.d.ts +12 -0
  321. package/dist/src/shared/index.d.ts.map +1 -0
  322. package/dist/src/shared/index.js +12 -0
  323. package/dist/src/shared/index.js.map +1 -0
  324. package/dist/src/shared/persistence.d.ts +57 -0
  325. package/dist/src/shared/persistence.d.ts.map +1 -0
  326. package/dist/src/shared/persistence.js +168 -0
  327. package/dist/src/shared/persistence.js.map +1 -0
  328. package/dist/src/shared/shared-context-state.d.ts +89 -0
  329. package/dist/src/shared/shared-context-state.d.ts.map +1 -0
  330. package/dist/src/shared/shared-context-state.js +175 -0
  331. package/dist/src/shared/shared-context-state.js.map +1 -0
  332. package/dist/src/shared/shared-economics-state.d.ts +61 -0
  333. package/dist/src/shared/shared-economics-state.d.ts.map +1 -0
  334. package/dist/src/shared/shared-economics-state.js +100 -0
  335. package/dist/src/shared/shared-economics-state.js.map +1 -0
  336. package/dist/src/tools/agent.d.ts.map +1 -1
  337. package/dist/src/tools/agent.js +11 -2
  338. package/dist/src/tools/agent.js.map +1 -1
  339. package/dist/src/tools/bash.d.ts +1 -1
  340. package/dist/src/tools/bash.d.ts.map +1 -1
  341. package/dist/src/tools/bash.js +2 -1
  342. package/dist/src/tools/bash.js.map +1 -1
  343. package/dist/src/tools/coercion.d.ts +6 -0
  344. package/dist/src/tools/coercion.d.ts.map +1 -1
  345. package/dist/src/tools/coercion.js +13 -0
  346. package/dist/src/tools/coercion.js.map +1 -1
  347. package/dist/src/tools/file.d.ts +5 -5
  348. package/dist/src/tools/file.js +2 -2
  349. package/dist/src/tools/file.js.map +1 -1
  350. package/dist/src/tools/permission.d.ts.map +1 -1
  351. package/dist/src/tools/permission.js +10 -116
  352. package/dist/src/tools/permission.js.map +1 -1
  353. package/dist/src/tools/types.d.ts +1 -0
  354. package/dist/src/tools/types.d.ts.map +1 -1
  355. package/dist/src/tools/types.js.map +1 -1
  356. package/dist/src/tracing/trace-collector.d.ts +292 -0
  357. package/dist/src/tracing/trace-collector.d.ts.map +1 -1
  358. package/dist/src/tracing/trace-collector.js +249 -5
  359. package/dist/src/tracing/trace-collector.js.map +1 -1
  360. package/dist/src/tracing/types.d.ts +200 -1
  361. package/dist/src/tracing/types.d.ts.map +1 -1
  362. package/dist/src/tracing/types.js.map +1 -1
  363. package/dist/src/tricks/failure-evidence.d.ts.map +1 -1
  364. package/dist/src/tricks/failure-evidence.js +2 -1
  365. package/dist/src/tricks/failure-evidence.js.map +1 -1
  366. package/dist/src/tui/app.d.ts +13 -0
  367. package/dist/src/tui/app.d.ts.map +1 -1
  368. package/dist/src/tui/app.js +162 -19
  369. package/dist/src/tui/app.js.map +1 -1
  370. package/dist/src/tui/components/ErrorBoundary.d.ts.map +1 -1
  371. package/dist/src/tui/components/ErrorBoundary.js +3 -2
  372. package/dist/src/tui/components/ErrorBoundary.js.map +1 -1
  373. package/dist/src/tui/event-display.d.ts.map +1 -1
  374. package/dist/src/tui/event-display.js +36 -62
  375. package/dist/src/tui/event-display.js.map +1 -1
  376. package/dist/src/tui/index.d.ts +4 -0
  377. package/dist/src/tui/index.d.ts.map +1 -1
  378. package/dist/src/tui/index.js +17 -0
  379. package/dist/src/tui/index.js.map +1 -1
  380. package/dist/src/types.d.ts +214 -1
  381. package/dist/src/types.d.ts.map +1 -1
  382. package/package.json +18 -3
@@ -10,15 +10,18 @@
10
10
  */
11
11
  import * as fs from 'node:fs';
12
12
  import * as path from 'node:path';
13
+ import { getTaskTypeConfig } from './types.js';
13
14
  import { formatFactsCompact, getEnvironmentFacts } from '../environment-facts.js';
14
15
  /**
15
- * Evaluate a worker's output using the orchestrator model.
16
- * V3: Accepts optional judgeConfig for hierarchy-based model/persona override.
17
- * V4: Includes artifact verification and temporal grounding.
16
+ * Run cheap, synchronous pre-flight checks on a task result.
17
+ * Returns a failing QualityGateResult on the first check that trips, or null if all pass.
18
+ *
19
+ * Checks: V4 artifact verification, V9 zero-tool-call, V10 file-creation intent, V6 closure report.
18
20
  */
19
- export async function evaluateWorkerOutput(provider, orchestratorModel, task, result, judgeConfig, qualityThreshold = 3) {
21
+ export function runPreFlightChecks(task, result, swarmConfig, cachedArtifacts) {
20
22
  // V4: Pre-flight artifact check — if task has target files, verify they exist
21
- const artifactReport = checkArtifacts(task);
23
+ // C1: Accept pre-computed artifacts to avoid double filesystem scan
24
+ const artifactReport = cachedArtifacts ?? checkArtifacts(task);
22
25
  // If ALL target files are empty/missing, auto-fail without burning a judge call
23
26
  if (artifactReport.allEmpty) {
24
27
  return {
@@ -26,8 +29,37 @@ export async function evaluateWorkerOutput(provider, orchestratorModel, task, re
26
29
  feedback: `Target files are empty or missing: ${artifactReport.summary}`,
27
30
  passed: false,
28
31
  artifactAutoFail: true,
32
+ preFlightReject: true,
33
+ };
34
+ }
35
+ // V7: Tool-call pre-check using configurable requiresToolCalls from TaskTypeConfig.
36
+ const typeConfig = getTaskTypeConfig(task.type, swarmConfig);
37
+ if (typeConfig.requiresToolCalls && (result.toolCalls ?? 0) === 0) {
38
+ return {
39
+ score: 0,
40
+ feedback: 'No tool calls made — no work was done.',
41
+ passed: false,
42
+ preFlightReject: true,
29
43
  };
30
44
  }
45
+ // V10: File-creation intent pre-check — if the task description strongly implies
46
+ // file creation (e.g., "Write to report/X.md") but the worker produced no files,
47
+ // auto-reject. This catches workers that lacked write tools but still produced
48
+ // rich text output (which would pass the hollow-completion check).
49
+ if ((result.filesModified ?? []).length === 0 && (result.toolCalls ?? 0) === 0) {
50
+ const hasWriteIntent = /\b(write|create|generate|produce|save)\b.*\b(file|report|document|output)\b/i.test(task.description)
51
+ || /\b(write_file|write to|save to|output to)\b/i.test(task.description)
52
+ || (task.targetFiles && task.targetFiles.length > 0);
53
+ if (hasWriteIntent) {
54
+ return {
55
+ score: 1,
56
+ feedback: `Task requires file creation but worker produced 0 files and made 0 tool calls — likely missing write_file tool.`,
57
+ passed: false,
58
+ artifactAutoFail: true,
59
+ preFlightReject: true,
60
+ };
61
+ }
62
+ }
31
63
  // V6: Closure report pre-check — catch workers that did no actual work
32
64
  // When there are no targetFiles (so artifact check can't catch it), use the
33
65
  // closure report to detect workers that admit failure with budget excuses
@@ -43,10 +75,105 @@ export async function evaluateWorkerOutput(provider, orchestratorModel, task, re
43
75
  feedback: `Worker admitted failure in closure report: ${cr.failures[0]}`,
44
76
  passed: false,
45
77
  artifactAutoFail: false,
78
+ preFlightReject: true,
46
79
  };
47
80
  }
48
81
  }
49
- const prompt = buildQualityPrompt(task, result, artifactReport);
82
+ return null;
83
+ }
84
+ /**
85
+ * F2: Run concrete validation checks on task output.
86
+ *
87
+ * Validates that modified files are syntactically valid (parseable) and that
88
+ * claimed file modifications match actual filesystem state. This provides
89
+ * ground-truth validation that catches broken outputs before the LLM judge.
90
+ *
91
+ * Checks:
92
+ * 1. For implement/test/refactor tasks: verify modified .ts/.js/.json files parse
93
+ * 2. For test tasks: verify test file is syntactically valid
94
+ * 3. Verify filesModified in closure report matches actual filesystem changes
95
+ */
96
+ export function runConcreteChecks(task, result) {
97
+ const issues = [];
98
+ const filesModified = result.filesModified ?? [];
99
+ const actionTypes = ['implement', 'test', 'refactor', 'fix', 'create', 'merge'];
100
+ const isCodeTask = actionTypes.includes(task.type);
101
+ // Check 1: Verify modified files exist and are syntactically valid
102
+ if (isCodeTask && filesModified.length > 0) {
103
+ for (const filePath of filesModified) {
104
+ const resolved = path.resolve(filePath);
105
+ try {
106
+ if (!fs.existsSync(resolved)) {
107
+ issues.push(`Modified file missing: ${filePath}`);
108
+ continue;
109
+ }
110
+ const stat = fs.statSync(resolved);
111
+ if (stat.size === 0) {
112
+ issues.push(`Modified file is empty: ${filePath}`);
113
+ continue;
114
+ }
115
+ // Syntax check for parseable file types
116
+ const ext = path.extname(filePath).toLowerCase();
117
+ if (ext === '.json') {
118
+ const content = fs.readFileSync(resolved, 'utf-8');
119
+ try {
120
+ JSON.parse(content);
121
+ }
122
+ catch {
123
+ issues.push(`Invalid JSON syntax: ${filePath}`);
124
+ }
125
+ }
126
+ // For .ts/.js files, check for obvious syntax issues
127
+ // (incomplete files, unmatched braces, etc.)
128
+ if (['.ts', '.tsx', '.js', '.jsx', '.mts', '.mjs'].includes(ext)) {
129
+ const content = fs.readFileSync(resolved, 'utf-8');
130
+ // Check for grossly unbalanced braces (indicates truncated/corrupt file)
131
+ const opens = (content.match(/\{/g) || []).length;
132
+ const closes = (content.match(/\}/g) || []).length;
133
+ if (Math.abs(opens - closes) > 3) {
134
+ issues.push(`Unbalanced braces (${opens} open, ${closes} close): ${filePath}`);
135
+ }
136
+ }
137
+ }
138
+ catch {
139
+ // Can't read file — not necessarily an issue
140
+ }
141
+ }
142
+ }
143
+ // Check 2: Verify closure report filesModified matches actual changes
144
+ if (result.closureReport && result.closureReport.actionsTaken.length > 0) {
145
+ const claimedFiles = filesModified;
146
+ const missingClaimed = claimedFiles.filter(f => {
147
+ try {
148
+ return !fs.existsSync(path.resolve(f));
149
+ }
150
+ catch {
151
+ return true;
152
+ }
153
+ });
154
+ if (missingClaimed.length > 0 && missingClaimed.length === claimedFiles.length) {
155
+ issues.push(`All claimed modified files are missing: ${missingClaimed.join(', ')}`);
156
+ }
157
+ }
158
+ return {
159
+ passed: issues.length === 0,
160
+ issues,
161
+ };
162
+ }
163
+ /**
164
+ * Evaluate a worker's output using the orchestrator model.
165
+ * V3: Accepts optional judgeConfig for hierarchy-based model/persona override.
166
+ * V4: Includes artifact verification and temporal grounding.
167
+ */
168
+ export async function evaluateWorkerOutput(provider, orchestratorModel, task, result, judgeConfig, qualityThreshold = 3, onUsage, fileArtifacts, swarmConfig, cachedArtifactReport) {
169
+ // C1: Use cached artifact report if provided, otherwise compute once
170
+ const artifactReport = cachedArtifactReport ?? checkArtifacts(task);
171
+ // Run synchronous pre-flight checks first
172
+ const preFlight = runPreFlightChecks(task, result, swarmConfig, artifactReport);
173
+ if (preFlight) {
174
+ return preFlight;
175
+ }
176
+ const prompt = buildQualityPrompt(task, result, artifactReport, fileArtifacts);
50
177
  const model = judgeConfig?.model ?? orchestratorModel;
51
178
  const facts = formatFactsCompact(getEnvironmentFacts());
52
179
  const systemPrompt = judgeConfig?.persona
@@ -58,28 +185,34 @@ export async function evaluateWorkerOutput(provider, orchestratorModel, task, re
58
185
  { role: 'user', content: prompt },
59
186
  ], {
60
187
  model,
61
- maxTokens: 500,
188
+ maxTokens: 800,
62
189
  temperature: 0.1,
63
190
  });
191
+ // Track quality gate LLM usage for orchestrator stats
192
+ onUsage?.(response, 'quality-gate');
64
193
  const parsed = parseQualityResponse(response.content);
65
194
  // Apply configurable threshold
66
195
  parsed.passed = parsed.score >= qualityThreshold;
67
196
  return parsed;
68
197
  }
69
- catch {
70
- // If quality gate fails, pass by default (don't block on gate failure)
198
+ catch (error) {
199
+ // F7: Quality gate error fail by default (was: pass by default).
200
+ // The orchestrator checks gateError and falls back to concrete validation.
71
201
  return {
72
202
  score: 3,
73
- feedback: 'Quality gate evaluation failed passing by default',
74
- passed: true,
203
+ feedback: `Quality gate evaluation failed (${error.message?.slice(0, 100) ?? 'unknown error'})`,
204
+ passed: false,
205
+ gateError: true,
206
+ gateErrorMessage: error.message?.slice(0, 200) ?? 'unknown error',
75
207
  };
76
208
  }
77
209
  }
78
210
  /**
79
211
  * Check whether target files actually exist and have content.
80
212
  * Returns a report that gets injected into the judge prompt.
213
+ * Exported so callers can pre-compute and cache the result.
81
214
  */
82
- function checkArtifacts(task) {
215
+ export function checkArtifacts(task) {
83
216
  if (!task.targetFiles || task.targetFiles.length === 0) {
84
217
  return { allEmpty: false, summary: 'No target files specified.', files: [] };
85
218
  }
@@ -97,9 +230,9 @@ function checkArtifacts(task) {
97
230
  sizeBytes = stats.size;
98
231
  if (sizeBytes > 0) {
99
232
  allEmpty = false;
100
- // Read first 500 chars for the judge to evaluate content quality
233
+ // Read first 2000 chars for the judge to evaluate content quality
101
234
  const content = fs.readFileSync(resolved, 'utf-8');
102
- preview = content.slice(0, 500);
235
+ preview = content.slice(0, 2000);
103
236
  }
104
237
  }
105
238
  }
@@ -121,13 +254,114 @@ function checkArtifacts(task) {
121
254
  files,
122
255
  };
123
256
  }
257
+ /**
258
+ * Enhanced artifact detection — searches beyond targetFiles.
259
+ * Used by resilience recovery and rescue pass to find work products
260
+ * that the standard checkArtifacts() would miss (e.g., when targetFiles is empty).
261
+ *
262
+ * Search order:
263
+ * 1. Standard checkArtifacts() for declared targetFiles
264
+ * 2. taskResult.filesModified — scan those paths on disk
265
+ * 3. taskResult.closureReport.actionsTaken — extract file path mentions
266
+ * 4. taskResult.output — regex for file paths
267
+ * 5. De-duplicate, return unified report
268
+ */
269
+ export function checkArtifactsEnhanced(task, taskResult, baseDir) {
270
+ const cwd = baseDir ?? process.cwd();
271
+ const seenPaths = new Set();
272
+ const allFiles = [];
273
+ // 1. Standard check for declared targetFiles
274
+ const standard = checkArtifacts(task);
275
+ for (const f of standard.files) {
276
+ if (!seenPaths.has(f.path)) {
277
+ seenPaths.add(f.path);
278
+ allFiles.push(f);
279
+ }
280
+ }
281
+ // Helper to probe a file path on disk and add to report
282
+ const probeFile = (filePath) => {
283
+ if (seenPaths.has(filePath))
284
+ return;
285
+ seenPaths.add(filePath);
286
+ const resolved = path.isAbsolute(filePath) ? filePath : path.resolve(cwd, filePath);
287
+ try {
288
+ if (fs.existsSync(resolved)) {
289
+ const stats = fs.statSync(resolved);
290
+ if (stats.size > 0) {
291
+ const content = fs.readFileSync(resolved, 'utf-8');
292
+ allFiles.push({
293
+ path: filePath,
294
+ exists: true,
295
+ sizeBytes: stats.size,
296
+ preview: content.slice(0, 2000),
297
+ });
298
+ return;
299
+ }
300
+ allFiles.push({ path: filePath, exists: true, sizeBytes: 0, preview: '' });
301
+ return;
302
+ }
303
+ }
304
+ catch {
305
+ // File access error — treat as missing
306
+ }
307
+ allFiles.push({ path: filePath, exists: false, sizeBytes: 0, preview: '' });
308
+ };
309
+ if (taskResult) {
310
+ // 2. filesModified from the task result
311
+ if (taskResult.filesModified) {
312
+ for (const fp of taskResult.filesModified) {
313
+ probeFile(fp);
314
+ }
315
+ }
316
+ // 3. closureReport.actionsTaken — extract file paths
317
+ if (taskResult.closureReport?.actionsTaken) {
318
+ for (const action of taskResult.closureReport.actionsTaken) {
319
+ const matches = action.match(/(?:^|\s)([\w./-]+\.\w{1,10})\b/g);
320
+ if (matches) {
321
+ for (const m of matches) {
322
+ const fp = m.trim();
323
+ // Basic sanity: must have a path separator or start with a filename-like pattern
324
+ if (fp.includes('/') || fp.includes('.')) {
325
+ probeFile(fp);
326
+ }
327
+ }
328
+ }
329
+ }
330
+ }
331
+ // 4. output — regex for file paths (conservative: require path separator)
332
+ const outputPathRegex = /(?:^|\s)((?:[\w.-]+\/)+[\w.-]+\.\w{1,10})\b/g;
333
+ let match;
334
+ const outputSlice = taskResult.output.slice(0, 8000); // Limit scan length
335
+ while ((match = outputPathRegex.exec(outputSlice)) !== null) {
336
+ const fp = match[1];
337
+ if (fp && !seenPaths.has(fp)) {
338
+ probeFile(fp);
339
+ }
340
+ }
341
+ }
342
+ // Build unified report
343
+ const existingFiles = allFiles.filter(f => f.exists && f.sizeBytes > 0);
344
+ const allEmpty = allFiles.length > 0 && existingFiles.length === 0;
345
+ const lines = allFiles.map(f => {
346
+ if (!f.exists)
347
+ return ` - ${f.path}: MISSING`;
348
+ if (f.sizeBytes === 0)
349
+ return ` - ${f.path}: EMPTY (0 bytes)`;
350
+ return ` - ${f.path}: ${f.sizeBytes} bytes`;
351
+ });
352
+ return {
353
+ allEmpty: allFiles.length === 0 ? false : allEmpty,
354
+ summary: allFiles.length === 0 ? 'No artifacts found.' : lines.join('\n'),
355
+ files: allFiles,
356
+ };
357
+ }
124
358
  // ─── Prompt Building ──────────────────────────────────────────────────────
125
359
  /**
126
360
  * Build the quality evaluation prompt.
127
361
  * V4: Includes artifact verification data and temporal anchoring.
128
362
  */
129
- function buildQualityPrompt(task, result, artifacts) {
130
- const output = result.output.slice(0, 2000); // Truncate long outputs
363
+ function buildQualityPrompt(task, result, artifacts, fileArtifacts) {
364
+ const output = result.output.slice(0, 16000); // Truncate long outputs (16K gives judge enough evidence for multi-file tasks)
131
365
  const facts = getEnvironmentFacts();
132
366
  let artifactSection = '';
133
367
  if (artifacts.files.length > 0) {
@@ -138,7 +372,7 @@ function buildQualityPrompt(task, result, artifacts) {
138
372
  return ` ${f.path}: EMPTY (0 bytes) — file exists but has no content`;
139
373
  let detail = ` ${f.path}: ${f.sizeBytes} bytes`;
140
374
  if (f.preview) {
141
- detail += `\n First 500 chars: ${f.preview}`;
375
+ detail += `\n First 2000 chars: ${f.preview}`;
142
376
  }
143
377
  return detail;
144
378
  }).join('\n');
@@ -148,11 +382,26 @@ ${fileDetails}
148
382
 
149
383
  CRITICAL: If target files are EMPTY (0 bytes) or MISSING, the task FAILED regardless
150
384
  of what the worker claims. An empty file is NOT an acceptable artifact. Score <= 2.`;
385
+ }
386
+ // Build file artifacts section from worker tool calls (write_file/edit_file results)
387
+ let fileArtifactsSection = '';
388
+ if (fileArtifacts && fileArtifacts.length > 0) {
389
+ const artifactDetails = fileArtifacts
390
+ .slice(0, 10) // Limit to 10 files
391
+ .map(f => ` ${f.path}:\n ${f.preview.slice(0, 1500)}`)
392
+ .join('\n');
393
+ fileArtifactsSection = `
394
+ FILES CREATED/MODIFIED BY WORKER (from tool call results — ground truth):
395
+ ${artifactDetails}
396
+
397
+ NOTE: These are actual file contents extracted from write_file/edit_file tool calls.
398
+ They prove the worker did real work beyond just text claims.`;
151
399
  }
152
400
  return `Evaluate this worker's output for the given task.
153
401
 
154
402
  TASK: ${task.description}
155
403
  TASK TYPE: ${task.type}
404
+ WORKER METRICS: ${result.toolCalls ?? 0} tool calls, ${fileArtifacts?.length ?? 0} files created/modified, ${result.tokensUsed} tokens used
156
405
  CURRENT DATE: ${facts.currentDate} (${facts.currentYear})
157
406
  ${task.targetFiles ? `TARGET FILES: ${task.targetFiles.join(', ')}` : ''}
158
407
 
@@ -165,6 +414,7 @@ ${result.closureReport ? `STRUCTURED REPORT:
165
414
  - Failures: ${result.closureReport.failures.join('; ')}
166
415
  - Remaining: ${result.closureReport.remainingWork.join('; ')}` : ''}
167
416
  ${artifactSection}
417
+ ${fileArtifactsSection}
168
418
 
169
419
  Rate the output 1-5:
170
420
  1 = Completely wrong, empty artifacts, or no meaningful work done
@@ -180,7 +430,8 @@ IMPORTANT SCORING RULES:
180
430
 
181
431
  Respond in EXACTLY this format:
182
432
  SCORE: <number>
183
- FEEDBACK: <one-line explanation>`;
433
+ FEEDBACK: <one-line explanation>
434
+ CONCRETE_FIXES: <If score < 3, list 1-3 specific fixes the worker must make. Reference exact file names, functions, or missing pieces. If score >= 3, write "N/A">`;
184
435
  }
185
436
  /**
186
437
  * Parse the quality gate response.
@@ -192,7 +443,15 @@ function parseQualityResponse(content) {
192
443
  const clampedScore = Math.max(1, Math.min(5, score));
193
444
  // Extract feedback
194
445
  const feedbackMatch = content.match(/FEEDBACK:\s*(.+)/i);
195
- const feedback = feedbackMatch ? feedbackMatch[1].trim() : content.slice(0, 200);
446
+ let feedback = feedbackMatch ? feedbackMatch[1].trim() : content.slice(0, 200);
447
+ // Extract concrete fixes (appended to feedback for retry context)
448
+ const fixesMatch = content.match(/CONCRETE_FIXES:\s*(.+)/i);
449
+ if (fixesMatch) {
450
+ const fixes = fixesMatch[1].trim();
451
+ if (fixes && fixes !== 'N/A') {
452
+ feedback = feedback + ' | Fixes: ' + fixes;
453
+ }
454
+ }
196
455
  return {
197
456
  score: clampedScore,
198
457
  feedback,
@@ -1 +1 @@
1
- {"version":3,"file":"swarm-quality-gate.js","sourceRoot":"","sources":["../../../../src/integrations/swarm/swarm-quality-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAGlC,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AA4BlF;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,QAAqB,EACrB,iBAAyB,EACzB,IAAe,EACf,MAAuB,EACvB,WAA+B,EAC/B,mBAA2B,CAAC;IAE5B,8EAA8E;IAC9E,MAAM,cAAc,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAE5C,gFAAgF;IAChF,IAAI,cAAc,CAAC,QAAQ,EAAE,CAAC;QAC5B,OAAO;YACL,KAAK,EAAE,CAAC;YACR,QAAQ,EAAE,sCAAsC,cAAc,CAAC,OAAO,EAAE;YACxE,MAAM,EAAE,KAAK;YACb,gBAAgB,EAAE,IAAI;SACvB,CAAC;IACJ,CAAC;IAED,uEAAuE;IACvE,4EAA4E;IAC5E,0EAA0E;IAC1E,IAAI,CAAC,cAAc,CAAC,QAAQ,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACrD,MAAM,EAAE,GAAG,MAAM,CAAC,aAAa,CAAC;QAChC,MAAM,cAAc,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YAC7C,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,yCAAyC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,MAAM,aAAa,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YAC1C,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,uCAAuC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzE,IAAI,cAAc,IAAI,aAAa,EAAE,CAAC;YACpC,OAAO;gBACL,KAAK,EAAE,CAAC;gBACR,QAAQ,EAAE,8CAA8C,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;gBACxE,MAAM,EAAE,KAAK;gBACb,gBAAgB,EAAE,KAAK;aACxB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;IAChE,MAAM,KAAK,GAAG,WAAW,EAAE,KAAK,IAAI,iBAAiB,CAAC;IAEtD,MAAM,KAAK,GAAG,kBAAkB,CAAC,mBAAmB,EAAE,CAAC,CAAC;IACxD,MAAM,YAAY,GAAG,WAAW,EAAE,OAAO;QACvC,CAAC,CAAC,GAAG,WAAW,CAAC,OAAO,OAAO,KAAK,uDAAuD;QAC3F,CAAC,CAAC,GAAG,KAAK,yEAAyE,CAAC;IAEtF,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAClC;YACE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE;YACzC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;SAClC,EACD;YACE,KAAK;YACL,SAAS,EAAE,GAAG;YACd,WAAW,EAAE,GAAG;SACjB,CACF,CAAC;QAEF,MAAM,MAAM,GAAG,oBAAoB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACtD,+BAA+B;QAC/B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,IAAI,gBAAgB,CAAC;QACjD,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,uEAAuE;QACvE,OAAO;YACL,KAAK,EAAE,CAAC;YACR,QAAQ,EAAE,qDAAqD;YAC/D,MAAM,EAAE,IAAI;SACb,CAAC;IACJ,CAAC;AACH,CAAC;AAaD;;;GAGG;AACH,SAAS,cAAc,CAAC,IAAe;IACrC,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,4BAA4B,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAC/E,CAAC;IAED,MAAM,KAAK,GAA4B,EAAE,CAAC;IAC1C,IAAI,QAAQ,GAAG,IAAI,CAAC;IAEpB,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,OAAO,GAAG,EAAE,CAAC;QAEjB,IAAI,CAAC;YACH,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,MAAM,GAAG,IAAI,CAAC;gBACd,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACpC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;gBACvB,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;oBAClB,QAAQ,GAAG,KAAK,CAAC;oBACjB,iEAAiE;oBACjE,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oBACnD,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,qCAAqC;QACvC,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QAC1B,IAAI,CAAC,CAAC,CAAC,MAAM;YAAE,OAAO,OAAO,CAAC,CAAC,IAAI,WAAW,CAAC;QAC/C,IAAI,CAAC,CAAC,SAAS,KAAK,CAAC;YAAE,OAAO,OAAO,CAAC,CAAC,IAAI,mBAAmB,CAAC;QAC/D,OAAO,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,SAAS,QAAQ,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,QAAQ;QACR,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QACzB,KAAK;KACN,CAAC;AACJ,CAAC;AAED,6EAA6E;AAE7E;;;GAGG;AACH,SAAS,kBAAkB,CAAC,IAAe,EAAE,MAAuB,EAAE,SAAyB;IAC7F,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,wBAAwB;IACrE,MAAM,KAAK,GAAG,mBAAmB,EAAE,CAAC;IAEpC,IAAI,eAAe,GAAG,EAAE,CAAC;IACzB,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC1C,IAAI,CAAC,CAAC,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAC,CAAC,IAAI,kCAAkC,CAAC;YACpE,IAAI,CAAC,CAAC,SAAS,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC,CAAC,IAAI,oDAAoD,CAAC;YAC9F,IAAI,MAAM,GAAG,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,SAAS,QAAQ,CAAC;YACjD,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;gBACd,MAAM,IAAI,0BAA0B,CAAC,CAAC,OAAO,EAAE,CAAC;YAClD,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,eAAe,GAAG;;EAEpB,WAAW;;;oFAGuE,CAAC;IACnF,CAAC;IAED,OAAO;;QAED,IAAI,CAAC,WAAW;aACX,IAAI,CAAC,IAAI;gBACN,KAAK,CAAC,WAAW,KAAK,KAAK,CAAC,WAAW;EACrD,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,iBAAiB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;;;EAGtE,MAAM;;EAEN,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;cACX,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;aACzC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;cAC3C,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;eACvC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;EACjE,eAAe;;;;;;;yEAOwD,KAAK,CAAC,WAAW;;;;sDAIpC,KAAK,CAAC,WAAW,GAAG,CAAC;;;;;iCAK1C,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,OAAe;IAC3C,0DAA0D;IAC1D,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAErD,mBAAmB;IACnB,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAEjF,OAAO;QACL,KAAK,EAAE,YAAY;QACnB,QAAQ;QACR,MAAM,EAAE,YAAY,IAAI,CAAC;KAC1B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"swarm-quality-gate.js","sourceRoot":"","sources":["../../../../src/integrations/swarm/swarm-quality-gate.ts"],"names":[],"mappings":"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"}
@@ -5,15 +5,18 @@
5
5
  * Saves/loads serialized swarm state to allow resume after interruption.
6
6
  */
7
7
  import type { SwarmCheckpoint } from './types.js';
8
+ import type { PersistenceAdapter } from '../../shared/persistence.js';
8
9
  export declare class SwarmStateStore {
9
10
  private stateDir;
10
11
  private sessionId;
11
12
  private sessionDir;
12
13
  private checkpointCount;
13
- constructor(stateDir: string, sessionId?: string);
14
+ private adapter?;
15
+ constructor(stateDir: string, sessionId?: string, adapter?: PersistenceAdapter);
14
16
  get id(): string;
15
17
  /**
16
18
  * Save a checkpoint. Writes both a numbered file and latest.json.
19
+ * When a PersistenceAdapter is configured, also saves via the adapter.
17
20
  */
18
21
  saveCheckpoint(checkpoint: SwarmCheckpoint): void;
19
22
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"swarm-state-store.d.ts","sourceRoot":"","sources":["../../../../src/integrations/swarm/swarm-state-store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAsBlD,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,eAAe,CAAK;gBAEhB,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;IAMhD,IAAI,EAAE,IAAI,MAAM,CAEf;IAED;;OAEG;IACH,cAAc,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI;IAejD;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI;IAU9E;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;CAqB1F"}
1
+ {"version":3,"file":"swarm-state-store.d.ts","sourceRoot":"","sources":["../../../../src/integrations/swarm/swarm-state-store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAsBtE,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,OAAO,CAAC,CAAqB;gBAEzB,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB;IAO9E,IAAI,EAAE,IAAI,MAAM,CAEf;IAED;;;OAGG;IACH,cAAc,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI;IAoBjD;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI;IAU9E;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;CAqB1F"}
@@ -27,16 +27,19 @@ export class SwarmStateStore {
27
27
  sessionId;
28
28
  sessionDir;
29
29
  checkpointCount = 0;
30
- constructor(stateDir, sessionId) {
30
+ adapter;
31
+ constructor(stateDir, sessionId, adapter) {
31
32
  this.stateDir = stateDir;
32
33
  this.sessionId = sessionId ?? `swarm-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
33
34
  this.sessionDir = path.join(stateDir, this.sessionId);
35
+ this.adapter = adapter;
34
36
  }
35
37
  get id() {
36
38
  return this.sessionId;
37
39
  }
38
40
  /**
39
41
  * Save a checkpoint. Writes both a numbered file and latest.json.
42
+ * When a PersistenceAdapter is configured, also saves via the adapter.
40
43
  */
41
44
  saveCheckpoint(checkpoint) {
42
45
  fs.mkdirSync(this.sessionDir, { recursive: true });
@@ -48,6 +51,10 @@ export class SwarmStateStore {
48
51
  // Write latest.json (overwrites)
49
52
  const latestPath = path.join(this.sessionDir, 'latest.json');
50
53
  fs.writeFileSync(latestPath, data);
54
+ // Also persist via adapter (fire-and-forget, non-blocking)
55
+ if (this.adapter) {
56
+ this.adapter.save('swarm-checkpoints', this.sessionId, checkpoint).catch(() => { });
57
+ }
51
58
  }
52
59
  /**
53
60
  * Load the latest checkpoint for a given session.
@@ -1 +1 @@
1
- {"version":3,"file":"swarm-state-store.js","sourceRoot":"","sources":["../../../../src/integrations/swarm/swarm-state-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"swarm-state-store.js","sourceRoot":"","sources":["../../../../src/integrations/swarm/swarm-state-store.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,11 @@
7
7
  */
8
8
  import type { SmartDecompositionResult, ResourceConflict } from '../smart-decomposer.js';
9
9
  import type { SwarmTask, SwarmTaskResult, SwarmConfig, FixupTask, SwarmCheckpoint } from './types.js';
10
+ export interface ReconcileStaleDispatchedOptions {
11
+ staleAfterMs: number;
12
+ now?: number;
13
+ activeTaskIds?: Set<string>;
14
+ }
10
15
  export declare class SwarmTaskQueue {
11
16
  private tasks;
12
17
  private waves;
@@ -14,6 +19,8 @@ export declare class SwarmTaskQueue {
14
19
  private currentWave;
15
20
  private onCascadeSkipCallback?;
16
21
  private partialDependencyThreshold;
22
+ private artifactAwareSkip;
23
+ private workingDirectory;
17
24
  /**
18
25
  * Load tasks from a SmartDecompositionResult.
19
26
  * Converts subtasks to SwarmTasks and organizes them into waves
@@ -66,6 +73,27 @@ export declare class SwarmTaskQueue {
66
73
  * Returns true if the task can be retried (attempts < maxAttempts).
67
74
  */
68
75
  markFailed(taskId: string, maxRetries: number): boolean;
76
+ /**
77
+ * Mark a task as failed WITHOUT triggering cascade skip.
78
+ * Returns true if the task can be retried (attempts < maxAttempts).
79
+ * Caller is responsible for calling triggerCascadeSkip() if recovery fails.
80
+ */
81
+ markFailedWithoutCascade(taskId: string, maxRetries: number): boolean;
82
+ /**
83
+ * Requeue stale dispatched tasks back to ready when no active worker owns them.
84
+ * Returns recovered task IDs.
85
+ */
86
+ reconcileStaleDispatched(options: ReconcileStaleDispatchedOptions): string[];
87
+ /**
88
+ * Manually trigger cascade skip for a failed task's dependents.
89
+ * Call this after resilience recovery has been attempted and failed.
90
+ */
91
+ triggerCascadeSkip(taskId: string): void;
92
+ /**
93
+ * Un-skip dependents of a task that was recovered (e.g., via resilience recovery).
94
+ * Checks if all dependencies are now satisfied and restores skipped tasks to ready.
95
+ */
96
+ unSkipDependents(taskId: string): void;
69
97
  /**
70
98
  * Cascade failure to dependent tasks, respecting partial dependency threshold.
71
99
  * Tasks with enough successful deps are kept ready/pending rather than skipped.
@@ -87,6 +115,21 @@ export declare class SwarmTaskQueue {
87
115
  * Check if all tasks are resolved (no more work to do).
88
116
  */
89
117
  isComplete(): boolean;
118
+ /**
119
+ * Replace a task with subtasks from micro-decomposition.
120
+ * Marks original task as 'decomposed', inserts subtasks into its wave,
121
+ * and updates dependency graph so anything depending on the original
122
+ * now depends on ALL subtasks.
123
+ */
124
+ replaceWithSubtasks(originalTaskId: string, subtasks: SwarmTask[]): void;
125
+ /**
126
+ * Get all tasks that were cascade-skipped.
127
+ */
128
+ getSkippedTasks(): SwarmTask[];
129
+ /**
130
+ * Un-skip a task, setting it to 'ready' with rescue context.
131
+ */
132
+ rescueTask(taskId: string, rescueContext: string): void;
90
133
  /**
91
134
  * Get a task by ID.
92
135
  */
@@ -126,6 +169,17 @@ export declare class SwarmTaskQueue {
126
169
  * Restore state from a checkpoint. Merges checkpoint state into existing tasks.
127
170
  */
128
171
  restoreFromCheckpoint(state: Pick<SwarmCheckpoint, 'taskStates' | 'waves' | 'currentWave'>): void;
172
+ /**
173
+ * Add re-planned tasks from mid-swarm re-planning.
174
+ * Inserts new tasks into the specified wave and marks them ready.
175
+ */
176
+ addReplanTasks(subtasks: Array<{
177
+ description: string;
178
+ type: string;
179
+ complexity: number;
180
+ dependencies: string[];
181
+ relevantFiles?: string[];
182
+ }>, wave: number): SwarmTask[];
129
183
  /**
130
184
  * Add fix-up tasks from wave review. Inserted into the current wave.
131
185
  */
@@ -1 +1 @@
1
- {"version":3,"file":"task-queue.d.ts","sourceRoot":"","sources":["../../../../src/integrations/swarm/task-queue.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AACzF,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAKtG,qBAAa,cAAc;IACzB,OAAO,CAAC,KAAK,CAAqC;IAClD,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,qBAAqB,CAAC,CAA2C;IACzE,OAAO,CAAC,0BAA0B,CAAO;IAEzC;;;;OAIG;IACH,qBAAqB,CAAC,MAAM,EAAE,wBAAwB,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI;IAuDlF;;OAEG;IACH,OAAO,CAAC,YAAY;IAapB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IA4DzB;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IA0C9B;;;OAGG;IACH,aAAa,IAAI,SAAS,EAAE;IAU5B;;;OAGG;IACH,gBAAgB,IAAI,SAAS,EAAE;IAe/B;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAOpD;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAI1E;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAQnD;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,IAAI;IAY5D;;;OAGG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO;IAiBvD;;;OAGG;IACH,OAAO,CAAC,WAAW;IAgDnB;;OAEG;IACH,OAAO,CAAC,SAAS;IAYjB;;OAEG;IACH,qBAAqB,IAAI,OAAO;IAUhC;;OAEG;IACH,WAAW,IAAI,OAAO;IAStB;;OAEG;IACH,UAAU,IAAI,OAAO;IASrB;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAI9C;;OAEG;IACH,WAAW,IAAI,SAAS,EAAE;IAI1B;;OAEG;IACH,cAAc,IAAI,MAAM;IAIxB;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;OAEG;IACH,QAAQ,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;IAgBjH;;OAEG;IACH,YAAY,IAAI,gBAAgB,EAAE;IAMlC;;OAEG;IACH,kBAAkB,IAAI,IAAI,CAAC,eAAe,EAAE,YAAY,GAAG,OAAO,GAAG,aAAa,CAAC;IAiBnF;;OAEG;IACH,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,YAAY,GAAG,OAAO,GAAG,aAAa,CAAC,GAAG,IAAI;IAgBjG;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI;CAYxC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,cAAc,CAErD"}
1
+ {"version":3,"file":"task-queue.d.ts","sourceRoot":"","sources":["../../../../src/integrations/swarm/task-queue.ts"],"names":[],"mappings":"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"}