attocode 0.2.3 → 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 (327) hide show
  1. package/CHANGELOG.md +67 -1
  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 +38 -98
  7. package/dist/src/agent.d.ts.map +1 -1
  8. package/dist/src/agent.js +505 -2892
  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 +2 -1
  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 +12 -12
  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 +2 -2
  83. package/dist/src/defaults.d.ts.map +1 -1
  84. package/dist/src/defaults.js +29 -1
  85. package/dist/src/defaults.js.map +1 -1
  86. package/dist/src/integrations/auto-compaction.d.ts.map +1 -1
  87. package/dist/src/integrations/auto-compaction.js +3 -2
  88. package/dist/src/integrations/auto-compaction.js.map +1 -1
  89. package/dist/src/integrations/budget-pool.d.ts +7 -0
  90. package/dist/src/integrations/budget-pool.d.ts.map +1 -1
  91. package/dist/src/integrations/budget-pool.js +43 -0
  92. package/dist/src/integrations/budget-pool.js.map +1 -1
  93. package/dist/src/integrations/codebase-ast.d.ts +52 -0
  94. package/dist/src/integrations/codebase-ast.d.ts.map +1 -0
  95. package/dist/src/integrations/codebase-ast.js +457 -0
  96. package/dist/src/integrations/codebase-ast.js.map +1 -0
  97. package/dist/src/integrations/codebase-context.d.ts +18 -0
  98. package/dist/src/integrations/codebase-context.d.ts.map +1 -1
  99. package/dist/src/integrations/codebase-context.js +197 -17
  100. package/dist/src/integrations/codebase-context.js.map +1 -1
  101. package/dist/src/integrations/compaction.d.ts.map +1 -1
  102. package/dist/src/integrations/compaction.js +14 -6
  103. package/dist/src/integrations/compaction.js.map +1 -1
  104. package/dist/src/integrations/context-engineering.d.ts +8 -0
  105. package/dist/src/integrations/context-engineering.d.ts.map +1 -1
  106. package/dist/src/integrations/context-engineering.js +19 -0
  107. package/dist/src/integrations/context-engineering.js.map +1 -1
  108. package/dist/src/integrations/economics.d.ts +25 -1
  109. package/dist/src/integrations/economics.d.ts.map +1 -1
  110. package/dist/src/integrations/economics.js +217 -38
  111. package/dist/src/integrations/economics.js.map +1 -1
  112. package/dist/src/integrations/edit-validator.d.ts +30 -0
  113. package/dist/src/integrations/edit-validator.d.ts.map +1 -0
  114. package/dist/src/integrations/edit-validator.js +85 -0
  115. package/dist/src/integrations/edit-validator.js.map +1 -0
  116. package/dist/src/integrations/file-cache.d.ts +7 -0
  117. package/dist/src/integrations/file-cache.d.ts.map +1 -1
  118. package/dist/src/integrations/file-cache.js +54 -0
  119. package/dist/src/integrations/file-cache.js.map +1 -1
  120. package/dist/src/integrations/health-check.d.ts.map +1 -1
  121. package/dist/src/integrations/health-check.js +3 -2
  122. package/dist/src/integrations/health-check.js.map +1 -1
  123. package/dist/src/integrations/hierarchical-config.d.ts +3 -0
  124. package/dist/src/integrations/hierarchical-config.d.ts.map +1 -1
  125. package/dist/src/integrations/hierarchical-config.js +3 -0
  126. package/dist/src/integrations/hierarchical-config.js.map +1 -1
  127. package/dist/src/integrations/hooks.d.ts +2 -0
  128. package/dist/src/integrations/hooks.d.ts.map +1 -1
  129. package/dist/src/integrations/hooks.js +99 -15
  130. package/dist/src/integrations/hooks.js.map +1 -1
  131. package/dist/src/integrations/index.d.ts +7 -0
  132. package/dist/src/integrations/index.d.ts.map +1 -1
  133. package/dist/src/integrations/index.js +9 -1
  134. package/dist/src/integrations/index.js.map +1 -1
  135. package/dist/src/integrations/logger.d.ts +104 -0
  136. package/dist/src/integrations/logger.d.ts.map +1 -0
  137. package/dist/src/integrations/logger.js +219 -0
  138. package/dist/src/integrations/logger.js.map +1 -0
  139. package/dist/src/integrations/lsp.d.ts.map +1 -1
  140. package/dist/src/integrations/lsp.js +5 -4
  141. package/dist/src/integrations/lsp.js.map +1 -1
  142. package/dist/src/integrations/mcp-client.d.ts.map +1 -1
  143. package/dist/src/integrations/mcp-client.js +8 -7
  144. package/dist/src/integrations/mcp-client.js.map +1 -1
  145. package/dist/src/integrations/observability.d.ts.map +1 -1
  146. package/dist/src/integrations/observability.js +5 -4
  147. package/dist/src/integrations/observability.js.map +1 -1
  148. package/dist/src/integrations/openrouter-pricing.d.ts.map +1 -1
  149. package/dist/src/integrations/openrouter-pricing.js +4 -3
  150. package/dist/src/integrations/openrouter-pricing.js.map +1 -1
  151. package/dist/src/integrations/persistence.d.ts.map +1 -1
  152. package/dist/src/integrations/persistence.js +5 -4
  153. package/dist/src/integrations/persistence.js.map +1 -1
  154. package/dist/src/integrations/planning.d.ts.map +1 -1
  155. package/dist/src/integrations/planning.js +5 -4
  156. package/dist/src/integrations/planning.js.map +1 -1
  157. package/dist/src/integrations/retry.d.ts +1 -0
  158. package/dist/src/integrations/retry.d.ts.map +1 -1
  159. package/dist/src/integrations/retry.js.map +1 -1
  160. package/dist/src/integrations/routing.d.ts.map +1 -1
  161. package/dist/src/integrations/routing.js +2 -1
  162. package/dist/src/integrations/routing.js.map +1 -1
  163. package/dist/src/integrations/safety.d.ts.map +1 -1
  164. package/dist/src/integrations/safety.js +13 -13
  165. package/dist/src/integrations/safety.js.map +1 -1
  166. package/dist/src/integrations/sandbox/docker.d.ts.map +1 -1
  167. package/dist/src/integrations/sandbox/docker.js +2 -1
  168. package/dist/src/integrations/sandbox/docker.js.map +1 -1
  169. package/dist/src/integrations/sandbox/index.d.ts.map +1 -1
  170. package/dist/src/integrations/sandbox/index.js +5 -4
  171. package/dist/src/integrations/sandbox/index.js.map +1 -1
  172. package/dist/src/integrations/session-store.d.ts +1 -0
  173. package/dist/src/integrations/session-store.d.ts.map +1 -1
  174. package/dist/src/integrations/session-store.js +1 -0
  175. package/dist/src/integrations/session-store.js.map +1 -1
  176. package/dist/src/integrations/shared-blackboard.d.ts +3 -0
  177. package/dist/src/integrations/shared-blackboard.d.ts.map +1 -1
  178. package/dist/src/integrations/shared-blackboard.js +47 -0
  179. package/dist/src/integrations/shared-blackboard.js.map +1 -1
  180. package/dist/src/integrations/smart-decomposer.d.ts +27 -0
  181. package/dist/src/integrations/smart-decomposer.d.ts.map +1 -1
  182. package/dist/src/integrations/smart-decomposer.js +414 -30
  183. package/dist/src/integrations/smart-decomposer.js.map +1 -1
  184. package/dist/src/integrations/sqlite-store.d.ts +2 -0
  185. package/dist/src/integrations/sqlite-store.d.ts.map +1 -1
  186. package/dist/src/integrations/sqlite-store.js +18 -6
  187. package/dist/src/integrations/sqlite-store.js.map +1 -1
  188. package/dist/src/integrations/swarm/failure-classifier.d.ts +11 -0
  189. package/dist/src/integrations/swarm/failure-classifier.d.ts.map +1 -0
  190. package/dist/src/integrations/swarm/failure-classifier.js +95 -0
  191. package/dist/src/integrations/swarm/failure-classifier.js.map +1 -0
  192. package/dist/src/integrations/swarm/model-selector.d.ts.map +1 -1
  193. package/dist/src/integrations/swarm/model-selector.js +2 -1
  194. package/dist/src/integrations/swarm/model-selector.js.map +1 -1
  195. package/dist/src/integrations/swarm/swarm-config-loader.d.ts +8 -0
  196. package/dist/src/integrations/swarm/swarm-config-loader.d.ts.map +1 -1
  197. package/dist/src/integrations/swarm/swarm-config-loader.js +95 -0
  198. package/dist/src/integrations/swarm/swarm-config-loader.js.map +1 -1
  199. package/dist/src/integrations/swarm/swarm-event-bridge.d.ts +74 -0
  200. package/dist/src/integrations/swarm/swarm-event-bridge.d.ts.map +1 -1
  201. package/dist/src/integrations/swarm/swarm-event-bridge.js +37 -0
  202. package/dist/src/integrations/swarm/swarm-event-bridge.js.map +1 -1
  203. package/dist/src/integrations/swarm/swarm-events.d.ts +3 -0
  204. package/dist/src/integrations/swarm/swarm-events.d.ts.map +1 -1
  205. package/dist/src/integrations/swarm/swarm-events.js +1 -1
  206. package/dist/src/integrations/swarm/swarm-events.js.map +1 -1
  207. package/dist/src/integrations/swarm/swarm-orchestrator.d.ts +23 -0
  208. package/dist/src/integrations/swarm/swarm-orchestrator.d.ts.map +1 -1
  209. package/dist/src/integrations/swarm/swarm-orchestrator.js +530 -55
  210. package/dist/src/integrations/swarm/swarm-orchestrator.js.map +1 -1
  211. package/dist/src/integrations/swarm/swarm-state-store.d.ts +4 -1
  212. package/dist/src/integrations/swarm/swarm-state-store.d.ts.map +1 -1
  213. package/dist/src/integrations/swarm/swarm-state-store.js +8 -1
  214. package/dist/src/integrations/swarm/swarm-state-store.js.map +1 -1
  215. package/dist/src/integrations/swarm/task-queue.d.ts +10 -0
  216. package/dist/src/integrations/swarm/task-queue.d.ts.map +1 -1
  217. package/dist/src/integrations/swarm/task-queue.js +36 -1
  218. package/dist/src/integrations/swarm/task-queue.js.map +1 -1
  219. package/dist/src/integrations/swarm/types.d.ts +41 -0
  220. package/dist/src/integrations/swarm/types.d.ts.map +1 -1
  221. package/dist/src/integrations/swarm/types.js +9 -0
  222. package/dist/src/integrations/swarm/types.js.map +1 -1
  223. package/dist/src/integrations/swarm/worker-pool.d.ts +12 -2
  224. package/dist/src/integrations/swarm/worker-pool.d.ts.map +1 -1
  225. package/dist/src/integrations/swarm/worker-pool.js +53 -4
  226. package/dist/src/integrations/swarm/worker-pool.js.map +1 -1
  227. package/dist/src/integrations/task-manager.d.ts +33 -1
  228. package/dist/src/integrations/task-manager.d.ts.map +1 -1
  229. package/dist/src/integrations/task-manager.js +78 -4
  230. package/dist/src/integrations/task-manager.js.map +1 -1
  231. package/dist/src/main.js +83 -32
  232. package/dist/src/main.js.map +1 -1
  233. package/dist/src/modes/repl.d.ts.map +1 -1
  234. package/dist/src/modes/repl.js +40 -8
  235. package/dist/src/modes/repl.js.map +1 -1
  236. package/dist/src/modes/tui.d.ts.map +1 -1
  237. package/dist/src/modes/tui.js +36 -6
  238. package/dist/src/modes/tui.js.map +1 -1
  239. package/dist/src/observability/tracer.d.ts.map +1 -1
  240. package/dist/src/observability/tracer.js +2 -1
  241. package/dist/src/observability/tracer.js.map +1 -1
  242. package/dist/src/persistence/schema.d.ts.map +1 -1
  243. package/dist/src/persistence/schema.js +11 -0
  244. package/dist/src/persistence/schema.js.map +1 -1
  245. package/dist/src/providers/adapters/anthropic.d.ts.map +1 -1
  246. package/dist/src/providers/adapters/anthropic.js +3 -2
  247. package/dist/src/providers/adapters/anthropic.js.map +1 -1
  248. package/dist/src/providers/adapters/openai.d.ts.map +1 -1
  249. package/dist/src/providers/adapters/openai.js +3 -2
  250. package/dist/src/providers/adapters/openai.js.map +1 -1
  251. package/dist/src/providers/adapters/openrouter.d.ts.map +1 -1
  252. package/dist/src/providers/adapters/openrouter.js +11 -11
  253. package/dist/src/providers/adapters/openrouter.js.map +1 -1
  254. package/dist/src/providers/circuit-breaker.d.ts +1 -0
  255. package/dist/src/providers/circuit-breaker.d.ts.map +1 -1
  256. package/dist/src/providers/circuit-breaker.js.map +1 -1
  257. package/dist/src/providers/provider.d.ts.map +1 -1
  258. package/dist/src/providers/provider.js +2 -1
  259. package/dist/src/providers/provider.js.map +1 -1
  260. package/dist/src/providers/resilient-provider.d.ts.map +1 -1
  261. package/dist/src/providers/resilient-provider.js +2 -1
  262. package/dist/src/providers/resilient-provider.js.map +1 -1
  263. package/dist/src/session-picker.d.ts.map +1 -1
  264. package/dist/src/session-picker.js +40 -5
  265. package/dist/src/session-picker.js.map +1 -1
  266. package/dist/src/shared/budget-tracker.d.ts +65 -0
  267. package/dist/src/shared/budget-tracker.d.ts.map +1 -0
  268. package/dist/src/shared/budget-tracker.js +128 -0
  269. package/dist/src/shared/budget-tracker.js.map +1 -0
  270. package/dist/src/shared/context-engine.d.ts +64 -0
  271. package/dist/src/shared/context-engine.d.ts.map +1 -0
  272. package/dist/src/shared/context-engine.js +117 -0
  273. package/dist/src/shared/context-engine.js.map +1 -0
  274. package/dist/src/shared/index.d.ts +12 -0
  275. package/dist/src/shared/index.d.ts.map +1 -0
  276. package/dist/src/shared/index.js +12 -0
  277. package/dist/src/shared/index.js.map +1 -0
  278. package/dist/src/shared/persistence.d.ts +57 -0
  279. package/dist/src/shared/persistence.d.ts.map +1 -0
  280. package/dist/src/shared/persistence.js +168 -0
  281. package/dist/src/shared/persistence.js.map +1 -0
  282. package/dist/src/shared/shared-context-state.d.ts +89 -0
  283. package/dist/src/shared/shared-context-state.d.ts.map +1 -0
  284. package/dist/src/shared/shared-context-state.js +175 -0
  285. package/dist/src/shared/shared-context-state.js.map +1 -0
  286. package/dist/src/shared/shared-economics-state.d.ts +61 -0
  287. package/dist/src/shared/shared-economics-state.d.ts.map +1 -0
  288. package/dist/src/shared/shared-economics-state.js +100 -0
  289. package/dist/src/shared/shared-economics-state.js.map +1 -0
  290. package/dist/src/tools/bash.d.ts +3 -3
  291. package/dist/src/tools/bash.d.ts.map +1 -1
  292. package/dist/src/tools/bash.js +2 -1
  293. package/dist/src/tools/bash.js.map +1 -1
  294. package/dist/src/tools/file.d.ts +3 -3
  295. package/dist/src/tools/permission.d.ts.map +1 -1
  296. package/dist/src/tools/permission.js +6 -5
  297. package/dist/src/tools/permission.js.map +1 -1
  298. package/dist/src/tools/types.d.ts +1 -0
  299. package/dist/src/tools/types.d.ts.map +1 -1
  300. package/dist/src/tools/types.js.map +1 -1
  301. package/dist/src/tracing/trace-collector.d.ts +125 -0
  302. package/dist/src/tracing/trace-collector.d.ts.map +1 -1
  303. package/dist/src/tracing/trace-collector.js +112 -5
  304. package/dist/src/tracing/trace-collector.js.map +1 -1
  305. package/dist/src/tracing/types.d.ts +96 -1
  306. package/dist/src/tracing/types.d.ts.map +1 -1
  307. package/dist/src/tracing/types.js.map +1 -1
  308. package/dist/src/tricks/failure-evidence.d.ts.map +1 -1
  309. package/dist/src/tricks/failure-evidence.js +2 -1
  310. package/dist/src/tricks/failure-evidence.js.map +1 -1
  311. package/dist/src/tui/app.d.ts +13 -0
  312. package/dist/src/tui/app.d.ts.map +1 -1
  313. package/dist/src/tui/app.js +129 -15
  314. package/dist/src/tui/app.js.map +1 -1
  315. package/dist/src/tui/components/ErrorBoundary.d.ts.map +1 -1
  316. package/dist/src/tui/components/ErrorBoundary.js +3 -2
  317. package/dist/src/tui/components/ErrorBoundary.js.map +1 -1
  318. package/dist/src/tui/event-display.d.ts.map +1 -1
  319. package/dist/src/tui/event-display.js +36 -62
  320. package/dist/src/tui/event-display.js.map +1 -1
  321. package/dist/src/tui/index.d.ts +4 -0
  322. package/dist/src/tui/index.d.ts.map +1 -1
  323. package/dist/src/tui/index.js +17 -0
  324. package/dist/src/tui/index.js.map +1 -1
  325. package/dist/src/types.d.ts +143 -1
  326. package/dist/src/types.d.ts.map +1 -1
  327. package/package.json +18 -3
