@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 @@
1
+ {"version":3,"file":"graphqlExporter.js","sourceRoot":"","sources":["../../src/knowledge/graphqlExporter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ import { KnowledgeGraph } from './graph.js';
2
+ import type { ImpactAnalysis, ProjectSummary } from './types.js';
3
+ export { KnowledgeGraph } from './graph.js';
4
+ export { scanProject, incrementalUpdate } from './scanner.js';
5
+ export { saveGraph, loadGraph, listGraphs, deleteGraph, loadGraphSummary } from './store.js';
6
+ export { enrichWithGitInfo, getRecentlyChangedFiles } from './gitInfo.js';
7
+ export { analyzeIssueImpact, getProjectHealth, suggestReviewFocus, getModuleHealth } from './analyzer.js';
8
+ export type { ModuleHealth, ReviewFocus } from './analyzer.js';
9
+ export type { ImpactAnalysis, ProjectSummary } from './types.js';
10
+ export type * from './types.js';
11
+ export { exportRepoGraph, hasRepoSnapshot, loadRepoSnapshot, snapshotAgeMinutes } from './graphqlExporter.js';
12
+ export type { RepoSnapshot } from './graphqlExporter.js';
13
+ export { linkIssueToModule, unlinkIssueFromModule, getModulesByIssue, getIssuesByModule, updateModuleState, updateDevelopmentStage, updateTechDebt, updateModuleMetadata, getModulesByState, getModulesByStage, getHighTechDebtModules, getBlockedModules, getUntestedModules, generateProjectSummary, saveGraphWithSummary, } from './repository.js';
14
+ /**
15
+ * Generate project slug (path → identifier)
16
+ */
17
+ export declare function toProjectSlug(projectPath: string): string;
18
+ /**
19
+ * Get cached graph (load from disk if not cached)
20
+ */
21
+ export declare function getGraph(projectSlug: string): Promise<KnowledgeGraph | null>;
22
+ /**
23
+ * Full project scan (with throttle)
24
+ *
25
+ * @returns Scanned graph, or cached graph if throttled
26
+ */
27
+ export declare function scanAndCache(projectPath: string, options?: {
28
+ force?: boolean;
29
+ }): Promise<KnowledgeGraph>;
30
+ /**
31
+ * Incremental update (called from heartbeat)
32
+ * Re-scan only files changed since last scan
33
+ */
34
+ export declare function refreshGraph(projectPath: string): Promise<KnowledgeGraph | null>;
35
+ /**
36
+ * Issue-based impact analysis (convenience wrapper)
37
+ */
38
+ export declare function analyzeIssue(projectPath: string, issueTitle: string, issueDescription?: string): Promise<ImpactAnalysis | null>;
39
+ /**
40
+ * Invalidate cache
41
+ */
42
+ export declare function invalidateCache(projectSlug?: string): void;
43
+ /**
44
+ * Save graph insights to cognitive memory (system_pattern)
45
+ * Extract notable patterns from scan results and record in LanceDB
46
+ */
47
+ export declare function saveGraphInsights(projectPath: string): Promise<void>;
48
+ /**
49
+ * Summary info for all cached graphs
50
+ */
51
+ export declare function getCachedGraphsSummary(): Array<{
52
+ slug: string;
53
+ nodeCount: number;
54
+ edgeCount: number;
55
+ scannedAt: number;
56
+ summary: ProjectSummary;
57
+ }>;
58
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/knowledge/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAK5C,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAKjE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC7F,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC1G,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC/D,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjE,mBAAmB,YAAY,CAAC;AAGhC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC9G,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGzD,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AAazB;;GAEG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAQzD;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CASlF;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAChC,OAAO,CAAC,cAAc,CAAC,CAoDzB;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAkCtF;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,gBAAgB,CAAC,EAAE,MAAM,GACxB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAMhC;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAQ1D;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAwC1E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,KAAK,CAAC;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,cAAc,CAAC;CACzB,CAAC,CAYD"}
@@ -0,0 +1,212 @@
1
+ // ============================================
2
+ // OpenSwarm - Knowledge Graph Public API
3
+ // Singleton cache + scan throttle
4
+ // ============================================
5
+ import { scanProject, incrementalUpdate } from './scanner.js';
6
+ import { saveGraph, loadGraph } from './store.js';
7
+ import { enrichWithGitInfo, getRecentlyChangedFiles } from './gitInfo.js';
8
+ import { analyzeIssueImpact, getProjectHealth } from './analyzer.js';
9
+ import { saveCognitiveMemory } from '../memory/index.js';
10
+ import { exportRepoGraph } from './graphqlExporter.js';
11
+ // Re-exports
12
+ export { KnowledgeGraph } from './graph.js';
13
+ export { scanProject, incrementalUpdate } from './scanner.js';
14
+ export { saveGraph, loadGraph, listGraphs, deleteGraph, loadGraphSummary } from './store.js';
15
+ export { enrichWithGitInfo, getRecentlyChangedFiles } from './gitInfo.js';
16
+ export { analyzeIssueImpact, getProjectHealth, suggestReviewFocus, getModuleHealth } from './analyzer.js';
17
+ // GraphQL exporter
18
+ export { exportRepoGraph, hasRepoSnapshot, loadRepoSnapshot, snapshotAgeMinutes } from './graphqlExporter.js';
19
+ // Repository knowledge management
20
+ export { linkIssueToModule, unlinkIssueFromModule, getModulesByIssue, getIssuesByModule, updateModuleState, updateDevelopmentStage, updateTechDebt, updateModuleMetadata, getModulesByState, getModulesByStage, getHighTechDebtModules, getBlockedModules, getUntestedModules, generateProjectSummary, saveGraphWithSummary, } from './repository.js';
21
+ // Singleton Cache
22
+ const graphCache = new Map();
23
+ // Scan throttle: minimum 30 minutes between scans per project
24
+ const FULL_SCAN_THROTTLE_MS = 30 * 60 * 1000;
25
+ const lastFullScan = new Map();
26
+ /**
27
+ * Generate project slug (path → identifier)
28
+ */
29
+ export function toProjectSlug(projectPath) {
30
+ return projectPath
31
+ .replace(/^~/, '')
32
+ .replace(process.env.HOME || '', '')
33
+ .replace(/^\/+/, '')
34
+ .replace(/\//g, '-')
35
+ .replace(/[^a-zA-Z0-9-_]/g, '')
36
+ .toLowerCase();
37
+ }
38
+ /**
39
+ * Get cached graph (load from disk if not cached)
40
+ */
41
+ export async function getGraph(projectSlug) {
42
+ const cached = graphCache.get(projectSlug);
43
+ if (cached)
44
+ return cached.graph;
45
+ const graph = await loadGraph(projectSlug);
46
+ if (graph) {
47
+ graphCache.set(projectSlug, { graph, loadedAt: Date.now() });
48
+ }
49
+ return graph;
50
+ }
51
+ /**
52
+ * Full project scan (with throttle)
53
+ *
54
+ * @returns Scanned graph, or cached graph if throttled
55
+ */
56
+ export async function scanAndCache(projectPath, options = {}) {
57
+ const slug = toProjectSlug(projectPath);
58
+ // Throttle check
59
+ if (!options.force) {
60
+ const lastScan = lastFullScan.get(slug) ?? 0;
61
+ if (Date.now() - lastScan < FULL_SCAN_THROTTLE_MS) {
62
+ const cached = await getGraph(slug);
63
+ if (cached) {
64
+ console.log(`[Knowledge] Throttled: ${slug} (last scan ${Math.round((Date.now() - lastScan) / 1000)}s ago)`);
65
+ return cached;
66
+ }
67
+ }
68
+ }
69
+ console.log(`[Knowledge] Full scan starting: ${slug} → ${projectPath}`);
70
+ const startMs = Date.now();
71
+ try {
72
+ const graph = await scanProject(projectPath, slug);
73
+ // Add git info
74
+ await enrichWithGitInfo(graph, projectPath);
75
+ // Save
76
+ await saveGraph(graph);
77
+ // Cache
78
+ graphCache.set(slug, { graph, loadedAt: Date.now() });
79
+ lastFullScan.set(slug, Date.now());
80
+ const elapsed = Date.now() - startMs;
81
+ console.log(`[Knowledge] Scan complete: ${slug} (${graph.nodeCount} nodes, ${graph.edgeCount} edges, ${elapsed}ms)`);
82
+ // Export GraphQL schema + snapshot for agent consumption
83
+ try {
84
+ exportRepoGraph(graph, projectPath);
85
+ }
86
+ catch (e) {
87
+ console.warn(`[Knowledge] GraphQL export failed for ${slug}:`, e);
88
+ }
89
+ // Save insights to cognitive memory (async, ignore failures)
90
+ saveGraphInsights(projectPath).catch((e) => console.warn(`[Knowledge] Failed to save graph insights for ${slug}:`, e));
91
+ return graph;
92
+ }
93
+ catch (err) {
94
+ console.error(`[Knowledge] Scan failed: ${slug}`, err);
95
+ // On failure, try returning cached graph
96
+ const cached = await getGraph(slug);
97
+ if (cached)
98
+ return cached;
99
+ throw err;
100
+ }
101
+ }
102
+ /**
103
+ * Incremental update (called from heartbeat)
104
+ * Re-scan only files changed since last scan
105
+ */
106
+ export async function refreshGraph(projectPath) {
107
+ const slug = toProjectSlug(projectPath);
108
+ const cached = await getGraph(slug);
109
+ if (!cached) {
110
+ // No existing graph, do full scan
111
+ return scanAndCache(projectPath);
112
+ }
113
+ try {
114
+ // Find files changed since last scan
115
+ const changedFiles = await getRecentlyChangedFiles(projectPath, cached.scannedAt);
116
+ if (changedFiles.length === 0) {
117
+ return cached;
118
+ }
119
+ console.log(`[Knowledge] Incremental update: ${slug} (${changedFiles.length} files changed)`);
120
+ await incrementalUpdate(cached, projectPath, changedFiles);
121
+ await enrichWithGitInfo(cached, projectPath);
122
+ await saveGraph(cached);
123
+ // Re-export snapshot with updated data
124
+ try {
125
+ exportRepoGraph(cached, projectPath);
126
+ }
127
+ catch (e) {
128
+ console.warn(`[Knowledge] GraphQL export failed for ${slug}:`, e);
129
+ }
130
+ return cached;
131
+ }
132
+ catch (err) {
133
+ console.warn(`[Knowledge] Incremental update failed: ${slug}`, err);
134
+ return cached;
135
+ }
136
+ }
137
+ /**
138
+ * Issue-based impact analysis (convenience wrapper)
139
+ */
140
+ export async function analyzeIssue(projectPath, issueTitle, issueDescription) {
141
+ const slug = toProjectSlug(projectPath);
142
+ const graph = await getGraph(slug);
143
+ if (!graph)
144
+ return null;
145
+ return analyzeIssueImpact(graph, issueTitle, issueDescription);
146
+ }
147
+ /**
148
+ * Invalidate cache
149
+ */
150
+ export function invalidateCache(projectSlug) {
151
+ if (projectSlug) {
152
+ graphCache.delete(projectSlug);
153
+ lastFullScan.delete(projectSlug);
154
+ }
155
+ else {
156
+ graphCache.clear();
157
+ lastFullScan.clear();
158
+ }
159
+ }
160
+ /**
161
+ * Save graph insights to cognitive memory (system_pattern)
162
+ * Extract notable patterns from scan results and record in LanceDB
163
+ */
164
+ export async function saveGraphInsights(projectPath) {
165
+ const slug = toProjectSlug(projectPath);
166
+ const graph = await getGraph(slug);
167
+ if (!graph)
168
+ return;
169
+ const { summary, riskModules } = getProjectHealth(graph);
170
+ // Hot modules insight
171
+ if (summary.hotModules.length > 0) {
172
+ const hotList = summary.hotModules.slice(0, 3).join(', ');
173
+ try {
174
+ await saveCognitiveMemory('system_pattern', `[${slug}] Frequently changed modules: ${hotList}. Watch for change impact.`, { confidence: 0.8, importance: 0.6, derivedFrom: `knowledge-graph:${slug}` });
175
+ }
176
+ catch { }
177
+ }
178
+ // High risk modules insight
179
+ const highRisk = riskModules.filter(m => m.risk === 'high');
180
+ if (highRisk.length > 0) {
181
+ const riskList = highRisk.slice(0, 3).map(m => m.moduleId).join(', ');
182
+ try {
183
+ await saveCognitiveMemory('system_pattern', `[${slug}] High-risk modules (no tests + high churn): ${riskList}. Adding tests recommended.`, { confidence: 0.85, importance: 0.7, derivedFrom: `knowledge-graph:${slug}` });
184
+ }
185
+ catch { }
186
+ }
187
+ // Test coverage insight
188
+ if (summary.untestedModules.length > 0 && summary.totalModules > 0) {
189
+ const coverage = Math.round((1 - summary.untestedModules.length / summary.totalModules) * 100);
190
+ try {
191
+ await saveCognitiveMemory('system_pattern', `[${slug}] Test coverage: ${coverage}% (${summary.totalTestFiles} tests / ${summary.totalModules} modules). ${summary.untestedModules.length} untested.`, { confidence: 0.9, importance: 0.5, derivedFrom: `knowledge-graph:${slug}` });
192
+ }
193
+ catch { }
194
+ }
195
+ }
196
+ /**
197
+ * Summary info for all cached graphs
198
+ */
199
+ export function getCachedGraphsSummary() {
200
+ const result = [];
201
+ for (const [slug, { graph }] of graphCache) {
202
+ result.push({
203
+ slug,
204
+ nodeCount: graph.nodeCount,
205
+ edgeCount: graph.edgeCount,
206
+ scannedAt: graph.scannedAt,
207
+ summary: graph.buildSummary(),
208
+ });
209
+ }
210
+ return result;
211
+ }
212
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/knowledge/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ import type { KnowledgeGraph } from './graph.js';
2
+ import type { ModuleState, DevelopmentStage, IssueReference, ModuleMetadata, GraphNode, ProjectSummary } from './types.js';
3
+ /**
4
+ * Link an issue to a module
5
+ */
6
+ export declare function linkIssueToModule(graph: KnowledgeGraph, moduleId: string, issue: IssueReference): boolean;
7
+ /**
8
+ * Unlink an issue from a module
9
+ */
10
+ export declare function unlinkIssueFromModule(graph: KnowledgeGraph, moduleId: string, issueId: string): boolean;
11
+ /**
12
+ * Get all modules linked to an issue
13
+ */
14
+ export declare function getModulesByIssue(graph: KnowledgeGraph, issueId: string): GraphNode[];
15
+ /**
16
+ * Get all issues linked to a module
17
+ */
18
+ export declare function getIssuesByModule(graph: KnowledgeGraph, moduleId: string): IssueReference[];
19
+ /**
20
+ * Update module state
21
+ */
22
+ export declare function updateModuleState(graph: KnowledgeGraph, moduleId: string, state: ModuleState): boolean;
23
+ /**
24
+ * Update development stage
25
+ */
26
+ export declare function updateDevelopmentStage(graph: KnowledgeGraph, moduleId: string, stage: DevelopmentStage): boolean;
27
+ /**
28
+ * Update tech debt score
29
+ */
30
+ export declare function updateTechDebt(graph: KnowledgeGraph, moduleId: string, score: number): boolean;
31
+ /**
32
+ * Update module metadata (bulk update)
33
+ */
34
+ export declare function updateModuleMetadata(graph: KnowledgeGraph, moduleId: string, metadata: Partial<ModuleMetadata>): boolean;
35
+ /**
36
+ * Get modules by state
37
+ */
38
+ export declare function getModulesByState(graph: KnowledgeGraph, state: ModuleState): GraphNode[];
39
+ /**
40
+ * Get modules by development stage
41
+ */
42
+ export declare function getModulesByStage(graph: KnowledgeGraph, stage: DevelopmentStage): GraphNode[];
43
+ /**
44
+ * Get modules with high tech debt (>= threshold)
45
+ */
46
+ export declare function getHighTechDebtModules(graph: KnowledgeGraph, threshold?: number): GraphNode[];
47
+ /**
48
+ * Get blocked modules (blocked development stage or has blocking issues)
49
+ */
50
+ export declare function getBlockedModules(graph: KnowledgeGraph): GraphNode[];
51
+ /**
52
+ * Get modules without tests
53
+ */
54
+ export declare function getUntestedModules(graph: KnowledgeGraph): GraphNode[];
55
+ /**
56
+ * Generate comprehensive project summary
57
+ */
58
+ export declare function generateProjectSummary(graph: KnowledgeGraph): ProjectSummary;
59
+ /**
60
+ * Save graph after updates
61
+ * Note: Call generateProjectSummary() to get summary before saving
62
+ */
63
+ export declare function saveGraphWithSummary(graph: KnowledgeGraph): Promise<void>;
64
+ //# sourceMappingURL=repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../src/knowledge/repository.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EACV,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,SAAS,EACT,cAAc,EACf,MAAM,YAAY,CAAC;AAKpB;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,cAAc,GACpB,OAAO,CA8BT;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,OAAO,CAeT;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,MAAM,GACd,SAAS,EAAE,CAKb;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,MAAM,GACf,cAAc,EAAE,CAGlB;AAID;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,WAAW,GACjB,OAAO,CAcT;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAcT;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,OAAO,CAmBT;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,OAAO,CAAC,cAAc,CAAC,GAChC,OAAO,CAcT;AAID;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,WAAW,GACjB,SAAS,EAAE,CAGb;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,gBAAgB,GACtB,SAAS,EAAE,CAGb;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,cAAc,EACrB,SAAS,GAAE,MAAU,GACpB,SAAS,EAAE,CAIb;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,cAAc,GACpB,SAAS,EAAE,CAMb;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,cAAc,GACpB,SAAS,EAAE,CAiBb;AAID;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,cAAc,GACpB,cAAc,CA2DhB;AAID;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,cAAc,GACpB,OAAO,CAAC,IAAI,CAAC,CAGf"}
@@ -0,0 +1,250 @@
1
+ // ============================================
2
+ // OpenSwarm - Repository Knowledge Manager
3
+ // Module state, issues tracking, development stage management
4
+ // ============================================
5
+ import { saveGraph } from './store.js';
6
+ // Issue Linking
7
+ /**
8
+ * Link an issue to a module
9
+ */
10
+ export function linkIssueToModule(graph, moduleId, issue) {
11
+ const node = graph.getNode(moduleId);
12
+ if (!node || node.type !== 'module') {
13
+ console.warn(`[KnowledgeGraph] Module not found: ${moduleId}`);
14
+ return false;
15
+ }
16
+ // Initialize metadata if missing
17
+ if (!node.metadata) {
18
+ node.metadata = {};
19
+ }
20
+ // Initialize relatedIssues if missing
21
+ if (!node.metadata.relatedIssues) {
22
+ node.metadata.relatedIssues = [];
23
+ }
24
+ // Check if issue already linked
25
+ const existing = node.metadata.relatedIssues.find((i) => i.issueId === issue.issueId);
26
+ if (existing) {
27
+ // Update existing issue
28
+ Object.assign(existing, issue);
29
+ console.log(`[KnowledgeGraph] Updated issue ${issue.issueIdentifier} for ${moduleId}`);
30
+ }
31
+ else {
32
+ // Add new issue
33
+ node.metadata.relatedIssues.push(issue);
34
+ console.log(`[KnowledgeGraph] Linked issue ${issue.issueIdentifier} to ${moduleId}`);
35
+ }
36
+ return true;
37
+ }
38
+ /**
39
+ * Unlink an issue from a module
40
+ */
41
+ export function unlinkIssueFromModule(graph, moduleId, issueId) {
42
+ const node = graph.getNode(moduleId);
43
+ if (!node?.metadata?.relatedIssues) {
44
+ return false;
45
+ }
46
+ const initialLength = node.metadata.relatedIssues.length;
47
+ node.metadata.relatedIssues = node.metadata.relatedIssues.filter((i) => i.issueId !== issueId);
48
+ const removed = initialLength !== node.metadata.relatedIssues.length;
49
+ if (removed) {
50
+ console.log(`[KnowledgeGraph] Unlinked issue ${issueId} from ${moduleId}`);
51
+ }
52
+ return removed;
53
+ }
54
+ /**
55
+ * Get all modules linked to an issue
56
+ */
57
+ export function getModulesByIssue(graph, issueId) {
58
+ return graph.getNodesByType('module')
59
+ .filter(node => node.metadata?.relatedIssues?.some((i) => i.issueId === issueId));
60
+ }
61
+ /**
62
+ * Get all issues linked to a module
63
+ */
64
+ export function getIssuesByModule(graph, moduleId) {
65
+ const node = graph.getNode(moduleId);
66
+ return node?.metadata?.relatedIssues ?? [];
67
+ }
68
+ // Module State Management
69
+ /**
70
+ * Update module state
71
+ */
72
+ export function updateModuleState(graph, moduleId, state) {
73
+ const node = graph.getNode(moduleId);
74
+ if (!node || node.type !== 'module') {
75
+ console.warn(`[KnowledgeGraph] Module not found: ${moduleId}`);
76
+ return false;
77
+ }
78
+ if (!node.metadata) {
79
+ node.metadata = {};
80
+ }
81
+ node.metadata.state = state;
82
+ console.log(`[KnowledgeGraph] Updated ${moduleId} state: ${state}`);
83
+ return true;
84
+ }
85
+ /**
86
+ * Update development stage
87
+ */
88
+ export function updateDevelopmentStage(graph, moduleId, stage) {
89
+ const node = graph.getNode(moduleId);
90
+ if (!node || node.type !== 'module') {
91
+ console.warn(`[KnowledgeGraph] Module not found: ${moduleId}`);
92
+ return false;
93
+ }
94
+ if (!node.metadata) {
95
+ node.metadata = {};
96
+ }
97
+ node.metadata.developmentStage = stage;
98
+ console.log(`[KnowledgeGraph] Updated ${moduleId} stage: ${stage}`);
99
+ return true;
100
+ }
101
+ /**
102
+ * Update tech debt score
103
+ */
104
+ export function updateTechDebt(graph, moduleId, score) {
105
+ if (score < 0 || score > 10) {
106
+ console.warn(`[KnowledgeGraph] Invalid tech debt score: ${score} (must be 0-10)`);
107
+ return false;
108
+ }
109
+ const node = graph.getNode(moduleId);
110
+ if (!node || node.type !== 'module') {
111
+ console.warn(`[KnowledgeGraph] Module not found: ${moduleId}`);
112
+ return false;
113
+ }
114
+ if (!node.metadata) {
115
+ node.metadata = {};
116
+ }
117
+ node.metadata.techDebt = score;
118
+ console.log(`[KnowledgeGraph] Updated ${moduleId} tech debt: ${score}/10`);
119
+ return true;
120
+ }
121
+ /**
122
+ * Update module metadata (bulk update)
123
+ */
124
+ export function updateModuleMetadata(graph, moduleId, metadata) {
125
+ const node = graph.getNode(moduleId);
126
+ if (!node || node.type !== 'module') {
127
+ console.warn(`[KnowledgeGraph] Module not found: ${moduleId}`);
128
+ return false;
129
+ }
130
+ if (!node.metadata) {
131
+ node.metadata = {};
132
+ }
133
+ Object.assign(node.metadata, metadata);
134
+ console.log(`[KnowledgeGraph] Updated ${moduleId} metadata`);
135
+ return true;
136
+ }
137
+ // Query Functions
138
+ /**
139
+ * Get modules by state
140
+ */
141
+ export function getModulesByState(graph, state) {
142
+ return graph.getNodesByType('module')
143
+ .filter(node => node.metadata?.state === state);
144
+ }
145
+ /**
146
+ * Get modules by development stage
147
+ */
148
+ export function getModulesByStage(graph, stage) {
149
+ return graph.getNodesByType('module')
150
+ .filter(node => node.metadata?.developmentStage === stage);
151
+ }
152
+ /**
153
+ * Get modules with high tech debt (>= threshold)
154
+ */
155
+ export function getHighTechDebtModules(graph, threshold = 7) {
156
+ return graph.getNodesByType('module')
157
+ .filter(node => (node.metadata?.techDebt ?? 0) >= threshold)
158
+ .sort((a, b) => (b.metadata?.techDebt ?? 0) - (a.metadata?.techDebt ?? 0));
159
+ }
160
+ /**
161
+ * Get blocked modules (blocked development stage or has blocking issues)
162
+ */
163
+ export function getBlockedModules(graph) {
164
+ return graph.getNodesByType('module')
165
+ .filter(node => node.metadata?.developmentStage === 'blocked' ||
166
+ node.metadata?.relatedIssues?.some(i => i.state === 'Blocked'));
167
+ }
168
+ /**
169
+ * Get modules without tests
170
+ */
171
+ export function getUntestedModules(graph) {
172
+ const modules = graph.getNodesByType('module');
173
+ const modulesThatHaveTests = new Set();
174
+ // Find all test files
175
+ const testFiles = graph.getNodesByType('test_file');
176
+ // Find modules that are tested by test files
177
+ for (const testFile of testFiles) {
178
+ const testedModules = graph.getTestedModules(testFile.id);
179
+ for (const mod of testedModules) {
180
+ modulesThatHaveTests.add(mod.id);
181
+ }
182
+ }
183
+ // Return modules without tests
184
+ return modules.filter(mod => !modulesThatHaveTests.has(mod.id));
185
+ }
186
+ // Project Summary Generation
187
+ /**
188
+ * Generate comprehensive project summary
189
+ */
190
+ export function generateProjectSummary(graph) {
191
+ const modules = graph.getNodesByType('module');
192
+ const testFiles = graph.getNodesByType('test_file');
193
+ // Basic counts
194
+ const totalModules = modules.length;
195
+ const totalTestFiles = testFiles.length;
196
+ // Untested modules
197
+ const untestedModules = getUntestedModules(graph).map(m => m.id);
198
+ // Hot modules (top 5 by churn score)
199
+ const hotModules = modules
200
+ .filter(m => m.gitInfo?.churnScore)
201
+ .sort((a, b) => (b.gitInfo?.churnScore ?? 0) - (a.gitInfo?.churnScore ?? 0))
202
+ .slice(0, 5)
203
+ .map(m => m.id);
204
+ // Average churn score
205
+ const modulesWithChurn = modules.filter(m => m.gitInfo?.churnScore);
206
+ const avgChurnScore = modulesWithChurn.length > 0
207
+ ? modulesWithChurn.reduce((sum, m) => sum + (m.gitInfo?.churnScore ?? 0), 0) / modulesWithChurn.length
208
+ : 0;
209
+ // Extended summary
210
+ const stableModules = getModulesByState(graph, 'stable').length;
211
+ const experimentalModules = getModulesByState(graph, 'experimental').length;
212
+ const deprecatedModules = getModulesByState(graph, 'deprecated').length;
213
+ // Active issues count (across all modules)
214
+ const activeIssues = new Set();
215
+ for (const mod of modules) {
216
+ if (mod.metadata?.relatedIssues) {
217
+ for (const issue of mod.metadata.relatedIssues) {
218
+ if (issue.state !== 'Done' && issue.state !== 'Canceled') {
219
+ activeIssues.add(issue.issueId);
220
+ }
221
+ }
222
+ }
223
+ }
224
+ const blockedModules = getBlockedModules(graph).map(m => m.id);
225
+ const highTechDebtModules = getHighTechDebtModules(graph, 7).map(m => m.id);
226
+ return {
227
+ totalModules,
228
+ totalTestFiles,
229
+ hotModules,
230
+ untestedModules,
231
+ avgChurnScore,
232
+ // Extended
233
+ stableModules,
234
+ experimentalModules,
235
+ deprecatedModules,
236
+ activeIssues: activeIssues.size,
237
+ blockedModules,
238
+ highTechDebtModules,
239
+ };
240
+ }
241
+ // Persistence Helpers
242
+ /**
243
+ * Save graph after updates
244
+ * Note: Call generateProjectSummary() to get summary before saving
245
+ */
246
+ export async function saveGraphWithSummary(graph) {
247
+ await saveGraph(graph);
248
+ console.log(`[KnowledgeGraph] Saved graph for ${graph.projectSlug}`);
249
+ }
250
+ //# sourceMappingURL=repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repository.js","sourceRoot":"","sources":["../../src/knowledge/repository.ts"],"names":[],"mappings":"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"}