@jungjaehoon/mama-os 0.28.5 → 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 (454) 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 +44 -12
  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/agent-loop-init.d.ts.map +1 -1
  82. package/dist/cli/runtime/agent-loop-init.js +9 -1
  83. package/dist/cli/runtime/agent-loop-init.js.map +1 -1
  84. package/dist/cli/runtime/api-routes-init.d.ts.map +1 -1
  85. package/dist/cli/runtime/api-routes-init.js +32 -5
  86. package/dist/cli/runtime/api-routes-init.js.map +1 -1
  87. package/dist/cli/runtime/api-server-init.d.ts.map +1 -1
  88. package/dist/cli/runtime/api-server-init.js +2 -0
  89. package/dist/cli/runtime/api-server-init.js.map +1 -1
  90. package/dist/cli/runtime/gateway-init.d.ts +1 -1
  91. package/dist/cli/runtime/gateway-init.d.ts.map +1 -1
  92. package/dist/cli/runtime/gateway-init.js +11 -38
  93. package/dist/cli/runtime/gateway-init.js.map +1 -1
  94. package/dist/cli/runtime/gateway-wiring.d.ts.map +1 -1
  95. package/dist/cli/runtime/gateway-wiring.js +6 -120
  96. package/dist/cli/runtime/gateway-wiring.js.map +1 -1
  97. package/dist/cli/utils/pid-manager.d.ts +0 -10
  98. package/dist/cli/utils/pid-manager.d.ts.map +1 -1
  99. package/dist/cli/utils/pid-manager.js +0 -26
  100. package/dist/cli/utils/pid-manager.js.map +1 -1
  101. package/dist/connectors/framework/polling-scheduler.d.ts +33 -1
  102. package/dist/connectors/framework/polling-scheduler.d.ts.map +1 -1
  103. package/dist/connectors/framework/polling-scheduler.js +46 -40
  104. package/dist/connectors/framework/polling-scheduler.js.map +1 -1
  105. package/dist/connectors/trello/query-tools.d.ts +32 -5
  106. package/dist/connectors/trello/query-tools.d.ts.map +1 -1
  107. package/dist/connectors/trello/query-tools.js +56 -17
  108. package/dist/connectors/trello/query-tools.js.map +1 -1
  109. package/dist/db/agent-store.d.ts +0 -4
  110. package/dist/db/agent-store.d.ts.map +1 -1
  111. package/dist/db/agent-store.js +0 -65
  112. package/dist/db/agent-store.js.map +1 -1
  113. package/dist/envelope/enforcer.d.ts.map +1 -1
  114. package/dist/envelope/enforcer.js +10 -1
  115. package/dist/envelope/enforcer.js.map +1 -1
  116. package/dist/envelope/index.d.ts +0 -1
  117. package/dist/envelope/index.d.ts.map +1 -1
  118. package/dist/envelope/index.js +0 -1
  119. package/dist/envelope/index.js.map +1 -1
  120. package/dist/envelope/signature.d.ts +0 -1
  121. package/dist/envelope/signature.d.ts.map +1 -1
  122. package/dist/envelope/signature.js +0 -7
  123. package/dist/envelope/signature.js.map +1 -1
  124. package/dist/envelope/tool-connector-scope.d.ts +35 -0
  125. package/dist/envelope/tool-connector-scope.d.ts.map +1 -0
  126. package/dist/envelope/tool-connector-scope.js +57 -0
  127. package/dist/envelope/tool-connector-scope.js.map +1 -0
  128. package/dist/evidence/effects.d.ts +107 -0
  129. package/dist/evidence/effects.d.ts.map +1 -0
  130. package/dist/evidence/effects.js +281 -0
  131. package/dist/evidence/effects.js.map +1 -0
  132. package/dist/evidence/read.d.ts +75 -0
  133. package/dist/evidence/read.d.ts.map +1 -0
  134. package/dist/evidence/read.js +105 -0
  135. package/dist/evidence/read.js.map +1 -0
  136. package/dist/gateways/base-gateway.d.ts +23 -3
  137. package/dist/gateways/base-gateway.d.ts.map +1 -1
  138. package/dist/gateways/base-gateway.js +15 -2
  139. package/dist/gateways/base-gateway.js.map +1 -1
  140. package/dist/gateways/discord.d.ts +4 -16
  141. package/dist/gateways/discord.d.ts.map +1 -1
  142. package/dist/gateways/discord.js +22 -189
  143. package/dist/gateways/discord.js.map +1 -1
  144. package/dist/gateways/index.d.ts +2 -1
  145. package/dist/gateways/index.d.ts.map +1 -1
  146. package/dist/gateways/message-router.d.ts +13 -20
  147. package/dist/gateways/message-router.d.ts.map +1 -1
  148. package/dist/gateways/message-router.js +32 -3
  149. package/dist/gateways/message-router.js.map +1 -1
  150. package/dist/gateways/slack.d.ts +2 -12
  151. package/dist/gateways/slack.d.ts.map +1 -1
  152. package/dist/gateways/slack.js +6 -220
  153. package/dist/gateways/slack.js.map +1 -1
  154. package/dist/gateways/telegram.d.ts +2 -2
  155. package/dist/gateways/telegram.d.ts.map +1 -1
  156. package/dist/gateways/telegram.js +3 -2
  157. package/dist/gateways/telegram.js.map +1 -1
  158. package/dist/gateways/turn-contract.d.ts +104 -0
  159. package/dist/gateways/turn-contract.d.ts.map +1 -0
  160. package/dist/{memory/consult-contract.js → gateways/turn-contract.js} +1 -1
  161. package/dist/gateways/turn-contract.js.map +1 -0
  162. package/dist/memory/provenance-live.d.ts +111 -0
  163. package/dist/memory/provenance-live.d.ts.map +1 -0
  164. package/dist/memory/provenance-live.js +381 -0
  165. package/dist/memory/provenance-live.js.map +1 -0
  166. package/dist/memory/provenance-resolver.d.ts +184 -0
  167. package/dist/memory/provenance-resolver.d.ts.map +1 -0
  168. package/dist/memory/provenance-resolver.js +152 -0
  169. package/dist/memory/provenance-resolver.js.map +1 -0
  170. package/dist/multi-agent/agent-event-bus.d.ts +1 -0
  171. package/dist/multi-agent/agent-event-bus.d.ts.map +1 -1
  172. package/dist/multi-agent/bmad-templates.d.ts +0 -18
  173. package/dist/multi-agent/bmad-templates.d.ts.map +1 -1
  174. package/dist/multi-agent/bmad-templates.js +0 -127
  175. package/dist/multi-agent/bmad-templates.js.map +1 -1
  176. package/dist/multi-agent/dashboard-agent-persona.js +3 -3
  177. package/dist/operator/board-reconcile.d.ts +2 -3
  178. package/dist/operator/board-reconcile.d.ts.map +1 -1
  179. package/dist/operator/board-reconcile.js +18 -32
  180. package/dist/operator/board-reconcile.js.map +1 -1
  181. package/dist/operator/changes-projection.d.ts +70 -0
  182. package/dist/operator/changes-projection.d.ts.map +1 -0
  183. package/dist/operator/changes-projection.js +109 -0
  184. package/dist/operator/changes-projection.js.map +1 -0
  185. package/dist/operator/external-correlation.d.ts +94 -0
  186. package/dist/operator/external-correlation.d.ts.map +1 -0
  187. package/dist/operator/external-correlation.js +177 -0
  188. package/dist/operator/external-correlation.js.map +1 -0
  189. package/dist/operator/operator-trigger-loop.d.ts +9 -1
  190. package/dist/operator/operator-trigger-loop.d.ts.map +1 -1
  191. package/dist/operator/operator-trigger-loop.js +8 -4
  192. package/dist/operator/operator-trigger-loop.js.map +1 -1
  193. package/dist/operator/provenance-lookup.d.ts +18 -0
  194. package/dist/operator/provenance-lookup.d.ts.map +1 -0
  195. package/dist/operator/provenance-lookup.js +54 -0
  196. package/dist/operator/provenance-lookup.js.map +1 -0
  197. package/dist/operator/report-carry.d.ts +18 -1
  198. package/dist/operator/report-carry.d.ts.map +1 -1
  199. package/dist/operator/report-carry.js +22 -3
  200. package/dist/operator/report-carry.js.map +1 -1
  201. package/dist/operator/report-run.d.ts +35 -0
  202. package/dist/operator/report-run.d.ts.map +1 -1
  203. package/dist/operator/report-run.js +184 -24
  204. package/dist/operator/report-run.js.map +1 -1
  205. package/dist/operator/situation-report.d.ts.map +1 -1
  206. package/dist/operator/situation-report.js +9 -2
  207. package/dist/operator/situation-report.js.map +1 -1
  208. package/dist/operator/task-ledger.d.ts +84 -2
  209. package/dist/operator/task-ledger.d.ts.map +1 -1
  210. package/dist/operator/task-ledger.js +274 -31
  211. package/dist/operator/task-ledger.js.map +1 -1
  212. package/dist/operator/worker-run.js +1 -1
  213. package/dist/operator/worker-run.js.map +1 -1
  214. package/dist/operator/workorder-hooks.d.ts +79 -4
  215. package/dist/operator/workorder-hooks.d.ts.map +1 -1
  216. package/dist/operator/workorder-hooks.js +152 -20
  217. package/dist/operator/workorder-hooks.js.map +1 -1
  218. package/dist/operator/workorder-publishers.d.ts +2 -0
  219. package/dist/operator/workorder-publishers.d.ts.map +1 -1
  220. package/dist/operator/workorder-publishers.js +8 -1
  221. package/dist/operator/workorder-publishers.js.map +1 -1
  222. package/dist/utils/untrusted-content.d.ts +11 -0
  223. package/dist/utils/untrusted-content.d.ts.map +1 -1
  224. package/dist/utils/untrusted-content.js +20 -0
  225. package/dist/utils/untrusted-content.js.map +1 -1
  226. package/package.json +4 -3
  227. package/scripts/backfill-channel-keys.ts +451 -0
  228. package/dist/agent/auto-recall.d.ts +0 -48
  229. package/dist/agent/auto-recall.d.ts.map +0 -1
  230. package/dist/agent/auto-recall.js +0 -192
  231. package/dist/agent/auto-recall.js.map +0 -1
  232. package/dist/agent/claude-client.d.ts +0 -50
  233. package/dist/agent/claude-client.d.ts.map +0 -1
  234. package/dist/agent/claude-client.js +0 -219
  235. package/dist/agent/claude-client.js.map +0 -1
  236. package/dist/agent/delegation-executor.d.ts +0 -49
  237. package/dist/agent/delegation-executor.d.ts.map +0 -1
  238. package/dist/agent/delegation-executor.js +0 -692
  239. package/dist/agent/delegation-executor.js.map +0 -1
  240. package/dist/agent/mcp-executor.d.ts +0 -60
  241. package/dist/agent/mcp-executor.d.ts.map +0 -1
  242. package/dist/agent/mcp-executor.js +0 -190
  243. package/dist/agent/mcp-executor.js.map +0 -1
  244. package/dist/agent/process-tree.d.ts +0 -6
  245. package/dist/agent/process-tree.d.ts.map +0 -1
  246. package/dist/agent/process-tree.js +0 -21
  247. package/dist/agent/process-tree.js.map +0 -1
  248. package/dist/agent/streaming-callback-manager.d.ts +0 -85
  249. package/dist/agent/streaming-callback-manager.d.ts.map +0 -1
  250. package/dist/agent/streaming-callback-manager.js +0 -103
  251. package/dist/agent/streaming-callback-manager.js.map +0 -1
  252. package/dist/agent/token-budget.d.ts +0 -49
  253. package/dist/agent/token-budget.d.ts.map +0 -1
  254. package/dist/agent/token-budget.js +0 -92
  255. package/dist/agent/token-budget.js.map +0 -1
  256. package/dist/connectors/kagemusha/history-compiler.d.ts +0 -18
  257. package/dist/connectors/kagemusha/history-compiler.d.ts.map +0 -1
  258. package/dist/connectors/kagemusha/history-compiler.js +0 -35
  259. package/dist/connectors/kagemusha/history-compiler.js.map +0 -1
  260. package/dist/db/migrations/wiki-artifacts.d.ts +0 -3
  261. package/dist/db/migrations/wiki-artifacts.d.ts.map +0 -1
  262. package/dist/db/migrations/wiki-artifacts.js +0 -24
  263. package/dist/db/migrations/wiki-artifacts.js.map +0 -1
  264. package/dist/envelope/subset.d.ts +0 -9
  265. package/dist/envelope/subset.d.ts.map +0 -1
  266. package/dist/envelope/subset.js +0 -67
  267. package/dist/envelope/subset.js.map +0 -1
  268. package/dist/memory/consult-contract.d.ts +0 -8
  269. package/dist/memory/consult-contract.d.ts.map +0 -1
  270. package/dist/memory/consult-contract.js.map +0 -1
  271. package/dist/multi-agent/agent-message-queue.d.ts +0 -104
  272. package/dist/multi-agent/agent-message-queue.d.ts.map +0 -1
  273. package/dist/multi-agent/agent-message-queue.js +0 -227
  274. package/dist/multi-agent/agent-message-queue.js.map +0 -1
  275. package/dist/multi-agent/background-task-manager.d.ts +0 -248
  276. package/dist/multi-agent/background-task-manager.d.ts.map +0 -1
  277. package/dist/multi-agent/background-task-manager.js +0 -415
  278. package/dist/multi-agent/background-task-manager.js.map +0 -1
  279. package/dist/multi-agent/category-router.d.ts +0 -56
  280. package/dist/multi-agent/category-router.d.ts.map +0 -1
  281. package/dist/multi-agent/category-router.js +0 -99
  282. package/dist/multi-agent/category-router.js.map +0 -1
  283. package/dist/multi-agent/council-engine.d.ts +0 -60
  284. package/dist/multi-agent/council-engine.d.ts.map +0 -1
  285. package/dist/multi-agent/council-engine.js +0 -284
  286. package/dist/multi-agent/council-engine.js.map +0 -1
  287. package/dist/multi-agent/delegation-format-validator.d.ts +0 -22
  288. package/dist/multi-agent/delegation-format-validator.d.ts.map +0 -1
  289. package/dist/multi-agent/delegation-format-validator.js +0 -31
  290. package/dist/multi-agent/delegation-format-validator.js.map +0 -1
  291. package/dist/multi-agent/delegation-manager.d.ts +0 -128
  292. package/dist/multi-agent/delegation-manager.d.ts.map +0 -1
  293. package/dist/multi-agent/delegation-manager.js +0 -276
  294. package/dist/multi-agent/delegation-manager.js.map +0 -1
  295. package/dist/multi-agent/i18n-messages.d.ts +0 -35
  296. package/dist/multi-agent/i18n-messages.d.ts.map +0 -1
  297. package/dist/multi-agent/i18n-messages.js +0 -54
  298. package/dist/multi-agent/i18n-messages.js.map +0 -1
  299. package/dist/multi-agent/index.d.ts +0 -31
  300. package/dist/multi-agent/index.d.ts.map +0 -1
  301. package/dist/multi-agent/index.js +0 -46
  302. package/dist/multi-agent/index.js.map +0 -1
  303. package/dist/multi-agent/multi-agent-base.d.ts +0 -223
  304. package/dist/multi-agent/multi-agent-base.d.ts.map +0 -1
  305. package/dist/multi-agent/multi-agent-base.js +0 -592
  306. package/dist/multi-agent/multi-agent-base.js.map +0 -1
  307. package/dist/multi-agent/multi-agent-discord.d.ts +0 -142
  308. package/dist/multi-agent/multi-agent-discord.d.ts.map +0 -1
  309. package/dist/multi-agent/multi-agent-discord.js +0 -1235
  310. package/dist/multi-agent/multi-agent-discord.js.map +0 -1
  311. package/dist/multi-agent/multi-agent-slack.d.ts +0 -146
  312. package/dist/multi-agent/multi-agent-slack.d.ts.map +0 -1
  313. package/dist/multi-agent/multi-agent-slack.js +0 -953
  314. package/dist/multi-agent/multi-agent-slack.js.map +0 -1
  315. package/dist/multi-agent/multi-bot-manager.d.ts +0 -119
  316. package/dist/multi-agent/multi-bot-manager.d.ts.map +0 -1
  317. package/dist/multi-agent/multi-bot-manager.js +0 -449
  318. package/dist/multi-agent/multi-bot-manager.js.map +0 -1
  319. package/dist/multi-agent/orchestrator.d.ts +0 -110
  320. package/dist/multi-agent/orchestrator.d.ts.map +0 -1
  321. package/dist/multi-agent/orchestrator.js +0 -436
  322. package/dist/multi-agent/orchestrator.js.map +0 -1
  323. package/dist/multi-agent/rate-limiter.d.ts +0 -76
  324. package/dist/multi-agent/rate-limiter.d.ts.map +0 -1
  325. package/dist/multi-agent/rate-limiter.js +0 -128
  326. package/dist/multi-agent/rate-limiter.js.map +0 -1
  327. package/dist/multi-agent/shared-context.d.ts +0 -127
  328. package/dist/multi-agent/shared-context.d.ts.map +0 -1
  329. package/dist/multi-agent/shared-context.js +0 -239
  330. package/dist/multi-agent/shared-context.js.map +0 -1
  331. package/dist/multi-agent/slack-config-validator.d.ts +0 -42
  332. package/dist/multi-agent/slack-config-validator.d.ts.map +0 -1
  333. package/dist/multi-agent/slack-config-validator.js +0 -194
  334. package/dist/multi-agent/slack-config-validator.js.map +0 -1
  335. package/dist/multi-agent/slack-multi-bot-manager.d.ts +0 -143
  336. package/dist/multi-agent/slack-multi-bot-manager.d.ts.map +0 -1
  337. package/dist/multi-agent/slack-multi-bot-manager.js +0 -413
  338. package/dist/multi-agent/slack-multi-bot-manager.js.map +0 -1
  339. package/dist/multi-agent/swarm/swarm-anti-pattern-detector.d.ts +0 -98
  340. package/dist/multi-agent/swarm/swarm-anti-pattern-detector.d.ts.map +0 -1
  341. package/dist/multi-agent/swarm/swarm-anti-pattern-detector.js +0 -225
  342. package/dist/multi-agent/swarm/swarm-anti-pattern-detector.js.map +0 -1
  343. package/dist/multi-agent/swarm/swarm-db.d.ts +0 -175
  344. package/dist/multi-agent/swarm/swarm-db.d.ts.map +0 -1
  345. package/dist/multi-agent/swarm/swarm-db.js +0 -313
  346. package/dist/multi-agent/swarm/swarm-db.js.map +0 -1
  347. package/dist/multi-agent/swarm/swarm-event-reporter.d.ts +0 -116
  348. package/dist/multi-agent/swarm/swarm-event-reporter.d.ts.map +0 -1
  349. package/dist/multi-agent/swarm/swarm-event-reporter.js +0 -243
  350. package/dist/multi-agent/swarm/swarm-event-reporter.js.map +0 -1
  351. package/dist/multi-agent/swarm/swarm-mama-adapter.d.ts +0 -57
  352. package/dist/multi-agent/swarm/swarm-mama-adapter.d.ts.map +0 -1
  353. package/dist/multi-agent/swarm/swarm-mama-adapter.js +0 -87
  354. package/dist/multi-agent/swarm/swarm-mama-adapter.js.map +0 -1
  355. package/dist/multi-agent/swarm/swarm-manager.d.ts +0 -122
  356. package/dist/multi-agent/swarm/swarm-manager.d.ts.map +0 -1
  357. package/dist/multi-agent/swarm/swarm-manager.js +0 -199
  358. package/dist/multi-agent/swarm/swarm-manager.js.map +0 -1
  359. package/dist/multi-agent/swarm/swarm-task-learner.d.ts +0 -104
  360. package/dist/multi-agent/swarm/swarm-task-learner.d.ts.map +0 -1
  361. package/dist/multi-agent/swarm/swarm-task-learner.js +0 -211
  362. package/dist/multi-agent/swarm/swarm-task-learner.js.map +0 -1
  363. package/dist/multi-agent/swarm/swarm-task-runner.d.ts +0 -155
  364. package/dist/multi-agent/swarm/swarm-task-runner.d.ts.map +0 -1
  365. package/dist/multi-agent/swarm/swarm-task-runner.js +0 -615
  366. package/dist/multi-agent/swarm/swarm-task-runner.js.map +0 -1
  367. package/dist/multi-agent/swarm/wave-engine.d.ts +0 -96
  368. package/dist/multi-agent/swarm/wave-engine.d.ts.map +0 -1
  369. package/dist/multi-agent/swarm/wave-engine.js +0 -123
  370. package/dist/multi-agent/swarm/wave-engine.js.map +0 -1
  371. package/dist/multi-agent/system-reminder.d.ts +0 -206
  372. package/dist/multi-agent/system-reminder.d.ts.map +0 -1
  373. package/dist/multi-agent/system-reminder.js +0 -455
  374. package/dist/multi-agent/system-reminder.js.map +0 -1
  375. package/dist/multi-agent/task-continuation.d.ts +0 -74
  376. package/dist/multi-agent/task-continuation.d.ts.map +0 -1
  377. package/dist/multi-agent/task-continuation.js +0 -172
  378. package/dist/multi-agent/task-continuation.js.map +0 -1
  379. package/dist/multi-agent/ultrawork-state.d.ts +0 -57
  380. package/dist/multi-agent/ultrawork-state.d.ts.map +0 -1
  381. package/dist/multi-agent/ultrawork-state.js +0 -191
  382. package/dist/multi-agent/ultrawork-state.js.map +0 -1
  383. package/dist/multi-agent/ultrawork.d.ts +0 -152
  384. package/dist/multi-agent/ultrawork.d.ts.map +0 -1
  385. package/dist/multi-agent/ultrawork.js +0 -879
  386. package/dist/multi-agent/ultrawork.js.map +0 -1
  387. package/dist/multi-agent/work-tracker.d.ts +0 -22
  388. package/dist/multi-agent/work-tracker.d.ts.map +0 -1
  389. package/dist/multi-agent/work-tracker.js +0 -45
  390. package/dist/multi-agent/work-tracker.js.map +0 -1
  391. package/dist/multi-agent/workflow-engine.d.ts +0 -87
  392. package/dist/multi-agent/workflow-engine.d.ts.map +0 -1
  393. package/dist/multi-agent/workflow-engine.js +0 -604
  394. package/dist/multi-agent/workflow-engine.js.map +0 -1
  395. package/dist/onboarding/all-tools.d.ts +0 -18
  396. package/dist/onboarding/all-tools.d.ts.map +0 -1
  397. package/dist/onboarding/all-tools.js +0 -149
  398. package/dist/onboarding/all-tools.js.map +0 -1
  399. package/dist/onboarding/autonomous-discovery-tools.d.ts +0 -23
  400. package/dist/onboarding/autonomous-discovery-tools.d.ts.map +0 -1
  401. package/dist/onboarding/autonomous-discovery-tools.js +0 -268
  402. package/dist/onboarding/autonomous-discovery-tools.js.map +0 -1
  403. package/dist/onboarding/onboarding-state.d.ts +0 -70
  404. package/dist/onboarding/onboarding-state.d.ts.map +0 -1
  405. package/dist/onboarding/onboarding-state.js +0 -183
  406. package/dist/onboarding/onboarding-state.js.map +0 -1
  407. package/dist/onboarding/personality-quiz.d.ts +0 -35
  408. package/dist/onboarding/personality-quiz.d.ts.map +0 -1
  409. package/dist/onboarding/personality-quiz.js +0 -219
  410. package/dist/onboarding/personality-quiz.js.map +0 -1
  411. package/dist/onboarding/phase-5-summary.d.ts +0 -26
  412. package/dist/onboarding/phase-5-summary.d.ts.map +0 -1
  413. package/dist/onboarding/phase-5-summary.js +0 -153
  414. package/dist/onboarding/phase-5-summary.js.map +0 -1
  415. package/dist/onboarding/phase-6-security.d.ts +0 -33
  416. package/dist/onboarding/phase-6-security.d.ts.map +0 -1
  417. package/dist/onboarding/phase-6-security.js +0 -473
  418. package/dist/onboarding/phase-6-security.js.map +0 -1
  419. package/dist/onboarding/phase-7-integrations.d.ts +0 -91
  420. package/dist/onboarding/phase-7-integrations.d.ts.map +0 -1
  421. package/dist/onboarding/phase-7-integrations.js +0 -725
  422. package/dist/onboarding/phase-7-integrations.js.map +0 -1
  423. package/dist/onboarding/phase-8-demo.d.ts +0 -43
  424. package/dist/onboarding/phase-8-demo.d.ts.map +0 -1
  425. package/dist/onboarding/phase-8-demo.js +0 -346
  426. package/dist/onboarding/phase-8-demo.js.map +0 -1
  427. package/dist/onboarding/phase-9-finalization.d.ts +0 -27
  428. package/dist/onboarding/phase-9-finalization.d.ts.map +0 -1
  429. package/dist/onboarding/phase-9-finalization.js +0 -417
  430. package/dist/onboarding/phase-9-finalization.js.map +0 -1
  431. package/dist/onboarding/ritual-prompt.d.ts +0 -2
  432. package/dist/onboarding/ritual-prompt.d.ts.map +0 -1
  433. package/dist/onboarding/ritual-prompt.js +0 -285
  434. package/dist/onboarding/ritual-prompt.js.map +0 -1
  435. package/dist/onboarding/ritual-tools.d.ts +0 -17
  436. package/dist/onboarding/ritual-tools.d.ts.map +0 -1
  437. package/dist/onboarding/ritual-tools.js +0 -93
  438. package/dist/onboarding/ritual-tools.js.map +0 -1
  439. package/dist/setup/setup-tools.d.ts +0 -13
  440. package/dist/setup/setup-tools.d.ts.map +0 -1
  441. package/dist/setup/setup-tools.js +0 -106
  442. package/dist/setup/setup-tools.js.map +0 -1
  443. package/dist/utils/slack-input-validator.d.ts +0 -74
  444. package/dist/utils/slack-input-validator.d.ts.map +0 -1
  445. package/dist/utils/slack-input-validator.js +0 -275
  446. package/dist/utils/slack-input-validator.js.map +0 -1
  447. package/dist/utils/slack-rate-limiter.d.ts +0 -139
  448. package/dist/utils/slack-rate-limiter.d.ts.map +0 -1
  449. package/dist/utils/slack-rate-limiter.js +0 -324
  450. package/dist/utils/slack-rate-limiter.js.map +0 -1
  451. package/dist/wiki/wiki-compiler.d.ts +0 -13
  452. package/dist/wiki/wiki-compiler.d.ts.map +0 -1
  453. package/dist/wiki/wiki-compiler.js +0 -82
  454. 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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"}