@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
@@ -75,6 +75,7 @@ declare const RawConfigSchema: z.ZodObject<{
75
75
  workerTimeoutMs: z.ZodDefault<z.ZodNumber>;
76
76
  reviewerTimeoutMs: z.ZodDefault<z.ZodNumber>;
77
77
  maxConcurrentTasks: z.ZodDefault<z.ZodNumber>;
78
+ maxConcurrentPerProject: z.ZodOptional<z.ZodNumber>;
78
79
  defaultRoles: z.ZodOptional<z.ZodObject<{
79
80
  worker: z.ZodDefault<z.ZodObject<{
80
81
  enabled: z.ZodDefault<z.ZodBoolean>;
@@ -92,6 +93,39 @@ declare const RawConfigSchema: z.ZodObject<{
92
93
  escalateModel: z.ZodOptional<z.ZodString>;
93
94
  escalateAfterIteration: z.ZodOptional<z.ZodNumber>;
94
95
  maxTurns: z.ZodOptional<z.ZodNumber>;
96
+ fanout: z.ZodOptional<z.ZodObject<{
97
+ enabled: z.ZodOptional<z.ZodBoolean>;
98
+ mode: z.ZodOptional<z.ZodEnum<{
99
+ report: "report";
100
+ execute: "execute";
101
+ }>>;
102
+ minScore: z.ZodOptional<z.ZodNumber>;
103
+ concurrency: z.ZodOptional<z.ZodNumber>;
104
+ keepSandboxes: z.ZodOptional<z.ZodBoolean>;
105
+ linkSharedPaths: z.ZodOptional<z.ZodBoolean>;
106
+ candidates: z.ZodOptional<z.ZodArray<z.ZodObject<{
107
+ id: z.ZodString;
108
+ adapter: z.ZodOptional<z.ZodEnum<{
109
+ codex: "codex";
110
+ local: "local";
111
+ "codex-responses": "codex-responses";
112
+ gpt: "gpt";
113
+ lmstudio: "lmstudio";
114
+ openrouter: "openrouter";
115
+ claude: "claude";
116
+ }>>;
117
+ model: z.ZodOptional<z.ZodString>;
118
+ reasoningEffort: z.ZodOptional<z.ZodEnum<{
119
+ medium: "medium";
120
+ low: "low";
121
+ high: "high";
122
+ }>>;
123
+ maxTurns: z.ZodOptional<z.ZodNumber>;
124
+ nudgeMaxOnNoEdit: z.ZodOptional<z.ZodNumber>;
125
+ webTools: z.ZodOptional<z.ZodBoolean>;
126
+ memoryTools: z.ZodOptional<z.ZodBoolean>;
127
+ }, z.core.$strip>>>;
128
+ }, z.core.$strip>>;
95
129
  }, z.core.$strip>>;
96
130
  reviewer: z.ZodDefault<z.ZodObject<{
97
131
  enabled: z.ZodDefault<z.ZodBoolean>;
@@ -109,6 +143,39 @@ declare const RawConfigSchema: z.ZodObject<{
109
143
  escalateModel: z.ZodOptional<z.ZodString>;
110
144
  escalateAfterIteration: z.ZodOptional<z.ZodNumber>;
111
145
  maxTurns: z.ZodOptional<z.ZodNumber>;
146
+ fanout: z.ZodOptional<z.ZodObject<{
147
+ enabled: z.ZodOptional<z.ZodBoolean>;
148
+ mode: z.ZodOptional<z.ZodEnum<{
149
+ report: "report";
150
+ execute: "execute";
151
+ }>>;
152
+ minScore: z.ZodOptional<z.ZodNumber>;
153
+ concurrency: z.ZodOptional<z.ZodNumber>;
154
+ keepSandboxes: z.ZodOptional<z.ZodBoolean>;
155
+ linkSharedPaths: z.ZodOptional<z.ZodBoolean>;
156
+ candidates: z.ZodOptional<z.ZodArray<z.ZodObject<{
157
+ id: z.ZodString;
158
+ adapter: z.ZodOptional<z.ZodEnum<{
159
+ codex: "codex";
160
+ local: "local";
161
+ "codex-responses": "codex-responses";
162
+ gpt: "gpt";
163
+ lmstudio: "lmstudio";
164
+ openrouter: "openrouter";
165
+ claude: "claude";
166
+ }>>;
167
+ model: z.ZodOptional<z.ZodString>;
168
+ reasoningEffort: z.ZodOptional<z.ZodEnum<{
169
+ medium: "medium";
170
+ low: "low";
171
+ high: "high";
172
+ }>>;
173
+ maxTurns: z.ZodOptional<z.ZodNumber>;
174
+ nudgeMaxOnNoEdit: z.ZodOptional<z.ZodNumber>;
175
+ webTools: z.ZodOptional<z.ZodBoolean>;
176
+ memoryTools: z.ZodOptional<z.ZodBoolean>;
177
+ }, z.core.$strip>>>;
178
+ }, z.core.$strip>>;
112
179
  }, z.core.$strip>>;
113
180
  tester: z.ZodOptional<z.ZodObject<{
114
181
  enabled: z.ZodDefault<z.ZodBoolean>;
@@ -126,6 +193,39 @@ declare const RawConfigSchema: z.ZodObject<{
126
193
  escalateModel: z.ZodOptional<z.ZodString>;
127
194
  escalateAfterIteration: z.ZodOptional<z.ZodNumber>;
128
195
  maxTurns: z.ZodOptional<z.ZodNumber>;
196
+ fanout: z.ZodOptional<z.ZodObject<{
197
+ enabled: z.ZodOptional<z.ZodBoolean>;
198
+ mode: z.ZodOptional<z.ZodEnum<{
199
+ report: "report";
200
+ execute: "execute";
201
+ }>>;
202
+ minScore: z.ZodOptional<z.ZodNumber>;
203
+ concurrency: z.ZodOptional<z.ZodNumber>;
204
+ keepSandboxes: z.ZodOptional<z.ZodBoolean>;
205
+ linkSharedPaths: z.ZodOptional<z.ZodBoolean>;
206
+ candidates: z.ZodOptional<z.ZodArray<z.ZodObject<{
207
+ id: z.ZodString;
208
+ adapter: z.ZodOptional<z.ZodEnum<{
209
+ codex: "codex";
210
+ local: "local";
211
+ "codex-responses": "codex-responses";
212
+ gpt: "gpt";
213
+ lmstudio: "lmstudio";
214
+ openrouter: "openrouter";
215
+ claude: "claude";
216
+ }>>;
217
+ model: z.ZodOptional<z.ZodString>;
218
+ reasoningEffort: z.ZodOptional<z.ZodEnum<{
219
+ medium: "medium";
220
+ low: "low";
221
+ high: "high";
222
+ }>>;
223
+ maxTurns: z.ZodOptional<z.ZodNumber>;
224
+ nudgeMaxOnNoEdit: z.ZodOptional<z.ZodNumber>;
225
+ webTools: z.ZodOptional<z.ZodBoolean>;
226
+ memoryTools: z.ZodOptional<z.ZodBoolean>;
227
+ }, z.core.$strip>>>;
228
+ }, z.core.$strip>>;
129
229
  }, z.core.$strip>>;
130
230
  documenter: z.ZodOptional<z.ZodObject<{
131
231
  enabled: z.ZodDefault<z.ZodBoolean>;
@@ -143,6 +243,39 @@ declare const RawConfigSchema: z.ZodObject<{
143
243
  escalateModel: z.ZodOptional<z.ZodString>;
144
244
  escalateAfterIteration: z.ZodOptional<z.ZodNumber>;
145
245
  maxTurns: z.ZodOptional<z.ZodNumber>;
246
+ fanout: z.ZodOptional<z.ZodObject<{
247
+ enabled: z.ZodOptional<z.ZodBoolean>;
248
+ mode: z.ZodOptional<z.ZodEnum<{
249
+ report: "report";
250
+ execute: "execute";
251
+ }>>;
252
+ minScore: z.ZodOptional<z.ZodNumber>;
253
+ concurrency: z.ZodOptional<z.ZodNumber>;
254
+ keepSandboxes: z.ZodOptional<z.ZodBoolean>;
255
+ linkSharedPaths: z.ZodOptional<z.ZodBoolean>;
256
+ candidates: z.ZodOptional<z.ZodArray<z.ZodObject<{
257
+ id: z.ZodString;
258
+ adapter: z.ZodOptional<z.ZodEnum<{
259
+ codex: "codex";
260
+ local: "local";
261
+ "codex-responses": "codex-responses";
262
+ gpt: "gpt";
263
+ lmstudio: "lmstudio";
264
+ openrouter: "openrouter";
265
+ claude: "claude";
266
+ }>>;
267
+ model: z.ZodOptional<z.ZodString>;
268
+ reasoningEffort: z.ZodOptional<z.ZodEnum<{
269
+ medium: "medium";
270
+ low: "low";
271
+ high: "high";
272
+ }>>;
273
+ maxTurns: z.ZodOptional<z.ZodNumber>;
274
+ nudgeMaxOnNoEdit: z.ZodOptional<z.ZodNumber>;
275
+ webTools: z.ZodOptional<z.ZodBoolean>;
276
+ memoryTools: z.ZodOptional<z.ZodBoolean>;
277
+ }, z.core.$strip>>>;
278
+ }, z.core.$strip>>;
146
279
  }, z.core.$strip>>;
147
280
  auditor: z.ZodOptional<z.ZodObject<{
148
281
  enabled: z.ZodDefault<z.ZodBoolean>;
@@ -160,6 +293,39 @@ declare const RawConfigSchema: z.ZodObject<{
160
293
  escalateModel: z.ZodOptional<z.ZodString>;
161
294
  escalateAfterIteration: z.ZodOptional<z.ZodNumber>;
162
295
  maxTurns: z.ZodOptional<z.ZodNumber>;
296
+ fanout: z.ZodOptional<z.ZodObject<{
297
+ enabled: z.ZodOptional<z.ZodBoolean>;
298
+ mode: z.ZodOptional<z.ZodEnum<{
299
+ report: "report";
300
+ execute: "execute";
301
+ }>>;
302
+ minScore: z.ZodOptional<z.ZodNumber>;
303
+ concurrency: z.ZodOptional<z.ZodNumber>;
304
+ keepSandboxes: z.ZodOptional<z.ZodBoolean>;
305
+ linkSharedPaths: z.ZodOptional<z.ZodBoolean>;
306
+ candidates: z.ZodOptional<z.ZodArray<z.ZodObject<{
307
+ id: z.ZodString;
308
+ adapter: z.ZodOptional<z.ZodEnum<{
309
+ codex: "codex";
310
+ local: "local";
311
+ "codex-responses": "codex-responses";
312
+ gpt: "gpt";
313
+ lmstudio: "lmstudio";
314
+ openrouter: "openrouter";
315
+ claude: "claude";
316
+ }>>;
317
+ model: z.ZodOptional<z.ZodString>;
318
+ reasoningEffort: z.ZodOptional<z.ZodEnum<{
319
+ medium: "medium";
320
+ low: "low";
321
+ high: "high";
322
+ }>>;
323
+ maxTurns: z.ZodOptional<z.ZodNumber>;
324
+ nudgeMaxOnNoEdit: z.ZodOptional<z.ZodNumber>;
325
+ webTools: z.ZodOptional<z.ZodBoolean>;
326
+ memoryTools: z.ZodOptional<z.ZodBoolean>;
327
+ }, z.core.$strip>>>;
328
+ }, z.core.$strip>>;
163
329
  }, z.core.$strip>>;
164
330
  'skill-documenter': z.ZodOptional<z.ZodObject<{
165
331
  enabled: z.ZodDefault<z.ZodBoolean>;
@@ -177,6 +343,39 @@ declare const RawConfigSchema: z.ZodObject<{
177
343
  escalateModel: z.ZodOptional<z.ZodString>;
178
344
  escalateAfterIteration: z.ZodOptional<z.ZodNumber>;
179
345
  maxTurns: z.ZodOptional<z.ZodNumber>;
346
+ fanout: z.ZodOptional<z.ZodObject<{
347
+ enabled: z.ZodOptional<z.ZodBoolean>;
348
+ mode: z.ZodOptional<z.ZodEnum<{
349
+ report: "report";
350
+ execute: "execute";
351
+ }>>;
352
+ minScore: z.ZodOptional<z.ZodNumber>;
353
+ concurrency: z.ZodOptional<z.ZodNumber>;
354
+ keepSandboxes: z.ZodOptional<z.ZodBoolean>;
355
+ linkSharedPaths: z.ZodOptional<z.ZodBoolean>;
356
+ candidates: z.ZodOptional<z.ZodArray<z.ZodObject<{
357
+ id: z.ZodString;
358
+ adapter: z.ZodOptional<z.ZodEnum<{
359
+ codex: "codex";
360
+ local: "local";
361
+ "codex-responses": "codex-responses";
362
+ gpt: "gpt";
363
+ lmstudio: "lmstudio";
364
+ openrouter: "openrouter";
365
+ claude: "claude";
366
+ }>>;
367
+ model: z.ZodOptional<z.ZodString>;
368
+ reasoningEffort: z.ZodOptional<z.ZodEnum<{
369
+ medium: "medium";
370
+ low: "low";
371
+ high: "high";
372
+ }>>;
373
+ maxTurns: z.ZodOptional<z.ZodNumber>;
374
+ nudgeMaxOnNoEdit: z.ZodOptional<z.ZodNumber>;
375
+ webTools: z.ZodOptional<z.ZodBoolean>;
376
+ memoryTools: z.ZodOptional<z.ZodBoolean>;
377
+ }, z.core.$strip>>>;
378
+ }, z.core.$strip>>;
180
379
  }, z.core.$strip>>;
181
380
  }, z.core.$strip>>;
182
381
  projectAgents: z.ZodOptional<z.ZodArray<z.ZodObject<{
@@ -199,6 +398,39 @@ declare const RawConfigSchema: z.ZodObject<{
199
398
  escalateModel: z.ZodOptional<z.ZodOptional<z.ZodString>>;
200
399
  escalateAfterIteration: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
201
400
  maxTurns: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
401
+ fanout: z.ZodOptional<z.ZodOptional<z.ZodObject<{
402
+ enabled: z.ZodOptional<z.ZodBoolean>;
403
+ mode: z.ZodOptional<z.ZodEnum<{
404
+ report: "report";
405
+ execute: "execute";
406
+ }>>;
407
+ minScore: z.ZodOptional<z.ZodNumber>;
408
+ concurrency: z.ZodOptional<z.ZodNumber>;
409
+ keepSandboxes: z.ZodOptional<z.ZodBoolean>;
410
+ linkSharedPaths: z.ZodOptional<z.ZodBoolean>;
411
+ candidates: z.ZodOptional<z.ZodArray<z.ZodObject<{
412
+ id: z.ZodString;
413
+ adapter: z.ZodOptional<z.ZodEnum<{
414
+ codex: "codex";
415
+ local: "local";
416
+ "codex-responses": "codex-responses";
417
+ gpt: "gpt";
418
+ lmstudio: "lmstudio";
419
+ openrouter: "openrouter";
420
+ claude: "claude";
421
+ }>>;
422
+ model: z.ZodOptional<z.ZodString>;
423
+ reasoningEffort: z.ZodOptional<z.ZodEnum<{
424
+ medium: "medium";
425
+ low: "low";
426
+ high: "high";
427
+ }>>;
428
+ maxTurns: z.ZodOptional<z.ZodNumber>;
429
+ nudgeMaxOnNoEdit: z.ZodOptional<z.ZodNumber>;
430
+ webTools: z.ZodOptional<z.ZodBoolean>;
431
+ memoryTools: z.ZodOptional<z.ZodBoolean>;
432
+ }, z.core.$strip>>>;
433
+ }, z.core.$strip>>>;
202
434
  }, z.core.$strip>>;
203
435
  reviewer: z.ZodOptional<z.ZodObject<{
204
436
  enabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
@@ -216,6 +448,39 @@ declare const RawConfigSchema: z.ZodObject<{
216
448
  escalateModel: z.ZodOptional<z.ZodOptional<z.ZodString>>;
217
449
  escalateAfterIteration: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
218
450
  maxTurns: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
451
+ fanout: z.ZodOptional<z.ZodOptional<z.ZodObject<{
452
+ enabled: z.ZodOptional<z.ZodBoolean>;
453
+ mode: z.ZodOptional<z.ZodEnum<{
454
+ report: "report";
455
+ execute: "execute";
456
+ }>>;
457
+ minScore: z.ZodOptional<z.ZodNumber>;
458
+ concurrency: z.ZodOptional<z.ZodNumber>;
459
+ keepSandboxes: z.ZodOptional<z.ZodBoolean>;
460
+ linkSharedPaths: z.ZodOptional<z.ZodBoolean>;
461
+ candidates: z.ZodOptional<z.ZodArray<z.ZodObject<{
462
+ id: z.ZodString;
463
+ adapter: z.ZodOptional<z.ZodEnum<{
464
+ codex: "codex";
465
+ local: "local";
466
+ "codex-responses": "codex-responses";
467
+ gpt: "gpt";
468
+ lmstudio: "lmstudio";
469
+ openrouter: "openrouter";
470
+ claude: "claude";
471
+ }>>;
472
+ model: z.ZodOptional<z.ZodString>;
473
+ reasoningEffort: z.ZodOptional<z.ZodEnum<{
474
+ medium: "medium";
475
+ low: "low";
476
+ high: "high";
477
+ }>>;
478
+ maxTurns: z.ZodOptional<z.ZodNumber>;
479
+ nudgeMaxOnNoEdit: z.ZodOptional<z.ZodNumber>;
480
+ webTools: z.ZodOptional<z.ZodBoolean>;
481
+ memoryTools: z.ZodOptional<z.ZodBoolean>;
482
+ }, z.core.$strip>>>;
483
+ }, z.core.$strip>>>;
219
484
  }, z.core.$strip>>;
220
485
  tester: z.ZodOptional<z.ZodObject<{
221
486
  enabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
@@ -233,6 +498,39 @@ declare const RawConfigSchema: z.ZodObject<{
233
498
  escalateModel: z.ZodOptional<z.ZodOptional<z.ZodString>>;
234
499
  escalateAfterIteration: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
235
500
  maxTurns: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
501
+ fanout: z.ZodOptional<z.ZodOptional<z.ZodObject<{
502
+ enabled: z.ZodOptional<z.ZodBoolean>;
503
+ mode: z.ZodOptional<z.ZodEnum<{
504
+ report: "report";
505
+ execute: "execute";
506
+ }>>;
507
+ minScore: z.ZodOptional<z.ZodNumber>;
508
+ concurrency: z.ZodOptional<z.ZodNumber>;
509
+ keepSandboxes: z.ZodOptional<z.ZodBoolean>;
510
+ linkSharedPaths: z.ZodOptional<z.ZodBoolean>;
511
+ candidates: z.ZodOptional<z.ZodArray<z.ZodObject<{
512
+ id: z.ZodString;
513
+ adapter: z.ZodOptional<z.ZodEnum<{
514
+ codex: "codex";
515
+ local: "local";
516
+ "codex-responses": "codex-responses";
517
+ gpt: "gpt";
518
+ lmstudio: "lmstudio";
519
+ openrouter: "openrouter";
520
+ claude: "claude";
521
+ }>>;
522
+ model: z.ZodOptional<z.ZodString>;
523
+ reasoningEffort: z.ZodOptional<z.ZodEnum<{
524
+ medium: "medium";
525
+ low: "low";
526
+ high: "high";
527
+ }>>;
528
+ maxTurns: z.ZodOptional<z.ZodNumber>;
529
+ nudgeMaxOnNoEdit: z.ZodOptional<z.ZodNumber>;
530
+ webTools: z.ZodOptional<z.ZodBoolean>;
531
+ memoryTools: z.ZodOptional<z.ZodBoolean>;
532
+ }, z.core.$strip>>>;
533
+ }, z.core.$strip>>>;
236
534
  }, z.core.$strip>>;
237
535
  documenter: z.ZodOptional<z.ZodObject<{
238
536
  enabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
@@ -250,6 +548,39 @@ declare const RawConfigSchema: z.ZodObject<{
250
548
  escalateModel: z.ZodOptional<z.ZodOptional<z.ZodString>>;
251
549
  escalateAfterIteration: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
252
550
  maxTurns: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
551
+ fanout: z.ZodOptional<z.ZodOptional<z.ZodObject<{
552
+ enabled: z.ZodOptional<z.ZodBoolean>;
553
+ mode: z.ZodOptional<z.ZodEnum<{
554
+ report: "report";
555
+ execute: "execute";
556
+ }>>;
557
+ minScore: z.ZodOptional<z.ZodNumber>;
558
+ concurrency: z.ZodOptional<z.ZodNumber>;
559
+ keepSandboxes: z.ZodOptional<z.ZodBoolean>;
560
+ linkSharedPaths: z.ZodOptional<z.ZodBoolean>;
561
+ candidates: z.ZodOptional<z.ZodArray<z.ZodObject<{
562
+ id: z.ZodString;
563
+ adapter: z.ZodOptional<z.ZodEnum<{
564
+ codex: "codex";
565
+ local: "local";
566
+ "codex-responses": "codex-responses";
567
+ gpt: "gpt";
568
+ lmstudio: "lmstudio";
569
+ openrouter: "openrouter";
570
+ claude: "claude";
571
+ }>>;
572
+ model: z.ZodOptional<z.ZodString>;
573
+ reasoningEffort: z.ZodOptional<z.ZodEnum<{
574
+ medium: "medium";
575
+ low: "low";
576
+ high: "high";
577
+ }>>;
578
+ maxTurns: z.ZodOptional<z.ZodNumber>;
579
+ nudgeMaxOnNoEdit: z.ZodOptional<z.ZodNumber>;
580
+ webTools: z.ZodOptional<z.ZodBoolean>;
581
+ memoryTools: z.ZodOptional<z.ZodBoolean>;
582
+ }, z.core.$strip>>>;
583
+ }, z.core.$strip>>>;
253
584
  }, z.core.$strip>>;
254
585
  auditor: z.ZodOptional<z.ZodObject<{
255
586
  enabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
@@ -267,6 +598,39 @@ declare const RawConfigSchema: z.ZodObject<{
267
598
  escalateModel: z.ZodOptional<z.ZodOptional<z.ZodString>>;
268
599
  escalateAfterIteration: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
269
600
  maxTurns: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
601
+ fanout: z.ZodOptional<z.ZodOptional<z.ZodObject<{
602
+ enabled: z.ZodOptional<z.ZodBoolean>;
603
+ mode: z.ZodOptional<z.ZodEnum<{
604
+ report: "report";
605
+ execute: "execute";
606
+ }>>;
607
+ minScore: z.ZodOptional<z.ZodNumber>;
608
+ concurrency: z.ZodOptional<z.ZodNumber>;
609
+ keepSandboxes: z.ZodOptional<z.ZodBoolean>;
610
+ linkSharedPaths: z.ZodOptional<z.ZodBoolean>;
611
+ candidates: z.ZodOptional<z.ZodArray<z.ZodObject<{
612
+ id: z.ZodString;
613
+ adapter: z.ZodOptional<z.ZodEnum<{
614
+ codex: "codex";
615
+ local: "local";
616
+ "codex-responses": "codex-responses";
617
+ gpt: "gpt";
618
+ lmstudio: "lmstudio";
619
+ openrouter: "openrouter";
620
+ claude: "claude";
621
+ }>>;
622
+ model: z.ZodOptional<z.ZodString>;
623
+ reasoningEffort: z.ZodOptional<z.ZodEnum<{
624
+ medium: "medium";
625
+ low: "low";
626
+ high: "high";
627
+ }>>;
628
+ maxTurns: z.ZodOptional<z.ZodNumber>;
629
+ nudgeMaxOnNoEdit: z.ZodOptional<z.ZodNumber>;
630
+ webTools: z.ZodOptional<z.ZodBoolean>;
631
+ memoryTools: z.ZodOptional<z.ZodBoolean>;
632
+ }, z.core.$strip>>>;
633
+ }, z.core.$strip>>>;
270
634
  }, z.core.$strip>>;
271
635
  'skill-documenter': z.ZodOptional<z.ZodObject<{
272
636
  enabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
@@ -284,6 +648,39 @@ declare const RawConfigSchema: z.ZodObject<{
284
648
  escalateModel: z.ZodOptional<z.ZodOptional<z.ZodString>>;
285
649
  escalateAfterIteration: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
286
650
  maxTurns: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
651
+ fanout: z.ZodOptional<z.ZodOptional<z.ZodObject<{
652
+ enabled: z.ZodOptional<z.ZodBoolean>;
653
+ mode: z.ZodOptional<z.ZodEnum<{
654
+ report: "report";
655
+ execute: "execute";
656
+ }>>;
657
+ minScore: z.ZodOptional<z.ZodNumber>;
658
+ concurrency: z.ZodOptional<z.ZodNumber>;
659
+ keepSandboxes: z.ZodOptional<z.ZodBoolean>;
660
+ linkSharedPaths: z.ZodOptional<z.ZodBoolean>;
661
+ candidates: z.ZodOptional<z.ZodArray<z.ZodObject<{
662
+ id: z.ZodString;
663
+ adapter: z.ZodOptional<z.ZodEnum<{
664
+ codex: "codex";
665
+ local: "local";
666
+ "codex-responses": "codex-responses";
667
+ gpt: "gpt";
668
+ lmstudio: "lmstudio";
669
+ openrouter: "openrouter";
670
+ claude: "claude";
671
+ }>>;
672
+ model: z.ZodOptional<z.ZodString>;
673
+ reasoningEffort: z.ZodOptional<z.ZodEnum<{
674
+ medium: "medium";
675
+ low: "low";
676
+ high: "high";
677
+ }>>;
678
+ maxTurns: z.ZodOptional<z.ZodNumber>;
679
+ nudgeMaxOnNoEdit: z.ZodOptional<z.ZodNumber>;
680
+ webTools: z.ZodOptional<z.ZodBoolean>;
681
+ memoryTools: z.ZodOptional<z.ZodBoolean>;
682
+ }, z.core.$strip>>>;
683
+ }, z.core.$strip>>>;
287
684
  }, z.core.$strip>>;
288
685
  }, z.core.$strip>>;
289
686
  }, z.core.$strip>>>;
@@ -297,6 +694,17 @@ declare const RawConfigSchema: z.ZodObject<{
297
694
  plannerModel: z.ZodDefault<z.ZodString>;
298
695
  plannerTimeoutMs: z.ZodDefault<z.ZodNumber>;
299
696
  }, z.core.$strip>>;
697
+ backlogGrooming: z.ZodOptional<z.ZodObject<{
698
+ enabled: z.ZodDefault<z.ZodBoolean>;
699
+ cadenceHours: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
700
+ mode: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
701
+ comment: "comment";
702
+ apply: "apply";
703
+ }>>>;
704
+ plannerModel: z.ZodOptional<z.ZodString>;
705
+ plannerTimeoutMs: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
706
+ maxIssues: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
707
+ }, z.core.$strip>>;
300
708
  worktreeMode: z.ZodDefault<z.ZodBoolean>;
301
709
  allowSameProjectConcurrent: z.ZodDefault<z.ZodBoolean>;
302
710
  jobProfiles: z.ZodOptional<z.ZodArray<z.ZodObject<{
@@ -327,6 +735,11 @@ declare const RawConfigSchema: z.ZodObject<{
327
735
  haltToLinear: z.ZodOptional<z.ZodBoolean>;
328
736
  registryCheck: z.ZodOptional<z.ZodBoolean>;
329
737
  bsDetector: z.ZodOptional<z.ZodBoolean>;
738
+ dependencyAntiPatternCheck: z.ZodOptional<z.ZodBoolean>;
739
+ contractEvidenceCheck: z.ZodOptional<z.ZodBoolean>;
740
+ verifiedMetricEvidenceCheck: z.ZodOptional<z.ZodBoolean>;
741
+ deadModuleCheck: z.ZodOptional<z.ZodBoolean>;
742
+ reformatCheck: z.ZodOptional<z.ZodBoolean>;
330
743
  }, z.core.$strip>>;
331
744
  maxReflections: z.ZodDefault<z.ZodNumber>;
332
745
  interTaskCooldownMs: z.ZodDefault<z.ZodNumber>;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAA+D,MAAM,YAAY,CAAC;AA+VzH,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAkBnB,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AA+CxD;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,UAAQ,GAAG,MAAM,CAQxE;AAID;;;;;;;;GAQG;AACH,wBAAgB,cAAc,IAAI,MAAM,GAAG,IAAI,CAgB9C;AA4HD;;GAEG;AACH,wBAAgB,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,WAAW,CA4D3D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAyB5G;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAC9B,YAAY,CASd;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAuE7C"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAA+D,MAAM,YAAY,CAAC;AAqYzH,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAkBnB,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AA+CxD;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,UAAQ,GAAG,MAAM,CAQxE;AAID;;;;;;;;GAQG;AACH,wBAAgB,cAAc,IAAI,MAAM,GAAG,IAAI,CAgB9C;AAqID;;GAEG;AACH,wBAAgB,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,WAAW,CA4D3D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAyB5G;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAC9B,YAAY,CASd;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAuE7C"}
@@ -7,6 +7,7 @@ import { homedir } from 'node:os';
7
7
  import { z } from 'zod';
8
8
  import YAML from 'yaml';
9
9
  import { setTimeWindowConfig, DEFAULT_TIME_WINDOW } from '../support/timeWindow.js';
10
+ import { c, status } from '../support/colors.js';
10
11
  // Constants
11
12
  const CONFIG_FILENAMES = ['config.yaml', 'config.yml', 'config.json'];
12
13
  // Directories searched for config, in priority order.
@@ -105,6 +106,25 @@ const RoleConfigSchema = z.object({
105
106
  escalateAfterIteration: z.number().min(1).optional(),
106
107
  /** Max agentic turns per CLI invocation */
107
108
  maxTurns: z.number().min(1).optional(),
109
+ /** Adaptive worker fan-out gate and candidate execution. */
110
+ fanout: z.object({
111
+ enabled: z.boolean().optional(),
112
+ mode: z.enum(['report', 'execute']).optional(),
113
+ minScore: z.number().min(1).max(10).optional(),
114
+ concurrency: z.number().int().min(1).max(3).optional(),
115
+ keepSandboxes: z.boolean().optional(),
116
+ linkSharedPaths: z.boolean().optional(),
117
+ candidates: z.array(z.object({
118
+ id: z.string().min(1),
119
+ adapter: AdapterNameSchema.optional(),
120
+ model: z.string().optional(),
121
+ reasoningEffort: z.enum(['low', 'medium', 'high']).optional(),
122
+ maxTurns: z.number().min(1).optional(),
123
+ nudgeMaxOnNoEdit: z.number().min(0).optional(),
124
+ webTools: z.boolean().optional(),
125
+ memoryTools: z.boolean().optional(),
126
+ })).optional(),
127
+ }).optional(),
108
128
  });
109
129
  /** Default roles configuration schema */
110
130
  const DefaultRolesConfigSchema = z.object({
@@ -176,6 +196,14 @@ const DecompositionConfigSchema = z.object({
176
196
  /** Planner timeout (ms) - default 600000 (10min) */
177
197
  plannerTimeoutMs: z.number().min(60000).default(600000),
178
198
  }).optional();
199
+ const BacklogGroomingConfigSchema = z.object({
200
+ enabled: z.boolean().default(false),
201
+ cadenceHours: z.number().min(1).max(168).default(24).optional(),
202
+ mode: z.enum(['comment', 'apply']).default('comment').optional(),
203
+ plannerModel: z.string().optional(),
204
+ plannerTimeoutMs: z.number().min(60000).default(600000).optional(),
205
+ maxIssues: z.number().min(1).max(250).default(80).optional(),
206
+ }).optional();
179
207
  const PipelineStageSchema = z.enum(['worker', 'reviewer', 'tester', 'documenter', 'auditor', 'skill-documenter']);
180
208
  const JobProfileSchema = z.object({
181
209
  name: z.string().min(1),
@@ -197,6 +225,11 @@ const PipelineGuardsConfigSchema = z.object({
197
225
  haltToLinear: z.boolean().optional(),
198
226
  registryCheck: z.boolean().optional(),
199
227
  bsDetector: z.boolean().optional(),
228
+ dependencyAntiPatternCheck: z.boolean().optional(),
229
+ contractEvidenceCheck: z.boolean().optional(),
230
+ verifiedMetricEvidenceCheck: z.boolean().optional(),
231
+ deadModuleCheck: z.boolean().optional(),
232
+ reformatCheck: z.boolean().optional(),
200
233
  }).optional();
201
234
  const AutonomousConfigSchema = z.object({
202
235
  /** Auto-enable on service start */
@@ -219,12 +252,16 @@ const AutonomousConfigSchema = z.object({
219
252
  reviewerTimeoutMs: z.number().min(0).default(0),
220
253
  /** Max concurrent tasks */
221
254
  maxConcurrentTasks: z.number().min(1).max(10).default(1),
255
+ /** Max concurrent tasks from the same project when same-project parallelism is enabled. */
256
+ maxConcurrentPerProject: z.number().int().min(1).max(10).optional(),
222
257
  /** Default role configuration */
223
258
  defaultRoles: DefaultRolesConfigSchema,
224
259
  /** Per-project agent configuration */
225
260
  projectAgents: z.array(ProjectAgentConfigSchema).optional(),
226
261
  /** Task decomposition configuration (Planner Agent) */
227
262
  decomposition: DecompositionConfigSchema,
263
+ /** Whole-backlog grooming planner configuration */
264
+ backlogGrooming: BacklogGroomingConfigSchema,
228
265
  /** Git worktree mode: each task runs in isolated worktree */
229
266
  worktreeMode: z.boolean().default(false),
230
267
  /** Allow concurrent tasks on the same repo (requires worktreeMode). (INT-1975) */
@@ -490,6 +527,7 @@ function transformConfig(raw) {
490
527
  workerTimeoutMs: raw.autonomous.workerTimeoutMs,
491
528
  reviewerTimeoutMs: raw.autonomous.reviewerTimeoutMs,
492
529
  maxConcurrentTasks: raw.autonomous.maxConcurrentTasks,
530
+ maxConcurrentPerProject: raw.autonomous.maxConcurrentPerProject,
493
531
  defaultRoles: raw.autonomous.defaultRoles,
494
532
  projectAgents: raw.autonomous.projectAgents?.map(pa => ({
495
533
  ...pa,
@@ -505,6 +543,14 @@ function transformConfig(raw) {
505
543
  plannerModel: raw.autonomous.decomposition.plannerModel,
506
544
  plannerTimeoutMs: raw.autonomous.decomposition.plannerTimeoutMs,
507
545
  } : undefined,
546
+ backlogGrooming: raw.autonomous.backlogGrooming ? {
547
+ enabled: raw.autonomous.backlogGrooming.enabled,
548
+ cadenceHours: raw.autonomous.backlogGrooming.cadenceHours,
549
+ mode: raw.autonomous.backlogGrooming.mode,
550
+ plannerModel: raw.autonomous.backlogGrooming.plannerModel,
551
+ plannerTimeoutMs: raw.autonomous.backlogGrooming.plannerTimeoutMs,
552
+ maxIssues: raw.autonomous.backlogGrooming.maxIssues,
553
+ } : undefined,
508
554
  worktreeMode: raw.autonomous.worktreeMode,
509
555
  allowSameProjectConcurrent: raw.autonomous.allowSameProjectConcurrent,
510
556
  guards: raw.autonomous.guards,
@@ -549,7 +595,7 @@ export function loadConfig(customPath) {
549
595
  throw new Error(`Config file not found. Searched:\n${searched}\n` +
550
596
  `Create one of the above, or set $OPENSWARM_CONFIG to an explicit file path.`);
551
597
  }
552
- console.log(`Loading config from: ${configPath}`);
598
+ console.log(`${status.info('Config')} ${c.dim('loading from')} ${c.cyan(configPath)}`);
553
599
  // 2. Parse file
554
600
  let rawData;
555
601
  try {
@@ -563,12 +609,12 @@ export function loadConfig(customPath) {
563
609
  // 3.5. Optional 블록 정리: 환경변수 미설정 시 빈 문자열이 들어온 블록 제거
564
610
  const discordBlock = substituted.discord;
565
611
  if (discordBlock && (!discordBlock.token || !discordBlock.channelId)) {
566
- console.log('[Config] Discord credentials not set — disabling Discord integration');
612
+ console.log(status.warn('[Config] Discord credentials not set — disabling Discord integration'));
567
613
  delete substituted.discord;
568
614
  }
569
615
  const linearBlock = substituted.linear;
570
616
  if (linearBlock && (!linearBlock.apiKey || !linearBlock.teamId)) {
571
- console.log('[Config] Linear credentials not set — disabling Linear integration');
617
+ console.log(status.warn('[Config] Linear credentials not set — disabling Linear integration'));
572
618
  delete substituted.linear;
573
619
  }
574
620
  // 4. Zod schema validation
@@ -584,11 +630,11 @@ export function loadConfig(customPath) {
584
630
  // 6. Apply time window config
585
631
  if (config.timeWindow) {
586
632
  setTimeWindowConfig(config.timeWindow);
587
- console.log(`[Config] TimeWindow config loaded (enabled: ${config.timeWindow.enabled})`);
633
+ console.log(`${status.info('[Config] TimeWindow')} ${c.dim('loaded')} ${c.yellow(`enabled: ${config.timeWindow.enabled}`)}`);
588
634
  }
589
635
  else {
590
636
  setTimeWindowConfig(DEFAULT_TIME_WINDOW);
591
- console.log(`[Config] Using default TimeWindow config`);
637
+ console.log(`${status.info('[Config] TimeWindow')} ${c.dim('using default config')}`);
592
638
  }
593
639
  return config;
594
640
  }