@intrect/openswarm 0.2.0

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 (437) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +544 -0
  3. package/config.example.yaml +107 -0
  4. package/dist/adapters/base.d.ts +8 -0
  5. package/dist/adapters/base.d.ts.map +1 -0
  6. package/dist/adapters/base.js +104 -0
  7. package/dist/adapters/base.js.map +1 -0
  8. package/dist/adapters/claude.d.ts +13 -0
  9. package/dist/adapters/claude.d.ts.map +1 -0
  10. package/dist/adapters/claude.js +318 -0
  11. package/dist/adapters/claude.js.map +1 -0
  12. package/dist/adapters/codex.d.ts +14 -0
  13. package/dist/adapters/codex.d.ts.map +1 -0
  14. package/dist/adapters/codex.js +366 -0
  15. package/dist/adapters/codex.js.map +1 -0
  16. package/dist/adapters/cryptoQuantAdapter.d.ts +85 -0
  17. package/dist/adapters/cryptoQuantAdapter.d.ts.map +1 -0
  18. package/dist/adapters/cryptoQuantAdapter.js +238 -0
  19. package/dist/adapters/cryptoQuantAdapter.js.map +1 -0
  20. package/dist/adapters/index.d.ts +17 -0
  21. package/dist/adapters/index.d.ts.map +1 -0
  22. package/dist/adapters/index.js +47 -0
  23. package/dist/adapters/index.js.map +1 -0
  24. package/dist/adapters/processRegistry.d.ts +38 -0
  25. package/dist/adapters/processRegistry.d.ts.map +1 -0
  26. package/dist/adapters/processRegistry.js +147 -0
  27. package/dist/adapters/processRegistry.js.map +1 -0
  28. package/dist/adapters/streamBuffer.d.ts +59 -0
  29. package/dist/adapters/streamBuffer.d.ts.map +1 -0
  30. package/dist/adapters/streamBuffer.js +123 -0
  31. package/dist/adapters/streamBuffer.js.map +1 -0
  32. package/dist/adapters/types.d.ts +65 -0
  33. package/dist/adapters/types.d.ts.map +1 -0
  34. package/dist/adapters/types.js +6 -0
  35. package/dist/adapters/types.js.map +1 -0
  36. package/dist/agents/agentBus.d.ts +160 -0
  37. package/dist/agents/agentBus.d.ts.map +1 -0
  38. package/dist/agents/agentBus.js +350 -0
  39. package/dist/agents/agentBus.js.map +1 -0
  40. package/dist/agents/agentPair.d.ts +210 -0
  41. package/dist/agents/agentPair.d.ts.map +1 -0
  42. package/dist/agents/agentPair.js +420 -0
  43. package/dist/agents/agentPair.js.map +1 -0
  44. package/dist/agents/auditor.d.ts +27 -0
  45. package/dist/agents/auditor.d.ts.map +1 -0
  46. package/dist/agents/auditor.js +237 -0
  47. package/dist/agents/auditor.js.map +1 -0
  48. package/dist/agents/cliStreamParser.d.ts +18 -0
  49. package/dist/agents/cliStreamParser.d.ts.map +1 -0
  50. package/dist/agents/cliStreamParser.js +156 -0
  51. package/dist/agents/cliStreamParser.js.map +1 -0
  52. package/dist/agents/documenter.d.ts +31 -0
  53. package/dist/agents/documenter.d.ts.map +1 -0
  54. package/dist/agents/documenter.js +285 -0
  55. package/dist/agents/documenter.js.map +1 -0
  56. package/dist/agents/index.d.ts +10 -0
  57. package/dist/agents/index.d.ts.map +1 -0
  58. package/dist/agents/index.js +10 -0
  59. package/dist/agents/index.js.map +1 -0
  60. package/dist/agents/pairMetrics.d.ts +63 -0
  61. package/dist/agents/pairMetrics.d.ts.map +1 -0
  62. package/dist/agents/pairMetrics.js +231 -0
  63. package/dist/agents/pairMetrics.js.map +1 -0
  64. package/dist/agents/pairPipeline.d.ts +155 -0
  65. package/dist/agents/pairPipeline.d.ts.map +1 -0
  66. package/dist/agents/pairPipeline.js +793 -0
  67. package/dist/agents/pairPipeline.js.map +1 -0
  68. package/dist/agents/pairWebhook.d.ts +59 -0
  69. package/dist/agents/pairWebhook.d.ts.map +1 -0
  70. package/dist/agents/pairWebhook.js +242 -0
  71. package/dist/agents/pairWebhook.js.map +1 -0
  72. package/dist/agents/pipelineFormat.d.ts +11 -0
  73. package/dist/agents/pipelineFormat.d.ts.map +1 -0
  74. package/dist/agents/pipelineFormat.js +164 -0
  75. package/dist/agents/pipelineFormat.js.map +1 -0
  76. package/dist/agents/pipelineGuards.d.ts +23 -0
  77. package/dist/agents/pipelineGuards.d.ts.map +1 -0
  78. package/dist/agents/pipelineGuards.js +175 -0
  79. package/dist/agents/pipelineGuards.js.map +1 -0
  80. package/dist/agents/reviewer.d.ts +37 -0
  81. package/dist/agents/reviewer.d.ts.map +1 -0
  82. package/dist/agents/reviewer.js +213 -0
  83. package/dist/agents/reviewer.js.map +1 -0
  84. package/dist/agents/skillDocumenter.d.ts +23 -0
  85. package/dist/agents/skillDocumenter.d.ts.map +1 -0
  86. package/dist/agents/skillDocumenter.js +218 -0
  87. package/dist/agents/skillDocumenter.js.map +1 -0
  88. package/dist/agents/tester.d.ts +37 -0
  89. package/dist/agents/tester.d.ts.map +1 -0
  90. package/dist/agents/tester.js +308 -0
  91. package/dist/agents/tester.js.map +1 -0
  92. package/dist/agents/worker.d.ts +30 -0
  93. package/dist/agents/worker.d.ts.map +1 -0
  94. package/dist/agents/worker.js +128 -0
  95. package/dist/agents/worker.js.map +1 -0
  96. package/dist/automation/autonomousRunner.d.ts +123 -0
  97. package/dist/automation/autonomousRunner.d.ts.map +1 -0
  98. package/dist/automation/autonomousRunner.js +1082 -0
  99. package/dist/automation/autonomousRunner.js.map +1 -0
  100. package/dist/automation/ciWorker.d.ts +51 -0
  101. package/dist/automation/ciWorker.d.ts.map +1 -0
  102. package/dist/automation/ciWorker.js +282 -0
  103. package/dist/automation/ciWorker.js.map +1 -0
  104. package/dist/automation/conflictResolver.d.ts +29 -0
  105. package/dist/automation/conflictResolver.d.ts.map +1 -0
  106. package/dist/automation/conflictResolver.js +261 -0
  107. package/dist/automation/conflictResolver.js.map +1 -0
  108. package/dist/automation/dailyReporter.d.ts +26 -0
  109. package/dist/automation/dailyReporter.d.ts.map +1 -0
  110. package/dist/automation/dailyReporter.js +132 -0
  111. package/dist/automation/dailyReporter.js.map +1 -0
  112. package/dist/automation/index.d.ts +7 -0
  113. package/dist/automation/index.d.ts.map +1 -0
  114. package/dist/automation/index.js +7 -0
  115. package/dist/automation/index.js.map +1 -0
  116. package/dist/automation/longRunningMonitor.d.ts +26 -0
  117. package/dist/automation/longRunningMonitor.d.ts.map +1 -0
  118. package/dist/automation/longRunningMonitor.js +231 -0
  119. package/dist/automation/longRunningMonitor.js.map +1 -0
  120. package/dist/automation/prOwnership.d.ts +18 -0
  121. package/dist/automation/prOwnership.d.ts.map +1 -0
  122. package/dist/automation/prOwnership.js +61 -0
  123. package/dist/automation/prOwnership.js.map +1 -0
  124. package/dist/automation/prProcessor.d.ts +62 -0
  125. package/dist/automation/prProcessor.d.ts.map +1 -0
  126. package/dist/automation/prProcessor.js +700 -0
  127. package/dist/automation/prProcessor.js.map +1 -0
  128. package/dist/automation/runnerExecution.d.ts +49 -0
  129. package/dist/automation/runnerExecution.d.ts.map +1 -0
  130. package/dist/automation/runnerExecution.js +663 -0
  131. package/dist/automation/runnerExecution.js.map +1 -0
  132. package/dist/automation/runnerState.d.ts +170 -0
  133. package/dist/automation/runnerState.d.ts.map +1 -0
  134. package/dist/automation/runnerState.js +495 -0
  135. package/dist/automation/runnerState.js.map +1 -0
  136. package/dist/automation/runnerTypes.d.ts +46 -0
  137. package/dist/automation/runnerTypes.d.ts.map +1 -0
  138. package/dist/automation/runnerTypes.js +5 -0
  139. package/dist/automation/runnerTypes.js.map +1 -0
  140. package/dist/automation/scheduler.d.ts +75 -0
  141. package/dist/automation/scheduler.d.ts.map +1 -0
  142. package/dist/automation/scheduler.js +394 -0
  143. package/dist/automation/scheduler.js.map +1 -0
  144. package/dist/cli/promptHandler.d.ts +13 -0
  145. package/dist/cli/promptHandler.d.ts.map +1 -0
  146. package/dist/cli/promptHandler.js +189 -0
  147. package/dist/cli/promptHandler.js.map +1 -0
  148. package/dist/cli.d.ts +3 -0
  149. package/dist/cli.d.ts.map +1 -0
  150. package/dist/cli.js +138 -0
  151. package/dist/cli.js.map +1 -0
  152. package/dist/core/config.d.ts +308 -0
  153. package/dist/core/config.d.ts.map +1 -0
  154. package/dist/core/config.js +529 -0
  155. package/dist/core/config.js.map +1 -0
  156. package/dist/core/eventHub.d.ts +194 -0
  157. package/dist/core/eventHub.d.ts.map +1 -0
  158. package/dist/core/eventHub.js +136 -0
  159. package/dist/core/eventHub.js.map +1 -0
  160. package/dist/core/index.d.ts +6 -0
  161. package/dist/core/index.d.ts.map +1 -0
  162. package/dist/core/index.js +6 -0
  163. package/dist/core/index.js.map +1 -0
  164. package/dist/core/service.d.ts +27 -0
  165. package/dist/core/service.d.ts.map +1 -0
  166. package/dist/core/service.js +438 -0
  167. package/dist/core/service.js.map +1 -0
  168. package/dist/core/traceCollector.d.ts +105 -0
  169. package/dist/core/traceCollector.d.ts.map +1 -0
  170. package/dist/core/traceCollector.js +141 -0
  171. package/dist/core/traceCollector.js.map +1 -0
  172. package/dist/core/types.d.ts +413 -0
  173. package/dist/core/types.d.ts.map +1 -0
  174. package/dist/core/types.js +5 -0
  175. package/dist/core/types.js.map +1 -0
  176. package/dist/discord/discordCore.d.ts +104 -0
  177. package/dist/discord/discordCore.d.ts.map +1 -0
  178. package/dist/discord/discordCore.js +698 -0
  179. package/dist/discord/discordCore.js.map +1 -0
  180. package/dist/discord/discordHandlers.d.ts +86 -0
  181. package/dist/discord/discordHandlers.d.ts.map +1 -0
  182. package/dist/discord/discordHandlers.js +849 -0
  183. package/dist/discord/discordHandlers.js.map +1 -0
  184. package/dist/discord/discordPair.d.ts +6 -0
  185. package/dist/discord/discordPair.d.ts.map +1 -0
  186. package/dist/discord/discordPair.js +567 -0
  187. package/dist/discord/discordPair.js.map +1 -0
  188. package/dist/discord/index.d.ts +4 -0
  189. package/dist/discord/index.d.ts.map +1 -0
  190. package/dist/discord/index.js +11 -0
  191. package/dist/discord/index.js.map +1 -0
  192. package/dist/github/github.d.ts +236 -0
  193. package/dist/github/github.d.ts.map +1 -0
  194. package/dist/github/github.js +535 -0
  195. package/dist/github/github.js.map +1 -0
  196. package/dist/github/index.d.ts +2 -0
  197. package/dist/github/index.d.ts.map +1 -0
  198. package/dist/github/index.js +2 -0
  199. package/dist/github/index.js.map +1 -0
  200. package/dist/index.d.ts +3 -0
  201. package/dist/index.d.ts.map +1 -0
  202. package/dist/index.js +60 -0
  203. package/dist/index.js.map +1 -0
  204. package/dist/knowledge/analyzer.d.ts +36 -0
  205. package/dist/knowledge/analyzer.d.ts.map +1 -0
  206. package/dist/knowledge/analyzer.js +170 -0
  207. package/dist/knowledge/analyzer.js.map +1 -0
  208. package/dist/knowledge/gitInfo.d.ts +10 -0
  209. package/dist/knowledge/gitInfo.d.ts.map +1 -0
  210. package/dist/knowledge/gitInfo.js +134 -0
  211. package/dist/knowledge/gitInfo.js.map +1 -0
  212. package/dist/knowledge/graph.d.ts +45 -0
  213. package/dist/knowledge/graph.d.ts.map +1 -0
  214. package/dist/knowledge/graph.js +262 -0
  215. package/dist/knowledge/graph.js.map +1 -0
  216. package/dist/knowledge/graphqlExporter.d.ts +64 -0
  217. package/dist/knowledge/graphqlExporter.d.ts.map +1 -0
  218. package/dist/knowledge/graphqlExporter.js +333 -0
  219. package/dist/knowledge/graphqlExporter.js.map +1 -0
  220. package/dist/knowledge/index.d.ts +58 -0
  221. package/dist/knowledge/index.d.ts.map +1 -0
  222. package/dist/knowledge/index.js +212 -0
  223. package/dist/knowledge/index.js.map +1 -0
  224. package/dist/knowledge/repository.d.ts +64 -0
  225. package/dist/knowledge/repository.d.ts.map +1 -0
  226. package/dist/knowledge/repository.js +250 -0
  227. package/dist/knowledge/repository.js.map +1 -0
  228. package/dist/knowledge/riskOnAnalyzer.d.ts +79 -0
  229. package/dist/knowledge/riskOnAnalyzer.d.ts.map +1 -0
  230. package/dist/knowledge/riskOnAnalyzer.js +243 -0
  231. package/dist/knowledge/riskOnAnalyzer.js.map +1 -0
  232. package/dist/knowledge/scanner.d.ts +14 -0
  233. package/dist/knowledge/scanner.d.ts.map +1 -0
  234. package/dist/knowledge/scanner.js +350 -0
  235. package/dist/knowledge/scanner.js.map +1 -0
  236. package/dist/knowledge/store.d.ts +23 -0
  237. package/dist/knowledge/store.d.ts.map +1 -0
  238. package/dist/knowledge/store.js +86 -0
  239. package/dist/knowledge/store.js.map +1 -0
  240. package/dist/knowledge/types.d.ts +288 -0
  241. package/dist/knowledge/types.d.ts.map +1 -0
  242. package/dist/knowledge/types.js +111 -0
  243. package/dist/knowledge/types.js.map +1 -0
  244. package/dist/linear/index.d.ts +3 -0
  245. package/dist/linear/index.d.ts.map +1 -0
  246. package/dist/linear/index.js +3 -0
  247. package/dist/linear/index.js.map +1 -0
  248. package/dist/linear/linear.d.ts +160 -0
  249. package/dist/linear/linear.d.ts.map +1 -0
  250. package/dist/linear/linear.js +983 -0
  251. package/dist/linear/linear.js.map +1 -0
  252. package/dist/linear/projectUpdater.d.ts +23 -0
  253. package/dist/linear/projectUpdater.d.ts.map +1 -0
  254. package/dist/linear/projectUpdater.js +347 -0
  255. package/dist/linear/projectUpdater.js.map +1 -0
  256. package/dist/locale/en.d.ts +3 -0
  257. package/dist/locale/en.d.ts.map +1 -0
  258. package/dist/locale/en.js +436 -0
  259. package/dist/locale/en.js.map +1 -0
  260. package/dist/locale/index.d.ts +28 -0
  261. package/dist/locale/index.d.ts.map +1 -0
  262. package/dist/locale/index.js +89 -0
  263. package/dist/locale/index.js.map +1 -0
  264. package/dist/locale/ko.d.ts +3 -0
  265. package/dist/locale/ko.d.ts.map +1 -0
  266. package/dist/locale/ko.js +436 -0
  267. package/dist/locale/ko.js.map +1 -0
  268. package/dist/locale/prompts/en.d.ts +3 -0
  269. package/dist/locale/prompts/en.d.ts.map +1 -0
  270. package/dist/locale/prompts/en.js +278 -0
  271. package/dist/locale/prompts/en.js.map +1 -0
  272. package/dist/locale/prompts/ko.d.ts +3 -0
  273. package/dist/locale/prompts/ko.d.ts.map +1 -0
  274. package/dist/locale/prompts/ko.js +279 -0
  275. package/dist/locale/prompts/ko.js.map +1 -0
  276. package/dist/locale/types.d.ts +407 -0
  277. package/dist/locale/types.d.ts.map +1 -0
  278. package/dist/locale/types.js +5 -0
  279. package/dist/locale/types.js.map +1 -0
  280. package/dist/memory/codex.d.ts +93 -0
  281. package/dist/memory/codex.d.ts.map +1 -0
  282. package/dist/memory/codex.js +366 -0
  283. package/dist/memory/codex.js.map +1 -0
  284. package/dist/memory/compaction.d.ts +21 -0
  285. package/dist/memory/compaction.d.ts.map +1 -0
  286. package/dist/memory/compaction.js +205 -0
  287. package/dist/memory/compaction.js.map +1 -0
  288. package/dist/memory/index.d.ts +13 -0
  289. package/dist/memory/index.d.ts.map +1 -0
  290. package/dist/memory/index.js +13 -0
  291. package/dist/memory/index.js.map +1 -0
  292. package/dist/memory/memoryCore.d.ts +178 -0
  293. package/dist/memory/memoryCore.d.ts.map +1 -0
  294. package/dist/memory/memoryCore.js +623 -0
  295. package/dist/memory/memoryCore.js.map +1 -0
  296. package/dist/memory/memoryOps.d.ts +90 -0
  297. package/dist/memory/memoryOps.d.ts.map +1 -0
  298. package/dist/memory/memoryOps.js +606 -0
  299. package/dist/memory/memoryOps.js.map +1 -0
  300. package/dist/orchestration/conflictDetector.d.ts +15 -0
  301. package/dist/orchestration/conflictDetector.d.ts.map +1 -0
  302. package/dist/orchestration/conflictDetector.js +130 -0
  303. package/dist/orchestration/conflictDetector.js.map +1 -0
  304. package/dist/orchestration/decisionEngine.d.ts +177 -0
  305. package/dist/orchestration/decisionEngine.d.ts.map +1 -0
  306. package/dist/orchestration/decisionEngine.js +496 -0
  307. package/dist/orchestration/decisionEngine.js.map +1 -0
  308. package/dist/orchestration/index.d.ts +5 -0
  309. package/dist/orchestration/index.d.ts.map +1 -0
  310. package/dist/orchestration/index.js +5 -0
  311. package/dist/orchestration/index.js.map +1 -0
  312. package/dist/orchestration/taskParser.d.ts +67 -0
  313. package/dist/orchestration/taskParser.d.ts.map +1 -0
  314. package/dist/orchestration/taskParser.js +542 -0
  315. package/dist/orchestration/taskParser.js.map +1 -0
  316. package/dist/orchestration/taskScheduler.d.ts +141 -0
  317. package/dist/orchestration/taskScheduler.d.ts.map +1 -0
  318. package/dist/orchestration/taskScheduler.js +317 -0
  319. package/dist/orchestration/taskScheduler.js.map +1 -0
  320. package/dist/orchestration/workflow.d.ts +145 -0
  321. package/dist/orchestration/workflow.d.ts.map +1 -0
  322. package/dist/orchestration/workflow.js +301 -0
  323. package/dist/orchestration/workflow.js.map +1 -0
  324. package/dist/runners/cliRunner.d.ts +11 -0
  325. package/dist/runners/cliRunner.d.ts.map +1 -0
  326. package/dist/runners/cliRunner.js +194 -0
  327. package/dist/runners/cliRunner.js.map +1 -0
  328. package/dist/support/apiCache.d.ts +85 -0
  329. package/dist/support/apiCache.d.ts.map +1 -0
  330. package/dist/support/apiCache.js +163 -0
  331. package/dist/support/apiCache.js.map +1 -0
  332. package/dist/support/chat.d.ts +3 -0
  333. package/dist/support/chat.d.ts.map +1 -0
  334. package/dist/support/chat.js +304 -0
  335. package/dist/support/chat.js.map +1 -0
  336. package/dist/support/chatBackend.d.ts +25 -0
  337. package/dist/support/chatBackend.d.ts.map +1 -0
  338. package/dist/support/chatBackend.js +235 -0
  339. package/dist/support/chatBackend.js.map +1 -0
  340. package/dist/support/chatMemory.d.ts +71 -0
  341. package/dist/support/chatMemory.d.ts.map +1 -0
  342. package/dist/support/chatMemory.js +119 -0
  343. package/dist/support/chatMemory.js.map +1 -0
  344. package/dist/support/chatTui.d.ts +3 -0
  345. package/dist/support/chatTui.d.ts.map +1 -0
  346. package/dist/support/chatTui.js +998 -0
  347. package/dist/support/chatTui.js.map +1 -0
  348. package/dist/support/costTracker.d.ts +29 -0
  349. package/dist/support/costTracker.d.ts.map +1 -0
  350. package/dist/support/costTracker.js +113 -0
  351. package/dist/support/costTracker.js.map +1 -0
  352. package/dist/support/dashboardHtml.d.ts +3 -0
  353. package/dist/support/dashboardHtml.d.ts.map +1 -0
  354. package/dist/support/dashboardHtml.js +2070 -0
  355. package/dist/support/dashboardHtml.js.map +1 -0
  356. package/dist/support/delete-beliefs.d.ts +2 -0
  357. package/dist/support/delete-beliefs.d.ts.map +1 -0
  358. package/dist/support/delete-beliefs.js +34 -0
  359. package/dist/support/delete-beliefs.js.map +1 -0
  360. package/dist/support/dev.d.ts +55 -0
  361. package/dist/support/dev.d.ts.map +1 -0
  362. package/dist/support/dev.js +298 -0
  363. package/dist/support/dev.js.map +1 -0
  364. package/dist/support/editParser.d.ts +37 -0
  365. package/dist/support/editParser.d.ts.map +1 -0
  366. package/dist/support/editParser.js +365 -0
  367. package/dist/support/editParser.js.map +1 -0
  368. package/dist/support/gitStatus.d.ts +21 -0
  369. package/dist/support/gitStatus.d.ts.map +1 -0
  370. package/dist/support/gitStatus.js +108 -0
  371. package/dist/support/gitStatus.js.map +1 -0
  372. package/dist/support/gitTracker.d.ts +30 -0
  373. package/dist/support/gitTracker.d.ts.map +1 -0
  374. package/dist/support/gitTracker.js +143 -0
  375. package/dist/support/gitTracker.js.map +1 -0
  376. package/dist/support/index.d.ts +13 -0
  377. package/dist/support/index.d.ts.map +1 -0
  378. package/dist/support/index.js +13 -0
  379. package/dist/support/index.js.map +1 -0
  380. package/dist/support/planner.d.ts +58 -0
  381. package/dist/support/planner.d.ts.map +1 -0
  382. package/dist/support/planner.js +395 -0
  383. package/dist/support/planner.js.map +1 -0
  384. package/dist/support/projectMapper.d.ts +46 -0
  385. package/dist/support/projectMapper.d.ts.map +1 -0
  386. package/dist/support/projectMapper.js +259 -0
  387. package/dist/support/projectMapper.js.map +1 -0
  388. package/dist/support/quotaTracker.d.ts +29 -0
  389. package/dist/support/quotaTracker.d.ts.map +1 -0
  390. package/dist/support/quotaTracker.js +89 -0
  391. package/dist/support/quotaTracker.js.map +1 -0
  392. package/dist/support/rateLimiter.d.ts +101 -0
  393. package/dist/support/rateLimiter.d.ts.map +1 -0
  394. package/dist/support/rateLimiter.js +219 -0
  395. package/dist/support/rateLimiter.js.map +1 -0
  396. package/dist/support/rollback.d.ts +61 -0
  397. package/dist/support/rollback.d.ts.map +1 -0
  398. package/dist/support/rollback.js +328 -0
  399. package/dist/support/rollback.js.map +1 -0
  400. package/dist/support/stuckDetector.d.ts +68 -0
  401. package/dist/support/stuckDetector.d.ts.map +1 -0
  402. package/dist/support/stuckDetector.js +174 -0
  403. package/dist/support/stuckDetector.js.map +1 -0
  404. package/dist/support/timeWindow.d.ts +60 -0
  405. package/dist/support/timeWindow.d.ts.map +1 -0
  406. package/dist/support/timeWindow.js +236 -0
  407. package/dist/support/timeWindow.js.map +1 -0
  408. package/dist/support/web.d.ts +11 -0
  409. package/dist/support/web.d.ts.map +1 -0
  410. package/dist/support/web.js +938 -0
  411. package/dist/support/web.js.map +1 -0
  412. package/dist/support/workflowLinear.d.ts +99 -0
  413. package/dist/support/workflowLinear.d.ts.map +1 -0
  414. package/dist/support/workflowLinear.js +257 -0
  415. package/dist/support/workflowLinear.js.map +1 -0
  416. package/dist/support/worktreeManager.d.ts +20 -0
  417. package/dist/support/worktreeManager.d.ts.map +1 -0
  418. package/dist/support/worktreeManager.js +144 -0
  419. package/dist/support/worktreeManager.js.map +1 -0
  420. package/dist/taskState/store.d.ts +101 -0
  421. package/dist/taskState/store.d.ts.map +1 -0
  422. package/dist/taskState/store.js +346 -0
  423. package/dist/taskState/store.js.map +1 -0
  424. package/package.json +70 -0
  425. package/templates/AGENTS.md +432 -0
  426. package/templates/BOOT.md +25 -0
  427. package/templates/BOOTSTRAP.md +50 -0
  428. package/templates/CHANGELOG_AUDIT.md +74 -0
  429. package/templates/HEARTBEAT.md +86 -0
  430. package/templates/IDENTITY.md +27 -0
  431. package/templates/ISSUE_ANALYSIS.md +31 -0
  432. package/templates/PR_LAND.md +75 -0
  433. package/templates/PR_REVIEW.md +97 -0
  434. package/templates/SOUL.dev.md +52 -0
  435. package/templates/SOUL.md +81 -0
  436. package/templates/TOOLS.md +52 -0
  437. package/templates/USER.md +22 -0
