@intrect/openswarm 0.17.1 → 0.17.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (336) hide show
  1. package/README.md +21 -5
  2. package/config.example.yaml +18 -0
  3. package/dist/adapters/agenticLoop.d.ts +2 -0
  4. package/dist/adapters/agenticLoop.d.ts.map +1 -1
  5. package/dist/adapters/agenticLoop.js +7 -4
  6. package/dist/adapters/agenticLoop.js.map +1 -1
  7. package/dist/adapters/base.d.ts.map +1 -1
  8. package/dist/adapters/base.js +9 -0
  9. package/dist/adapters/base.js.map +1 -1
  10. package/dist/adapters/claude.d.ts.map +1 -1
  11. package/dist/adapters/claude.js +6 -3
  12. package/dist/adapters/claude.js.map +1 -1
  13. package/dist/adapters/codex.d.ts.map +1 -1
  14. package/dist/adapters/codex.js +3 -2
  15. package/dist/adapters/codex.js.map +1 -1
  16. package/dist/adapters/codexResponses.d.ts +2 -1
  17. package/dist/adapters/codexResponses.d.ts.map +1 -1
  18. package/dist/adapters/codexResponses.js +35 -31
  19. package/dist/adapters/codexResponses.js.map +1 -1
  20. package/dist/adapters/errorClassification.d.ts +11 -0
  21. package/dist/adapters/errorClassification.d.ts.map +1 -1
  22. package/dist/adapters/errorClassification.js +22 -0
  23. package/dist/adapters/errorClassification.js.map +1 -1
  24. package/dist/adapters/gpt.d.ts.map +1 -1
  25. package/dist/adapters/gpt.js +2 -1
  26. package/dist/adapters/gpt.js.map +1 -1
  27. package/dist/adapters/local.d.ts.map +1 -1
  28. package/dist/adapters/local.js +2 -1
  29. package/dist/adapters/local.js.map +1 -1
  30. package/dist/adapters/openrouter.d.ts.map +1 -1
  31. package/dist/adapters/openrouter.js +2 -1
  32. package/dist/adapters/openrouter.js.map +1 -1
  33. package/dist/adapters/processRegistry.d.ts.map +1 -1
  34. package/dist/adapters/processRegistry.js +8 -0
  35. package/dist/adapters/processRegistry.js.map +1 -1
  36. package/dist/adapters/types.d.ts +2 -0
  37. package/dist/adapters/types.d.ts.map +1 -1
  38. package/dist/agents/pairPipeline.d.ts +10 -139
  39. package/dist/agents/pairPipeline.d.ts.map +1 -1
  40. package/dist/agents/pairPipeline.js +127 -35
  41. package/dist/agents/pairPipeline.js.map +1 -1
  42. package/dist/agents/pairPipelineTypes.d.ts +109 -0
  43. package/dist/agents/pairPipelineTypes.d.ts.map +1 -0
  44. package/dist/agents/pairPipelineTypes.js +2 -0
  45. package/dist/agents/pairPipelineTypes.js.map +1 -0
  46. package/dist/agents/pipelineGuards.d.ts.map +1 -1
  47. package/dist/agents/pipelineGuards.js +346 -0
  48. package/dist/agents/pipelineGuards.js.map +1 -1
  49. package/dist/agents/pipelineTaskPrefix.d.ts +3 -0
  50. package/dist/agents/pipelineTaskPrefix.d.ts.map +1 -0
  51. package/dist/agents/pipelineTaskPrefix.js +16 -0
  52. package/dist/agents/pipelineTaskPrefix.js.map +1 -0
  53. package/dist/agents/reflection.d.ts +1 -1
  54. package/dist/agents/reflection.d.ts.map +1 -1
  55. package/dist/agents/reflection.js +3 -1
  56. package/dist/agents/reflection.js.map +1 -1
  57. package/dist/agents/reviewer.d.ts +6 -0
  58. package/dist/agents/reviewer.d.ts.map +1 -1
  59. package/dist/agents/reviewer.js +4 -1
  60. package/dist/agents/reviewer.js.map +1 -1
  61. package/dist/agents/stageErrorClassification.d.ts +16 -0
  62. package/dist/agents/stageErrorClassification.d.ts.map +1 -0
  63. package/dist/agents/stageErrorClassification.js +38 -0
  64. package/dist/agents/stageErrorClassification.js.map +1 -0
  65. package/dist/agents/stageModelResolver.d.ts +8 -0
  66. package/dist/agents/stageModelResolver.d.ts.map +1 -0
  67. package/dist/agents/stageModelResolver.js +22 -0
  68. package/dist/agents/stageModelResolver.js.map +1 -0
  69. package/dist/agents/worker.d.ts +33 -0
  70. package/dist/agents/worker.d.ts.map +1 -1
  71. package/dist/agents/worker.js +62 -5
  72. package/dist/agents/worker.js.map +1 -1
  73. package/dist/agents/workerFanout.d.ts +38 -0
  74. package/dist/agents/workerFanout.d.ts.map +1 -0
  75. package/dist/agents/workerFanout.js +277 -0
  76. package/dist/agents/workerFanout.js.map +1 -0
  77. package/dist/agents/workerFanoutGate.d.ts +48 -0
  78. package/dist/agents/workerFanoutGate.d.ts.map +1 -0
  79. package/dist/agents/workerFanoutGate.js +146 -0
  80. package/dist/agents/workerFanoutGate.js.map +1 -0
  81. package/dist/agents/workerValidationEvidence.d.ts +5 -0
  82. package/dist/agents/workerValidationEvidence.d.ts.map +1 -0
  83. package/dist/agents/workerValidationEvidence.js +75 -0
  84. package/dist/agents/workerValidationEvidence.js.map +1 -0
  85. package/dist/auth/linearPkce.d.ts.map +1 -1
  86. package/dist/auth/linearPkce.js +1 -12
  87. package/dist/auth/linearPkce.js.map +1 -1
  88. package/dist/auth/oauthPkce.d.ts.map +1 -1
  89. package/dist/auth/oauthPkce.js +1 -14
  90. package/dist/auth/oauthPkce.js.map +1 -1
  91. package/dist/auth/oauthStore.d.ts.map +1 -1
  92. package/dist/auth/oauthStore.js +28 -2
  93. package/dist/auth/oauthStore.js.map +1 -1
  94. package/dist/auth/openBrowser.d.ts +2 -0
  95. package/dist/auth/openBrowser.d.ts.map +1 -0
  96. package/dist/auth/openBrowser.js +32 -0
  97. package/dist/auth/openBrowser.js.map +1 -0
  98. package/dist/auth/openrouterPkce.d.ts.map +1 -1
  99. package/dist/auth/openrouterPkce.js +1 -14
  100. package/dist/auth/openrouterPkce.js.map +1 -1
  101. package/dist/automation/autonomousRunner.d.ts +24 -6
  102. package/dist/automation/autonomousRunner.d.ts.map +1 -1
  103. package/dist/automation/autonomousRunner.js +242 -41
  104. package/dist/automation/autonomousRunner.js.map +1 -1
  105. package/dist/automation/backlogGrooming.d.ts +52 -0
  106. package/dist/automation/backlogGrooming.d.ts.map +1 -0
  107. package/dist/automation/backlogGrooming.js +231 -0
  108. package/dist/automation/backlogGrooming.js.map +1 -0
  109. package/dist/automation/runnerExecution.d.ts +1 -1
  110. package/dist/automation/runnerExecution.d.ts.map +1 -1
  111. package/dist/automation/runnerExecution.js +31 -9
  112. package/dist/automation/runnerExecution.js.map +1 -1
  113. package/dist/automation/runnerTypes.d.ts +3 -1
  114. package/dist/automation/runnerTypes.d.ts.map +1 -1
  115. package/dist/automation/taskSource.d.ts +6 -3
  116. package/dist/automation/taskSource.d.ts.map +1 -1
  117. package/dist/automation/taskSource.js +5 -0
  118. package/dist/automation/taskSource.js.map +1 -1
  119. package/dist/cli/daemon.d.ts +20 -3
  120. package/dist/cli/daemon.d.ts.map +1 -1
  121. package/dist/cli/daemon.js +42 -2
  122. package/dist/cli/daemon.js.map +1 -1
  123. package/dist/cli/fixBoard.d.ts +14 -0
  124. package/dist/cli/fixBoard.d.ts.map +1 -0
  125. package/dist/cli/fixBoard.js +32 -0
  126. package/dist/cli/fixBoard.js.map +1 -0
  127. package/dist/cli/fixCommand.d.ts +8 -0
  128. package/dist/cli/fixCommand.d.ts.map +1 -1
  129. package/dist/cli/fixCommand.js +47 -8
  130. package/dist/cli/fixCommand.js.map +1 -1
  131. package/dist/cli/memoryCommand.d.ts +37 -0
  132. package/dist/cli/memoryCommand.d.ts.map +1 -0
  133. package/dist/cli/memoryCommand.js +156 -0
  134. package/dist/cli/memoryCommand.js.map +1 -0
  135. package/dist/cli/reviewAudit.d.ts +68 -0
  136. package/dist/cli/reviewAudit.d.ts.map +1 -1
  137. package/dist/cli/reviewAudit.js +147 -4
  138. package/dist/cli/reviewAudit.js.map +1 -1
  139. package/dist/cli/reviewMaxCommand.d.ts +2 -0
  140. package/dist/cli/reviewMaxCommand.d.ts.map +1 -1
  141. package/dist/cli/reviewMaxCommand.js +61 -33
  142. package/dist/cli/reviewMaxCommand.js.map +1 -1
  143. package/dist/cli.js +68 -13
  144. package/dist/cli.js.map +1 -1
  145. package/dist/core/config.d.ts +413 -0
  146. package/dist/core/config.d.ts.map +1 -1
  147. package/dist/core/config.js +51 -5
  148. package/dist/core/config.js.map +1 -1
  149. package/dist/core/eventHub.d.ts +22 -0
  150. package/dist/core/eventHub.d.ts.map +1 -1
  151. package/dist/core/eventHub.js +1 -0
  152. package/dist/core/eventHub.js.map +1 -1
  153. package/dist/core/providerOverride.d.ts +9 -0
  154. package/dist/core/providerOverride.d.ts.map +1 -1
  155. package/dist/core/providerOverride.js +12 -0
  156. package/dist/core/providerOverride.js.map +1 -1
  157. package/dist/core/service.d.ts.map +1 -1
  158. package/dist/core/service.js +8 -2
  159. package/dist/core/service.js.map +1 -1
  160. package/dist/core/types.d.ts +61 -1
  161. package/dist/core/types.d.ts.map +1 -1
  162. package/dist/linear/linear.d.ts +2 -1
  163. package/dist/linear/linear.d.ts.map +1 -1
  164. package/dist/linear/linear.js +34 -12
  165. package/dist/linear/linear.js.map +1 -1
  166. package/dist/linear/projectUpdater.d.ts.map +1 -1
  167. package/dist/linear/projectUpdater.js +40 -13
  168. package/dist/linear/projectUpdater.js.map +1 -1
  169. package/dist/locale/prompts/en.d.ts.map +1 -1
  170. package/dist/locale/prompts/en.js +15 -5
  171. package/dist/locale/prompts/en.js.map +1 -1
  172. package/dist/locale/prompts/ko.d.ts.map +1 -1
  173. package/dist/locale/prompts/ko.js +15 -5
  174. package/dist/locale/prompts/ko.js.map +1 -1
  175. package/dist/mcp/mcpClient.d.ts.map +1 -1
  176. package/dist/mcp/mcpClient.js +85 -4
  177. package/dist/mcp/mcpClient.js.map +1 -1
  178. package/dist/memory/compaction.d.ts +2 -2
  179. package/dist/memory/compaction.d.ts.map +1 -1
  180. package/dist/memory/compaction.js +22 -17
  181. package/dist/memory/compaction.js.map +1 -1
  182. package/dist/memory/index.d.ts +3 -3
  183. package/dist/memory/index.js +3 -3
  184. package/dist/memory/memoryCore.d.ts +16 -27
  185. package/dist/memory/memoryCore.d.ts.map +1 -1
  186. package/dist/memory/memoryCore.js +160 -102
  187. package/dist/memory/memoryCore.js.map +1 -1
  188. package/dist/memory/memoryFilters.d.ts +8 -0
  189. package/dist/memory/memoryFilters.d.ts.map +1 -0
  190. package/dist/memory/memoryFilters.js +26 -0
  191. package/dist/memory/memoryFilters.js.map +1 -0
  192. package/dist/memory/memoryOps.d.ts +7 -23
  193. package/dist/memory/memoryOps.d.ts.map +1 -1
  194. package/dist/memory/memoryOps.js +54 -117
  195. package/dist/memory/memoryOps.js.map +1 -1
  196. package/dist/memory/repoKnowledge.d.ts.map +1 -1
  197. package/dist/memory/repoKnowledge.js +48 -3
  198. package/dist/memory/repoKnowledge.js.map +1 -1
  199. package/dist/notify/notifier.d.ts.map +1 -1
  200. package/dist/notify/notifier.js +23 -16
  201. package/dist/notify/notifier.js.map +1 -1
  202. package/dist/orchestration/conflictDetector.d.ts.map +1 -1
  203. package/dist/orchestration/conflictDetector.js +48 -12
  204. package/dist/orchestration/conflictDetector.js.map +1 -1
  205. package/dist/orchestration/taskParser.d.ts.map +1 -1
  206. package/dist/orchestration/taskParser.js +18 -7
  207. package/dist/orchestration/taskParser.js.map +1 -1
  208. package/dist/orchestration/taskScheduler.d.ts +5 -0
  209. package/dist/orchestration/taskScheduler.d.ts.map +1 -1
  210. package/dist/orchestration/taskScheduler.js +37 -12
  211. package/dist/orchestration/taskScheduler.js.map +1 -1
  212. package/dist/registry/bsDetector.d.ts.map +1 -1
  213. package/dist/registry/bsDetector.js +23 -3
  214. package/dist/registry/bsDetector.js.map +1 -1
  215. package/dist/registry/entityScanner.d.ts.map +1 -1
  216. package/dist/registry/entityScanner.js +10 -5
  217. package/dist/registry/entityScanner.js.map +1 -1
  218. package/dist/registry/graphql/resolvers.d.ts +1 -1
  219. package/dist/registry/graphql/resolvers.d.ts.map +1 -1
  220. package/dist/registry/graphql/resolvers.js +92 -15
  221. package/dist/registry/graphql/resolvers.js.map +1 -1
  222. package/dist/registry/memoryBridge.js +4 -4
  223. package/dist/registry/memoryBridge.js.map +1 -1
  224. package/dist/registry/sqliteStore.d.ts +1 -1
  225. package/dist/registry/sqliteStore.d.ts.map +1 -1
  226. package/dist/registry/sqliteStore.js +20 -5
  227. package/dist/registry/sqliteStore.js.map +1 -1
  228. package/dist/support/chatMemory.js +1 -1
  229. package/dist/support/chatMemory.js.map +1 -1
  230. package/dist/support/dashboardHtml.d.ts +1 -1
  231. package/dist/support/dashboardHtml.d.ts.map +1 -1
  232. package/dist/support/dashboardHtml.js +12 -0
  233. package/dist/support/dashboardHtml.js.map +1 -1
  234. package/dist/support/gitTracker.d.ts +30 -3
  235. package/dist/support/gitTracker.d.ts.map +1 -1
  236. package/dist/support/gitTracker.js +108 -29
  237. package/dist/support/gitTracker.js.map +1 -1
  238. package/dist/support/projectMapper.d.ts.map +1 -1
  239. package/dist/support/projectMapper.js +5 -0
  240. package/dist/support/projectMapper.js.map +1 -1
  241. package/dist/support/repoMetadata.d.ts +10 -0
  242. package/dist/support/repoMetadata.d.ts.map +1 -1
  243. package/dist/support/repoMetadata.js +31 -0
  244. package/dist/support/repoMetadata.js.map +1 -1
  245. package/dist/support/rollback.d.ts.map +1 -1
  246. package/dist/support/rollback.js +10 -3
  247. package/dist/support/rollback.js.map +1 -1
  248. package/dist/support/timeWindow.d.ts.map +1 -1
  249. package/dist/support/timeWindow.js +46 -40
  250. package/dist/support/timeWindow.js.map +1 -1
  251. package/dist/support/updateNotifier.d.ts +12 -0
  252. package/dist/support/updateNotifier.d.ts.map +1 -1
  253. package/dist/support/updateNotifier.js +71 -0
  254. package/dist/support/updateNotifier.js.map +1 -1
  255. package/dist/support/web.d.ts.map +1 -1
  256. package/dist/support/web.js +74 -8
  257. package/dist/support/web.js.map +1 -1
  258. package/dist/support/worktreeManager.d.ts +33 -0
  259. package/dist/support/worktreeManager.d.ts.map +1 -1
  260. package/dist/support/worktreeManager.js +172 -2
  261. package/dist/support/worktreeManager.js.map +1 -1
  262. package/dist/taskState/store.d.ts.map +1 -1
  263. package/dist/taskState/store.js +2 -3
  264. package/dist/taskState/store.js.map +1 -1
  265. package/dist/tui/App.js +1 -1
  266. package/dist/tui/App.js.map +1 -1
  267. package/dist/tui/chatModel.d.ts +2 -4
  268. package/dist/tui/chatModel.d.ts.map +1 -1
  269. package/dist/tui/chatModel.js +5 -10
  270. package/dist/tui/chatModel.js.map +1 -1
  271. package/dist/tui/components/AuditBoard.d.ts +3 -2
  272. package/dist/tui/components/AuditBoard.d.ts.map +1 -1
  273. package/dist/tui/components/AuditBoard.js +13 -4
  274. package/dist/tui/components/AuditBoard.js.map +1 -1
  275. package/dist/tui/components/ChatInput.js +1 -1
  276. package/dist/tui/components/ChatLog.js +1 -1
  277. package/dist/tui/components/ChatLog.js.map +1 -1
  278. package/dist/tui/components/DataTable.d.ts +3 -1
  279. package/dist/tui/components/DataTable.d.ts.map +1 -1
  280. package/dist/tui/components/DataTable.js +22 -4
  281. package/dist/tui/components/DataTable.js.map +1 -1
  282. package/dist/tui/components/LiveLog.js +1 -1
  283. package/dist/tui/components/LiveLog.js.map +1 -1
  284. package/dist/tui/components/StageTimeline.d.ts +1 -1
  285. package/dist/tui/components/StageTimeline.d.ts.map +1 -1
  286. package/dist/tui/components/StageTimeline.js +6 -3
  287. package/dist/tui/components/StageTimeline.js.map +1 -1
  288. package/dist/tui/components/SubagentTree.d.ts +6 -6
  289. package/dist/tui/components/SubagentTree.d.ts.map +1 -1
  290. package/dist/tui/components/SubagentTree.js +39 -7
  291. package/dist/tui/components/SubagentTree.js.map +1 -1
  292. package/dist/tui/eventCoalescer.d.ts +29 -0
  293. package/dist/tui/eventCoalescer.d.ts.map +1 -0
  294. package/dist/tui/eventCoalescer.js +56 -0
  295. package/dist/tui/eventCoalescer.js.map +1 -0
  296. package/dist/tui/hooks/useMonitor.d.ts +3 -1
  297. package/dist/tui/hooks/useMonitor.d.ts.map +1 -1
  298. package/dist/tui/hooks/useMonitor.js +17 -1
  299. package/dist/tui/hooks/useMonitor.js.map +1 -1
  300. package/dist/tui/hooks/usePipelineEvents.d.ts +1 -1
  301. package/dist/tui/hooks/usePipelineEvents.d.ts.map +1 -1
  302. package/dist/tui/hooks/usePipelineEvents.js +18 -4
  303. package/dist/tui/hooks/usePipelineEvents.js.map +1 -1
  304. package/dist/tui/hooks/useTerminalSize.d.ts.map +1 -1
  305. package/dist/tui/hooks/useTerminalSize.js +3 -1
  306. package/dist/tui/hooks/useTerminalSize.js.map +1 -1
  307. package/dist/tui/monitorApi.d.ts +4 -4
  308. package/dist/tui/monitorApi.d.ts.map +1 -1
  309. package/dist/tui/monitorApi.js +13 -7
  310. package/dist/tui/monitorApi.js.map +1 -1
  311. package/dist/tui/monitorRows.d.ts +41 -2
  312. package/dist/tui/monitorRows.d.ts.map +1 -1
  313. package/dist/tui/monitorRows.js +86 -7
  314. package/dist/tui/monitorRows.js.map +1 -1
  315. package/dist/tui/panels/ChatPanel.d.ts.map +1 -1
  316. package/dist/tui/panels/ChatPanel.js +70 -15
  317. package/dist/tui/panels/ChatPanel.js.map +1 -1
  318. package/dist/tui/panels/MonitorPanel.d.ts +2 -1
  319. package/dist/tui/panels/MonitorPanel.d.ts.map +1 -1
  320. package/dist/tui/panels/MonitorPanel.js +2 -2
  321. package/dist/tui/panels/MonitorPanel.js.map +1 -1
  322. package/dist/tui/panels/PipelinePanel.d.ts.map +1 -1
  323. package/dist/tui/panels/PipelinePanel.js +6 -1
  324. package/dist/tui/panels/PipelinePanel.js.map +1 -1
  325. package/dist/tui/pipelineEvents.d.ts +14 -0
  326. package/dist/tui/pipelineEvents.d.ts.map +1 -1
  327. package/dist/tui/pipelineEvents.js +89 -1
  328. package/dist/tui/pipelineEvents.js.map +1 -1
  329. package/dist/tui/sse.d.ts.map +1 -1
  330. package/dist/tui/sse.js +29 -3
  331. package/dist/tui/sse.js.map +1 -1
  332. package/dist/tui/subagentTree.d.ts +26 -3
  333. package/dist/tui/subagentTree.d.ts.map +1 -1
  334. package/dist/tui/subagentTree.js +89 -14
  335. package/dist/tui/subagentTree.js.map +1 -1
  336. package/package.json +1 -1