@@ -108,11 +108,10 @@ export class SmartDecomposer {
108
108
  continue;
109
109
  }
110
110
  }
111
- // Both attempts failed → fall back to heuristic
112
- this.emit({ type: 'llm.fallback', reason: 'LLM failed after 2 attempts', task });
113
- const heuristicResult = this.decomposeHeuristic(task, context);
114
- subtasks = heuristicResult.subtasks;
115
- strategy = heuristicResult.strategy;
111
+ // Both attempts failed → return empty so orchestrator can try lastResortDecompose
112
+ this.emit({ type: 'llm.fallback', reason: 'LLM failed after 2 attempts — skipping heuristic', task });
113
+ subtasks = [];
114
+ strategy = 'adaptive';
116
115
  llmAssisted = false;
117
116
  }
118
117
  }
@@ -676,7 +675,14 @@ export class SmartDecomposer {
676
675
  }
677
676
  }
678
677
  if (group.length === 0) {
679
- // No progress - likely a cycle, break to avoid infinite loop
678
+ // No progress circular dependency detected.
679
+ // Force remaining tasks into sequential single-task groups
680
+ // so they still reach the task queue instead of silently vanishing.
681
+ for (const id of remaining) {
682
+ groups.push([id]);
683
+ completed.add(id);
684
+ }
685
+ remaining.clear();
680
686
  break;
681
687
  }
