@jungjaehoon/mama-os 0.28.6 → 0.29.1

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 (452) 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/trigger-author.d.ts +7 -0
  207. package/dist/operator/trigger-author.d.ts.map +1 -1
  208. package/dist/operator/trigger-author.js +78 -7
  209. package/dist/operator/trigger-author.js.map +1 -1
  210. package/dist/operator/worker-run.js +1 -1
  211. package/dist/operator/worker-run.js.map +1 -1
  212. package/dist/operator/workorder-hooks.d.ts +79 -4
  213. package/dist/operator/workorder-hooks.d.ts.map +1 -1
  214. package/dist/operator/workorder-hooks.js +152 -20
  215. package/dist/operator/workorder-hooks.js.map +1 -1
  216. package/dist/operator/workorder-publishers.d.ts +2 -0
  217. package/dist/operator/workorder-publishers.d.ts.map +1 -1
  218. package/dist/operator/workorder-publishers.js +8 -1
  219. package/dist/operator/workorder-publishers.js.map +1 -1
  220. package/dist/utils/untrusted-content.d.ts +11 -0
  221. package/dist/utils/untrusted-content.d.ts.map +1 -1
  222. package/dist/utils/untrusted-content.js +20 -0
  223. package/dist/utils/untrusted-content.js.map +1 -1
  224. package/package.json +4 -3
  225. package/scripts/backfill-channel-keys.ts +451 -0
  226. package/dist/agent/auto-recall.d.ts +0 -48
  227. package/dist/agent/auto-recall.d.ts.map +0 -1
  228. package/dist/agent/auto-recall.js +0 -192
  229. package/dist/agent/auto-recall.js.map +0 -1
  230. package/dist/agent/claude-client.d.ts +0 -50
  231. package/dist/agent/claude-client.d.ts.map +0 -1
  232. package/dist/agent/claude-client.js +0 -219
  233. package/dist/agent/claude-client.js.map +0 -1
  234. package/dist/agent/delegation-executor.d.ts +0 -49
  235. package/dist/agent/delegation-executor.d.ts.map +0 -1
  236. package/dist/agent/delegation-executor.js +0 -692
  237. package/dist/agent/delegation-executor.js.map +0 -1
  238. package/dist/agent/mcp-executor.d.ts +0 -60
  239. package/dist/agent/mcp-executor.d.ts.map +0 -1
  240. package/dist/agent/mcp-executor.js +0 -190
  241. package/dist/agent/mcp-executor.js.map +0 -1
  242. package/dist/agent/process-tree.d.ts +0 -6
  243. package/dist/agent/process-tree.d.ts.map +0 -1
  244. package/dist/agent/process-tree.js +0 -21
  245. package/dist/agent/process-tree.js.map +0 -1
  246. package/dist/agent/streaming-callback-manager.d.ts +0 -85
  247. package/dist/agent/streaming-callback-manager.d.ts.map +0 -1
  248. package/dist/agent/streaming-callback-manager.js +0 -103
  249. package/dist/agent/streaming-callback-manager.js.map +0 -1
  250. package/dist/agent/token-budget.d.ts +0 -49
  251. package/dist/agent/token-budget.d.ts.map +0 -1
  252. package/dist/agent/token-budget.js +0 -92
  253. package/dist/agent/token-budget.js.map +0 -1
  254. package/dist/connectors/kagemusha/history-compiler.d.ts +0 -18
  255. package/dist/connectors/kagemusha/history-compiler.d.ts.map +0 -1
  256. package/dist/connectors/kagemusha/history-compiler.js +0 -35
  257. package/dist/connectors/kagemusha/history-compiler.js.map +0 -1
  258. package/dist/db/migrations/wiki-artifacts.d.ts +0 -3
  259. package/dist/db/migrations/wiki-artifacts.d.ts.map +0 -1
  260. package/dist/db/migrations/wiki-artifacts.js +0 -24
  261. package/dist/db/migrations/wiki-artifacts.js.map +0 -1
  262. package/dist/envelope/subset.d.ts +0 -9
  263. package/dist/envelope/subset.d.ts.map +0 -1
  264. package/dist/envelope/subset.js +0 -67
  265. package/dist/envelope/subset.js.map +0 -1
  266. package/dist/memory/consult-contract.d.ts +0 -8
  267. package/dist/memory/consult-contract.d.ts.map +0 -1
  268. package/dist/memory/consult-contract.js.map +0 -1
  269. package/dist/multi-agent/agent-message-queue.d.ts +0 -104
  270. package/dist/multi-agent/agent-message-queue.d.ts.map +0 -1
  271. package/dist/multi-agent/agent-message-queue.js +0 -227
  272. package/dist/multi-agent/agent-message-queue.js.map +0 -1
  273. package/dist/multi-agent/background-task-manager.d.ts +0 -248
  274. package/dist/multi-agent/background-task-manager.d.ts.map +0 -1
  275. package/dist/multi-agent/background-task-manager.js +0 -415
  276. package/dist/multi-agent/background-task-manager.js.map +0 -1
  277. package/dist/multi-agent/category-router.d.ts +0 -56
  278. package/dist/multi-agent/category-router.d.ts.map +0 -1
  279. package/dist/multi-agent/category-router.js +0 -99
  280. package/dist/multi-agent/category-router.js.map +0 -1
  281. package/dist/multi-agent/council-engine.d.ts +0 -60
  282. package/dist/multi-agent/council-engine.d.ts.map +0 -1
  283. package/dist/multi-agent/council-engine.js +0 -284
  284. package/dist/multi-agent/council-engine.js.map +0 -1
  285. package/dist/multi-agent/delegation-format-validator.d.ts +0 -22
  286. package/dist/multi-agent/delegation-format-validator.d.ts.map +0 -1
  287. package/dist/multi-agent/delegation-format-validator.js +0 -31
  288. package/dist/multi-agent/delegation-format-validator.js.map +0 -1
  289. package/dist/multi-agent/delegation-manager.d.ts +0 -128
  290. package/dist/multi-agent/delegation-manager.d.ts.map +0 -1
  291. package/dist/multi-agent/delegation-manager.js +0 -276
  292. package/dist/multi-agent/delegation-manager.js.map +0 -1
  293. package/dist/multi-agent/i18n-messages.d.ts +0 -35
  294. package/dist/multi-agent/i18n-messages.d.ts.map +0 -1
  295. package/dist/multi-agent/i18n-messages.js +0 -54
  296. package/dist/multi-agent/i18n-messages.js.map +0 -1
  297. package/dist/multi-agent/index.d.ts +0 -31
  298. package/dist/multi-agent/index.d.ts.map +0 -1
  299. package/dist/multi-agent/index.js +0 -46
  300. package/dist/multi-agent/index.js.map +0 -1
  301. package/dist/multi-agent/multi-agent-base.d.ts +0 -223
  302. package/dist/multi-agent/multi-agent-base.d.ts.map +0 -1
  303. package/dist/multi-agent/multi-agent-base.js +0 -592
  304. package/dist/multi-agent/multi-agent-base.js.map +0 -1
  305. package/dist/multi-agent/multi-agent-discord.d.ts +0 -142
  306. package/dist/multi-agent/multi-agent-discord.d.ts.map +0 -1
  307. package/dist/multi-agent/multi-agent-discord.js +0 -1235
  308. package/dist/multi-agent/multi-agent-discord.js.map +0 -1
  309. package/dist/multi-agent/multi-agent-slack.d.ts +0 -146
  310. package/dist/multi-agent/multi-agent-slack.d.ts.map +0 -1
  311. package/dist/multi-agent/multi-agent-slack.js +0 -953
  312. package/dist/multi-agent/multi-agent-slack.js.map +0 -1
  313. package/dist/multi-agent/multi-bot-manager.d.ts +0 -119
  314. package/dist/multi-agent/multi-bot-manager.d.ts.map +0 -1
  315. package/dist/multi-agent/multi-bot-manager.js +0 -449
  316. package/dist/multi-agent/multi-bot-manager.js.map +0 -1
  317. package/dist/multi-agent/orchestrator.d.ts +0 -110
  318. package/dist/multi-agent/orchestrator.d.ts.map +0 -1
  319. package/dist/multi-agent/orchestrator.js +0 -436
  320. package/dist/multi-agent/orchestrator.js.map +0 -1
  321. package/dist/multi-agent/rate-limiter.d.ts +0 -76
  322. package/dist/multi-agent/rate-limiter.d.ts.map +0 -1
  323. package/dist/multi-agent/rate-limiter.js +0 -128
  324. package/dist/multi-agent/rate-limiter.js.map +0 -1
  325. package/dist/multi-agent/shared-context.d.ts +0 -127
  326. package/dist/multi-agent/shared-context.d.ts.map +0 -1
  327. package/dist/multi-agent/shared-context.js +0 -239
  328. package/dist/multi-agent/shared-context.js.map +0 -1
  329. package/dist/multi-agent/slack-config-validator.d.ts +0 -42
  330. package/dist/multi-agent/slack-config-validator.d.ts.map +0 -1
  331. package/dist/multi-agent/slack-config-validator.js +0 -194
  332. package/dist/multi-agent/slack-config-validator.js.map +0 -1
  333. package/dist/multi-agent/slack-multi-bot-manager.d.ts +0 -143
  334. package/dist/multi-agent/slack-multi-bot-manager.d.ts.map +0 -1
  335. package/dist/multi-agent/slack-multi-bot-manager.js +0 -413
  336. package/dist/multi-agent/slack-multi-bot-manager.js.map +0 -1
  337. package/dist/multi-agent/swarm/swarm-anti-pattern-detector.d.ts +0 -98
  338. package/dist/multi-agent/swarm/swarm-anti-pattern-detector.d.ts.map +0 -1
  339. package/dist/multi-agent/swarm/swarm-anti-pattern-detector.js +0 -225
  340. package/dist/multi-agent/swarm/swarm-anti-pattern-detector.js.map +0 -1
  341. package/dist/multi-agent/swarm/swarm-db.d.ts +0 -175
  342. package/dist/multi-agent/swarm/swarm-db.d.ts.map +0 -1
  343. package/dist/multi-agent/swarm/swarm-db.js +0 -313
  344. package/dist/multi-agent/swarm/swarm-db.js.map +0 -1
  345. package/dist/multi-agent/swarm/swarm-event-reporter.d.ts +0 -116
  346. package/dist/multi-agent/swarm/swarm-event-reporter.d.ts.map +0 -1
  347. package/dist/multi-agent/swarm/swarm-event-reporter.js +0 -243
  348. package/dist/multi-agent/swarm/swarm-event-reporter.js.map +0 -1
  349. package/dist/multi-agent/swarm/swarm-mama-adapter.d.ts +0 -57
  350. package/dist/multi-agent/swarm/swarm-mama-adapter.d.ts.map +0 -1
  351. package/dist/multi-agent/swarm/swarm-mama-adapter.js +0 -87
  352. package/dist/multi-agent/swarm/swarm-mama-adapter.js.map +0 -1
  353. package/dist/multi-agent/swarm/swarm-manager.d.ts +0 -122
  354. package/dist/multi-agent/swarm/swarm-manager.d.ts.map +0 -1
  355. package/dist/multi-agent/swarm/swarm-manager.js +0 -199
  356. package/dist/multi-agent/swarm/swarm-manager.js.map +0 -1
  357. package/dist/multi-agent/swarm/swarm-task-learner.d.ts +0 -104
  358. package/dist/multi-agent/swarm/swarm-task-learner.d.ts.map +0 -1
  359. package/dist/multi-agent/swarm/swarm-task-learner.js +0 -211
  360. package/dist/multi-agent/swarm/swarm-task-learner.js.map +0 -1
  361. package/dist/multi-agent/swarm/swarm-task-runner.d.ts +0 -155
  362. package/dist/multi-agent/swarm/swarm-task-runner.d.ts.map +0 -1
  363. package/dist/multi-agent/swarm/swarm-task-runner.js +0 -615
  364. package/dist/multi-agent/swarm/swarm-task-runner.js.map +0 -1
  365. package/dist/multi-agent/swarm/wave-engine.d.ts +0 -96
  366. package/dist/multi-agent/swarm/wave-engine.d.ts.map +0 -1
  367. package/dist/multi-agent/swarm/wave-engine.js +0 -123
  368. package/dist/multi-agent/swarm/wave-engine.js.map +0 -1
  369. package/dist/multi-agent/system-reminder.d.ts +0 -206
  370. package/dist/multi-agent/system-reminder.d.ts.map +0 -1
  371. package/dist/multi-agent/system-reminder.js +0 -455
  372. package/dist/multi-agent/system-reminder.js.map +0 -1
  373. package/dist/multi-agent/task-continuation.d.ts +0 -74
  374. package/dist/multi-agent/task-continuation.d.ts.map +0 -1
  375. package/dist/multi-agent/task-continuation.js +0 -172
  376. package/dist/multi-agent/task-continuation.js.map +0 -1
  377. package/dist/multi-agent/ultrawork-state.d.ts +0 -57
  378. package/dist/multi-agent/ultrawork-state.d.ts.map +0 -1
  379. package/dist/multi-agent/ultrawork-state.js +0 -191
  380. package/dist/multi-agent/ultrawork-state.js.map +0 -1
  381. package/dist/multi-agent/ultrawork.d.ts +0 -152
  382. package/dist/multi-agent/ultrawork.d.ts.map +0 -1
  383. package/dist/multi-agent/ultrawork.js +0 -879
  384. package/dist/multi-agent/ultrawork.js.map +0 -1
  385. package/dist/multi-agent/work-tracker.d.ts +0 -22
  386. package/dist/multi-agent/work-tracker.d.ts.map +0 -1
  387. package/dist/multi-agent/work-tracker.js +0 -45
  388. package/dist/multi-agent/work-tracker.js.map +0 -1
  389. package/dist/multi-agent/workflow-engine.d.ts +0 -87
  390. package/dist/multi-agent/workflow-engine.d.ts.map +0 -1
  391. package/dist/multi-agent/workflow-engine.js +0 -604
  392. package/dist/multi-agent/workflow-engine.js.map +0 -1
  393. package/dist/onboarding/all-tools.d.ts +0 -18
  394. package/dist/onboarding/all-tools.d.ts.map +0 -1
  395. package/dist/onboarding/all-tools.js +0 -149
  396. package/dist/onboarding/all-tools.js.map +0 -1
  397. package/dist/onboarding/autonomous-discovery-tools.d.ts +0 -23
  398. package/dist/onboarding/autonomous-discovery-tools.d.ts.map +0 -1
  399. package/dist/onboarding/autonomous-discovery-tools.js +0 -268
  400. package/dist/onboarding/autonomous-discovery-tools.js.map +0 -1
  401. package/dist/onboarding/onboarding-state.d.ts +0 -70
  402. package/dist/onboarding/onboarding-state.d.ts.map +0 -1
  403. package/dist/onboarding/onboarding-state.js +0 -183
  404. package/dist/onboarding/onboarding-state.js.map +0 -1
  405. package/dist/onboarding/personality-quiz.d.ts +0 -35
  406. package/dist/onboarding/personality-quiz.d.ts.map +0 -1
  407. package/dist/onboarding/personality-quiz.js +0 -219
  408. package/dist/onboarding/personality-quiz.js.map +0 -1
  409. package/dist/onboarding/phase-5-summary.d.ts +0 -26
  410. package/dist/onboarding/phase-5-summary.d.ts.map +0 -1
  411. package/dist/onboarding/phase-5-summary.js +0 -153
  412. package/dist/onboarding/phase-5-summary.js.map +0 -1
  413. package/dist/onboarding/phase-6-security.d.ts +0 -33
  414. package/dist/onboarding/phase-6-security.d.ts.map +0 -1
  415. package/dist/onboarding/phase-6-security.js +0 -473
  416. package/dist/onboarding/phase-6-security.js.map +0 -1
  417. package/dist/onboarding/phase-7-integrations.d.ts +0 -91
  418. package/dist/onboarding/phase-7-integrations.d.ts.map +0 -1
  419. package/dist/onboarding/phase-7-integrations.js +0 -725
  420. package/dist/onboarding/phase-7-integrations.js.map +0 -1
  421. package/dist/onboarding/phase-8-demo.d.ts +0 -43
  422. package/dist/onboarding/phase-8-demo.d.ts.map +0 -1
  423. package/dist/onboarding/phase-8-demo.js +0 -346
  424. package/dist/onboarding/phase-8-demo.js.map +0 -1
  425. package/dist/onboarding/phase-9-finalization.d.ts +0 -27
  426. package/dist/onboarding/phase-9-finalization.d.ts.map +0 -1
  427. package/dist/onboarding/phase-9-finalization.js +0 -417
  428. package/dist/onboarding/phase-9-finalization.js.map +0 -1
  429. package/dist/onboarding/ritual-prompt.d.ts +0 -2
  430. package/dist/onboarding/ritual-prompt.d.ts.map +0 -1
  431. package/dist/onboarding/ritual-prompt.js +0 -285
  432. package/dist/onboarding/ritual-prompt.js.map +0 -1
  433. package/dist/onboarding/ritual-tools.d.ts +0 -17
  434. package/dist/onboarding/ritual-tools.d.ts.map +0 -1
  435. package/dist/onboarding/ritual-tools.js +0 -93
  436. package/dist/onboarding/ritual-tools.js.map +0 -1
  437. package/dist/setup/setup-tools.d.ts +0 -13
  438. package/dist/setup/setup-tools.d.ts.map +0 -1
  439. package/dist/setup/setup-tools.js +0 -106
  440. package/dist/setup/setup-tools.js.map +0 -1
  441. package/dist/utils/slack-input-validator.d.ts +0 -74
  442. package/dist/utils/slack-input-validator.d.ts.map +0 -1
  443. package/dist/utils/slack-input-validator.js +0 -275
  444. package/dist/utils/slack-input-validator.js.map +0 -1
  445. package/dist/utils/slack-rate-limiter.d.ts +0 -139
  446. package/dist/utils/slack-rate-limiter.d.ts.map +0 -1
  447. package/dist/utils/slack-rate-limiter.js +0 -324
  448. package/dist/utils/slack-rate-limiter.js.map +0 -1
  449. package/dist/wiki/wiki-compiler.d.ts +0 -13
  450. package/dist/wiki/wiki-compiler.d.ts.map +0 -1
  451. package/dist/wiki/wiki-compiler.js +0 -82
  452. 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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"}