@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workerFanout.js","sourceRoot":"","sources":["../../src/agents/workerFanout.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import type { TaskItem } from '../orchestration/decisionEngine.js';
2
+ import type { PipelineGuardsConfig, RoleConfig } from '../core/types.js';
3
+ import type { WorkerResult } from './agentPair.js';
4
+ import type { WorkerOptions } from './worker.js';
5
+ export interface WorkerFanoutGateSignal {
6
+ code: string;
7
+ weight: number;
8
+ reason: string;
9
+ }
10
+ export interface WorkerFanoutGateDecision {
11
+ enabled: boolean;
12
+ shouldFanOut: boolean;
13
+ score: number;
14
+ threshold: number;
15
+ signals: WorkerFanoutGateSignal[];
16
+ }
17
+ export interface FanoutDraftAnalysis {
18
+ relevantFiles: string[];
19
+ sufficient?: boolean;
20
+ }
21
+ export declare function evaluateWorkerFanoutGate(input: {
22
+ task: TaskItem;
23
+ draftAnalysis?: FanoutDraftAnalysis;
24
+ iteration: number;
25
+ feedbackSource?: 'objective' | 'review';
26
+ effort?: 'low' | 'medium' | 'high';
27
+ config?: RoleConfig['fanout'];
28
+ }): WorkerFanoutGateDecision;
29
+ export declare function emitWorkerFanoutGateDecision(input: {
30
+ context: {
31
+ task: TaskItem;
32
+ currentIteration: number;
33
+ taskPrefix: string;
34
+ };
35
+ decision: WorkerFanoutGateDecision;
36
+ verbose?: boolean;
37
+ emit: (event: 'fanout:gate' | 'log', payload: unknown) => void;
38
+ }): void;
39
+ export declare function runWorkerWithOptionalFanout(input: {
40
+ projectPath: string;
41
+ workerOptions: WorkerOptions;
42
+ fanoutDecision?: WorkerFanoutGateDecision;
43
+ fanoutConfig?: RoleConfig['fanout'];
44
+ guards?: Partial<PipelineGuardsConfig>;
45
+ onLog: (line: string) => void;
46
+ runWorker: (options: WorkerOptions) => Promise<WorkerResult>;
47
+ }): Promise<WorkerResult>;
48
+ //# sourceMappingURL=workerFanoutGate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workerFanoutGate.d.ts","sourceRoot":"","sources":["../../src/agents/workerFanoutGate.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAA+B,MAAM,kBAAkB,CAAC;AAEtG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,sBAAsB,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAUD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE;IAC9C,IAAI,EAAE,QAAQ,CAAC;IACf,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAC;IACxC,MAAM,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACnC,MAAM,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;CAC/B,GAAG,wBAAwB,CAsD3B;AAsCD,wBAAgB,4BAA4B,CAAC,KAAK,EAAE;IAClD,OAAO,EAAE;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1E,QAAQ,EAAE,wBAAwB,CAAC;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,CAAC,KAAK,EAAE,aAAa,GAAG,KAAK,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;CAChE,GAAG,IAAI,CA0BP;AAED,wBAAsB,2BAA2B,CAAC,KAAK,EAAE;IACvD,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,aAAa,CAAC;IAC7B,cAAc,CAAC,EAAE,wBAAwB,CAAC;IAC1C,YAAY,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IACpC,MAAM,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACvC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,SAAS,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;CAC9D,GAAG,OAAO,CAAC,YAAY,CAAC,CA4BxB"}
@@ -0,0 +1,146 @@
1
+ // ============================================
2
+ // OpenSwarm - Adaptive worker fan-out gate
3
+ // ============================================
4
+ import { broadcastEvent } from '../core/eventHub.js';
5
+ import { runWorkerFanout } from './workerFanout.js';
6
+ const DEFAULT_FANOUT_GATE_MIN_SCORE = 2;
7
+ const CORE_ORCHESTRATION_PATTERN = /\b(pairpipeline|pipeline|autonomousrunner|runnerexecution|worktree|scheduler|adapter|agenticloop|worker|reviewer|tester|auth|mcp|codexresponses|eventhub)\b/i;
8
+ function textMatchesCoreOrchestration(text) {
9
+ return CORE_ORCHESTRATION_PATTERN.test(text.replace(/[^A-Za-z0-9_/.-]+/g, ' '));
10
+ }
11
+ export function evaluateWorkerFanoutGate(input) {
12
+ const enabled = input.config?.enabled ?? true;
13
+ const threshold = input.config?.minScore ?? DEFAULT_FANOUT_GATE_MIN_SCORE;
14
+ if (!enabled) {
15
+ return { enabled: false, shouldFanOut: false, score: 0, threshold, signals: [] };
16
+ }
17
+ const signals = [];
18
+ const add = (code, weight, reason) => {
19
+ signals.push({ code, weight, reason });
20
+ };
21
+ if (input.iteration > 1 && input.feedbackSource === 'objective') {
22
+ add('objective-retry', 2, 'objective guard/test feedback from a previous iteration');
23
+ }
24
+ if (input.iteration > 1 && input.feedbackSource === 'review') {
25
+ add('review-retry', 2, 'reviewer or confidence feedback requested a revision');
26
+ }
27
+ if (input.draftAnalysis?.sufficient === false) {
28
+ add('insufficient-draft', 1, 'draft analysis was insufficient');
29
+ }
30
+ const relevantFiles = input.draftAnalysis?.relevantFiles ?? input.task.fileScope ?? [];
31
+ if (relevantFiles.length >= 4) {
32
+ add('broad-file-scope', 1, `broad file scope (${relevantFiles.length} files)`);
33
+ }
34
+ const scopeText = [
35
+ input.task.title,
36
+ input.task.description ?? '',
37
+ relevantFiles.join(' '),
38
+ ].join(' ');
39
+ if (textMatchesCoreOrchestration(scopeText)) {
40
+ add('core-orchestration-scope', 1, 'core orchestration or agent pipeline surface');
41
+ }
42
+ if ((input.task.estimatedMinutes ?? 0) >= 30) {
43
+ add('large-estimate', 1, `estimated ${input.task.estimatedMinutes} minutes`);
44
+ }
45
+ if (input.task.priority === 1 && (input.task.estimatedMinutes ?? 0) >= 15) {
46
+ add('urgent-nontrivial', 1, 'urgent non-trivial task');
47
+ }
48
+ if (input.effort === 'high') {
49
+ add('high-effort-profile', 1, 'matched high-effort job profile');
50
+ }
51
+ const score = signals.reduce((sum, signal) => sum + signal.weight, 0);
52
+ return {
53
+ enabled,
54
+ shouldFanOut: score >= threshold,
55
+ score,
56
+ threshold,
57
+ signals,
58
+ };
59
+ }
60
+ function buildWorkerFanoutCandidates(base, configured) {
61
+ if (configured && configured.length > 0)
62
+ return configured;
63
+ const primary = {
64
+ id: 'primary',
65
+ adapter: base.adapterName,
66
+ model: base.model,
67
+ reasoningEffort: base.reasoningEffort,
68
+ maxTurns: base.maxTurns,
69
+ nudgeMaxOnNoEdit: base.nudgeMaxOnNoEdit,
70
+ webTools: base.webTools,
71
+ memoryTools: base.memoryTools,
72
+ };
73
+ const spark = {
74
+ id: 'spark-diversity',
75
+ adapter: 'codex-responses',
76
+ model: 'gpt-5.3-codex-spark',
77
+ reasoningEffort: 'low',
78
+ maxTurns: Math.min(base.maxTurns ?? 12, 12),
79
+ nudgeMaxOnNoEdit: base.nudgeMaxOnNoEdit,
80
+ webTools: false,
81
+ memoryTools: false,
82
+ };
83
+ const seen = new Set();
84
+ return [primary, spark].filter((candidate) => {
85
+ const key = `${candidate.adapter ?? ''}:${candidate.model ?? ''}`;
86
+ if (seen.has(key))
87
+ return false;
88
+ seen.add(key);
89
+ return true;
90
+ });
91
+ }
92
+ export function emitWorkerFanoutGateDecision(input) {
93
+ const { context, decision } = input;
94
+ const reasons = decision.signals.map((signal) => signal.reason);
95
+ input.emit('fanout:gate', { context, decision });
96
+ broadcastEvent({
97
+ type: 'pipeline:fanout',
98
+ data: {
99
+ taskId: context.task.id,
100
+ iteration: context.currentIteration,
101
+ enabled: decision.enabled,
102
+ shouldFanOut: decision.shouldFanOut,
103
+ score: decision.score,
104
+ threshold: decision.threshold,
105
+ reasons,
106
+ },
107
+ });
108
+ if (!decision.enabled)
109
+ return;
110
+ if (!decision.shouldFanOut && !input.verbose)
111
+ return;
112
+ const verdict = decision.shouldFanOut ? 'recommend fan-out' : 'single worker';
113
+ const detail = reasons.length > 0 ? `: ${reasons.join('; ')}` : '';
114
+ const line = `[FanoutGate] ${verdict} (${decision.score}/${decision.threshold})${detail}`;
115
+ console.log(`[${context.taskPrefix}] ${line}`);
116
+ input.emit('log', { line });
117
+ broadcastEvent({ type: 'log', data: { taskId: context.task.id, stage: 'worker', line: `[${context.taskPrefix}] ${line}` } });
118
+ }
119
+ export async function runWorkerWithOptionalFanout(input) {
120
+ const { fanoutDecision, fanoutConfig, workerOptions } = input;
121
+ if (fanoutDecision?.shouldFanOut && fanoutConfig?.mode === 'execute') {
122
+ const candidates = buildWorkerFanoutCandidates(workerOptions, fanoutConfig.candidates);
123
+ // Surface execution to stdout too: onLog only reaches broadcastEvent, so
124
+ // without this the daemon log shows the gate's "recommend fan-out" line but
125
+ // no evidence fan-out actually ran (the exact symptom that hid this path).
126
+ console.log(`[fanout] executing ${candidates.length} candidate(s) — gate score ${fanoutDecision.score}/${fanoutDecision.threshold}`);
127
+ const fanoutResult = await runWorkerFanout({
128
+ projectPath: input.projectPath,
129
+ baseWorkerOptions: workerOptions,
130
+ candidates,
131
+ concurrency: fanoutConfig.concurrency ?? Math.min(candidates.length, 3),
132
+ keepSandboxes: fanoutConfig.keepSandboxes,
133
+ linkSharedPaths: fanoutConfig.linkSharedPaths,
134
+ guards: input.guards,
135
+ onLog: input.onLog,
136
+ });
137
+ if (fanoutResult.winner) {
138
+ console.log(`[fanout] promoted winner ${fanoutResult.winner.id} (${fanoutResult.winner.filesChanged.length} file(s))`);
139
+ return fanoutResult.winner.result;
140
+ }
141
+ console.log(`[fanout] fallback to single worker: ${fanoutResult.fallbackReason ?? 'no winner'}`);
142
+ input.onLog(`[fanout] fallback to single worker: ${fanoutResult.fallbackReason ?? 'no winner'}`);
143
+ }
144
+ return input.runWorker(workerOptions);
145
+ }
146
+ //# sourceMappingURL=workerFanoutGate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workerFanoutGate.js","sourceRoot":"","sources":["../../src/agents/workerFanoutGate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { WorkerResult } from './agentPair.js';
2
+ export declare function missingWorkerValidationIssues(result: WorkerResult): string[];
3
+ export declare function testerWouldRunForWorkerResult(result: WorkerResult, hasTester: boolean, skipIfNoCode: boolean): boolean;
4
+ export declare function isTesterCodeFile(file: string): boolean;
5
+ //# sourceMappingURL=workerValidationEvidence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workerValidationEvidence.d.ts","sourceRoot":"","sources":["../../src/agents/workerValidationEvidence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAgDnD,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,EAAE,CAe5E;AAED,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,OAAO,EAClB,YAAY,EAAE,OAAO,GACpB,OAAO,CAIT;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEtD"}
@@ -0,0 +1,75 @@
1
+ const VALIDATION_RELEVANT_FILE_RE = /\.(ts|tsx|mts|cts|js|jsx|mjs|cjs|py|rs|go|java|rb|c|cc|cpp|h|hpp|swift|kt|kts|scala|cs|php|sh|bash|zsh|sql|toml|ya?ml|json)$/i;
2
+ const VALIDATION_RELEVANT_BASENAME_RE = /(^|\/)(Dockerfile(?:\.[^/]+)?|Containerfile(?:\.[^/]+)?|Makefile|GNUmakefile|go\.mod|go\.sum|Cargo\.toml|Cargo\.lock|package(?:-lock)?\.json|pnpm-lock\.ya?ml|yarn\.lock|bun\.lockb?|requirements(?:-[^/]+)?\.txt|pyproject\.toml|poetry\.lock|Pipfile(?:\.lock)?|Gemfile(?:\.lock)?|pom\.xml|build\.gradle(?:\.kts)?|settings\.gradle(?:\.kts)?|flake\.nix|shell\.nix|docker-compose\.ya?ml|compose\.ya?ml)$/i;
3
+ // Only treat README/CHANGELOG/LICENSE/NOTICE as doc-only when they carry a doc
4
+ // extension (or none). A real source module named e.g. `readme.ts` must NOT be
5
+ // misclassified as docs — that would let it skip the validation gate while the
6
+ // tester's isTesterCodeFile() still treats it as code (inconsistent).
7
+ const DOC_ONLY_FILE_RE = /(^|\/)(README|CHANGELOG|LICENSE|NOTICE)(\.(md|mdx|txt|rst|adoc))?$|(^|\/)docs?\/|\.((md|mdx|txt|rst|adoc))$/i;
8
+ // Pure data/asset trees (locale strings, fixtures, snapshots, mocks) have
9
+ // nothing to build or test on their own; exempt them so a data-only edit does
10
+ // not get bounced for "no validation command".
11
+ const DATA_ONLY_DIR_RE = /(^|\/)(locales?|i18n|fixtures?|__fixtures__|__snapshots__|snapshots?|__mocks__|mocks?|testdata|test-data)\//i;
12
+ const VALIDATION_COMMAND_RE = /\b(npm\s+(?:test|run\s+(?:test|build|lint|typecheck|check|ci|verify|validate|smoke))|pnpm\s+(?:test|run\s+(?:test|build|lint|typecheck|check|ci|verify|validate|smoke))|yarn\s+(?:test|run\s+(?:test|build|lint|typecheck|check|ci|verify|validate|smoke))|bun\s+(?:test|run\s+(?:test|build|lint|typecheck|check|ci|verify|validate|smoke))|vitest|jest|mocha|pytest|ruff|mypy|pyright|tsc|eslint|oxlint|cargo\s+(?:check|test|clippy|build)|go\s+(?:test|vet|build)|swift\s+test|gradle\s+(?:test|build|check)|mvn\s+(?:test|verify)|make\b|cmake\b|py_compile|compileall|clippy|fmt\s+--check)\b/i;
13
+ // Anchored at each segment start: a leading inspection verb means that segment
14
+ // ran no validation (e.g. `rg "npm test"` searches for the string, it does not
15
+ // run it), so the segment is skipped rather than the whole command rejected.
16
+ const INSPECTION_ONLY_COMMAND_RE = /^\s*(?:rg|grep|sed|cat|ls|find|pwd|git\s+(?:status|diff|show|log|grep)|jq|head|tail|wc|tree|du|file|which)\b/i;
17
+ const SCRIPT_SMOKE_COMMAND_RE = /^\s*(?:python3?|node|tsx|ts-node|uv\s+run|npx|bunx|bash|sh)\b.*\b(?:scripts?\/|tests?\/|\.py|\.js|\.ts|\.sh|--help|--dry-run|smoke|verify|validate|check|test|build|compile)\b/i;
18
+ const TESTER_CODE_FILE_RE = /\.(ts|tsx|mts|cts|js|jsx|mjs|cjs|py|rs|go|java|rb|c|cpp|h|hpp)$/;
19
+ function validationRelevantFiles(files) {
20
+ return files.filter(file => {
21
+ if (/(^|\/)docs?\//i.test(file))
22
+ return false;
23
+ if (VALIDATION_RELEVANT_BASENAME_RE.test(file))
24
+ return true;
25
+ // Data/asset trees (locale, fixtures, snapshots, mocks) are exempt ONLY for
26
+ // non-code assets. A real source module under such a dir (e.g.
27
+ // src/__mocks__/api.ts, test/fixtures/helper.ts) still needs a check —
28
+ // exempting the whole directory would be a gate bypass.
29
+ if (DATA_ONLY_DIR_RE.test(file) && !TESTER_CODE_FILE_RE.test(file))
30
+ return false;
31
+ return VALIDATION_RELEVANT_FILE_RE.test(file) && !DOC_ONLY_FILE_RE.test(file);
32
+ });
33
+ }
34
+ function commandLooksLikeValidation(command) {
35
+ // Workers routinely chain inspection then validation in one string
36
+ // (e.g. "git diff && npm test"). Evaluate each shell segment independently so
37
+ // a leading inspection verb does not mask a real validation command in a later
38
+ // segment, while an inspection-only segment (which may merely *mention* a test
39
+ // command as a search string) still counts as no validation.
40
+ const segments = command.split(/&&|\|\||;|\|/).map(s => s.trim()).filter(Boolean);
41
+ const candidates = segments.length > 0 ? segments : [command];
42
+ return candidates.some(seg => {
43
+ if (INSPECTION_ONLY_COMMAND_RE.test(seg))
44
+ return false;
45
+ return VALIDATION_COMMAND_RE.test(seg) || SCRIPT_SMOKE_COMMAND_RE.test(seg);
46
+ });
47
+ }
48
+ export function missingWorkerValidationIssues(result) {
49
+ const changed = validationRelevantFiles(result.filesChanged ?? []);
50
+ if (changed.length === 0)
51
+ return [];
52
+ const commands = result.commands ?? [];
53
+ if (commands.some(commandLooksLikeValidation))
54
+ return [];
55
+ const sample = changed.slice(0, 6).join(', ');
56
+ const suffix = changed.length > 6 ? `, +${changed.length - 6} more` : '';
57
+ const commandIssue = commands.length === 0
58
+ ? 'Worker changed code/config files but reported zero validation commands.'
59
+ : `Worker changed code/config files but only reported non-validation commands: ${commands.slice(0, 3).join('; ')}`;
60
+ return [
61
+ commandIssue,
62
+ `Run at least one relevant smoke/build/test/static check before review, or run the closest available check and report its failure. Files needing validation: ${sample}${suffix}`,
63
+ ];
64
+ }
65
+ export function testerWouldRunForWorkerResult(result, hasTester, skipIfNoCode) {
66
+ if (!hasTester)
67
+ return false;
68
+ if (!skipIfNoCode)
69
+ return true;
70
+ return (result.filesChanged ?? []).some(file => TESTER_CODE_FILE_RE.test(file));
71
+ }
72
+ export function isTesterCodeFile(file) {
73
+ return TESTER_CODE_FILE_RE.test(file);
74
+ }
75
+ //# sourceMappingURL=workerValidationEvidence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workerValidationEvidence.js","sourceRoot":"","sources":["../../src/agents/workerValidationEvidence.ts"],"names":[],"mappings":"AAEA,MAAM,2BAA2B,GAAG,+HAA+H,CAAC;AACpK,MAAM,+BAA+B,GAAG,gZAAgZ,CAAC;AACzb,+EAA+E;AAC/E,+EAA+E;AAC/E,+EAA+E;AAC/E,sEAAsE;AACtE,MAAM,gBAAgB,GAAG,8GAA8G,CAAC;AACxI,0EAA0E;AAC1E,8EAA8E;AAC9E,+CAA+C;AAC/C,MAAM,gBAAgB,GAAG,8GAA8G,CAAC;AACxI,MAAM,qBAAqB,GAAG,skBAAskB,CAAC;AACrmB,+EAA+E;AAC/E,+EAA+E;AAC/E,6EAA6E;AAC7E,MAAM,0BAA0B,GAAG,+GAA+G,CAAC;AACnJ,MAAM,uBAAuB,GAAG,iLAAiL,CAAC;AAClN,MAAM,mBAAmB,GAAG,iEAAiE,CAAC;AAE9F,SAAS,uBAAuB,CAAC,KAAe;IAC9C,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;QACzB,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QAC9C,IAAI,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAC5D,4EAA4E;QAC5E,+DAA+D;QAC/D,uEAAuE;QACvE,wDAAwD;QACxD,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QACjF,OAAO,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,0BAA0B,CAAC,OAAe;IACjD,mEAAmE;IACnE,8EAA8E;IAC9E,+EAA+E;IAC/E,+EAA+E;IAC/E,6DAA6D;IAC7D,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClF,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC9D,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QAC3B,IAAI,0BAA0B,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QACvD,OAAO,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,MAAoB;IAChE,MAAM,OAAO,GAAG,uBAAuB,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;IACnE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACpC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;IACvC,IAAI,QAAQ,CAAC,IAAI,CAAC,0BAA0B,CAAC;QAAE,OAAO,EAAE,CAAC;IAEzD,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACzE,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,KAAK,CAAC;QACxC,CAAC,CAAC,yEAAyE;QAC3E,CAAC,CAAC,+EAA+E,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACrH,OAAO;QACL,YAAY;QACZ,+JAA+J,MAAM,GAAG,MAAM,EAAE;KACjL,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,MAAoB,EACpB,SAAkB,EAClB,YAAqB;IAErB,IAAI,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7B,IAAI,CAAC,YAAY;QAAE,OAAO,IAAI,CAAC;IAC/B,OAAO,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAClF,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"linearPkce.d.ts","sourceRoot":"","sources":["../../src/auth/linearPkce.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,WAAW,mBAAqB,CAAC;AA6C9C,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAkIlG;AAED,qFAAqF;AACrF,wBAAsB,yBAAyB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAiB9E"}
1
+ {"version":3,"file":"linearPkce.d.ts","sourceRoot":"","sources":["../../src/auth/linearPkce.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,WAAW,mBAAqB,CAAC;AAgC9C,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAkIlG;AAED,qFAAqF;AACrF,wBAAsB,yBAAyB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAiB9E"}
@@ -5,8 +5,8 @@
5
5
  // ============================================
6
6
  import { createServer } from 'node:http';
7
7
  import { randomBytes, createHash } from 'node:crypto';
8
- import { exec } from 'node:child_process';
9
8
  import { AuthProfileStore } from './oauthStore.js';
9
+ import { openBrowser } from './openBrowser.js';
10
10
  // ----- Constants -----
11
11
  const LINEAR_AUTH_ENDPOINT = 'https://linear.app/oauth/authorize';
12
12
  const LINEAR_TOKEN_ENDPOINT = 'https://api.linear.app/oauth/token';
@@ -38,17 +38,6 @@ function generateCodeChallenge(verifier) {
38
38
  function generateState() {
39
39
  return randomBytes(32).toString('hex');
40
40
  }
41
- // ----- Browser open (cross-platform) -----
42
- function openBrowser(url) {
43
- const platform = process.platform;
44
- const cmd = platform === 'darwin' ? 'open' : platform === 'win32' ? 'start' : 'xdg-open';
45
- exec(`${cmd} "${url}"`, (err) => {
46
- if (err) {
47
- console.error('[Auth] 브라우저를 자동으로 열 수 없습니다. 직접 열어주세요:');
48
- console.error(url);
49
- }
50
- });
51
- }
52
41
  /**
53
42
  * Linear OAuth 2.0 PKCE flow.
54
43
  * 1. generate PKCE verifier/challenge + state
@@ -1 +1 @@
1
- {"version":3,"file":"linearPkce.js","sourceRoot":"","sources":["../../src/auth/linearPkce.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"linearPkce.js","sourceRoot":"","sources":["../../src/auth/linearPkce.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"oauthPkce.d.ts","sourceRoot":"","sources":["../../src/auth/oauthPkce.ts"],"names":[],"mappings":"AAuBA,eAAO,MAAM,wBAAwB,iCAAiC,CAAC;AAqCvE,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC,CA+K/F;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,GAAE,MAAiC,EAC3C,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC,CAoBf"}
1
+ {"version":3,"file":"oauthPkce.d.ts","sourceRoot":"","sources":["../../src/auth/oauthPkce.ts"],"names":[],"mappings":"AAuBA,eAAO,MAAM,wBAAwB,iCAAiC,CAAC;AAoBvE,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC,CA+K/F;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,GAAE,MAAiC,EAC3C,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC,CAoBf"}
@@ -4,8 +4,8 @@
4
4
  // ============================================
5
5
  import { createServer } from 'node:http';
6
6
  import { randomBytes, createHash } from 'node:crypto';
7
- import { exec } from 'node:child_process';
8
7
  import { AuthProfileStore } from './oauthStore.js';
8
+ import { openBrowser } from './openBrowser.js';
9
9
  // Constants
10
10
  const OPENAI_AUTH_ENDPOINT = 'https://auth.openai.com/oauth/authorize';
11
11
  const OPENAI_TOKEN_ENDPOINT = 'https://auth.openai.com/oauth/token';
@@ -30,19 +30,6 @@ function generateCodeChallenge(verifier) {
30
30
  function generateState() {
31
31
  return randomBytes(32).toString('hex');
32
32
  }
33
- // Browser open (cross-platform)
34
- function openBrowser(url) {
35
- const platform = process.platform;
36
- const cmd = platform === 'darwin' ? 'open' :
37
- platform === 'win32' ? 'start' :
38
- 'xdg-open';
39
- exec(`${cmd} "${url}"`, (err) => {
40
- if (err) {
41
- console.error(`[Auth] 브라우저를 자동으로 열 수 없습니다. 직접 열어주세요:`);
42
- console.error(url);
43
- }
44
- });
45
- }
46
33
  /**
47
34
  * OAuth 2.1 PKCE 흐름 실행.
48
35
  * 로컬 HTTP 서버에서 callback을 받고, token을 교환하여 저장한다.
@@ -1 +1 @@
1
- {"version":3,"file":"oauthPkce.js","sourceRoot":"","sources":["../../src/auth/oauthPkce.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauthPkce.js","sourceRoot":"","sources":["../../src/auth/oauthPkce.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"oauthStore.d.ts","sourceRoot":"","sources":["../../src/auth/oauthStore.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,oEAAoE;IACpE,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAuBD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,IAAI,CAAkB;;IAM9B,OAAO,CAAC,IAAI;IAYZ,IAAI,IAAI,IAAI;IASZ,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAI3C,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI;IAKnD,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAOnC,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC;CAG5C;AAID;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAwDnG"}
1
+ {"version":3,"file":"oauthStore.d.ts","sourceRoot":"","sources":["../../src/auth/oauthStore.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,oEAAoE;IACpE,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAgDD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,IAAI,CAAkB;;IAM9B,OAAO,CAAC,IAAI;IAaZ,IAAI,IAAI,IAAI;IASZ,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAI3C,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI;IAKnD,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAOnC,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC;CAG5C;AAID;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA4DnG"}
@@ -5,6 +5,28 @@
5
5
  import { readFileSync, writeFileSync, mkdirSync, existsSync, chmodSync } from 'node:fs';
6
6
  import { join } from 'node:path';
7
7
  import { homedir } from 'node:os';
8
+ function isRecord(value) {
9
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
10
+ }
11
+ function isAuthProfile(value) {
12
+ if (!isRecord(value))
13
+ return false;
14
+ if (value.type !== 'oauth' && value.type !== 'apiKey')
15
+ return false;
16
+ return (typeof value.provider === 'string' &&
17
+ typeof value.access === 'string' &&
18
+ typeof value.refresh === 'string' &&
19
+ typeof value.expires === 'number' &&
20
+ Number.isFinite(value.expires) &&
21
+ typeof value.clientId === 'string' &&
22
+ (value.accountId === undefined || typeof value.accountId === 'string'));
23
+ }
24
+ function isAuthProfileFile(value) {
25
+ if (!isRecord(value) || value.version !== 1 || !isRecord(value.profiles)) {
26
+ return false;
27
+ }
28
+ return Object.values(value.profiles).every(isAuthProfile);
29
+ }
8
30
  // Constants
9
31
  const STORE_DIR = join(homedir(), '.openswarm');
10
32
  const STORE_PATH = join(STORE_DIR, 'auth-profiles.json');
@@ -28,7 +50,8 @@ export class AuthProfileStore {
28
50
  }
29
51
  try {
30
52
  const raw = readFileSync(STORE_PATH, 'utf-8');
31
- return JSON.parse(raw);
53
+ const parsed = JSON.parse(raw);
54
+ return isAuthProfileFile(parsed) ? parsed : { version: 1, profiles: {} };
32
55
  }
33
56
  catch {
34
57
  return { version: 1, profiles: {} };
@@ -84,7 +107,10 @@ export async function ensureValidToken(store, profileKey) {
84
107
  refresh_token: profile.refresh,
85
108
  client_id: profile.clientId,
86
109
  });
87
- const endpoint = TOKEN_ENDPOINTS[profile.provider] ?? OPENAI_TOKEN_ENDPOINT;
110
+ const endpoint = TOKEN_ENDPOINTS[profile.provider];
111
+ if (!endpoint) {
112
+ throw new Error(`Unknown OAuth provider "${profile.provider}" for auth profile "${profileKey}". Re-run auth login for this provider.`);
113
+ }
88
114
  const res = await fetch(endpoint, {
89
115
  method: 'POST',
90
116
  headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
@@ -1 +1 @@
1
- {"version":3,"file":"oauthStore.js","sourceRoot":"","sources":["../../src/auth/oauthStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauthStore.js","sourceRoot":"","sources":["../../src/auth/oauthStore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function openBrowser(url: string): void;
2
+ //# sourceMappingURL=openBrowser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openBrowser.d.ts","sourceRoot":"","sources":["../../src/auth/openBrowser.ts"],"names":[],"mappings":"AAYA,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAqB7C"}
@@ -0,0 +1,32 @@
1
+ import { spawn } from 'node:child_process';
2
+ function getOpenCommand(url) {
3
+ if (process.platform === 'darwin') {
4
+ return { command: 'open', args: [url] };
5
+ }
6
+ if (process.platform === 'win32') {
7
+ return { command: 'rundll32.exe', args: ['url.dll,FileProtocolHandler', url] };
8
+ }
9
+ return { command: 'xdg-open', args: [url] };
10
+ }
11
+ export function openBrowser(url) {
12
+ const { command, args } = getOpenCommand(url);
13
+ const child = spawn(command, args, {
14
+ stdio: 'ignore',
15
+ windowsHide: true,
16
+ });
17
+ let reported = false;
18
+ const reportFallback = () => {
19
+ if (reported)
20
+ return;
21
+ reported = true;
22
+ console.error('[Auth] 브라우저를 자동으로 열 수 없습니다. 직접 열어주세요:');
23
+ console.error(url);
24
+ };
25
+ child.on('error', reportFallback);
26
+ child.on('close', (code) => {
27
+ if (code !== 0) {
28
+ reportFallback();
29
+ }
30
+ });
31
+ }
32
+ //# sourceMappingURL=openBrowser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openBrowser.js","sourceRoot":"","sources":["../../src/auth/openBrowser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,SAAS,cAAc,CAAC,GAAW;IACjC,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;IAC1C,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,6BAA6B,EAAE,GAAG,CAAC,EAAE,CAAC;IACjF,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;QACjC,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,IAAI;KAClB,CAAC,CAAC;IACH,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,MAAM,cAAc,GAAG,GAAS,EAAE;QAChC,IAAI,QAAQ;YAAE,OAAO;QACrB,QAAQ,GAAG,IAAI,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;QACvD,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC,CAAC;IAEF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;QACzB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;YACf,cAAc,EAAE,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"openrouterPkce.d.ts","sourceRoot":"","sources":["../../src/auth/openrouterPkce.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,WAAW,uBAAyB,CAAC;AAmClD,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;GASG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,oBAAoB,CAAC,CAiI/B;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAsBzD;AAED;;GAEG;AACH,wBAAsB,6BAA6B,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBhF"}
1
+ {"version":3,"file":"openrouterPkce.d.ts","sourceRoot":"","sources":["../../src/auth/openrouterPkce.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,WAAW,uBAAyB,CAAC;AAkBlD,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;GASG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,oBAAoB,CAAC,CAiI/B;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAsBzD;AAED;;GAEG;AACH,wBAAsB,6BAA6B,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBhF"}