682
688
  groups.push(group);
@@ -926,37 +932,415 @@ export function createDecompositionPrompt(task, context) {
926
932
  return parts.join('\n');
927
933
  }
928
934
  /**
929
- * Parse LLM response into decomposition result.
935
+ * Normalize a raw subtask object from JSON into a consistent shape.
930
936
  */
931
- export function parseDecompositionResponse(response) {
932
- try {
933
- // Try to extract JSON from the response
934
- const jsonMatch = response.match(/\{[\s\S]*\}/);
935
- if (!jsonMatch) {
936
- throw new Error('No JSON found in response');
937
+ function normalizeSubtask(s) {
938
+ return {
939
+ description: s.description || s.desc || s.title || s.name || '',
940
+ type: s.type || s.task_type || s.category || 'implement',
941
+ complexity: s.complexity || s.difficulty || 3,
942
+ dependencies: s.dependencies || s.deps || s.depends_on || [],
943
+ parallelizable: s.parallelizable ?? s.parallel ?? true,
944
+ relevantFiles: s.relevantFiles || s.relevant_files || s.files,
945
+ suggestedRole: s.suggestedRole || s.suggested_role || s.role,
946
+ };
947
+ }
948
+ /**
949
+ * Try to extract subtasks from a parsed JSON object/array.
950
+ * Returns null if the structure doesn't contain usable subtask data.
951
+ */
952
+ function extractSubtasksFromParsed(parsed) {
953
+ // Handle array-at-root: some models return [{...}, {...}] instead of {"subtasks": [...]}
954
+ if (Array.isArray(parsed)) {
955
+ parsed = { subtasks: parsed, strategy: 'adaptive', reasoning: '(array-at-root)' };
956
+ }
957
+ // Normalize alternative key names: tasks, steps, task_list → subtasks
958
+ const subtasksArray = parsed.subtasks
959
+ ?? parsed.tasks
960
+ ?? parsed.steps
961
+ ?? parsed.task_list
962
+ ?? parsed.decomposition;
963
+ if (!subtasksArray || !Array.isArray(subtasksArray) || subtasksArray.length === 0) {
964
+ return null;
965
+ }
966
+ return {
967
+ subtasks: subtasksArray.map(normalizeSubtask),
968
+ strategy: parsed.strategy || 'adaptive',
969
+ reasoning: parsed.reasoning || '',
970
+ };
971
+ }
972
+ /**
973
+ * Layer 1: Lenient JSON repair.
974
+ * Fixes common LLM JSON mistakes before parsing:
975
+ * - Trailing commas before ] and }
976
+ * - JS-style comments (// and block comments)
977
+ * - Single-quoted strings → double-quoted
978
+ * - Unquoted object keys
979
+ */
980
+ export function repairJSON(jsonStr) {
981
+ let s = jsonStr;
982
+ // Strip JS-style line comments (// ...) outside strings
983
+ s = s.replace(/("(?:[^"\\]|\\.)*")|\/\/[^\n]*/g, (_match, str) => str ?? '');
984
+ // Strip JS-style block comments outside strings
985
+ s = s.replace(/("(?:[^"\\]|\\.)*")|\/\*[\s\S]*?\*\//g, (_match, str) => str ?? '');
986
+ // Replace single-quoted strings with double-quoted (outside existing double-quoted strings)
987
+ s = s.replace(/("(?:[^"\\]|\\.)*")|'((?:[^'\\]|\\.)*)'/g, (_match, dq, sq) => {
988
+ if (dq)
989
+ return dq; // Already double-quoted, keep as-is
990
+ const escaped = sq.replace(/(?<!\\)"/g, '\\"');
991
+ return `"${escaped}"`;
992
+ });
993
+ // Fix unquoted object keys: { key: "value" } → { "key": "value" }
994
+ s = s.replace(/("(?:[^"\\]|\\.)*")|\b([a-zA-Z_][a-zA-Z0-9_]*)\s*:/g, (match, str, key) => {
995
+ if (str)
996
+ return match; // Inside a string, keep as-is
997
+ return `"${key}":`;
998
+ });
999
+ // Strip trailing commas before ] and }
1000
+ s = s.replace(/,\s*([}\]])/g, '$1');
1001
+ return s;
1002
+ }
1003
+ /**
1004
+ * Layer 2: Extract subtasks from natural language (numbered/bulleted lists).
1005
+ * Handles formats like:
1006
+ * - "1. Description" / "1) Description"
1007
+ * - "- Description" / "* Description"
1008
+ * - "Task 1: Description" / "Step 1: Description"
1009
+ * - "- [ ] Description" / "- [x] Description" (markdown task lists)
1010
+ */
1011
+ export function extractSubtasksFromNaturalLanguage(response) {
1012
+ const items = [];
1013
+ // Try markdown task lists first: - [ ] Task / - [x] Task
1014
+ const taskListPattern = /^[ \t]*[-*]\s*\[[ x]\]\s+(.+)$/gm;
1015
+ let match;
1016
+ while ((match = taskListPattern.exec(response)) !== null) {
1017
+ const desc = match[1].trim();
1018
+ if (desc.length > 5)
1019
+ items.push(desc);
1020
+ }
1021
+ if (items.length >= 2)
1022
+ return buildSubtasksFromList(items);
1023
+ // Try numbered lists: 1. Desc / 1) Desc / 1: Desc
1024
+ items.length = 0;
1025
+ const numberedPattern = /^[ \t]*\d+[.):\-]\s+(.+)$/gm;
1026
+ while ((match = numberedPattern.exec(response)) !== null) {
1027
+ const desc = match[1].trim();
1028
+ if (desc.length > 5)
1029
+ items.push(desc);
1030
+ }
1031
+ if (items.length >= 2)
1032
+ return buildSubtasksFromList(items);
1033
+ // Try bulleted lists: - Desc / * Desc (but not markdown task lists already tried)
1034
+ items.length = 0;
1035
+ const bulletPattern = /^[ \t]*[-*]\s+(?!\[[ x]\])(.+)$/gm;
1036
+ while ((match = bulletPattern.exec(response)) !== null) {
1037
+ const desc = match[1].trim();
1038
+ if (desc.length > 5)
1039
+ items.push(desc);
1040
+ }
1041
+ if (items.length >= 2)
1042
+ return buildSubtasksFromList(items);
1043
+ // Try "Task N:" / "Step N:" / "Subtask N:" style headers
1044
+ items.length = 0;
1045
+ const headerPattern = /^[ \t]*(?:task|step|subtask|phase)\s*\d+[:.]\s*(.+)$/gim;
1046
+ while ((match = headerPattern.exec(response)) !== null) {
1047
+ const desc = match[1].trim();
1048
+ if (desc.length > 5)
1049
+ items.push(desc);
1050
+ }
1051
+ if (items.length >= 2)
1052
+ return buildSubtasksFromList(items);
1053
+ // Try markdown headers: ## Subtask 1 / ### Step: Description
1054
+ items.length = 0;
1055
+ const mdHeaderPattern = /^#{2,4}\s+(?:(?:subtask|step|task|phase)\s*\d*[:.]*\s*)?(.+)$/gim;
1056
+ while ((match = mdHeaderPattern.exec(response)) !== null) {
1057
+ const desc = match[1].trim();
1058
+ // Skip generic headers like "Summary", "Strategy", "Overview"
1059
+ if (desc.length > 5 && !/^(summary|strategy|overview|reasoning|conclusion|notes?)$/i.test(desc)) {
1060
+ items.push(desc);
937
1061
  }
938
- const parsed = JSON.parse(jsonMatch[0]);
939
- return {
940
- subtasks: (parsed.subtasks || []).map((s) => ({
941
- description: s.description || '',
942
- type: s.type || 'implement',
943
- complexity: s.complexity || 3,
944
- dependencies: s.dependencies || [],
945
- parallelizable: s.parallelizable ?? true,
946
- relevantFiles: s.relevantFiles,
947
- suggestedRole: s.suggestedRole,
948
- })),
949
- strategy: parsed.strategy || 'adaptive',
950
- reasoning: parsed.reasoning || '',
951
- };
952
1062
  }
