@jungjaehoon/mama-os 0.28.6 → 0.29.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 (448) hide show
  1. package/dist/agent/agent-loop.d.ts +0 -4
  2. package/dist/agent/agent-loop.d.ts.map +1 -1
  3. package/dist/agent/agent-loop.js +33 -10
  4. package/dist/agent/agent-loop.js.map +1 -1
  5. package/dist/agent/code-act/host-bridge.d.ts.map +1 -1
  6. package/dist/agent/code-act/host-bridge.js +53 -3
  7. package/dist/agent/code-act/host-bridge.js.map +1 -1
  8. package/dist/agent/code-act/tool-policy.d.ts.map +1 -1
  9. package/dist/agent/code-act/tool-policy.js +5 -0
  10. package/dist/agent/code-act/tool-policy.js.map +1 -1
  11. package/dist/agent/codex-auth.d.ts +0 -1
  12. package/dist/agent/codex-auth.d.ts.map +1 -1
  13. package/dist/agent/codex-auth.js +0 -4
  14. package/dist/agent/codex-auth.js.map +1 -1
  15. package/dist/agent/codex-home.d.ts +0 -2
  16. package/dist/agent/codex-home.d.ts.map +1 -1
  17. package/dist/agent/codex-home.js +0 -66
  18. package/dist/agent/codex-home.js.map +1 -1
  19. package/dist/agent/context-compile-service.d.ts +9 -0
  20. package/dist/agent/context-compile-service.d.ts.map +1 -1
  21. package/dist/agent/context-compile-service.js +6 -0
  22. package/dist/agent/context-compile-service.js.map +1 -1
  23. package/dist/agent/context-prompt-builder.d.ts +0 -6
  24. package/dist/agent/context-prompt-builder.d.ts.map +1 -1
  25. package/dist/agent/context-prompt-builder.js +0 -131
  26. package/dist/agent/context-prompt-builder.js.map +1 -1
  27. package/dist/agent/contract-extractor.d.ts +0 -4
  28. package/dist/agent/contract-extractor.d.ts.map +1 -1
  29. package/dist/agent/contract-extractor.js +0 -68
  30. package/dist/agent/contract-extractor.js.map +1 -1
  31. package/dist/agent/gateway-tool-executor.d.ts +20 -15
  32. package/dist/agent/gateway-tool-executor.d.ts.map +1 -1
  33. package/dist/agent/gateway-tool-executor.js +236 -90
  34. package/dist/agent/gateway-tool-executor.js.map +1 -1
  35. package/dist/agent/gateway-tools.md +7 -4
  36. package/dist/agent/skill-loader.d.ts +0 -7
  37. package/dist/agent/skill-loader.d.ts.map +1 -1
  38. package/dist/agent/skill-loader.js +0 -86
  39. package/dist/agent/skill-loader.js.map +1 -1
  40. package/dist/agent/token-estimator.d.ts +0 -8
  41. package/dist/agent/token-estimator.d.ts.map +1 -1
  42. package/dist/agent/token-estimator.js +0 -14
  43. package/dist/agent/token-estimator.js.map +1 -1
  44. package/dist/agent/tool-registry.d.ts.map +1 -1
  45. package/dist/agent/tool-registry.js +23 -5
  46. package/dist/agent/tool-registry.js.map +1 -1
  47. package/dist/agent/types.d.ts +27 -1
  48. package/dist/agent/types.d.ts.map +1 -1
  49. package/dist/agent/types.js.map +1 -1
  50. package/dist/api/agent-graph-handler.d.ts +9 -0
  51. package/dist/api/agent-graph-handler.d.ts.map +1 -1
  52. package/dist/api/agent-graph-handler.js +27 -1
  53. package/dist/api/agent-graph-handler.js.map +1 -1
  54. package/dist/api/entity-audit-handler.d.ts +1 -2
  55. package/dist/api/entity-audit-handler.d.ts.map +1 -1
  56. package/dist/api/entity-audit-handler.js +0 -5
  57. package/dist/api/entity-audit-handler.js.map +1 -1
  58. package/dist/api/index.d.ts +1 -9
  59. package/dist/api/index.d.ts.map +1 -1
  60. package/dist/api/index.js +4 -17
  61. package/dist/api/index.js.map +1 -1
  62. package/dist/api/intelligence-handler.d.ts +0 -5
  63. package/dist/api/intelligence-handler.d.ts.map +1 -1
  64. package/dist/api/intelligence-handler.js +0 -15
  65. package/dist/api/intelligence-handler.js.map +1 -1
  66. package/dist/api/types.d.ts +1 -5
  67. package/dist/api/types.d.ts.map +1 -1
  68. package/dist/api/types.js +0 -14
  69. package/dist/api/types.js.map +1 -1
  70. package/dist/cli/commands/start.d.ts +117 -3
  71. package/dist/cli/commands/start.d.ts.map +1 -1
  72. package/dist/cli/commands/start.js +223 -62
  73. package/dist/cli/commands/start.js.map +1 -1
  74. package/dist/cli/config/config-manager.d.ts +0 -5
  75. package/dist/cli/config/config-manager.d.ts.map +1 -1
  76. package/dist/cli/config/config-manager.js +0 -29
  77. package/dist/cli/config/config-manager.js.map +1 -1
  78. package/dist/cli/config/types.d.ts.map +1 -1
  79. package/dist/cli/config/types.js +3 -0
  80. package/dist/cli/config/types.js.map +1 -1
  81. package/dist/cli/runtime/api-routes-init.d.ts.map +1 -1
  82. package/dist/cli/runtime/api-routes-init.js +32 -5
  83. package/dist/cli/runtime/api-routes-init.js.map +1 -1
  84. package/dist/cli/runtime/api-server-init.d.ts.map +1 -1
  85. package/dist/cli/runtime/api-server-init.js +2 -0
  86. package/dist/cli/runtime/api-server-init.js.map +1 -1
  87. package/dist/cli/runtime/gateway-init.d.ts +1 -1
  88. package/dist/cli/runtime/gateway-init.d.ts.map +1 -1
  89. package/dist/cli/runtime/gateway-init.js +11 -38
  90. package/dist/cli/runtime/gateway-init.js.map +1 -1
  91. package/dist/cli/runtime/gateway-wiring.d.ts.map +1 -1
  92. package/dist/cli/runtime/gateway-wiring.js +6 -120
  93. package/dist/cli/runtime/gateway-wiring.js.map +1 -1
  94. package/dist/cli/utils/pid-manager.d.ts +0 -10
  95. package/dist/cli/utils/pid-manager.d.ts.map +1 -1
  96. package/dist/cli/utils/pid-manager.js +0 -26
  97. package/dist/cli/utils/pid-manager.js.map +1 -1
  98. package/dist/connectors/framework/polling-scheduler.d.ts +33 -1
  99. package/dist/connectors/framework/polling-scheduler.d.ts.map +1 -1
  100. package/dist/connectors/framework/polling-scheduler.js +46 -40
  101. package/dist/connectors/framework/polling-scheduler.js.map +1 -1
  102. package/dist/connectors/trello/query-tools.d.ts +32 -5
  103. package/dist/connectors/trello/query-tools.d.ts.map +1 -1
  104. package/dist/connectors/trello/query-tools.js +56 -17
  105. package/dist/connectors/trello/query-tools.js.map +1 -1
  106. package/dist/db/agent-store.d.ts +0 -4
  107. package/dist/db/agent-store.d.ts.map +1 -1
  108. package/dist/db/agent-store.js +0 -65
  109. package/dist/db/agent-store.js.map +1 -1
  110. package/dist/envelope/enforcer.d.ts.map +1 -1
  111. package/dist/envelope/enforcer.js +10 -1
  112. package/dist/envelope/enforcer.js.map +1 -1
  113. package/dist/envelope/index.d.ts +0 -1
  114. package/dist/envelope/index.d.ts.map +1 -1
  115. package/dist/envelope/index.js +0 -1
  116. package/dist/envelope/index.js.map +1 -1
  117. package/dist/envelope/signature.d.ts +0 -1
  118. package/dist/envelope/signature.d.ts.map +1 -1
  119. package/dist/envelope/signature.js +0 -7
  120. package/dist/envelope/signature.js.map +1 -1
  121. package/dist/envelope/tool-connector-scope.d.ts +35 -0
  122. package/dist/envelope/tool-connector-scope.d.ts.map +1 -0
  123. package/dist/envelope/tool-connector-scope.js +57 -0
  124. package/dist/envelope/tool-connector-scope.js.map +1 -0
  125. package/dist/evidence/effects.d.ts +107 -0
  126. package/dist/evidence/effects.d.ts.map +1 -0
  127. package/dist/evidence/effects.js +281 -0
  128. package/dist/evidence/effects.js.map +1 -0
  129. package/dist/evidence/read.d.ts +75 -0
  130. package/dist/evidence/read.d.ts.map +1 -0
  131. package/dist/evidence/read.js +105 -0
  132. package/dist/evidence/read.js.map +1 -0
  133. package/dist/gateways/base-gateway.d.ts +23 -3
  134. package/dist/gateways/base-gateway.d.ts.map +1 -1
  135. package/dist/gateways/base-gateway.js +15 -2
  136. package/dist/gateways/base-gateway.js.map +1 -1
  137. package/dist/gateways/discord.d.ts +4 -16
  138. package/dist/gateways/discord.d.ts.map +1 -1
  139. package/dist/gateways/discord.js +22 -189
  140. package/dist/gateways/discord.js.map +1 -1
  141. package/dist/gateways/index.d.ts +2 -1
  142. package/dist/gateways/index.d.ts.map +1 -1
  143. package/dist/gateways/message-router.d.ts +13 -20
  144. package/dist/gateways/message-router.d.ts.map +1 -1
  145. package/dist/gateways/message-router.js +32 -3
  146. package/dist/gateways/message-router.js.map +1 -1
  147. package/dist/gateways/slack.d.ts +2 -12
  148. package/dist/gateways/slack.d.ts.map +1 -1
  149. package/dist/gateways/slack.js +6 -220
  150. package/dist/gateways/slack.js.map +1 -1
  151. package/dist/gateways/telegram.d.ts +2 -2
  152. package/dist/gateways/telegram.d.ts.map +1 -1
  153. package/dist/gateways/telegram.js +3 -2
  154. package/dist/gateways/telegram.js.map +1 -1
  155. package/dist/gateways/turn-contract.d.ts +104 -0
  156. package/dist/gateways/turn-contract.d.ts.map +1 -0
  157. package/dist/{memory/consult-contract.js → gateways/turn-contract.js} +1 -1
  158. package/dist/gateways/turn-contract.js.map +1 -0
  159. package/dist/memory/provenance-live.d.ts +111 -0
  160. package/dist/memory/provenance-live.d.ts.map +1 -0
  161. package/dist/memory/provenance-live.js +381 -0
  162. package/dist/memory/provenance-live.js.map +1 -0
  163. package/dist/memory/provenance-resolver.d.ts +184 -0
  164. package/dist/memory/provenance-resolver.d.ts.map +1 -0
  165. package/dist/memory/provenance-resolver.js +152 -0
  166. package/dist/memory/provenance-resolver.js.map +1 -0
  167. package/dist/multi-agent/agent-event-bus.d.ts +1 -0
  168. package/dist/multi-agent/agent-event-bus.d.ts.map +1 -1
  169. package/dist/multi-agent/bmad-templates.d.ts +0 -18
  170. package/dist/multi-agent/bmad-templates.d.ts.map +1 -1
  171. package/dist/multi-agent/bmad-templates.js +0 -127
  172. package/dist/multi-agent/bmad-templates.js.map +1 -1
  173. package/dist/multi-agent/dashboard-agent-persona.js +3 -3
  174. package/dist/operator/board-reconcile.d.ts +2 -3
  175. package/dist/operator/board-reconcile.d.ts.map +1 -1
  176. package/dist/operator/board-reconcile.js +18 -32
  177. package/dist/operator/board-reconcile.js.map +1 -1
  178. package/dist/operator/changes-projection.d.ts +70 -0
  179. package/dist/operator/changes-projection.d.ts.map +1 -0
  180. package/dist/operator/changes-projection.js +109 -0
  181. package/dist/operator/changes-projection.js.map +1 -0
  182. package/dist/operator/external-correlation.d.ts +94 -0
  183. package/dist/operator/external-correlation.d.ts.map +1 -0
  184. package/dist/operator/external-correlation.js +177 -0
  185. package/dist/operator/external-correlation.js.map +1 -0
  186. package/dist/operator/operator-trigger-loop.d.ts +9 -1
  187. package/dist/operator/operator-trigger-loop.d.ts.map +1 -1
  188. package/dist/operator/operator-trigger-loop.js +8 -4
  189. package/dist/operator/operator-trigger-loop.js.map +1 -1
  190. package/dist/operator/provenance-lookup.d.ts +18 -0
  191. package/dist/operator/provenance-lookup.d.ts.map +1 -0
  192. package/dist/operator/provenance-lookup.js +54 -0
  193. package/dist/operator/provenance-lookup.js.map +1 -0
  194. package/dist/operator/report-carry.d.ts +18 -1
  195. package/dist/operator/report-carry.d.ts.map +1 -1
  196. package/dist/operator/report-carry.js +22 -3
  197. package/dist/operator/report-carry.js.map +1 -1
  198. package/dist/operator/report-run.d.ts +31 -0
  199. package/dist/operator/report-run.d.ts.map +1 -1
  200. package/dist/operator/report-run.js +140 -22
  201. package/dist/operator/report-run.js.map +1 -1
  202. package/dist/operator/task-ledger.d.ts +84 -2
  203. package/dist/operator/task-ledger.d.ts.map +1 -1
  204. package/dist/operator/task-ledger.js +274 -31
  205. package/dist/operator/task-ledger.js.map +1 -1
  206. package/dist/operator/worker-run.js +1 -1
  207. package/dist/operator/worker-run.js.map +1 -1
  208. package/dist/operator/workorder-hooks.d.ts +79 -4
  209. package/dist/operator/workorder-hooks.d.ts.map +1 -1
  210. package/dist/operator/workorder-hooks.js +152 -20
  211. package/dist/operator/workorder-hooks.js.map +1 -1
  212. package/dist/operator/workorder-publishers.d.ts +2 -0
  213. package/dist/operator/workorder-publishers.d.ts.map +1 -1
  214. package/dist/operator/workorder-publishers.js +8 -1
  215. package/dist/operator/workorder-publishers.js.map +1 -1
  216. package/dist/utils/untrusted-content.d.ts +11 -0
  217. package/dist/utils/untrusted-content.d.ts.map +1 -1
  218. package/dist/utils/untrusted-content.js +20 -0
  219. package/dist/utils/untrusted-content.js.map +1 -1
  220. package/package.json +4 -3
  221. package/scripts/backfill-channel-keys.ts +451 -0
  222. package/dist/agent/auto-recall.d.ts +0 -48
  223. package/dist/agent/auto-recall.d.ts.map +0 -1
  224. package/dist/agent/auto-recall.js +0 -192
  225. package/dist/agent/auto-recall.js.map +0 -1
  226. package/dist/agent/claude-client.d.ts +0 -50
  227. package/dist/agent/claude-client.d.ts.map +0 -1
  228. package/dist/agent/claude-client.js +0 -219
  229. package/dist/agent/claude-client.js.map +0 -1
  230. package/dist/agent/delegation-executor.d.ts +0 -49
  231. package/dist/agent/delegation-executor.d.ts.map +0 -1
  232. package/dist/agent/delegation-executor.js +0 -692
  233. package/dist/agent/delegation-executor.js.map +0 -1
  234. package/dist/agent/mcp-executor.d.ts +0 -60
  235. package/dist/agent/mcp-executor.d.ts.map +0 -1
  236. package/dist/agent/mcp-executor.js +0 -190
  237. package/dist/agent/mcp-executor.js.map +0 -1
  238. package/dist/agent/process-tree.d.ts +0 -6
  239. package/dist/agent/process-tree.d.ts.map +0 -1
  240. package/dist/agent/process-tree.js +0 -21
  241. package/dist/agent/process-tree.js.map +0 -1
  242. package/dist/agent/streaming-callback-manager.d.ts +0 -85
  243. package/dist/agent/streaming-callback-manager.d.ts.map +0 -1
  244. package/dist/agent/streaming-callback-manager.js +0 -103
  245. package/dist/agent/streaming-callback-manager.js.map +0 -1
  246. package/dist/agent/token-budget.d.ts +0 -49
  247. package/dist/agent/token-budget.d.ts.map +0 -1
  248. package/dist/agent/token-budget.js +0 -92
  249. package/dist/agent/token-budget.js.map +0 -1
  250. package/dist/connectors/kagemusha/history-compiler.d.ts +0 -18
  251. package/dist/connectors/kagemusha/history-compiler.d.ts.map +0 -1
  252. package/dist/connectors/kagemusha/history-compiler.js +0 -35
  253. package/dist/connectors/kagemusha/history-compiler.js.map +0 -1
  254. package/dist/db/migrations/wiki-artifacts.d.ts +0 -3
  255. package/dist/db/migrations/wiki-artifacts.d.ts.map +0 -1
  256. package/dist/db/migrations/wiki-artifacts.js +0 -24
  257. package/dist/db/migrations/wiki-artifacts.js.map +0 -1
  258. package/dist/envelope/subset.d.ts +0 -9
  259. package/dist/envelope/subset.d.ts.map +0 -1
  260. package/dist/envelope/subset.js +0 -67
  261. package/dist/envelope/subset.js.map +0 -1
  262. package/dist/memory/consult-contract.d.ts +0 -8
  263. package/dist/memory/consult-contract.d.ts.map +0 -1
  264. package/dist/memory/consult-contract.js.map +0 -1
  265. package/dist/multi-agent/agent-message-queue.d.ts +0 -104
  266. package/dist/multi-agent/agent-message-queue.d.ts.map +0 -1
  267. package/dist/multi-agent/agent-message-queue.js +0 -227
  268. package/dist/multi-agent/agent-message-queue.js.map +0 -1
  269. package/dist/multi-agent/background-task-manager.d.ts +0 -248
  270. package/dist/multi-agent/background-task-manager.d.ts.map +0 -1
  271. package/dist/multi-agent/background-task-manager.js +0 -415
  272. package/dist/multi-agent/background-task-manager.js.map +0 -1
  273. package/dist/multi-agent/category-router.d.ts +0 -56
  274. package/dist/multi-agent/category-router.d.ts.map +0 -1
  275. package/dist/multi-agent/category-router.js +0 -99
  276. package/dist/multi-agent/category-router.js.map +0 -1
  277. package/dist/multi-agent/council-engine.d.ts +0 -60
  278. package/dist/multi-agent/council-engine.d.ts.map +0 -1
  279. package/dist/multi-agent/council-engine.js +0 -284
  280. package/dist/multi-agent/council-engine.js.map +0 -1
  281. package/dist/multi-agent/delegation-format-validator.d.ts +0 -22
  282. package/dist/multi-agent/delegation-format-validator.d.ts.map +0 -1
  283. package/dist/multi-agent/delegation-format-validator.js +0 -31
  284. package/dist/multi-agent/delegation-format-validator.js.map +0 -1
  285. package/dist/multi-agent/delegation-manager.d.ts +0 -128
  286. package/dist/multi-agent/delegation-manager.d.ts.map +0 -1
  287. package/dist/multi-agent/delegation-manager.js +0 -276
  288. package/dist/multi-agent/delegation-manager.js.map +0 -1
  289. package/dist/multi-agent/i18n-messages.d.ts +0 -35
  290. package/dist/multi-agent/i18n-messages.d.ts.map +0 -1
  291. package/dist/multi-agent/i18n-messages.js +0 -54
  292. package/dist/multi-agent/i18n-messages.js.map +0 -1
  293. package/dist/multi-agent/index.d.ts +0 -31
  294. package/dist/multi-agent/index.d.ts.map +0 -1
  295. package/dist/multi-agent/index.js +0 -46
  296. package/dist/multi-agent/index.js.map +0 -1
  297. package/dist/multi-agent/multi-agent-base.d.ts +0 -223
  298. package/dist/multi-agent/multi-agent-base.d.ts.map +0 -1
  299. package/dist/multi-agent/multi-agent-base.js +0 -592
  300. package/dist/multi-agent/multi-agent-base.js.map +0 -1
  301. package/dist/multi-agent/multi-agent-discord.d.ts +0 -142
  302. package/dist/multi-agent/multi-agent-discord.d.ts.map +0 -1
  303. package/dist/multi-agent/multi-agent-discord.js +0 -1235
  304. package/dist/multi-agent/multi-agent-discord.js.map +0 -1
  305. package/dist/multi-agent/multi-agent-slack.d.ts +0 -146
  306. package/dist/multi-agent/multi-agent-slack.d.ts.map +0 -1
  307. package/dist/multi-agent/multi-agent-slack.js +0 -953
  308. package/dist/multi-agent/multi-agent-slack.js.map +0 -1
  309. package/dist/multi-agent/multi-bot-manager.d.ts +0 -119
  310. package/dist/multi-agent/multi-bot-manager.d.ts.map +0 -1
  311. package/dist/multi-agent/multi-bot-manager.js +0 -449
  312. package/dist/multi-agent/multi-bot-manager.js.map +0 -1
  313. package/dist/multi-agent/orchestrator.d.ts +0 -110
  314. package/dist/multi-agent/orchestrator.d.ts.map +0 -1
  315. package/dist/multi-agent/orchestrator.js +0 -436
  316. package/dist/multi-agent/orchestrator.js.map +0 -1
  317. package/dist/multi-agent/rate-limiter.d.ts +0 -76
  318. package/dist/multi-agent/rate-limiter.d.ts.map +0 -1
  319. package/dist/multi-agent/rate-limiter.js +0 -128
  320. package/dist/multi-agent/rate-limiter.js.map +0 -1
  321. package/dist/multi-agent/shared-context.d.ts +0 -127
  322. package/dist/multi-agent/shared-context.d.ts.map +0 -1
  323. package/dist/multi-agent/shared-context.js +0 -239
  324. package/dist/multi-agent/shared-context.js.map +0 -1
  325. package/dist/multi-agent/slack-config-validator.d.ts +0 -42
  326. package/dist/multi-agent/slack-config-validator.d.ts.map +0 -1
  327. package/dist/multi-agent/slack-config-validator.js +0 -194
  328. package/dist/multi-agent/slack-config-validator.js.map +0 -1
  329. package/dist/multi-agent/slack-multi-bot-manager.d.ts +0 -143
  330. package/dist/multi-agent/slack-multi-bot-manager.d.ts.map +0 -1
  331. package/dist/multi-agent/slack-multi-bot-manager.js +0 -413
  332. package/dist/multi-agent/slack-multi-bot-manager.js.map +0 -1
  333. package/dist/multi-agent/swarm/swarm-anti-pattern-detector.d.ts +0 -98
  334. package/dist/multi-agent/swarm/swarm-anti-pattern-detector.d.ts.map +0 -1
  335. package/dist/multi-agent/swarm/swarm-anti-pattern-detector.js +0 -225
  336. package/dist/multi-agent/swarm/swarm-anti-pattern-detector.js.map +0 -1
  337. package/dist/multi-agent/swarm/swarm-db.d.ts +0 -175
  338. package/dist/multi-agent/swarm/swarm-db.d.ts.map +0 -1
  339. package/dist/multi-agent/swarm/swarm-db.js +0 -313
  340. package/dist/multi-agent/swarm/swarm-db.js.map +0 -1
  341. package/dist/multi-agent/swarm/swarm-event-reporter.d.ts +0 -116
  342. package/dist/multi-agent/swarm/swarm-event-reporter.d.ts.map +0 -1
  343. package/dist/multi-agent/swarm/swarm-event-reporter.js +0 -243
  344. package/dist/multi-agent/swarm/swarm-event-reporter.js.map +0 -1
  345. package/dist/multi-agent/swarm/swarm-mama-adapter.d.ts +0 -57
  346. package/dist/multi-agent/swarm/swarm-mama-adapter.d.ts.map +0 -1
  347. package/dist/multi-agent/swarm/swarm-mama-adapter.js +0 -87
  348. package/dist/multi-agent/swarm/swarm-mama-adapter.js.map +0 -1
  349. package/dist/multi-agent/swarm/swarm-manager.d.ts +0 -122
  350. package/dist/multi-agent/swarm/swarm-manager.d.ts.map +0 -1
  351. package/dist/multi-agent/swarm/swarm-manager.js +0 -199
  352. package/dist/multi-agent/swarm/swarm-manager.js.map +0 -1
  353. package/dist/multi-agent/swarm/swarm-task-learner.d.ts +0 -104
  354. package/dist/multi-agent/swarm/swarm-task-learner.d.ts.map +0 -1
  355. package/dist/multi-agent/swarm/swarm-task-learner.js +0 -211
  356. package/dist/multi-agent/swarm/swarm-task-learner.js.map +0 -1
  357. package/dist/multi-agent/swarm/swarm-task-runner.d.ts +0 -155
  358. package/dist/multi-agent/swarm/swarm-task-runner.d.ts.map +0 -1
  359. package/dist/multi-agent/swarm/swarm-task-runner.js +0 -615
  360. package/dist/multi-agent/swarm/swarm-task-runner.js.map +0 -1
  361. package/dist/multi-agent/swarm/wave-engine.d.ts +0 -96
  362. package/dist/multi-agent/swarm/wave-engine.d.ts.map +0 -1
  363. package/dist/multi-agent/swarm/wave-engine.js +0 -123
  364. package/dist/multi-agent/swarm/wave-engine.js.map +0 -1
  365. package/dist/multi-agent/system-reminder.d.ts +0 -206
  366. package/dist/multi-agent/system-reminder.d.ts.map +0 -1
  367. package/dist/multi-agent/system-reminder.js +0 -455
  368. package/dist/multi-agent/system-reminder.js.map +0 -1
  369. package/dist/multi-agent/task-continuation.d.ts +0 -74
  370. package/dist/multi-agent/task-continuation.d.ts.map +0 -1
  371. package/dist/multi-agent/task-continuation.js +0 -172
  372. package/dist/multi-agent/task-continuation.js.map +0 -1
  373. package/dist/multi-agent/ultrawork-state.d.ts +0 -57
  374. package/dist/multi-agent/ultrawork-state.d.ts.map +0 -1
  375. package/dist/multi-agent/ultrawork-state.js +0 -191
  376. package/dist/multi-agent/ultrawork-state.js.map +0 -1
  377. package/dist/multi-agent/ultrawork.d.ts +0 -152
  378. package/dist/multi-agent/ultrawork.d.ts.map +0 -1
  379. package/dist/multi-agent/ultrawork.js +0 -879
  380. package/dist/multi-agent/ultrawork.js.map +0 -1
  381. package/dist/multi-agent/work-tracker.d.ts +0 -22
  382. package/dist/multi-agent/work-tracker.d.ts.map +0 -1
  383. package/dist/multi-agent/work-tracker.js +0 -45
  384. package/dist/multi-agent/work-tracker.js.map +0 -1
  385. package/dist/multi-agent/workflow-engine.d.ts +0 -87
  386. package/dist/multi-agent/workflow-engine.d.ts.map +0 -1
  387. package/dist/multi-agent/workflow-engine.js +0 -604
  388. package/dist/multi-agent/workflow-engine.js.map +0 -1
  389. package/dist/onboarding/all-tools.d.ts +0 -18
  390. package/dist/onboarding/all-tools.d.ts.map +0 -1
  391. package/dist/onboarding/all-tools.js +0 -149
  392. package/dist/onboarding/all-tools.js.map +0 -1
  393. package/dist/onboarding/autonomous-discovery-tools.d.ts +0 -23
  394. package/dist/onboarding/autonomous-discovery-tools.d.ts.map +0 -1
  395. package/dist/onboarding/autonomous-discovery-tools.js +0 -268
  396. package/dist/onboarding/autonomous-discovery-tools.js.map +0 -1
  397. package/dist/onboarding/onboarding-state.d.ts +0 -70
  398. package/dist/onboarding/onboarding-state.d.ts.map +0 -1
  399. package/dist/onboarding/onboarding-state.js +0 -183
  400. package/dist/onboarding/onboarding-state.js.map +0 -1
  401. package/dist/onboarding/personality-quiz.d.ts +0 -35
  402. package/dist/onboarding/personality-quiz.d.ts.map +0 -1
  403. package/dist/onboarding/personality-quiz.js +0 -219
  404. package/dist/onboarding/personality-quiz.js.map +0 -1
  405. package/dist/onboarding/phase-5-summary.d.ts +0 -26
  406. package/dist/onboarding/phase-5-summary.d.ts.map +0 -1
  407. package/dist/onboarding/phase-5-summary.js +0 -153
  408. package/dist/onboarding/phase-5-summary.js.map +0 -1
  409. package/dist/onboarding/phase-6-security.d.ts +0 -33
  410. package/dist/onboarding/phase-6-security.d.ts.map +0 -1
  411. package/dist/onboarding/phase-6-security.js +0 -473
  412. package/dist/onboarding/phase-6-security.js.map +0 -1
  413. package/dist/onboarding/phase-7-integrations.d.ts +0 -91
  414. package/dist/onboarding/phase-7-integrations.d.ts.map +0 -1
  415. package/dist/onboarding/phase-7-integrations.js +0 -725
  416. package/dist/onboarding/phase-7-integrations.js.map +0 -1
  417. package/dist/onboarding/phase-8-demo.d.ts +0 -43
  418. package/dist/onboarding/phase-8-demo.d.ts.map +0 -1
  419. package/dist/onboarding/phase-8-demo.js +0 -346
  420. package/dist/onboarding/phase-8-demo.js.map +0 -1
  421. package/dist/onboarding/phase-9-finalization.d.ts +0 -27
  422. package/dist/onboarding/phase-9-finalization.d.ts.map +0 -1
  423. package/dist/onboarding/phase-9-finalization.js +0 -417
  424. package/dist/onboarding/phase-9-finalization.js.map +0 -1
  425. package/dist/onboarding/ritual-prompt.d.ts +0 -2
  426. package/dist/onboarding/ritual-prompt.d.ts.map +0 -1
  427. package/dist/onboarding/ritual-prompt.js +0 -285
  428. package/dist/onboarding/ritual-prompt.js.map +0 -1
  429. package/dist/onboarding/ritual-tools.d.ts +0 -17
  430. package/dist/onboarding/ritual-tools.d.ts.map +0 -1
  431. package/dist/onboarding/ritual-tools.js +0 -93
  432. package/dist/onboarding/ritual-tools.js.map +0 -1
  433. package/dist/setup/setup-tools.d.ts +0 -13
  434. package/dist/setup/setup-tools.d.ts.map +0 -1
  435. package/dist/setup/setup-tools.js +0 -106
  436. package/dist/setup/setup-tools.js.map +0 -1
  437. package/dist/utils/slack-input-validator.d.ts +0 -74
  438. package/dist/utils/slack-input-validator.d.ts.map +0 -1
  439. package/dist/utils/slack-input-validator.js +0 -275
  440. package/dist/utils/slack-input-validator.js.map +0 -1
  441. package/dist/utils/slack-rate-limiter.d.ts +0 -139
  442. package/dist/utils/slack-rate-limiter.d.ts.map +0 -1
  443. package/dist/utils/slack-rate-limiter.js +0 -324
  444. package/dist/utils/slack-rate-limiter.js.map +0 -1
  445. package/dist/wiki/wiki-compiler.d.ts +0 -13
  446. package/dist/wiki/wiki-compiler.d.ts.map +0 -1
  447. package/dist/wiki/wiki-compiler.js +0 -82
  448. package/dist/wiki/wiki-compiler.js.map +0 -1