@@ -1,25 +1,57 @@
1
1
  // ============================================
2
2
  // OpenSwarm - Subagent tree (EPIC INT-1813 S7 / INT-1940)
3
- // Pure grouping of pipeline stage entries into a per-task (per-worktree) tree
4
- // the Claude-Code-subagent view of concurrent runs. Derived from the existing
5
- // taskId-keyed events (each worktree task = one node, its stages = children), so
6
- // no new backend event stream is required to surface the tree.
3
+ // Pure grouping of pipeline stage entries into a repository worktree → role tree.
7
4
  // ============================================
8
5
  export function buildSubagentTree(stages) {
9
- const byTask = new Map();
6
+ const byRepository = new Map();
10
7
  for (const s of stages) {
11
- const arr = byTask.get(s.taskId);
12
- if (arr)
8
+ const repository = s.repository ?? repoNameFromPath(s.projectPath) ?? 'unknown repository';
9
+ const worktreeKey = s.issueIdentifier ?? inferIssueIdentifier(s.taskId) ?? s.taskId ?? s.worktree ?? s.branch;
10
+ const repo = byRepository.get(repository) ?? new Map();
11
+ const arr = repo.get(worktreeKey);
12
+ if (arr) {
13
13
  arr.push(s);
14
- else
15
- byTask.set(s.taskId, [s]);
14
+ repo.delete(worktreeKey);
15
+ repo.set(worktreeKey, arr);
16
+ }
17
+ else {
18
+ repo.set(worktreeKey, [s]);
19
+ }
20
+ byRepository.set(repository, repo);
16
21
  }
17
- return [...byTask.entries()].map(([taskId, taskStages]) => {
18
- const latestStages = latestByStage(taskStages);
22
+ return [...byRepository.entries()].map(([repository, worktreeMap]) => {
23
+ const worktrees = [...worktreeMap.values()].map((worktreeStages) => {
24
+ const latestStages = latestByStage(worktreeStages);
25
+ const latest = latestStages[latestStages.length - 1];
26
+ const roles = latestStages.map((stage) => ({
27
+ role: displayRole(stage.stage),
28
+ status: stage.status,
29
+ model: stage.model,
30
+ durationMs: stage.durationMs,
31
+ decision: stage.decision,
32
+ summary: stage.summary,
33
+ activity: stage.activity,
34
+ rateLimitResetsAt: stage.rateLimitResetsAt,
35
+ }));
36
+ const withMetadata = [...latestStages].reverse();
37
+ return {
38
+ taskId: latest?.taskId ?? worktreeStages[0]?.taskId ?? 'unknown-task',
39
+ issueIdentifier: firstDefined(withMetadata, (stage) => stage.issueIdentifier) ?? inferIssueIdentifier(latest?.taskId) ?? latest?.taskId,
40
+ title: firstDefined(withMetadata, (stage) => stage.title),
41
+ branch: firstDefined(withMetadata, (stage) => stage.branch),
42
+ worktree: firstDefined(withMetadata, (stage) => stage.worktree) ?? worktreeNameFromPath(latest?.projectPath),
43
+ currentStage: latest ? displayRole(latest.stage) : undefined,
44
+ durationMs: latest?.durationMs,
45
+ decision: findLast(latestStages, (stage) => Boolean(stage.decision))?.decision,
46
+ roles,
47
+ status: rollUp(latestStages),
48
+ };
49
+ });
19
50
  return {
20
- taskId,
21
- stages: latestStages,
22
- status: rollUp(latestStages),
51
+ repository,
52
+ projectPath: worktrees.map((w) => w.worktree).find(Boolean) ? undefined : latestProjectPath(worktreeMap),
53
+ worktrees,
54
+ status: rollUp(worktrees.flatMap((w) => w.roles.map((role) => ({ status: role.status })))),
23
55
  };
24
56
  });
25
57
  }
@@ -38,4 +70,47 @@ function rollUp(stages) {
38
70
  return 'complete';
39
71
  return 'start';
40
72
  }
73
+ function displayRole(stage) {
74
+ if (stage === 'draft')
75
+ return 'Drafter';
76
+ if (stage === 'decompose')
77
+ return 'Planner';
78
+ return stage.charAt(0).toUpperCase() + stage.slice(1);
79
+ }
80
+ function repoNameFromPath(projectPath) {
81
+ if (!projectPath)
82
+ return undefined;
83
+ const normalized = projectPath.replace(/\/+$/, '');
84
+ const beforeWorktree = normalized.replace(/\/worktree\/[^/]+$/, '');
85
+ return beforeWorktree.split('/').pop();
86
+ }
87
+ function worktreeNameFromPath(projectPath) {
88
+ return projectPath?.match(/\/worktree\/([^/]+)\/?$/)?.[1];
89
+ }
90
+ function inferIssueIdentifier(taskId) {
91
+ return taskId?.match(/[A-Z]+-\d+/)?.[0];
92
+ }
93
+ function firstDefined(items, select) {
94
+ for (const item of items) {
95
+ const value = select(item);
96
+ if (value !== undefined && value !== '')
97
+ return value;
98
+ }
99
+ return undefined;
100
+ }
101
+ function latestProjectPath(worktreeMap) {
102
+ for (const stages of worktreeMap.values()) {
103
+ const latest = findLast(stages, (stage) => Boolean(stage.projectPath));
104
+ if (latest?.projectPath)
105
+ return latest.projectPath;
106
+ }
107
+ return undefined;
108
+ }
109
+ function findLast(items, predicate) {
110
+ for (let i = items.length - 1; i >= 0; i--) {
111
+ if (predicate(items[i]))
112
+ return items[i];
113
+ }
114
+ return undefined;
115
+ }
41
116
  //# sourceMappingURL=subagentTree.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"subagentTree.js","sourceRoot":"","sources":["../../src/tui/subagentTree.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,0DAA0D;AAC1D,gFAAgF;AAChF,8EAA8E;AAC9E,iFAAiF;AACjF,+DAA+D;AAC/D,+CAA+C;AAa/C,MAAM,UAAU,iBAAiB,CAAC,MAAoB;IACpD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC/C,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,GAAG;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;YAChB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,EAAE;QACxD,MAAM,YAAY,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;QAC/C,OAAO;YACL,MAAM;YACN,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC;SAC7B,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,aAAa,CAAC,MAAoB;IACzC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC7C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,MAAM,CAAC,MAAoB;IAClC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAC3D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC;QAAE,OAAO,UAAU,CAAC;IACzF,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"subagentTree.js","sourceRoot":"","sources":["../../src/tui/subagentTree.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intrect/openswarm",
3
- "version": "0.17.1",
3
+ "version": "0.17.3",
4
4
  "description": "Autonomous AI agent orchestrator — Claude, GPT, Codex, and local models (Ollama/LMStudio/llama.cpp)",
5
5
  "license": "MIT",
6
6
  "type": "module",