@@ -0,0 +1,495 @@
1
+ // ============================================
2
+ // OpenSwarm - Runner State Utilities
3
+ // Task state persistence + project info query
4
+ // ============================================
5
+ import { existsSync, readFileSync, writeFileSync } from 'node:fs';
6
+ import { homedir } from 'node:os';
7
+ import { join } from 'node:path';
8
+ /** Check if a resolved path matches or is under any enabled project path */
9
+ export function isPathEnabled(resolvedPath, enabledProjects) {
10
+ if (enabledProjects.has(resolvedPath))
11
+ return true;
12
+ for (const enabled of enabledProjects) {
13
+ if (resolvedPath.startsWith(enabled + '/'))
14
+ return true;
15
+ }
16
+ return false;
17
+ }
18
+ export const TASK_STATE_FILE = join(homedir(), '.claude', 'openswarm-task-state.json');
19
+ export const PIPELINE_HISTORY_FILE = join(homedir(), '.claude', 'openswarm-pipeline-history.json');
20
+ export const REJECTION_STATE_FILE = join(homedir(), '.claude', 'openswarm-rejection-state.json');
21
+ export const DECOMPOSITION_STATE_FILE = join(homedir(), '.claude', 'openswarm-decomposition-state.json');
22
+ export const DAILY_PACE_FILE = join(homedir(), '.openswarm', 'daily-pace.json');
23
+ const MAX_PIPELINE_HISTORY = 100;
24
+ const MAX_REJECTION_ATTEMPTS = 3;
25
+ // 5시간 롤링 윈도우 기반 프로젝트별 pace 제어
26
+ // Claude Max는 5시간마다 quota가 리프레시되므로 이에 맞춤
27
+ const WINDOW_MS = 5 * 60 * 60 * 1000; // 5시간
28
+ let paceState = null;
29
+ function ensurePaceDir() {
30
+ const dir = join(homedir(), '.openswarm');
31
+ if (!existsSync(dir)) {
32
+ const { mkdirSync } = require('node:fs');
33
+ mkdirSync(dir, { recursive: true });
34
+ }
35
+ }
36
+ function ensurePaceLoaded() {
37
+ if (paceState)
38
+ return paceState;
39
+ try {
40
+ if (existsSync(DAILY_PACE_FILE)) {
41
+ const raw = readFileSync(DAILY_PACE_FILE, 'utf8');
42
+ paceState = JSON.parse(raw);
43
+ if (!paceState.projects)
44
+ paceState.projects = {};
45
+ }
46
+ else {
47
+ paceState = { projects: {}, updatedAt: new Date().toISOString() };
48
+ }
49
+ }
50
+ catch {
51
+ paceState = { projects: {}, updatedAt: new Date().toISOString() };
52
+ }
53
+ return paceState;
54
+ }
55
+ function savePace() {
56
+ try {
57
+ ensurePaceDir();
58
+ writeFileSync(DAILY_PACE_FILE, JSON.stringify(paceState, null, 2), 'utf8');
59
+ }
60
+ catch (err) {
61
+ console.warn('[Pace] Failed to save:', err);
62
+ }
63
+ }
64
+ function pruneOldEntries(entries) {
65
+ const cutoff = Date.now() - WINDOW_MS;
66
+ return entries.filter(e => new Date(e.completedAt).getTime() > cutoff);
67
+ }
68
+ export function getProjectWindowCount(projectName) {
69
+ const state = ensurePaceLoaded();
70
+ const entries = state.projects[projectName] ?? [];
71
+ return pruneOldEntries(entries).length;
72
+ }
73
+ export function canProjectAcceptTask(projectName, cap) {
74
+ return getProjectWindowCount(projectName) < cap;
75
+ }
76
+ export function recordProjectCompletion(projectName, costUsd) {
77
+ const state = ensurePaceLoaded();
78
+ if (!state.projects[projectName])
79
+ state.projects[projectName] = [];
80
+ state.projects[projectName] = pruneOldEntries(state.projects[projectName]);
81
+ state.projects[projectName].push({ completedAt: new Date().toISOString(), costUsd });
82
+ state.updatedAt = new Date().toISOString();
83
+ savePace();
84
+ console.log(`[Pace] ${projectName}: ${state.projects[projectName].length} tasks in 5h window`);
85
+ }
86
+ export function getTotalWindowCount() {
87
+ const state = ensurePaceLoaded();
88
+ let total = 0;
89
+ for (const entries of Object.values(state.projects)) {
90
+ total += pruneOldEntries(entries).length;
91
+ }
92
+ return total;
93
+ }
94
+ export function getDailyPaceInfo() {
95
+ const state = ensurePaceLoaded();
96
+ const projectCounts = {};
97
+ let totalToday = 0;
98
+ let lastCompletion = null;
99
+ const today = new Date().toLocaleDateString('en-CA');
100
+ for (const [name, entries] of Object.entries(state.projects)) {
101
+ const active = pruneOldEntries(entries);
102
+ projectCounts[name] = active.length;
103
+ for (const e of entries) {
104
+ if (e.completedAt.startsWith(today))
105
+ totalToday++;
106
+ if (!lastCompletion || e.completedAt > lastCompletion)
107
+ lastCompletion = e.completedAt;
108
+ }
109
+ }
110
+ return { completedToday: totalToday, dateKey: today, lastCompletionAt: lastCompletion, projectCounts };
111
+ }
112
+ // 하위 호환 래퍼
113
+ export function getDailyCompletedCount() {
114
+ return getTotalWindowCount();
115
+ }
116
+ export function incrementDailyCompleted() {
117
+ // no-op — recordProjectCompletion으로 대체
118
+ }
119
+ export function canAcceptMoreTasks(cap) {
120
+ return getTotalWindowCount() < cap;
121
+ }
122
+ export function loadTaskState(state) {
123
+ try {
124
+ if (!existsSync(TASK_STATE_FILE))
125
+ return;
126
+ const raw = readFileSync(TASK_STATE_FILE, 'utf8');
127
+ const data = JSON.parse(raw);
128
+ if (Array.isArray(data.completed)) {
129
+ for (const id of data.completed)
130
+ state.completedTaskIds.add(id);
131
+ }
132
+ if (data.failed && typeof data.failed === 'object') {
133
+ for (const [id, count] of Object.entries(data.failed)) {
134
+ state.failedTaskCounts.set(id, count);
135
+ }
136
+ }
137
+ if (data.retryTimes && typeof data.retryTimes === 'object') {
138
+ for (const [id, time] of Object.entries(data.retryTimes)) {
139
+ state.failedTaskRetryTimes.set(id, time);
140
+ }
141
+ }
142
+ console.log(`[AutonomousRunner] Loaded task state: ${state.completedTaskIds.size} completed, ${state.failedTaskCounts.size} failed`);
143
+ }
144
+ catch (err) {
145
+ console.warn('[AutonomousRunner] Failed to load task state:', err);
146
+ }
147
+ }
148
+ export function saveTaskState(state) {
149
+ try {
150
+ const data = {
151
+ completed: Array.from(state.completedTaskIds),
152
+ failed: Object.fromEntries(state.failedTaskCounts),
153
+ retryTimes: Object.fromEntries(state.failedTaskRetryTimes),
154
+ updatedAt: new Date().toISOString(),
155
+ };
156
+ writeFileSync(TASK_STATE_FILE, JSON.stringify(data, null, 2), 'utf8');
157
+ }
158
+ catch (err) {
159
+ console.warn('[AutonomousRunner] Failed to save task state:', err);
160
+ }
161
+ }
162
+ // In-memory cache
163
+ let rejectionState = null;
164
+ function ensureRejectionStateLoaded() {
165
+ if (rejectionState !== null)
166
+ return rejectionState;
167
+ try {
168
+ if (existsSync(REJECTION_STATE_FILE)) {
169
+ const raw = readFileSync(REJECTION_STATE_FILE, 'utf8');
170
+ rejectionState = JSON.parse(raw);
171
+ }
172
+ else {
173
+ rejectionState = { rejections: {}, updatedAt: new Date().toISOString() };
174
+ }
175
+ }
176
+ catch {
177
+ rejectionState = { rejections: {}, updatedAt: new Date().toISOString() };
178
+ }
179
+ return rejectionState;
180
+ }
181
+ export function getRejectionCount(issueId) {
182
+ const state = ensureRejectionStateLoaded();
183
+ return state.rejections[issueId]?.count || 0;
184
+ }
185
+ export function incrementRejection(issueId, reason) {
186
+ const state = ensureRejectionStateLoaded();
187
+ const entry = state.rejections[issueId] || {
188
+ issueId,
189
+ count: 0,
190
+ lastRejection: new Date().toISOString(),
191
+ reasons: [],
192
+ };
193
+ entry.count++;
194
+ entry.lastRejection = new Date().toISOString();
195
+ entry.reasons.push(reason);
196
+ // Keep only last 5 reasons
197
+ if (entry.reasons.length > 5) {
198
+ entry.reasons = entry.reasons.slice(-5);
199
+ }
200
+ state.rejections[issueId] = entry;
201
+ state.updatedAt = new Date().toISOString();
202
+ // Persist to disk
203
+ try {
204
+ writeFileSync(REJECTION_STATE_FILE, JSON.stringify(state, null, 2), 'utf8');
205
+ }
206
+ catch (err) {
207
+ console.warn('[RejectionState] Failed to save:', err);
208
+ }
209
+ return entry.count;
210
+ }
211
+ export function clearRejection(issueId) {
212
+ const state = ensureRejectionStateLoaded();
213
+ delete state.rejections[issueId];
214
+ state.updatedAt = new Date().toISOString();
215
+ try {
216
+ writeFileSync(REJECTION_STATE_FILE, JSON.stringify(state, null, 2), 'utf8');
217
+ }
218
+ catch (err) {
219
+ console.warn('[RejectionState] Failed to save:', err);
220
+ }
221
+ }
222
+ export function isRejectionLimitReached(issueId) {
223
+ return getRejectionCount(issueId) >= MAX_REJECTION_ATTEMPTS;
224
+ }
225
+ export function getAllRejectionEntries() {
226
+ const state = ensureRejectionStateLoaded();
227
+ return Object.values(state.rejections);
228
+ }
229
+ // In-memory cache
230
+ let decompositionState = null;
231
+ function ensureDecompositionStateLoaded() {
232
+ if (decompositionState !== null)
233
+ return decompositionState;
234
+ try {
235
+ if (existsSync(DECOMPOSITION_STATE_FILE)) {
236
+ const raw = readFileSync(DECOMPOSITION_STATE_FILE, 'utf8');
237
+ decompositionState = JSON.parse(raw);
238
+ // Reset daily counter if date changed
239
+ const today = new Date().toLocaleDateString('en-CA');
240
+ if (decompositionState.dailyCreationDate !== today) {
241
+ decompositionState.dailyCreationCount = 0;
242
+ decompositionState.dailyCreationDate = today;
243
+ }
244
+ }
245
+ else {
246
+ const today = new Date().toLocaleDateString('en-CA');
247
+ decompositionState = {
248
+ decompositions: {},
249
+ dailyCreationCount: 0,
250
+ dailyCreationDate: today,
251
+ updatedAt: new Date().toISOString(),
252
+ };
253
+ }
254
+ }
255
+ catch {
256
+ const today = new Date().toLocaleDateString('en-CA');
257
+ decompositionState = {
258
+ decompositions: {},
259
+ dailyCreationCount: 0,
260
+ dailyCreationDate: today,
261
+ updatedAt: new Date().toISOString(),
262
+ };
263
+ }
264
+ return decompositionState;
265
+ }
266
+ export function getDecompositionDepth(issueId) {
267
+ const state = ensureDecompositionStateLoaded();
268
+ return state.decompositions[issueId]?.depth || 0;
269
+ }
270
+ export function getChildrenCount(issueId) {
271
+ const state = ensureDecompositionStateLoaded();
272
+ return state.decompositions[issueId]?.childrenCount || 0;
273
+ }
274
+ /**
275
+ * Reset daily counter if date has changed (handles long-running service).
276
+ * ensureDecompositionStateLoaded only checks date on initial disk load;
277
+ * this function ensures the counter resets even when using the in-memory cache.
278
+ */
279
+ function resetDailyCounterIfNeeded() {
280
+ const state = ensureDecompositionStateLoaded();
281
+ const today = new Date().toLocaleDateString('en-CA');
282
+ if (state.dailyCreationDate !== today) {
283
+ console.log(`[DecompositionState] Daily counter reset: ${state.dailyCreationCount} → 0 (date: ${state.dailyCreationDate} → ${today})`);
284
+ state.dailyCreationCount = 0;
285
+ state.dailyCreationDate = today;
286
+ state.updatedAt = new Date().toISOString();
287
+ try {
288
+ writeFileSync(DECOMPOSITION_STATE_FILE, JSON.stringify(state, null, 2), 'utf8');
289
+ }
290
+ catch (err) {
291
+ console.warn('[DecompositionState] Failed to persist daily reset:', err);
292
+ }
293
+ }
294
+ }
295
+ export function getDailyCreationCount() {
296
+ resetDailyCounterIfNeeded();
297
+ const state = ensureDecompositionStateLoaded();
298
+ return state.dailyCreationCount;
299
+ }
300
+ export function canCreateMoreIssues(dailyLimit) {
301
+ return getDailyCreationCount() < dailyLimit;
302
+ }
303
+ export function registerDecomposition(issueId, parentId, childrenIds) {
304
+ const state = ensureDecompositionStateLoaded();
305
+ // Calculate depth
306
+ const parentDepth = parentId ? (state.decompositions[parentId]?.depth || 0) : 0;
307
+ const depth = parentDepth + 1;
308
+ // Update parent's children count
309
+ if (parentId) {
310
+ const parentEntry = state.decompositions[parentId] || {
311
+ issueId: parentId,
312
+ parentId: undefined,
313
+ depth: parentDepth,
314
+ childrenCount: 0,
315
+ createdAt: new Date().toISOString(),
316
+ };
317
+ parentEntry.childrenCount += childrenIds.length;
318
+ state.decompositions[parentId] = parentEntry;
319
+ }
320
+ // Register children
321
+ for (const childId of childrenIds) {
322
+ state.decompositions[childId] = {
323
+ issueId: childId,
324
+ parentId,
325
+ depth,
326
+ childrenCount: 0,
327
+ createdAt: new Date().toISOString(),
328
+ };
329
+ }
330
+ // Increment daily count
331
+ state.dailyCreationCount += childrenIds.length;
332
+ state.updatedAt = new Date().toISOString();
333
+ // Persist to disk
334
+ try {
335
+ writeFileSync(DECOMPOSITION_STATE_FILE, JSON.stringify(state, null, 2), 'utf8');
336
+ }
337
+ catch (err) {
338
+ console.warn('[DecompositionState] Failed to save:', err);
339
+ }
340
+ }
341
+ // Pipeline History (persistent, time-ordered)
342
+ // In-memory cache (loaded once at startup, appended per completion)
343
+ let pipelineHistory = null;
344
+ function ensureHistoryLoaded() {
345
+ if (pipelineHistory !== null)
346
+ return pipelineHistory;
347
+ try {
348
+ if (existsSync(PIPELINE_HISTORY_FILE)) {
349
+ const raw = readFileSync(PIPELINE_HISTORY_FILE, 'utf8');
350
+ pipelineHistory = JSON.parse(raw);
351
+ }
352
+ else {
353
+ pipelineHistory = [];
354
+ }
355
+ }
356
+ catch {
357
+ pipelineHistory = [];
358
+ }
359
+ return pipelineHistory;
360
+ }
361
+ export function appendPipelineHistory(entry) {
362
+ const history = ensureHistoryLoaded();
363
+ history.unshift(entry); // newest first
364
+ if (history.length > MAX_PIPELINE_HISTORY) {
365
+ history.length = MAX_PIPELINE_HISTORY;
366
+ }
367
+ try {
368
+ writeFileSync(PIPELINE_HISTORY_FILE, JSON.stringify(history, null, 2), 'utf8');
369
+ }
370
+ catch (err) {
371
+ console.warn('[PipelineHistory] Failed to save:', err);
372
+ }
373
+ }
374
+ export function getPipelineHistory(limit = 50) {
375
+ return ensureHistoryLoaded().slice(0, limit);
376
+ }
377
+ export function buildProjectsInfo(fetchedTasks, running, queued, pathCache, enabledProjects) {
378
+ const projectMap = new Map();
379
+ for (const task of fetchedTasks) {
380
+ const projName = task.linearProject?.name || '(unknown)';
381
+ if (!projectMap.has(projName)) {
382
+ projectMap.set(projName, { name: projName, path: pathCache.get(projName) ?? null, tasks: [] });
383
+ }
384
+ projectMap.get(projName).tasks.push(task);
385
+ }
386
+ for (const r of running) {
387
+ const projName = r.task.linearProject?.name || '(unknown)';
388
+ if (!projectMap.has(projName)) {
389
+ projectMap.set(projName, { name: projName, path: r.projectPath, tasks: [] });
390
+ }
391
+ else if (!projectMap.get(projName).path) {
392
+ projectMap.get(projName).path = r.projectPath;
393
+ }
394
+ }
395
+ for (const q of queued) {
396
+ const projName = q.task.linearProject?.name || '(unknown)';
397
+ if (!projectMap.has(projName)) {
398
+ projectMap.set(projName, { name: projName, path: q.projectPath, tasks: [] });
399
+ }
400
+ else if (!projectMap.get(projName).path) {
401
+ projectMap.get(projName).path = q.projectPath;
402
+ }
403
+ }
404
+ const activeIds = new Set([
405
+ ...running.map(r => r.task.issueId || r.task.id),
406
+ ...queued.map(q => q.task.issueId || q.task.id),
407
+ ]);
408
+ return Array.from(projectMap.values()).map(proj => {
409
+ const projectPath = proj.path ?? '';
410
+ return {
411
+ path: projectPath,
412
+ name: proj.name,
413
+ enabled: Boolean(projectPath) && isPathEnabled(projectPath, enabledProjects),
414
+ running: running.filter(r => r.task.linearProject?.name === proj.name)
415
+ .map(r => ({ id: r.task.id, title: r.task.title, priority: r.task.priority })),
416
+ queued: queued.filter(q => q.task.linearProject?.name === proj.name)
417
+ .map(q => ({ id: q.task.id, title: q.task.title, priority: q.task.priority })),
418
+ pending: proj.tasks.filter(t => !activeIds.has(t.issueId || t.id))
419
+ .map(t => ({ id: t.id, title: t.title, priority: t.priority, issueIdentifier: t.issueIdentifier || t.issueId, linearState: t.linearState })),
420
+ };
421
+ });
422
+ }
423
+ // Exponential Backoff for Failed Task Retries
424
+ const BACKOFF_MINUTES = [10, 30, 60, 120]; // 10min, 30min, 1h, 2h
425
+ /**
426
+ * Calculate backoff delay in milliseconds based on attempt number.
427
+ * @param attemptNumber - 1-indexed attempt number (1 = first failure)
428
+ * @returns Delay in milliseconds
429
+ */
430
+ export function calculateBackoffTime(attemptNumber) {
431
+ const index = Math.min(attemptNumber - 1, BACKOFF_MINUTES.length - 1);
432
+ return BACKOFF_MINUTES[index] * 60 * 1000;
433
+ }
434
+ /**
435
+ * Check if a task can be retried now (based on scheduled retry time).
436
+ * @param issueId - Issue ID to check
437
+ * @param retryTimes - Map of issueId → next retry timestamp
438
+ * @returns true if retry is allowed now, false if still in backoff period
439
+ */
440
+ export function canRetryNow(issueId, retryTimes) {
441
+ const nextRetryTime = retryTimes.get(issueId);
442
+ if (!nextRetryTime)
443
+ return true; // No backoff scheduled
444
+ return Date.now() >= nextRetryTime;
445
+ }
446
+ /**
447
+ * Set next retry time for a failed task using exponential backoff.
448
+ * @param issueId - Issue ID
449
+ * @param attemptNumber - Current attempt number (1-indexed)
450
+ * @param retryTimes - Map to update
451
+ * @returns Next retry timestamp (ms)
452
+ */
453
+ export function setRetryTime(issueId, attemptNumber, retryTimes) {
454
+ const delayMs = calculateBackoffTime(attemptNumber);
455
+ const nextRetryTime = Date.now() + delayMs;
456
+ retryTimes.set(issueId, nextRetryTime);
457
+ return nextRetryTime;
458
+ }
459
+ /**
460
+ * Clear retry time for a task (on success or manual recovery).
461
+ * @param issueId - Issue ID
462
+ * @param retryTimes - Map to update
463
+ */
464
+ export function clearRetryTime(issueId, retryTimes) {
465
+ retryTimes.delete(issueId);
466
+ }
467
+ /**
468
+ * Get next retry time for a task.
469
+ * @param issueId - Issue ID
470
+ * @param retryTimes - Map to query
471
+ * @returns Next retry timestamp (ms) or undefined if not scheduled
472
+ */
473
+ export function getRetryTime(issueId, retryTimes) {
474
+ return retryTimes.get(issueId);
475
+ }
476
+ /**
477
+ * Format retry time as human-readable string.
478
+ * @param timestamp - Timestamp in milliseconds
479
+ * @returns Formatted string like "in 15 minutes" or "in 2 hours"
480
+ */
481
+ export function formatRetryTime(timestamp) {
482
+ const now = Date.now();
483
+ const diffMs = timestamp - now;
484
+ if (diffMs <= 0)
485
+ return 'now';
486
+ const minutes = Math.ceil(diffMs / (60 * 1000));
487
+ if (minutes < 60)
488
+ return `in ${minutes} minute${minutes === 1 ? '' : 's'}`;
489
+ const hours = Math.floor(minutes / 60);
490
+ const remainingMinutes = minutes % 60;
491
+ if (remainingMinutes === 0)
492
+ return `in ${hours} hour${hours === 1 ? '' : 's'}`;
493
+ return `in ${hours}h ${remainingMinutes}m`;
494
+ }
495
+ //# sourceMappingURL=runnerState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runnerState.js","sourceRoot":"","sources":["../../src/automation/runnerState.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ import type { DecisionResult, TaskItem } from '../orchestration/decisionEngine.js';
2
+ import type { ExecutorResult } from '../orchestration/workflow.js';
3
+ import type { DefaultRolesConfig, ProjectAgentConfig, JobProfile } from '../core/types.js';
4
+ export interface AutonomousConfig {
5
+ defaultAdapter?: 'claude' | 'codex';
6
+ linearTeamId: string;
7
+ allowedProjects: string[];
8
+ heartbeatSchedule: string;
9
+ autoExecute: boolean;
10
+ discordChannelId?: string;
11
+ maxConsecutiveTasks: number;
12
+ cooldownSeconds: number;
13
+ dryRun: boolean;
14
+ pairMode?: boolean;
15
+ pairMaxAttempts?: number;
16
+ workerModel?: string;
17
+ reviewerModel?: string;
18
+ workerTimeoutMs?: number;
19
+ reviewerTimeoutMs?: number;
20
+ triggerNow?: boolean;
21
+ maxConcurrentTasks?: number;
22
+ defaultRoles?: DefaultRolesConfig;
23
+ projectAgents?: ProjectAgentConfig[];
24
+ enableDecomposition?: boolean;
25
+ decompositionThresholdMinutes?: number;
26
+ plannerModel?: string;
27
+ plannerTimeoutMs?: number;
28
+ decomposition?: import('../core/types.js').DecompositionConfig;
29
+ worktreeMode?: boolean;
30
+ guards?: Partial<import('../core/types.js').PipelineGuardsConfig>;
31
+ /** Per-project task cap in 5h rolling window (default: 6) */
32
+ dailyTaskCap?: number;
33
+ /** Cooldown between task completions in ms (default: 1800000 = 30min) */
34
+ interTaskCooldownMs?: number;
35
+ jobProfiles?: JobProfile[];
36
+ }
37
+ export interface RunnerState {
38
+ isRunning: boolean;
39
+ lastHeartbeat: number;
40
+ lastDecision?: DecisionResult;
41
+ lastExecution?: ExecutorResult;
42
+ pendingApproval?: TaskItem;
43
+ consecutiveErrors: number;
44
+ startedAt?: number;
45
+ }
46
+ //# sourceMappingURL=runnerTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runnerTypes.d.ts","sourceRoot":"","sources":["../../src/automation/runnerTypes.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE3F,MAAM,WAAW,gBAAgB;IAC/B,cAAc,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,aAAa,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACrC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,kBAAkB,EAAE,mBAAmB,CAAC;IAC/D,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC,OAAO,kBAAkB,EAAE,oBAAoB,CAAC,CAAC;IAClE,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yEAAyE;IACzE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,eAAe,CAAC,EAAE,QAAQ,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,5 @@
1
+ // ============================================
2
+ // OpenSwarm - Autonomous Runner Types
3
+ // ============================================
4
+ export {};
5
+ //# sourceMappingURL=runnerTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runnerTypes.js","sourceRoot":"","sources":["../../src/automation/runnerTypes.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,sCAAsC;AACtC,+CAA+C"}
@@ -0,0 +1,75 @@
1
+ export interface ScheduledJob {
2
+ id: string;
3
+ name: string;
4
+ projectPath: string;
5
+ prompt: string;
6
+ schedule: string;
7
+ enabled: boolean;
8
+ createdAt: number;
9
+ lastRun?: number;
10
+ createdBy?: string;
11
+ }
12
+ export interface JobResult {
13
+ jobId: string;
14
+ success: boolean;
15
+ output: string;
16
+ error?: string;
17
+ startedAt: number;
18
+ finishedAt: number;
19
+ }
20
+ type ResultListener = (result: JobResult) => void;
21
+ /**
22
+ * Register result listener
23
+ */
24
+ export declare function setResultListener(listener: ResultListener): void;
25
+ /**
26
+ * Add a scheduled job
27
+ */
28
+ export declare function addSchedule(name: string, projectPath: string, prompt: string, schedule: string, createdBy?: string): Promise<ScheduledJob>;
29
+ /**
30
+ * Remove a scheduled job
31
+ */
32
+ export declare function removeSchedule(nameOrId: string): Promise<boolean>;
33
+ /**
34
+ * Toggle schedule pause/resume
35
+ */
36
+ export declare function toggleSchedule(nameOrId: string): Promise<ScheduledJob | null>;
37
+ /**
38
+ * Load and start all schedules
39
+ */
40
+ export declare function startAllSchedules(): Promise<void>;
41
+ /**
42
+ * Stop all schedules
43
+ */
44
+ export declare function stopAllSchedules(): void;
45
+ /**
46
+ * List all schedules
47
+ */
48
+ export declare function listSchedules(): Promise<ScheduledJob[]>;
49
+ /**
50
+ * Run immediately
51
+ */
52
+ export declare function runNow(nameOrId: string, bypassTimeWindow?: boolean): Promise<boolean>;
53
+ /**
54
+ * Get recent results
55
+ */
56
+ export declare function getRecentResults(limit?: number): JobResult[];
57
+ /**
58
+ * Get running jobs
59
+ */
60
+ export declare function getRunningJobs(): string[];
61
+ /**
62
+ * Format schedule list
63
+ */
64
+ export declare function formatScheduleList(schedules: ScheduledJob[]): string;
65
+ /**
66
+ * Parse schedule info from natural language
67
+ */
68
+ export declare function parseScheduleFromNaturalLanguage(text: string): {
69
+ name?: string;
70
+ schedule?: string;
71
+ projectPath?: string;
72
+ prompt?: string;
73
+ } | null;
74
+ export {};
75
+ //# sourceMappingURL=scheduler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/automation/scheduler.ts"],"names":[],"mappings":"AAmBA,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAaD,KAAK,cAAc,GAAG,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC;AAGlD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAEhE;AA+LD;;GAEG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,YAAY,CAAC,CA4BvB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA8BvE;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAsB9B;AAwBD;;GAEG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CASvD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAavC;AAED;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAE7D;AAED;;GAEG;AACH,wBAAsB,MAAM,CAC1B,QAAQ,EAAE,MAAM,EAChB,gBAAgB,UAAQ,GACvB,OAAO,CAAC,OAAO,CAAC,CAoBlB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,SAAK,GAAG,SAAS,EAAE,CAExD;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,EAAE,CAEzC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,YAAY,EAAE,GAAG,MAAM,CAcpE;AAED;;GAEG;AACH,wBAAgB,gCAAgC,CAC9C,IAAI,EAAE,MAAM,GACX;IACD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,IAAI,CAqCP"}