@@ -1,615 +0,0 @@
1
- "use strict";
2
- /**
3
- * Swarm Task Runner
4
- *
5
- * Orchestrates automated execution of Swarm tasks by:
6
- * - Polling for pending tasks and executing them on agent processes
7
- * - Managing task dependencies (depends_on) and file conflict detection
8
- * - Handling both event-driven (immediate) and polling-based execution
9
- * - Automatically stopping sessions when complete
10
- *
11
- * Features:
12
- * - Dependency resolution: tasks wait for prerequisite tasks to complete
13
- * - File conflict warnings: detects when multiple tasks modify same files
14
- * - Stale lease expiration: recovers from agent crashes
15
- * - Event emission: task-completed, task-failed, session-complete, file-conflict
16
- *
17
- * @module swarm-task-runner
18
- * @version 1.0
19
- */
20
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
21
- if (k2 === undefined) k2 = k;
22
- var desc = Object.getOwnPropertyDescriptor(m, k);
23
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
24
- desc = { enumerable: true, get: function() { return m[k]; } };
25
- }
26
- Object.defineProperty(o, k2, desc);
27
- }) : (function(o, m, k, k2) {
28
- if (k2 === undefined) k2 = k;
29
- o[k2] = m[k];
30
- }));
31
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
32
- Object.defineProperty(o, "default", { enumerable: true, value: v });
33
- }) : function(o, v) {
34
- o["default"] = v;
35
- });
36
- var __importStar = (this && this.__importStar) || (function () {
37
- var ownKeys = function(o) {
38
- ownKeys = Object.getOwnPropertyNames || function (o) {
39
- var ar = [];
40
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
41
- return ar;
42
- };
43
- return ownKeys(o);
44
- };
45
- return function (mod) {
46
- if (mod && mod.__esModule) return mod;
47
- var result = {};
48
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
49
- __setModuleDefault(result, mod);
50
- return result;
51
- };
52
- })();
53
- Object.defineProperty(exports, "__esModule", { value: true });
54
- exports.SwarmTaskRunner = void 0;
55
- const events_1 = require("events");
56
- const debugLogger = __importStar(require("@jungjaehoon/mama-core/debug-logger"));
57
- const swarm_db_js_1 = require("./swarm-db.js");
58
- /**
59
- * Swarm Task Runner
60
- *
61
- * Manages automated execution of swarm tasks across multiple agent processes.
62
- * Supports both event-driven (immediate) and polling-based execution modes.
63
- *
64
- * Events:
65
- * - 'task-completed': (result: TaskExecutionResult) => void
66
- * - 'task-failed': (result: TaskExecutionResult) => void
67
- * - 'session-complete': (sessionId: string) => void
68
- * - 'file-conflict': (taskId: string, conflictingFiles: string[], conflictingTasks: string[]) => void
69
- */
70
- class SwarmTaskRunner extends events_1.EventEmitter {
71
- swarmManager;
72
- agentProcessManager;
73
- sessions = new Map();
74
- pollingIntervalMs = 30000; // 30 seconds
75
- contextInjector;
76
- // Prevent concurrent pollAndExecute for the same session
77
- pollingSessionIds = new Set();
78
- // Auto-checkpoint settings (F6)
79
- enableAutoCheckpoint = false;
80
- checkpointDebounceMs = 5000;
81
- checkpointFailCounts = new Map();
82
- checkpointTimers = new Map();
83
- antiPatternDetector;
84
- maxRetries = 3;
85
- constructor(swarmManager, agentProcessManager, options) {
86
- super();
87
- this.swarmManager = swarmManager;
88
- this.agentProcessManager = agentProcessManager;
89
- if (options?.pollingIntervalMs !== undefined) {
90
- this.pollingIntervalMs = options.pollingIntervalMs;
91
- }
92
- if (options?.contextInjector) {
93
- this.contextInjector = options.contextInjector;
94
- }
95
- if (options?.antiPatternDetector) {
96
- this.antiPatternDetector = options.antiPatternDetector;
97
- }
98
- if (options?.maxRetries !== undefined) {
99
- this.maxRetries = options.maxRetries;
100
- }
101
- if (options?.enableAutoCheckpoint !== undefined) {
102
- this.enableAutoCheckpoint = options.enableAutoCheckpoint;
103
- }
104
- if (options?.checkpointDebounceMs !== undefined) {
105
- this.checkpointDebounceMs = options.checkpointDebounceMs;
106
- }
107
- // Setup auto-checkpoint listeners (F6)
108
- if (this.enableAutoCheckpoint) {
109
- this.setupAutoCheckpoint();
110
- }
111
- }
112
- /**
113
- * Start a session with automatic polling
114
- *
115
- * @param sessionId - Session ID to start
116
- */
117
- startSession(sessionId) {
118
- if (this.sessions.has(sessionId)) {
119
- debugLogger.warn(`[SwarmTaskRunner] Session ${sessionId} already running`);
120
- return;
121
- }
122
- console.log(`[SwarmTaskRunner] Starting session ${sessionId}`);
123
- const intervalHandle = setInterval(() => {
124
- this.pollAndExecute(sessionId).catch((error) => {
125
- console.error(`[SwarmTaskRunner] Error in polling for session ${sessionId}:`, error);
126
- });
127
- }, this.pollingIntervalMs);
128
- this.sessions.set(sessionId, {
129
- sessionId,
130
- intervalHandle,
131
- isRunning: true,
132
- });
133
- // Execute immediately on start
134
- this.pollAndExecute(sessionId).catch((error) => {
135
- console.error(`[SwarmTaskRunner] Error in initial poll for session ${sessionId}:`, error);
136
- });
137
- }
138
- /**
139
- * Stop a session
140
- *
141
- * @param sessionId - Session ID to stop
142
- */
143
- stopSession(sessionId) {
144
- const state = this.sessions.get(sessionId);
145
- if (!state) {
146
- debugLogger.warn(`[SwarmTaskRunner] Session ${sessionId} not running`);
147
- return;
148
- }
149
- console.log(`[SwarmTaskRunner] Stopping session ${sessionId}`);
150
- clearInterval(state.intervalHandle);
151
- this.sessions.delete(sessionId);
152
- // Clear debounce timer (F6)
153
- const checkpointTimer = this.checkpointTimers.get(sessionId);
154
- if (checkpointTimer) {
155
- clearTimeout(checkpointTimer);
156
- this.checkpointTimers.delete(sessionId);
157
- }
158
- }
159
- /**
160
- * Execute a specific task immediately (event-driven mode)
161
- *
162
- * Used for mention-triggered tasks that should run immediately
163
- * rather than waiting for the next polling cycle.
164
- *
165
- * @param sessionId - Session ID
166
- * @param taskId - Task ID to execute
167
- * @param source - Source platform (e.g., 'discord', 'slack')
168
- * @param channelId - Channel ID
169
- * @returns Execution result
170
- */
171
- async executeImmediateTask(sessionId, taskId, source, channelId) {
172
- const db = this.swarmManager.getDatabase();
173
- // Get the task
174
- const task = db.prepare(`SELECT * FROM swarm_tasks WHERE id = ?`).get(taskId);
175
- if (!task) {
176
- throw new Error(`Task ${taskId} not found`);
177
- }
178
- if (task.session_id !== sessionId) {
179
- throw new Error(`Task ${taskId} does not belong to session ${sessionId}`);
180
- }
181
- // Claim the task before execution
182
- if (!task.category) {
183
- throw new Error(`Task ${task.id} has no category; cannot determine target agent.`);
184
- }
185
- const agentId = task.category;
186
- const claimed = (0, swarm_db_js_1.claimTask)(db, task.id, agentId);
187
- if (!claimed) {
188
- throw new Error(`Task ${taskId} could not be claimed (current status: ${task.status})`);
189
- }
190
- // Execute the task
191
- return this.executeTask(task, source, channelId);
192
- }
193
- /**
194
- * Poll for pending tasks and execute them
195
- *
196
- * @param sessionId - Session ID to poll
197
- */
198
- async pollAndExecute(sessionId) {
199
- const state = this.sessions.get(sessionId);
200
- if (!state || !state.isRunning) {
201
- return;
202
- }
203
- // Prevent concurrent polling for the same session
204
- if (this.pollingSessionIds.has(sessionId)) {
205
- console.log(`[SwarmTaskRunner] Polling already in progress for session ${sessionId}, skipping`);
206
- return;
207
- }
208
- this.pollingSessionIds.add(sessionId);
209
- try {
210
- await this.pollAndExecuteInternal(sessionId);
211
- }
212
- finally {
213
- this.pollingSessionIds.delete(sessionId);
214
- }
215
- }
216
- /**
217
- * Internal poll logic (extracted for concurrency guard)
218
- */
219
- async pollAndExecuteInternal(sessionId) {
220
- const state = this.sessions.get(sessionId);
221
- if (!state || !state.isRunning) {
222
- return;
223
- }
224
- // Expire stale leases first
225
- const db = this.swarmManager.getDatabase();
226
- const expired = (0, swarm_db_js_1.expireStaleLeases)(db);
227
- if (expired > 0) {
228
- console.log(`[SwarmTaskRunner] Expired ${expired} stale leases`);
229
- }
230
- // Check if session is complete
231
- if (this.swarmManager.isSessionComplete(sessionId)) {
232
- console.log(`[SwarmTaskRunner] Session ${sessionId} is complete`);
233
- this.stopSession(sessionId);
234
- this.emit('session-complete', sessionId);
235
- return;
236
- }
237
- // Get pending tasks
238
- const pendingTasks = (0, swarm_db_js_1.getPendingTasks)(db, sessionId);
239
- if (pendingTasks.length === 0) {
240
- return; // No tasks to execute
241
- }
242
- // Try to execute each pending task
243
- for (const task of pendingTasks) {
244
- // Check dependencies
245
- if (!this.checkDependencies(db, task)) {
246
- continue; // Dependencies not met, skip for now
247
- }
248
- // Check for file conflicts (warning only, doesn't block)
249
- const conflicts = this.checkFileConflicts(db, sessionId, task);
250
- if (conflicts.length > 0) {
251
- const conflictingFiles = conflicts.map((t) => (0, swarm_db_js_1.parseFilesOwned)(t)).flat();
252
- const conflictingTaskIds = conflicts.map((t) => t.id);
253
- console.warn(`[SwarmTaskRunner] File conflict detected for task ${task.id}: files=${conflictingFiles.join(', ')}`);
254
- this.emit('file-conflict', task.id, conflictingFiles, conflictingTaskIds);
255
- }
256
- // Determine agent ID from category
257
- if (!task.category) {
258
- throw new Error(`Task ${task.id} has no category; cannot determine target agent.`);
259
- }
260
- const agentId = task.category;
261
- // Try to claim the task
262
- const claimed = (0, swarm_db_js_1.claimTask)(db, task.id, agentId);
263
- if (!claimed) {
264
- continue; // Already claimed by another runner
265
- }
266
- // Execute the task asynchronously (don't wait)
267
- this.executeTask(task, 'swarm', 'auto-' + sessionId).catch((error) => {
268
- const errorMsg = error instanceof Error ? error.message : String(error);
269
- console.error(`[SwarmTaskRunner] Error executing task ${task.id}:`, errorMsg);
270
- // Ensure task is marked as failed in DB if executeTask didn't handle it
271
- // (executeTask's catch block should handle this, but this is a safety net)
272
- try {
273
- const taskStatus = db
274
- .prepare('SELECT status FROM swarm_tasks WHERE id = ?')
275
- .get(task.id);
276
- if (taskStatus && taskStatus.status !== 'failed' && taskStatus.status !== 'completed') {
277
- console.warn(`[SwarmTaskRunner] Task ${task.id} in unexpected state after error: ${taskStatus.status}, marking as failed`);
278
- (0, swarm_db_js_1.failTask)(db, task.id, errorMsg);
279
- }
280
- }
281
- catch (dbError) {
282
- console.error(`[SwarmTaskRunner] Failed to verify task status:`, dbError);
283
- }
284
- // Emit task-failed event for monitoring
285
- this.emit('task-failed', {
286
- taskId: task.id,
287
- agentId: task.category || 'developer',
288
- status: 'failed',
289
- error: errorMsg,
290
- });
291
- });
292
- }
293
- }
294
- /**
295
- * Execute a single task
296
- *
297
- * @param task - Task to execute
298
- * @param source - Source platform
299
- * @param channelId - Channel ID
300
- * @returns TaskExecutionResult with status and optional error
301
- */
302
- async executeTask(task, source, channelId) {
303
- const db = this.swarmManager.getDatabase();
304
- // Determine agent ID from category
305
- if (!task.category) {
306
- throw new Error(`Task ${task.id} has no category; cannot determine target agent.`);
307
- }
308
- const agentId = task.category;
309
- let process; // Declare in outer scope for catch block access
310
- try {
311
- console.log(`[SwarmTaskRunner] Executing task ${task.id}: ${task.description}`);
312
- // Inject MAMA context if available
313
- let enrichedDescription = task.description;
314
- if (this.contextInjector) {
315
- try {
316
- const context = await this.contextInjector.getRelevantContext(task.description);
317
- if (context.hasContext) {
318
- enrichedDescription = `${context.prompt}\n\n---\n\nTask:\n${task.description}`;
319
- console.log(`[SwarmTaskRunner] Injected ${context.decisions.length} related decisions into task ${task.id}`);
320
- }
321
- }
322
- catch (error) {
323
- // Graceful fallback - log error but continue with original description
324
- debugLogger.warn(`[SwarmTaskRunner] Failed to inject context for task ${task.id}:`, error);
325
- }
326
- }
327
- // Anti-pattern detection
328
- if (this.antiPatternDetector) {
329
- try {
330
- const warnings = await this.antiPatternDetector.detect(agentId, task.description);
331
- if (warnings.length > 0) {
332
- const warningText = this.antiPatternDetector.formatWarnings(warnings);
333
- enrichedDescription = `${warningText}\n\n---\n\n${enrichedDescription}`;
334
- console.log(`[SwarmTaskRunner] Injected ${warnings.length} anti-pattern warnings for agent ${agentId}`);
335
- }
336
- }
337
- catch (error) {
338
- debugLogger.warn(`[SwarmTaskRunner] Anti-pattern detection failed for task ${task.id}:`, error);
339
- }
340
- }
341
- // Get agent process
342
- process = await this.agentProcessManager.getProcess(source, channelId, agentId);
343
- // Busy Guard: defer task if agent process is not ready
344
- if (!process.isReady()) {
345
- (0, swarm_db_js_1.deferTask)(db, task.id);
346
- const deferredResult = {
347
- taskId: task.id,
348
- agentId,
349
- status: 'deferred',
350
- error: 'Agent process busy, task deferred',
351
- };
352
- console.log(`[SwarmTaskRunner] Task ${task.id} deferred — agent ${agentId} busy`);
353
- this.emit('task-deferred', deferredResult);
354
- return deferredResult;
355
- }
356
- // Send enriched task description to agent
357
- const promptResult = await process.sendMessage(enrichedDescription);
358
- // Mark task as completed
359
- const resultText = promptResult.response || 'Task completed';
360
- (0, swarm_db_js_1.completeTask)(db, task.id, resultText);
361
- const result = {
362
- taskId: task.id,
363
- agentId,
364
- status: 'completed',
365
- result: resultText,
366
- };
367
- console.log(`[SwarmTaskRunner] Task ${task.id} completed`);
368
- this.emit('task-completed', result);
369
- return result;
370
- }
371
- catch (error) {
372
- // Check retry count
373
- const errorMsg = error instanceof Error ? error.message : String(error);
374
- const currentTask = db
375
- .prepare('SELECT retry_count FROM swarm_tasks WHERE id = ?')
376
- .get(task.id);
377
- const retryCount = currentTask?.retry_count ?? 0;
378
- if (retryCount < this.maxRetries) {
379
- // Retry the task
380
- (0, swarm_db_js_1.retryTask)(db, task.id);
381
- const retriedResult = {
382
- taskId: task.id,
383
- agentId,
384
- status: 'retrying',
385
- error: errorMsg,
386
- retryCount: retryCount + 1,
387
- };
388
- console.log(`[SwarmTaskRunner] Task ${task.id} will be retried (attempt ${retryCount + 1}/${this.maxRetries})`);
389
- this.emit('task-retried', retriedResult, retryCount + 1, this.maxRetries);
390
- return retriedResult;
391
- }
392
- else {
393
- // Max retries reached, mark as failed
394
- (0, swarm_db_js_1.failTask)(db, task.id, errorMsg);
395
- const result = {
396
- taskId: task.id,
397
- agentId,
398
- status: 'failed',
399
- error: errorMsg,
400
- retryCount,
401
- };
402
- console.error(`[SwarmTaskRunner] Task ${task.id} failed after ${retryCount} retries:`, errorMsg);
403
- this.emit('task-failed', result);
404
- return result;
405
- }
406
- }
407
- }
408
- /**
409
- * Check if all task dependencies are met
410
- *
411
- * @param db - Database instance
412
- * @param task - Task to check (avoids redundant SELECT)
413
- * @returns true if all dependencies are completed, false if pending/failed/missing
414
- */
415
- checkDependencies(db, task) {
416
- const dependencies = (0, swarm_db_js_1.parseDependsOn)(task);
417
- if (dependencies.length === 0) {
418
- return true; // No dependencies
419
- }
420
- // Check for circular dependencies (self-reference and transitive cycles)
421
- if (dependencies.includes(task.id)) {
422
- debugLogger.warn(`[SwarmTaskRunner] Circular dependency detected for task ${task.id}`);
423
- return false;
424
- }
425
- // DFS cycle detection: walk dependency graph with visited set
426
- const visited = new Set();
427
- const stack = [...dependencies];
428
- while (stack.length > 0) {
429
- const depId = stack.pop();
430
- if (depId === task.id) {
431
- debugLogger.warn(`[SwarmTaskRunner] Transitive circular dependency: task ${task.id} → ... → ${task.id}`);
432
- return false;
433
- }
434
- if (visited.has(depId))
435
- continue;
436
- visited.add(depId);
437
- const depTask = db.prepare('SELECT depends_on FROM swarm_tasks WHERE id = ?').get(depId);
438
- if (depTask?.depends_on) {
439
- for (const transitive of (0, swarm_db_js_1.parseDependsOn)(depTask)) {
440
- stack.push(transitive);
441
- }
442
- }
443
- }
444
- // Check each dependency
445
- for (const depId of dependencies) {
446
- const depTask = db.prepare(`SELECT status FROM swarm_tasks WHERE id = ?`).get(depId);
447
- if (!depTask) {
448
- debugLogger.warn(`[SwarmTaskRunner] Dependency task ${depId} not found`);
449
- return false;
450
- }
451
- if (depTask.status === 'failed') {
452
- // Dependency failed, mark this task as failed too
453
- console.log(`[SwarmTaskRunner] Task ${task.id} auto-failed due to failed dependency ${depId}`);
454
- (0, swarm_db_js_1.failPendingTask)(db, task.id, `Dependency ${depId} failed`);
455
- return false;
456
- }
457
- if (depTask.status !== 'completed') {
458
- // Dependency not yet completed
459
- return false;
460
- }
461
- }
462
- return true; // All dependencies completed
463
- }
464
- /**
465
- * Check for file conflicts with other claimed tasks
466
- *
467
- * @param db - Database instance
468
- * @param sessionId - Session ID
469
- * @param task - Task to check
470
- * @returns Array of conflicting tasks (empty if no conflicts)
471
- */
472
- checkFileConflicts(db, sessionId, task) {
473
- const files = (0, swarm_db_js_1.parseFilesOwned)(task);
474
- if (files.length === 0) {
475
- return []; // No files to conflict
476
- }
477
- // Get all claimed tasks in this session
478
- const claimedTasks = db
479
- .prepare(`SELECT * FROM swarm_tasks WHERE session_id = ? AND status = 'claimed' AND id != ?`)
480
- .all(sessionId, task.id);
481
- const conflicts = [];
482
- for (const claimedTask of claimedTasks) {
483
- const claimedFiles = (0, swarm_db_js_1.parseFilesOwned)(claimedTask);
484
- // Check for intersection
485
- const hasConflict = files.some((file) => claimedFiles.includes(file));
486
- if (hasConflict) {
487
- conflicts.push(claimedTask);
488
- }
489
- }
490
- return conflicts;
491
- }
492
- /**
493
- * Setup auto-checkpoint listeners (F6)
494
- */
495
- setupAutoCheckpoint() {
496
- // session-complete: immediate checkpoint (no debounce)
497
- this.on('session-complete', async (sessionId) => {
498
- try {
499
- await this.saveSessionCheckpoint(sessionId, true);
500
- // Reset fail counter on success
501
- this.checkpointFailCounts.delete(sessionId);
502
- }
503
- catch (err) {
504
- const failCount = (this.checkpointFailCounts.get(sessionId) || 0) + 1;
505
- this.checkpointFailCounts.set(sessionId, failCount);
506
- if (failCount >= 3) {
507
- debugLogger.warn(`[SwarmTaskRunner] Checkpoint failed ${failCount} times for session ${sessionId}. Continuing without checkpoint.`, err);
508
- }
509
- else {
510
- debugLogger.warn(`[SwarmTaskRunner] Failed to save checkpoint for session ${sessionId}:`, err);
511
- }
512
- }
513
- });
514
- // task-completed / task-failed: debounced checkpoint
515
- const handleTaskEvent = async (result) => {
516
- if (!result)
517
- return;
518
- // Extract sessionId from taskId (format: {sessionId}-task-{N})
519
- const match = result.taskId.match(/^(.+)-task-\d+$/);
520
- if (!match)
521
- return;
522
- const sessionId = match[1];
523
- this.scheduleCheckpoint(sessionId);
524
- };
525
- this.on('task-completed', handleTaskEvent);
526
- this.on('task-failed', handleTaskEvent);
527
- }
528
- /**
529
- * Schedule a debounced checkpoint save (F6)
530
- */
531
- scheduleCheckpoint(sessionId) {
532
- // Clear existing timer
533
- const existingTimer = this.checkpointTimers.get(sessionId);
534
- if (existingTimer) {
535
- clearTimeout(existingTimer);
536
- }
537
- // Schedule new timer
538
- const timer = setTimeout(async () => {
539
- try {
540
- await this.saveSessionCheckpoint(sessionId, false);
541
- this.checkpointTimers.delete(sessionId);
542
- // Reset fail counter on success
543
- this.checkpointFailCounts.delete(sessionId);
544
- }
545
- catch (err) {
546
- const failCount = (this.checkpointFailCounts.get(sessionId) || 0) + 1;
547
- this.checkpointFailCounts.set(sessionId, failCount);
548
- if (failCount >= 3) {
549
- debugLogger.warn(`[SwarmTaskRunner] Checkpoint failed ${failCount} times for session ${sessionId}. Continuing without checkpoint.`, err);
550
- }
551
- else {
552
- debugLogger.warn(`[SwarmTaskRunner] Failed to save debounced checkpoint:`, err);
553
- }
554
- }
555
- }, this.checkpointDebounceMs);
556
- this.checkpointTimers.set(sessionId, timer);
557
- }
558
- /**
559
- * Save session checkpoint to MAMA (F6)
560
- */
561
- async saveSessionCheckpoint(sessionId, isComplete) {
562
- const db = this.swarmManager.getDatabase();
563
- // Get all tasks for this session
564
- const allTasks = (0, swarm_db_js_1.getTasksBySession)(db, sessionId);
565
- const completed = allTasks.filter((t) => t.status === 'completed').length;
566
- const failed = allTasks.filter((t) => t.status === 'failed').length;
567
- const total = allTasks.length;
568
- // Build summary
569
- const summary = isComplete
570
- ? `Swarm session ${sessionId} completed. ${completed}/${total} tasks succeeded.`
571
- : `Swarm session ${sessionId} progress: ${completed}/${total} tasks completed.`;
572
- // Collect open files (files_owned from active tasks)
573
- const activeTasks = allTasks.filter((t) => t.status === 'claimed' || t.status === 'completed');
574
- const openFiles = [];
575
- for (const task of activeTasks) {
576
- if (task.files_owned) {
577
- const files = (0, swarm_db_js_1.parseFilesOwned)(task);
578
- openFiles.push(...files);
579
- }
580
- }
581
- // Build next steps (list failed tasks if any)
582
- let nextSteps = '';
583
- if (failed > 0) {
584
- const failedTasks = allTasks.filter((t) => t.status === 'failed');
585
- const failedDescriptions = failedTasks.map((t) => `- ${t.description}`).slice(0, 5);
586
- nextSteps = `Failed tasks (${failed}):\n${failedDescriptions.join('\n')}`;
587
- }
588
- // Save checkpoint via swarm-mama-adapter
589
- const { saveSwarmCheckpoint } = await import('./swarm-mama-adapter.js');
590
- await saveSwarmCheckpoint(sessionId, summary, openFiles, nextSteps);
591
- }
592
- /**
593
- * Stop all sessions
594
- */
595
- stopAll() {
596
- console.log(`[SwarmTaskRunner] Stopping all sessions (${this.sessions.size})`);
597
- for (const sessionId of Array.from(this.sessions.keys())) {
598
- this.stopSession(sessionId);
599
- }
600
- }
601
- /**
602
- * Get active session count
603
- */
604
- getActiveSessionCount() {
605
- return this.sessions.size;
606
- }
607
- /**
608
- * Get active session IDs
609
- */
610
- getActiveSessionIds() {
611
- return Array.from(this.sessions.keys());
612
- }
613
- }
614
- exports.SwarmTaskRunner = SwarmTaskRunner;
615
- //# sourceMappingURL=swarm-task-runner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"swarm-task-runner.js","sourceRoot":"","sources":["../../../src/multi-agent/swarm/swarm-task-runner.ts"],"names":[],"mappings":"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"}