953
- catch (error) {
954
- // Return default if parsing fails — preserve error info for diagnostics
1063
+ if (items.length >= 2)
1064
+ return buildSubtasksFromList(items);
1065
+ return null;
1066
+ }
1067
+ /**
1068
+ * Build an LLMDecomposeResult from a flat list of description strings.
1069
+ * Assigns sequential dependencies and infers task type from keywords.
1070
+ */
1071
+ function buildSubtasksFromList(items) {
1072
+ const TYPE_KEYWORDS = {
1073
+ research: ['research', 'investigate', 'explore', 'analyze', 'understand', 'study', 'review existing'],
1074
+ design: ['design', 'plan', 'architect', 'schema', 'structure'],
1075
+ test: ['test', 'verify', 'validate', 'assert', 'check'],
1076
+ refactor: ['refactor', 'clean up', 'reorganize', 'simplify'],
1077
+ document: ['document', 'readme', 'docs', 'comment'],
1078
+ integrate: ['integrate', 'wire', 'connect', 'combine', 'merge'],
1079
+ deploy: ['deploy', 'release', 'publish', 'ship'],
1080
+ };
1081
+ return {
1082
+ subtasks: items.map((desc, i) => {
1083
+ const lower = desc.toLowerCase();
1084
+ let type = 'implement';
1085
+ for (const [t, keywords] of Object.entries(TYPE_KEYWORDS)) {
1086
+ if (keywords.some(k => lower.includes(k))) {
1087
+ type = t;
1088
+ break;
1089
+ }
1090
+ }
1091
+ return {
1092
+ description: desc,
1093
+ type,
1094
+ complexity: 3,
1095
+ dependencies: i > 0 ? [String(i - 1)] : [],
1096
+ parallelizable: i === 0 || type === 'research' || type === 'test',
1097
+ };
1098
+ }),
1099
+ strategy: 'sequential',
1100
+ reasoning: '(extracted from natural language list)',
1101
+ };
1102
+ }
1103
+ /**
1104
+ * Layer 3: Last-ditch single mega-task extraction.
1105
+ * If there's meaningful text but no structure could be found,
1106
+ * wrap the response as a single "implement" subtask so the swarm
1107
+ * has something to work with rather than aborting entirely.
1108
+ */
1109
+ function extractMegaTask(response) {
1110
+ // Strip code blocks, JSON fragments, and whitespace to get prose content
1111
+ const prose = response
1112
+ .replace(/```[\s\S]*?```/g, '')
1113
+ .replace(/\{[\s\S]*?\}/g, '')
1114
+ .replace(/\[[\s\S]*?\]/g, '')
1115
+ .trim();
1116
+ // Only create mega-task if there's substantial text (not just JSON garbage)
1117
+ if (prose.length < 20)
1118
+ return null;
1119
+ const desc = prose.length > 200
1120
+ ? prose.slice(0, 200).replace(/\s+\S*$/, '') + '...'
1121
+ : prose;
1122
+ return {
1123
+ subtasks: [{
1124
+ description: desc,
1125
+ type: 'implement',
1126
+ complexity: 5,
1127
+ dependencies: [],
1128
+ parallelizable: false,
1129
+ }],
1130
+ strategy: 'adaptive',
1131
+ reasoning: '(single mega-task — parser could not extract structured subtasks)',
1132
+ };
1133
+ }
1134
+ /**
1135
+ * Parse LLM response into decomposition result.
1136
+ *
1137
+ * Uses progressive fallback layers to handle messy LLM output:
1138
+ * 1. Standard JSON extraction (code blocks, raw JSON)
1139
+ * 2. Lenient JSON repair (trailing commas, comments, single quotes, unquoted keys)
1140
+ * 3. Truncated JSON recovery (missing closing brackets)
1141
+ * 4. Natural language extraction (numbered/bulleted lists, markdown task lists)
1142
+ * 5. Single mega-task fallback (wrap prose as one subtask)
1143
+ */
1144
+ export function parseDecompositionResponse(response) {
1145
+ if (!response || response.trim().length === 0) {
955
1146
  return {
956
1147
  subtasks: [],
957
1148
  strategy: 'adaptive',
958
- reasoning: `Failed to parse LLM response: ${error.message}`,
1149
+ reasoning: '',
1150
+ parseError: 'Empty response from LLM',
959
1151
  };
960
1152
  }
1153
+ // ── Step 1: Extract JSON string (code block or raw) ──────────────
1154
+ let jsonStr;
1155
+ const codeBlockMatch = response.match(/```(?:json)?\s*\n?([\s\S]*?)```/);
1156
+ if (codeBlockMatch) {
1157
+ jsonStr = codeBlockMatch[1].trim();
1158
+ }
1159
+ if (!jsonStr) {
1160
+ // If the response starts with `[`, try array regex first to avoid
1161
+ // \{[\s\S]*\} greedily matching across multiple objects in the array
1162
+ const trimmed = response.trim();
1163
+ const jsonMatch = trimmed.startsWith('[')
1164
+ ? (response.match(/\[[\s\S]*\]/) || response.match(/\{[\s\S]*\}/))
1165
+ : (response.match(/\{[\s\S]*\}/) || response.match(/\[[\s\S]*\]/));
1166
+ if (jsonMatch)
1167
+ jsonStr = jsonMatch[0];
1168
+ }
1169
+ // ── Step 2: Try strict JSON parse ────────────────────────────────
1170
+ if (jsonStr) {
1171
+ try {
1172
+ const parsed = JSON.parse(jsonStr);
1173
+ const result = extractSubtasksFromParsed(parsed);
1174
+ if (result)
1175
+ return result;
1176
+ }
1177
+ catch {
1178
+ // Strict parse failed — continue to lenient repair
1179
+ }
1180
+ // ── Step 3: Lenient JSON repair + parse ──────────────────────────
1181
+ try {
1182
+ const repaired = repairJSON(jsonStr);
1183
+ const parsed = JSON.parse(repaired);
1184
+ const result = extractSubtasksFromParsed(parsed);
1185
+ if (result) {
1186
+ result.reasoning = result.reasoning
1187
+ ? result.reasoning + ' (repaired JSON)'
1188
+ : '(repaired JSON)';
1189
+ return result;
1190
+ }
1191
+ }
1192
+ catch {
1193
+ // Repaired parse also failed — continue to truncation recovery
1194
+ }
1195
+ }
1196
+ // ── Step 4: Truncated JSON recovery ────────────────────────────────
1197
+ const recovered = tryRecoverTruncatedJSON(response);
1198
+ if (recovered) {
1199
+ try {
1200
+ const parsed = JSON.parse(recovered);
1201
+ const result = extractSubtasksFromParsed(parsed);
1202
+ if (result) {
1203
+ result.reasoning = result.reasoning
1204
+ ? result.reasoning + ' (recovered from truncated response)'
1205
+ : '(recovered from truncated response)';
1206
+ return result;
1207
+ }
1208
+ }
1209
+ catch {
1210
+ // Truncation recovery also failed — try repaired version
1211
+ try {
1212
+ const repairedRecovered = repairJSON(recovered);
1213
+ const parsed = JSON.parse(repairedRecovered);
1214
+ const result = extractSubtasksFromParsed(parsed);
1215
+ if (result) {
1216
+ result.reasoning = '(recovered from truncated + repaired JSON)';
1217
+ return result;
1218
+ }
1219
+ }
1220
+ catch {
1221
+ // All JSON approaches exhausted
1222
+ }
1223
+ }
1224
+ }
1225
+ // ── Step 5: Natural language extraction ────────────────────────────
1226
+ const nlResult = extractSubtasksFromNaturalLanguage(response);
1227
+ if (nlResult)
1228
+ return nlResult;
1229
+ // ── Step 6: Single mega-task fallback ──────────────────────────────
1230
+ const megaResult = extractMegaTask(response);
1231
+ if (megaResult)
1232
+ return megaResult;
1233
+ // ── Truly nothing worked ───────────────────────────────────────────
1234
+ return {
1235
+ subtasks: [],
1236
+ strategy: 'adaptive',
1237
+ reasoning: '',
1238
+ parseError: `All parse strategies failed. First 200 chars: ${response.slice(0, 200)}`,
1239
+ };
1240
+ }
1241
+ /**
1242
+ * Attempt to recover a truncated JSON response by trimming incomplete trailing
1243
+ * content and adding missing closing brackets/braces.
1244
+ *
1245
+ * Works for the common case where the LLM output was cut off mid-JSON-array,
1246
+ * e.g.: `{"subtasks": [ {...}, {...}, {"desc` → trim last incomplete object → close array & object.
1247
+ */
1248
+ function tryRecoverTruncatedJSON(response) {
1249
+ // Extract JSON portion (from code block or raw)
1250
+ let jsonStr;
1251
+ const codeBlockMatch = response.match(/```(?:json)?\s*\n?([\s\S]*)/);
1252
+ if (codeBlockMatch) {
1253
+ // No closing ``` required — that's the truncation
1254
+ jsonStr = codeBlockMatch[1].replace(/```\s*$/, '').trim();
1255
+ }
1256
+ if (!jsonStr) {
1257
+ const jsonMatch = response.match(/\{[\s\S]*/);
1258
+ if (jsonMatch)
1259
+ jsonStr = jsonMatch[0].trim();
1260
+ }
1261
+ if (!jsonStr)
1262
+ return null;
1263
+ // Find the last complete JSON object in the subtasks array.
1264
+ // Strategy: find last `}` that closes a complete array element, trim there, close brackets.
1265
+ // We search backwards for `},` or `}\n` patterns that likely end a complete subtask object.
1266
+ let lastGoodPos = -1;
1267
+ let braceDepth = 0;
1268
+ let bracketDepth = 0;
1269
+ let inString = false;
1270
+ let escape = false;
1271
+ for (let i = 0; i < jsonStr.length; i++) {
1272
+ const ch = jsonStr[i];
1273
+ if (escape) {
1274
+ escape = false;
1275
+ continue;
1276
+ }
1277
+ if (ch === '\\' && inString) {
1278
+ escape = true;
1279
+ continue;
1280
+ }
1281
+ if (ch === '"') {
1282
+ inString = !inString;
1283
+ continue;
1284
+ }
1285
+ if (inString)
1286
+ continue;
1287
+ if (ch === '{')
1288
+ braceDepth++;
1289
+ else if (ch === '}') {
1290
+ braceDepth--;
1291
+ // When we close an object at brace depth 1 (inside the top-level object),
1292
+ // this is likely a complete subtask object inside the array
1293
+ if (braceDepth === 1 && bracketDepth === 1) {
1294
+ lastGoodPos = i;
1295
+ }
1296
+ }
1297
+ else if (ch === '[')
1298
+ bracketDepth++;
1299
+ else if (ch === ']')
1300
+ bracketDepth--;
1301
+ }
1302
+ if (lastGoodPos === -1)
1303
+ return null;
1304
+ // Trim to last complete subtask object, then close the JSON structure
1305
+ let trimmed = jsonStr.slice(0, lastGoodPos + 1);
1306
+ // Remove trailing comma if present
1307
+ trimmed = trimmed.replace(/,\s*$/, '');
1308
+ // Close open brackets: we need to close the subtasks array and the root object
1309
+ // Count what's still open
1310
+ let openBraces = 0;
1311
+ let openBrackets = 0;
1312
+ inString = false;
1313
+ escape = false;
1314
+ for (let i = 0; i < trimmed.length; i++) {
1315
+ const ch = trimmed[i];
1316
+ if (escape) {
1317
+ escape = false;
1318
+ continue;
1319
+ }
1320
+ if (ch === '\\' && inString) {
1321
+ escape = true;
1322
+ continue;
1323
+ }
1324
+ if (ch === '"') {
1325
+ inString = !inString;
1326
+ continue;
1327
+ }
1328
+ if (inString)
1329
+ continue;
1330
+ if (ch === '{')
1331
+ openBraces++;
1332
+ else if (ch === '}')
1333
+ openBraces--;
1334
+ else if (ch === '[')
1335
+ openBrackets++;
1336
+ else if (ch === ']')
1337
+ openBrackets--;
1338
+ }
1339
+ // Close remaining open structures
1340
+ for (let i = 0; i < openBrackets; i++)
1341
+ trimmed += ']';
1342
+ for (let i = 0; i < openBraces; i++)
1343
+ trimmed += '}';
1344
+ return trimmed;
961
1345
  }
962
1346
  //# sourceMappingURL=smart-decomposer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"smart-decomposer.js","sourceRoot":"","sources":["../../../src/integrations/smart-decomposer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"smart-decomposer.js","sourceRoot":"","sources":["../../../src/integrations/smart-decomposer.ts"],"names":[],"mappings":"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"}
@@ -51,6 +51,8 @@ export type SessionType = 'main' | 'subagent' | 'branch' | 'fork';
51
51
  export interface SessionMetadata {
52
52
  id: string;
53
53
  name?: string;
54
+ workspacePath?: string;
55
+ workspaceFingerprint?: string;
54
56
  createdAt: string;
55
57
  lastActiveAt: string;
56
58
  messageCount: number;