@jungjaehoon/mama-os 0.28.6 → 0.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (448) hide show
  1. package/dist/agent/agent-loop.d.ts +0 -4
  2. package/dist/agent/agent-loop.d.ts.map +1 -1
  3. package/dist/agent/agent-loop.js +33 -10
  4. package/dist/agent/agent-loop.js.map +1 -1
  5. package/dist/agent/code-act/host-bridge.d.ts.map +1 -1
  6. package/dist/agent/code-act/host-bridge.js +53 -3
  7. package/dist/agent/code-act/host-bridge.js.map +1 -1
  8. package/dist/agent/code-act/tool-policy.d.ts.map +1 -1
  9. package/dist/agent/code-act/tool-policy.js +5 -0
  10. package/dist/agent/code-act/tool-policy.js.map +1 -1
  11. package/dist/agent/codex-auth.d.ts +0 -1
  12. package/dist/agent/codex-auth.d.ts.map +1 -1
  13. package/dist/agent/codex-auth.js +0 -4
  14. package/dist/agent/codex-auth.js.map +1 -1
  15. package/dist/agent/codex-home.d.ts +0 -2
  16. package/dist/agent/codex-home.d.ts.map +1 -1
  17. package/dist/agent/codex-home.js +0 -66
  18. package/dist/agent/codex-home.js.map +1 -1
  19. package/dist/agent/context-compile-service.d.ts +9 -0
  20. package/dist/agent/context-compile-service.d.ts.map +1 -1
  21. package/dist/agent/context-compile-service.js +6 -0
  22. package/dist/agent/context-compile-service.js.map +1 -1
  23. package/dist/agent/context-prompt-builder.d.ts +0 -6
  24. package/dist/agent/context-prompt-builder.d.ts.map +1 -1
  25. package/dist/agent/context-prompt-builder.js +0 -131
  26. package/dist/agent/context-prompt-builder.js.map +1 -1
  27. package/dist/agent/contract-extractor.d.ts +0 -4
  28. package/dist/agent/contract-extractor.d.ts.map +1 -1
  29. package/dist/agent/contract-extractor.js +0 -68
  30. package/dist/agent/contract-extractor.js.map +1 -1
  31. package/dist/agent/gateway-tool-executor.d.ts +20 -15
  32. package/dist/agent/gateway-tool-executor.d.ts.map +1 -1
  33. package/dist/agent/gateway-tool-executor.js +236 -90
  34. package/dist/agent/gateway-tool-executor.js.map +1 -1
  35. package/dist/agent/gateway-tools.md +7 -4
  36. package/dist/agent/skill-loader.d.ts +0 -7
  37. package/dist/agent/skill-loader.d.ts.map +1 -1
  38. package/dist/agent/skill-loader.js +0 -86
  39. package/dist/agent/skill-loader.js.map +1 -1
  40. package/dist/agent/token-estimator.d.ts +0 -8
  41. package/dist/agent/token-estimator.d.ts.map +1 -1
  42. package/dist/agent/token-estimator.js +0 -14
  43. package/dist/agent/token-estimator.js.map +1 -1
  44. package/dist/agent/tool-registry.d.ts.map +1 -1
  45. package/dist/agent/tool-registry.js +23 -5
  46. package/dist/agent/tool-registry.js.map +1 -1
  47. package/dist/agent/types.d.ts +27 -1
  48. package/dist/agent/types.d.ts.map +1 -1
  49. package/dist/agent/types.js.map +1 -1
  50. package/dist/api/agent-graph-handler.d.ts +9 -0
  51. package/dist/api/agent-graph-handler.d.ts.map +1 -1
  52. package/dist/api/agent-graph-handler.js +27 -1
  53. package/dist/api/agent-graph-handler.js.map +1 -1
  54. package/dist/api/entity-audit-handler.d.ts +1 -2
  55. package/dist/api/entity-audit-handler.d.ts.map +1 -1
  56. package/dist/api/entity-audit-handler.js +0 -5
  57. package/dist/api/entity-audit-handler.js.map +1 -1
  58. package/dist/api/index.d.ts +1 -9
  59. package/dist/api/index.d.ts.map +1 -1
  60. package/dist/api/index.js +4 -17
  61. package/dist/api/index.js.map +1 -1
  62. package/dist/api/intelligence-handler.d.ts +0 -5
  63. package/dist/api/intelligence-handler.d.ts.map +1 -1
  64. package/dist/api/intelligence-handler.js +0 -15
  65. package/dist/api/intelligence-handler.js.map +1 -1
  66. package/dist/api/types.d.ts +1 -5
  67. package/dist/api/types.d.ts.map +1 -1
  68. package/dist/api/types.js +0 -14
  69. package/dist/api/types.js.map +1 -1
  70. package/dist/cli/commands/start.d.ts +117 -3
  71. package/dist/cli/commands/start.d.ts.map +1 -1
  72. package/dist/cli/commands/start.js +223 -62
  73. package/dist/cli/commands/start.js.map +1 -1
  74. package/dist/cli/config/config-manager.d.ts +0 -5
  75. package/dist/cli/config/config-manager.d.ts.map +1 -1
  76. package/dist/cli/config/config-manager.js +0 -29
  77. package/dist/cli/config/config-manager.js.map +1 -1
  78. package/dist/cli/config/types.d.ts.map +1 -1
  79. package/dist/cli/config/types.js +3 -0
  80. package/dist/cli/config/types.js.map +1 -1
  81. package/dist/cli/runtime/api-routes-init.d.ts.map +1 -1
  82. package/dist/cli/runtime/api-routes-init.js +32 -5
  83. package/dist/cli/runtime/api-routes-init.js.map +1 -1
  84. package/dist/cli/runtime/api-server-init.d.ts.map +1 -1
  85. package/dist/cli/runtime/api-server-init.js +2 -0
  86. package/dist/cli/runtime/api-server-init.js.map +1 -1
  87. package/dist/cli/runtime/gateway-init.d.ts +1 -1
  88. package/dist/cli/runtime/gateway-init.d.ts.map +1 -1
  89. package/dist/cli/runtime/gateway-init.js +11 -38
  90. package/dist/cli/runtime/gateway-init.js.map +1 -1
  91. package/dist/cli/runtime/gateway-wiring.d.ts.map +1 -1
  92. package/dist/cli/runtime/gateway-wiring.js +6 -120
  93. package/dist/cli/runtime/gateway-wiring.js.map +1 -1
  94. package/dist/cli/utils/pid-manager.d.ts +0 -10
  95. package/dist/cli/utils/pid-manager.d.ts.map +1 -1
  96. package/dist/cli/utils/pid-manager.js +0 -26
  97. package/dist/cli/utils/pid-manager.js.map +1 -1
  98. package/dist/connectors/framework/polling-scheduler.d.ts +33 -1
  99. package/dist/connectors/framework/polling-scheduler.d.ts.map +1 -1
  100. package/dist/connectors/framework/polling-scheduler.js +46 -40
  101. package/dist/connectors/framework/polling-scheduler.js.map +1 -1
  102. package/dist/connectors/trello/query-tools.d.ts +32 -5
  103. package/dist/connectors/trello/query-tools.d.ts.map +1 -1
  104. package/dist/connectors/trello/query-tools.js +56 -17
  105. package/dist/connectors/trello/query-tools.js.map +1 -1
  106. package/dist/db/agent-store.d.ts +0 -4
  107. package/dist/db/agent-store.d.ts.map +1 -1
  108. package/dist/db/agent-store.js +0 -65
  109. package/dist/db/agent-store.js.map +1 -1
  110. package/dist/envelope/enforcer.d.ts.map +1 -1
  111. package/dist/envelope/enforcer.js +10 -1
  112. package/dist/envelope/enforcer.js.map +1 -1
  113. package/dist/envelope/index.d.ts +0 -1
  114. package/dist/envelope/index.d.ts.map +1 -1
  115. package/dist/envelope/index.js +0 -1
  116. package/dist/envelope/index.js.map +1 -1
  117. package/dist/envelope/signature.d.ts +0 -1
  118. package/dist/envelope/signature.d.ts.map +1 -1
  119. package/dist/envelope/signature.js +0 -7
  120. package/dist/envelope/signature.js.map +1 -1
  121. package/dist/envelope/tool-connector-scope.d.ts +35 -0
  122. package/dist/envelope/tool-connector-scope.d.ts.map +1 -0
  123. package/dist/envelope/tool-connector-scope.js +57 -0
  124. package/dist/envelope/tool-connector-scope.js.map +1 -0
  125. package/dist/evidence/effects.d.ts +107 -0
  126. package/dist/evidence/effects.d.ts.map +1 -0
  127. package/dist/evidence/effects.js +281 -0
  128. package/dist/evidence/effects.js.map +1 -0
  129. package/dist/evidence/read.d.ts +75 -0
  130. package/dist/evidence/read.d.ts.map +1 -0
  131. package/dist/evidence/read.js +105 -0
  132. package/dist/evidence/read.js.map +1 -0
  133. package/dist/gateways/base-gateway.d.ts +23 -3
  134. package/dist/gateways/base-gateway.d.ts.map +1 -1
  135. package/dist/gateways/base-gateway.js +15 -2
  136. package/dist/gateways/base-gateway.js.map +1 -1
  137. package/dist/gateways/discord.d.ts +4 -16
  138. package/dist/gateways/discord.d.ts.map +1 -1
  139. package/dist/gateways/discord.js +22 -189
  140. package/dist/gateways/discord.js.map +1 -1
  141. package/dist/gateways/index.d.ts +2 -1
  142. package/dist/gateways/index.d.ts.map +1 -1
  143. package/dist/gateways/message-router.d.ts +13 -20
  144. package/dist/gateways/message-router.d.ts.map +1 -1
  145. package/dist/gateways/message-router.js +32 -3
  146. package/dist/gateways/message-router.js.map +1 -1
  147. package/dist/gateways/slack.d.ts +2 -12
  148. package/dist/gateways/slack.d.ts.map +1 -1
  149. package/dist/gateways/slack.js +6 -220
  150. package/dist/gateways/slack.js.map +1 -1
  151. package/dist/gateways/telegram.d.ts +2 -2
  152. package/dist/gateways/telegram.d.ts.map +1 -1
  153. package/dist/gateways/telegram.js +3 -2
  154. package/dist/gateways/telegram.js.map +1 -1
  155. package/dist/gateways/turn-contract.d.ts +104 -0
  156. package/dist/gateways/turn-contract.d.ts.map +1 -0
  157. package/dist/{memory/consult-contract.js → gateways/turn-contract.js} +1 -1
  158. package/dist/gateways/turn-contract.js.map +1 -0
  159. package/dist/memory/provenance-live.d.ts +111 -0
  160. package/dist/memory/provenance-live.d.ts.map +1 -0
  161. package/dist/memory/provenance-live.js +381 -0
  162. package/dist/memory/provenance-live.js.map +1 -0
  163. package/dist/memory/provenance-resolver.d.ts +184 -0
  164. package/dist/memory/provenance-resolver.d.ts.map +1 -0
  165. package/dist/memory/provenance-resolver.js +152 -0
  166. package/dist/memory/provenance-resolver.js.map +1 -0
  167. package/dist/multi-agent/agent-event-bus.d.ts +1 -0
  168. package/dist/multi-agent/agent-event-bus.d.ts.map +1 -1
  169. package/dist/multi-agent/bmad-templates.d.ts +0 -18
  170. package/dist/multi-agent/bmad-templates.d.ts.map +1 -1
  171. package/dist/multi-agent/bmad-templates.js +0 -127
  172. package/dist/multi-agent/bmad-templates.js.map +1 -1
  173. package/dist/multi-agent/dashboard-agent-persona.js +3 -3
  174. package/dist/operator/board-reconcile.d.ts +2 -3
  175. package/dist/operator/board-reconcile.d.ts.map +1 -1
  176. package/dist/operator/board-reconcile.js +18 -32
  177. package/dist/operator/board-reconcile.js.map +1 -1
  178. package/dist/operator/changes-projection.d.ts +70 -0
  179. package/dist/operator/changes-projection.d.ts.map +1 -0
  180. package/dist/operator/changes-projection.js +109 -0
  181. package/dist/operator/changes-projection.js.map +1 -0
  182. package/dist/operator/external-correlation.d.ts +94 -0
  183. package/dist/operator/external-correlation.d.ts.map +1 -0
  184. package/dist/operator/external-correlation.js +177 -0
  185. package/dist/operator/external-correlation.js.map +1 -0
  186. package/dist/operator/operator-trigger-loop.d.ts +9 -1
  187. package/dist/operator/operator-trigger-loop.d.ts.map +1 -1
  188. package/dist/operator/operator-trigger-loop.js +8 -4
  189. package/dist/operator/operator-trigger-loop.js.map +1 -1
  190. package/dist/operator/provenance-lookup.d.ts +18 -0
  191. package/dist/operator/provenance-lookup.d.ts.map +1 -0
  192. package/dist/operator/provenance-lookup.js +54 -0
  193. package/dist/operator/provenance-lookup.js.map +1 -0
  194. package/dist/operator/report-carry.d.ts +18 -1
  195. package/dist/operator/report-carry.d.ts.map +1 -1
  196. package/dist/operator/report-carry.js +22 -3
  197. package/dist/operator/report-carry.js.map +1 -1
  198. package/dist/operator/report-run.d.ts +31 -0
  199. package/dist/operator/report-run.d.ts.map +1 -1
  200. package/dist/operator/report-run.js +140 -22
  201. package/dist/operator/report-run.js.map +1 -1
  202. package/dist/operator/task-ledger.d.ts +84 -2
  203. package/dist/operator/task-ledger.d.ts.map +1 -1
  204. package/dist/operator/task-ledger.js +274 -31
  205. package/dist/operator/task-ledger.js.map +1 -1
  206. package/dist/operator/worker-run.js +1 -1
  207. package/dist/operator/worker-run.js.map +1 -1
  208. package/dist/operator/workorder-hooks.d.ts +79 -4
  209. package/dist/operator/workorder-hooks.d.ts.map +1 -1
  210. package/dist/operator/workorder-hooks.js +152 -20
  211. package/dist/operator/workorder-hooks.js.map +1 -1
  212. package/dist/operator/workorder-publishers.d.ts +2 -0
  213. package/dist/operator/workorder-publishers.d.ts.map +1 -1
  214. package/dist/operator/workorder-publishers.js +8 -1
  215. package/dist/operator/workorder-publishers.js.map +1 -1
  216. package/dist/utils/untrusted-content.d.ts +11 -0
  217. package/dist/utils/untrusted-content.d.ts.map +1 -1
  218. package/dist/utils/untrusted-content.js +20 -0
  219. package/dist/utils/untrusted-content.js.map +1 -1
  220. package/package.json +4 -3
  221. package/scripts/backfill-channel-keys.ts +451 -0
  222. package/dist/agent/auto-recall.d.ts +0 -48
  223. package/dist/agent/auto-recall.d.ts.map +0 -1
  224. package/dist/agent/auto-recall.js +0 -192
  225. package/dist/agent/auto-recall.js.map +0 -1
  226. package/dist/agent/claude-client.d.ts +0 -50
  227. package/dist/agent/claude-client.d.ts.map +0 -1
  228. package/dist/agent/claude-client.js +0 -219
  229. package/dist/agent/claude-client.js.map +0 -1
  230. package/dist/agent/delegation-executor.d.ts +0 -49
  231. package/dist/agent/delegation-executor.d.ts.map +0 -1
  232. package/dist/agent/delegation-executor.js +0 -692
  233. package/dist/agent/delegation-executor.js.map +0 -1
  234. package/dist/agent/mcp-executor.d.ts +0 -60
  235. package/dist/agent/mcp-executor.d.ts.map +0 -1
  236. package/dist/agent/mcp-executor.js +0 -190
  237. package/dist/agent/mcp-executor.js.map +0 -1
  238. package/dist/agent/process-tree.d.ts +0 -6
  239. package/dist/agent/process-tree.d.ts.map +0 -1
  240. package/dist/agent/process-tree.js +0 -21
  241. package/dist/agent/process-tree.js.map +0 -1
  242. package/dist/agent/streaming-callback-manager.d.ts +0 -85
  243. package/dist/agent/streaming-callback-manager.d.ts.map +0 -1
  244. package/dist/agent/streaming-callback-manager.js +0 -103
  245. package/dist/agent/streaming-callback-manager.js.map +0 -1
  246. package/dist/agent/token-budget.d.ts +0 -49
  247. package/dist/agent/token-budget.d.ts.map +0 -1
  248. package/dist/agent/token-budget.js +0 -92
  249. package/dist/agent/token-budget.js.map +0 -1
  250. package/dist/connectors/kagemusha/history-compiler.d.ts +0 -18
  251. package/dist/connectors/kagemusha/history-compiler.d.ts.map +0 -1
  252. package/dist/connectors/kagemusha/history-compiler.js +0 -35
  253. package/dist/connectors/kagemusha/history-compiler.js.map +0 -1
  254. package/dist/db/migrations/wiki-artifacts.d.ts +0 -3
  255. package/dist/db/migrations/wiki-artifacts.d.ts.map +0 -1
  256. package/dist/db/migrations/wiki-artifacts.js +0 -24
  257. package/dist/db/migrations/wiki-artifacts.js.map +0 -1
  258. package/dist/envelope/subset.d.ts +0 -9
  259. package/dist/envelope/subset.d.ts.map +0 -1
  260. package/dist/envelope/subset.js +0 -67
  261. package/dist/envelope/subset.js.map +0 -1
  262. package/dist/memory/consult-contract.d.ts +0 -8
  263. package/dist/memory/consult-contract.d.ts.map +0 -1
  264. package/dist/memory/consult-contract.js.map +0 -1
  265. package/dist/multi-agent/agent-message-queue.d.ts +0 -104
  266. package/dist/multi-agent/agent-message-queue.d.ts.map +0 -1
  267. package/dist/multi-agent/agent-message-queue.js +0 -227
  268. package/dist/multi-agent/agent-message-queue.js.map +0 -1
  269. package/dist/multi-agent/background-task-manager.d.ts +0 -248
  270. package/dist/multi-agent/background-task-manager.d.ts.map +0 -1
  271. package/dist/multi-agent/background-task-manager.js +0 -415
  272. package/dist/multi-agent/background-task-manager.js.map +0 -1
  273. package/dist/multi-agent/category-router.d.ts +0 -56
  274. package/dist/multi-agent/category-router.d.ts.map +0 -1
  275. package/dist/multi-agent/category-router.js +0 -99
  276. package/dist/multi-agent/category-router.js.map +0 -1
  277. package/dist/multi-agent/council-engine.d.ts +0 -60
  278. package/dist/multi-agent/council-engine.d.ts.map +0 -1
  279. package/dist/multi-agent/council-engine.js +0 -284
  280. package/dist/multi-agent/council-engine.js.map +0 -1
  281. package/dist/multi-agent/delegation-format-validator.d.ts +0 -22
  282. package/dist/multi-agent/delegation-format-validator.d.ts.map +0 -1
  283. package/dist/multi-agent/delegation-format-validator.js +0 -31
  284. package/dist/multi-agent/delegation-format-validator.js.map +0 -1
  285. package/dist/multi-agent/delegation-manager.d.ts +0 -128
  286. package/dist/multi-agent/delegation-manager.d.ts.map +0 -1
  287. package/dist/multi-agent/delegation-manager.js +0 -276
  288. package/dist/multi-agent/delegation-manager.js.map +0 -1
  289. package/dist/multi-agent/i18n-messages.d.ts +0 -35
  290. package/dist/multi-agent/i18n-messages.d.ts.map +0 -1
  291. package/dist/multi-agent/i18n-messages.js +0 -54
  292. package/dist/multi-agent/i18n-messages.js.map +0 -1
  293. package/dist/multi-agent/index.d.ts +0 -31
  294. package/dist/multi-agent/index.d.ts.map +0 -1
  295. package/dist/multi-agent/index.js +0 -46
  296. package/dist/multi-agent/index.js.map +0 -1
  297. package/dist/multi-agent/multi-agent-base.d.ts +0 -223
  298. package/dist/multi-agent/multi-agent-base.d.ts.map +0 -1
  299. package/dist/multi-agent/multi-agent-base.js +0 -592
  300. package/dist/multi-agent/multi-agent-base.js.map +0 -1
  301. package/dist/multi-agent/multi-agent-discord.d.ts +0 -142
  302. package/dist/multi-agent/multi-agent-discord.d.ts.map +0 -1
  303. package/dist/multi-agent/multi-agent-discord.js +0 -1235
  304. package/dist/multi-agent/multi-agent-discord.js.map +0 -1
  305. package/dist/multi-agent/multi-agent-slack.d.ts +0 -146
  306. package/dist/multi-agent/multi-agent-slack.d.ts.map +0 -1
  307. package/dist/multi-agent/multi-agent-slack.js +0 -953
  308. package/dist/multi-agent/multi-agent-slack.js.map +0 -1
  309. package/dist/multi-agent/multi-bot-manager.d.ts +0 -119
  310. package/dist/multi-agent/multi-bot-manager.d.ts.map +0 -1
  311. package/dist/multi-agent/multi-bot-manager.js +0 -449
  312. package/dist/multi-agent/multi-bot-manager.js.map +0 -1
  313. package/dist/multi-agent/orchestrator.d.ts +0 -110
  314. package/dist/multi-agent/orchestrator.d.ts.map +0 -1
  315. package/dist/multi-agent/orchestrator.js +0 -436
  316. package/dist/multi-agent/orchestrator.js.map +0 -1
  317. package/dist/multi-agent/rate-limiter.d.ts +0 -76
  318. package/dist/multi-agent/rate-limiter.d.ts.map +0 -1
  319. package/dist/multi-agent/rate-limiter.js +0 -128
  320. package/dist/multi-agent/rate-limiter.js.map +0 -1
  321. package/dist/multi-agent/shared-context.d.ts +0 -127
  322. package/dist/multi-agent/shared-context.d.ts.map +0 -1
  323. package/dist/multi-agent/shared-context.js +0 -239
  324. package/dist/multi-agent/shared-context.js.map +0 -1
  325. package/dist/multi-agent/slack-config-validator.d.ts +0 -42
  326. package/dist/multi-agent/slack-config-validator.d.ts.map +0 -1
  327. package/dist/multi-agent/slack-config-validator.js +0 -194
  328. package/dist/multi-agent/slack-config-validator.js.map +0 -1
  329. package/dist/multi-agent/slack-multi-bot-manager.d.ts +0 -143
  330. package/dist/multi-agent/slack-multi-bot-manager.d.ts.map +0 -1
  331. package/dist/multi-agent/slack-multi-bot-manager.js +0 -413
  332. package/dist/multi-agent/slack-multi-bot-manager.js.map +0 -1
  333. package/dist/multi-agent/swarm/swarm-anti-pattern-detector.d.ts +0 -98
  334. package/dist/multi-agent/swarm/swarm-anti-pattern-detector.d.ts.map +0 -1
  335. package/dist/multi-agent/swarm/swarm-anti-pattern-detector.js +0 -225
  336. package/dist/multi-agent/swarm/swarm-anti-pattern-detector.js.map +0 -1
  337. package/dist/multi-agent/swarm/swarm-db.d.ts +0 -175
  338. package/dist/multi-agent/swarm/swarm-db.d.ts.map +0 -1
  339. package/dist/multi-agent/swarm/swarm-db.js +0 -313
  340. package/dist/multi-agent/swarm/swarm-db.js.map +0 -1
  341. package/dist/multi-agent/swarm/swarm-event-reporter.d.ts +0 -116
  342. package/dist/multi-agent/swarm/swarm-event-reporter.d.ts.map +0 -1
  343. package/dist/multi-agent/swarm/swarm-event-reporter.js +0 -243
  344. package/dist/multi-agent/swarm/swarm-event-reporter.js.map +0 -1
  345. package/dist/multi-agent/swarm/swarm-mama-adapter.d.ts +0 -57
  346. package/dist/multi-agent/swarm/swarm-mama-adapter.d.ts.map +0 -1
  347. package/dist/multi-agent/swarm/swarm-mama-adapter.js +0 -87
  348. package/dist/multi-agent/swarm/swarm-mama-adapter.js.map +0 -1
  349. package/dist/multi-agent/swarm/swarm-manager.d.ts +0 -122
  350. package/dist/multi-agent/swarm/swarm-manager.d.ts.map +0 -1
  351. package/dist/multi-agent/swarm/swarm-manager.js +0 -199
  352. package/dist/multi-agent/swarm/swarm-manager.js.map +0 -1
  353. package/dist/multi-agent/swarm/swarm-task-learner.d.ts +0 -104
  354. package/dist/multi-agent/swarm/swarm-task-learner.d.ts.map +0 -1
  355. package/dist/multi-agent/swarm/swarm-task-learner.js +0 -211
  356. package/dist/multi-agent/swarm/swarm-task-learner.js.map +0 -1
  357. package/dist/multi-agent/swarm/swarm-task-runner.d.ts +0 -155
  358. package/dist/multi-agent/swarm/swarm-task-runner.d.ts.map +0 -1
  359. package/dist/multi-agent/swarm/swarm-task-runner.js +0 -615
  360. package/dist/multi-agent/swarm/swarm-task-runner.js.map +0 -1
  361. package/dist/multi-agent/swarm/wave-engine.d.ts +0 -96
  362. package/dist/multi-agent/swarm/wave-engine.d.ts.map +0 -1
  363. package/dist/multi-agent/swarm/wave-engine.js +0 -123
  364. package/dist/multi-agent/swarm/wave-engine.js.map +0 -1
  365. package/dist/multi-agent/system-reminder.d.ts +0 -206
  366. package/dist/multi-agent/system-reminder.d.ts.map +0 -1
  367. package/dist/multi-agent/system-reminder.js +0 -455
  368. package/dist/multi-agent/system-reminder.js.map +0 -1
  369. package/dist/multi-agent/task-continuation.d.ts +0 -74
  370. package/dist/multi-agent/task-continuation.d.ts.map +0 -1
  371. package/dist/multi-agent/task-continuation.js +0 -172
  372. package/dist/multi-agent/task-continuation.js.map +0 -1
  373. package/dist/multi-agent/ultrawork-state.d.ts +0 -57
  374. package/dist/multi-agent/ultrawork-state.d.ts.map +0 -1
  375. package/dist/multi-agent/ultrawork-state.js +0 -191
  376. package/dist/multi-agent/ultrawork-state.js.map +0 -1
  377. package/dist/multi-agent/ultrawork.d.ts +0 -152
  378. package/dist/multi-agent/ultrawork.d.ts.map +0 -1
  379. package/dist/multi-agent/ultrawork.js +0 -879
  380. package/dist/multi-agent/ultrawork.js.map +0 -1
  381. package/dist/multi-agent/work-tracker.d.ts +0 -22
  382. package/dist/multi-agent/work-tracker.d.ts.map +0 -1
  383. package/dist/multi-agent/work-tracker.js +0 -45
  384. package/dist/multi-agent/work-tracker.js.map +0 -1
  385. package/dist/multi-agent/workflow-engine.d.ts +0 -87
  386. package/dist/multi-agent/workflow-engine.d.ts.map +0 -1
  387. package/dist/multi-agent/workflow-engine.js +0 -604
  388. package/dist/multi-agent/workflow-engine.js.map +0 -1
  389. package/dist/onboarding/all-tools.d.ts +0 -18
  390. package/dist/onboarding/all-tools.d.ts.map +0 -1
  391. package/dist/onboarding/all-tools.js +0 -149
  392. package/dist/onboarding/all-tools.js.map +0 -1
  393. package/dist/onboarding/autonomous-discovery-tools.d.ts +0 -23
  394. package/dist/onboarding/autonomous-discovery-tools.d.ts.map +0 -1
  395. package/dist/onboarding/autonomous-discovery-tools.js +0 -268
  396. package/dist/onboarding/autonomous-discovery-tools.js.map +0 -1
  397. package/dist/onboarding/onboarding-state.d.ts +0 -70
  398. package/dist/onboarding/onboarding-state.d.ts.map +0 -1
  399. package/dist/onboarding/onboarding-state.js +0 -183
  400. package/dist/onboarding/onboarding-state.js.map +0 -1
  401. package/dist/onboarding/personality-quiz.d.ts +0 -35
  402. package/dist/onboarding/personality-quiz.d.ts.map +0 -1
  403. package/dist/onboarding/personality-quiz.js +0 -219
  404. package/dist/onboarding/personality-quiz.js.map +0 -1
  405. package/dist/onboarding/phase-5-summary.d.ts +0 -26
  406. package/dist/onboarding/phase-5-summary.d.ts.map +0 -1
  407. package/dist/onboarding/phase-5-summary.js +0 -153
  408. package/dist/onboarding/phase-5-summary.js.map +0 -1
  409. package/dist/onboarding/phase-6-security.d.ts +0 -33
  410. package/dist/onboarding/phase-6-security.d.ts.map +0 -1
  411. package/dist/onboarding/phase-6-security.js +0 -473
  412. package/dist/onboarding/phase-6-security.js.map +0 -1
  413. package/dist/onboarding/phase-7-integrations.d.ts +0 -91
  414. package/dist/onboarding/phase-7-integrations.d.ts.map +0 -1
  415. package/dist/onboarding/phase-7-integrations.js +0 -725
  416. package/dist/onboarding/phase-7-integrations.js.map +0 -1
  417. package/dist/onboarding/phase-8-demo.d.ts +0 -43
  418. package/dist/onboarding/phase-8-demo.d.ts.map +0 -1
  419. package/dist/onboarding/phase-8-demo.js +0 -346
  420. package/dist/onboarding/phase-8-demo.js.map +0 -1
  421. package/dist/onboarding/phase-9-finalization.d.ts +0 -27
  422. package/dist/onboarding/phase-9-finalization.d.ts.map +0 -1
  423. package/dist/onboarding/phase-9-finalization.js +0 -417
  424. package/dist/onboarding/phase-9-finalization.js.map +0 -1
  425. package/dist/onboarding/ritual-prompt.d.ts +0 -2
  426. package/dist/onboarding/ritual-prompt.d.ts.map +0 -1
  427. package/dist/onboarding/ritual-prompt.js +0 -285
  428. package/dist/onboarding/ritual-prompt.js.map +0 -1
  429. package/dist/onboarding/ritual-tools.d.ts +0 -17
  430. package/dist/onboarding/ritual-tools.d.ts.map +0 -1
  431. package/dist/onboarding/ritual-tools.js +0 -93
  432. package/dist/onboarding/ritual-tools.js.map +0 -1
  433. package/dist/setup/setup-tools.d.ts +0 -13
  434. package/dist/setup/setup-tools.d.ts.map +0 -1
  435. package/dist/setup/setup-tools.js +0 -106
  436. package/dist/setup/setup-tools.js.map +0 -1
  437. package/dist/utils/slack-input-validator.d.ts +0 -74
  438. package/dist/utils/slack-input-validator.d.ts.map +0 -1
  439. package/dist/utils/slack-input-validator.js +0 -275
  440. package/dist/utils/slack-input-validator.js.map +0 -1
  441. package/dist/utils/slack-rate-limiter.d.ts +0 -139
  442. package/dist/utils/slack-rate-limiter.d.ts.map +0 -1
  443. package/dist/utils/slack-rate-limiter.js +0 -324
  444. package/dist/utils/slack-rate-limiter.js.map +0 -1
  445. package/dist/wiki/wiki-compiler.d.ts +0 -13
  446. package/dist/wiki/wiki-compiler.d.ts.map +0 -1
  447. package/dist/wiki/wiki-compiler.js +0 -82
  448. package/dist/wiki/wiki-compiler.js.map +0 -1
@@ -1,592 +0,0 @@
1
- "use strict";
2
- /**
3
- * Multi-Agent Handler Base
4
- *
5
- * Abstract base class for platform-specific multi-agent handlers.
6
- * Contains shared infrastructure (orchestrator, process manager, queues,
7
- * delegation, background tasks) so Discord and Slack handlers only
8
- * implement platform-specific messaging and formatting.
9
- */
10
- Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.MultiAgentHandlerBase = exports.AGENT_TIMEOUT_MS = void 0;
12
- const orchestrator_js_1 = require("./orchestrator.js");
13
- const agent_process_manager_js_1 = require("./agent-process-manager.js");
14
- const shared_context_js_1 = require("./shared-context.js");
15
- const agent_message_queue_js_1 = require("./agent-message-queue.js");
16
- const background_task_manager_js_1 = require("./background-task-manager.js");
17
- const system_reminder_js_1 = require("./system-reminder.js");
18
- const delegation_manager_js_1 = require("./delegation-manager.js");
19
- const work_tracker_js_1 = require("./work-tracker.js");
20
- const log_sanitizer_js_1 = require("../utils/log-sanitizer.js");
21
- const config_manager_js_1 = require("../cli/config/config-manager.js");
22
- const workflow_engine_js_1 = require("./workflow-engine.js");
23
- const council_engine_js_1 = require("./council-engine.js");
24
- /** Default timeout for agent responses (5 minutes) */
25
- const AGENT_TIMEOUT_MS = () => (0, config_manager_js_1.getConfig)().timeouts?.agent_ms ?? 300_000;
26
- exports.AGENT_TIMEOUT_MS = AGENT_TIMEOUT_MS;
27
- /**
28
- * Abstract base class for platform-specific multi-agent handlers.
29
- *
30
- * Subclasses must implement:
31
- * - getPlatformName() - 'discord' | 'slack'
32
- * - formatBold(text) - platform-specific bold formatting
33
- * - extractMentionedAgentIds(content) - platform-specific mention extraction
34
- * - platformCleanup() - platform-specific cleanup on stopAll()
35
- */
36
- class MultiAgentHandlerBase {
37
- logger = (0, log_sanitizer_js_1.createSafeLogger)('MultiAgentBase');
38
- config;
39
- orchestrator;
40
- processManager;
41
- sharedContext;
42
- messageQueue;
43
- backgroundTaskManager;
44
- systemReminder;
45
- delegationManager;
46
- workTracker;
47
- gatewayToolExecutor = null;
48
- workflowEngine;
49
- councilEngine;
50
- /** Whether multi-bot mode is initialized */
51
- multiBotInitialized = false;
52
- /** Dedup map for delegation mentions with timestamps (prevents double processing) */
53
- processedMentions = new Map();
54
- /** Cleanup interval handle for periodic tasks (queue expiry + mention dedup) */
55
- cleanupInterval = null;
56
- /** TTL for processed mention entries (5 minutes) */
57
- static get MENTION_TTL_MS() {
58
- return (0, config_manager_js_1.getConfig)().gateway_tuning?.mention_ttl_ms ?? 300_000;
59
- }
60
- /** Cleanup interval period (1 minute) */
61
- static get CLEANUP_INTERVAL_MS() {
62
- return (0, config_manager_js_1.getConfig)().gateway_tuning?.cleanup_interval_ms ?? 60_000;
63
- }
64
- constructor(config, processOptions = {}, runtimeOptions = {}) {
65
- this.config = config;
66
- this.orchestrator = new orchestrator_js_1.MultiAgentOrchestrator(config);
67
- this.processManager = new agent_process_manager_js_1.AgentProcessManager(config, processOptions, runtimeOptions);
68
- this.sharedContext = (0, shared_context_js_1.getSharedContextManager)();
69
- this.messageQueue = new agent_message_queue_js_1.AgentMessageQueue();
70
- const agentConfigs = Object.entries(config.agents).map(([id, cfg]) => ({ id, ...cfg }));
71
- this.delegationManager = new delegation_manager_js_1.DelegationManager(agentConfigs);
72
- this.workTracker = new work_tracker_js_1.WorkTracker();
73
- // Always initialize workflow engine (enabled by default)
74
- // Merge global timeout config as fallback for workflow-specific settings
75
- const globalTimeouts = (0, config_manager_js_1.getConfig)().timeouts;
76
- const workflowConfig = {
77
- enabled: true,
78
- ...config.workflow,
79
- step_timeout_ms: config.workflow?.step_timeout_ms ?? globalTimeouts?.workflow_step_ms,
80
- max_duration_ms: config.workflow?.max_duration_ms ?? globalTimeouts?.workflow_max_ms,
81
- };
82
- this.workflowEngine = new workflow_engine_js_1.WorkflowEngine(workflowConfig);
83
- this.councilEngine = new council_engine_js_1.CouncilEngine(config.council ?? { enabled: true });
84
- this.backgroundTaskManager = new background_task_manager_js_1.BackgroundTaskManager(async (agentId, prompt) => {
85
- let process = null;
86
- try {
87
- process = await this.processManager.getProcess(this.getPlatformName(), 'background', agentId);
88
- const result = await process.sendMessage(prompt);
89
- // Execute any gateway tool calls (discord_send, mama_*) from response text
90
- const cleaned = await this.executeTextToolCalls(result.response);
91
- return cleaned;
92
- }
93
- finally {
94
- // no-op: pool_size=1, PersistentProcessPool handles reuse
95
- }
96
- }, { maxConcurrentPerAgent: 2, maxTotalConcurrent: 5 });
97
- this.systemReminder = new system_reminder_js_1.SystemReminderService({
98
- batchWindowMs: 2000,
99
- enableChatNotifications: true,
100
- });
101
- // Periodic cleanup of expired queued messages and mention dedup entries
102
- this.cleanupInterval = setInterval(() => {
103
- this.messageQueue.clearExpired();
104
- this.cleanupProcessedMentions();
105
- }, MultiAgentHandlerBase.CLEANUP_INTERVAL_MS);
106
- this.backgroundTaskManager.on('task-started', ({ task }) => {
107
- this.systemReminder.notify({
108
- type: 'task-started',
109
- taskId: task.id,
110
- description: task.description,
111
- agentId: task.agentId,
112
- requestedBy: task.requestedBy,
113
- channelId: task.channelId,
114
- source: task.source || undefined,
115
- timestamp: Date.now(),
116
- });
117
- // Notify channel so users can see agent activity
118
- if (task.channelId) {
119
- const agentName = this.config.agents[task.agentId]?.display_name || task.agentId;
120
- const desc = task.description?.substring(0, 100) || 'task';
121
- this.sendChannelNotification(task.channelId, `🔧 ${agentName} started: ${desc}`).catch(() => { });
122
- }
123
- });
124
- this.backgroundTaskManager.on('task-completed', ({ task }) => {
125
- this.systemReminder.notify({
126
- type: 'task-completed',
127
- taskId: task.id,
128
- description: task.description,
129
- agentId: task.agentId,
130
- requestedBy: task.requestedBy,
131
- channelId: task.channelId,
132
- source: task.source || undefined,
133
- duration: task.duration,
134
- timestamp: Date.now(),
135
- });
136
- // Wake the requesting agent with the result so workflow continues immediately
137
- if (task.channelId && task.requestedBy) {
138
- const agentName = this.config.agents[task.agentId]?.display_name || task.agentId;
139
- const durationSec = task.duration ? Math.round(task.duration / 1000) : 0;
140
- const desc = task.description?.substring(0, 100) || 'task';
141
- const resultSummary = task.result?.substring(0, 500) || '(no output)';
142
- const notification = {
143
- prompt: `✅ Background task completed.\n` +
144
- `Agent: ${agentName} (${durationSec}s)\n` +
145
- `Task: ${desc}\n` +
146
- `Result: ${resultSummary}`,
147
- channelId: task.channelId,
148
- source: task.source || 'discord',
149
- enqueuedAt: Date.now(),
150
- context: { channelId: task.channelId, userId: 'background-task' },
151
- };
152
- this.messageQueue.enqueue(task.requestedBy, notification);
153
- this.tryDrainNow(task.requestedBy, notification.source, task.channelId).catch(() => { });
154
- // Notify channel so users can see completion
155
- this.sendChannelNotification(task.channelId, `✅ ${agentName} completed (${durationSec}s): ${desc}`).catch(() => { });
156
- }
157
- });
158
- this.backgroundTaskManager.on('task-failed', ({ task }) => {
159
- this.systemReminder.notify({
160
- type: 'task-failed',
161
- taskId: task.id,
162
- description: task.description,
163
- agentId: task.agentId,
164
- requestedBy: task.requestedBy,
165
- channelId: task.channelId,
166
- source: task.source || undefined,
167
- error: task.error,
168
- timestamp: Date.now(),
169
- });
170
- // Wake the requesting agent so workflow doesn't silently stall
171
- if (task.channelId && task.requestedBy) {
172
- const agentName = this.config.agents[task.agentId]?.display_name || task.agentId;
173
- const desc = task.description?.substring(0, 100) || 'task';
174
- const errMsg = task.error?.substring(0, 150) || 'unknown error';
175
- const notification = {
176
- prompt: `❌ Background task failed.\nAgent: ${agentName}\nTask: ${desc}\nError: ${errMsg}`,
177
- channelId: task.channelId,
178
- source: task.source || 'discord',
179
- enqueuedAt: Date.now(),
180
- context: { channelId: task.channelId, userId: 'background-task' },
181
- };
182
- this.messageQueue.enqueue(task.requestedBy, notification);
183
- this.tryDrainNow(task.requestedBy, notification.source, task.channelId).catch(() => { });
184
- // Notify channel so users can see failure
185
- this.sendChannelNotification(task.channelId, `❌ ${agentName} failed: ${desc} — ${errMsg}`).catch(() => { });
186
- }
187
- });
188
- }
189
- /**
190
- * Setup idle event listeners for agent processes (F7)
191
- */
192
- setupIdleListeners() {
193
- this.processManager.on('process-created', ({ agentId, process }) => {
194
- process.on('idle', async () => {
195
- await this.messageQueue.drain(agentId, process, async (aid, message, response) => {
196
- await this.sendQueuedResponse(aid, message, response);
197
- });
198
- });
199
- });
200
- }
201
- /**
202
- * Try to drain queued messages immediately (when no idle process exists to trigger drain).
203
- * Creates a new process if needed and drains if the process is idle.
204
- */
205
- async tryDrainNow(agentId, source, channelId) {
206
- const queueSize = this.messageQueue.getQueueSize(agentId);
207
- if (queueSize === 0)
208
- return;
209
- try {
210
- const process = await this.processManager.getProcess(source, channelId, agentId);
211
- if (process.isReady()) {
212
- this.logger.info(`[MultiAgent] Immediate drain for ${agentId} (queue: ${queueSize})`);
213
- await this.messageQueue.drain(agentId, process, async (aid, msg, resp) => {
214
- await this.sendQueuedResponse(aid, msg, resp);
215
- });
216
- }
217
- }
218
- catch {
219
- // Process busy or creation failed — will drain on next idle event
220
- }
221
- }
222
- /**
223
- * Clean up old processed mention entries based on TTL
224
- */
225
- cleanupProcessedMentions() {
226
- const now = Date.now();
227
- for (const [key, ts] of this.processedMentions) {
228
- if (now - ts > MultiAgentHandlerBase.MENTION_TTL_MS) {
229
- this.processedMentions.delete(key);
230
- }
231
- }
232
- }
233
- /**
234
- * Check if multi-agent mode is enabled
235
- */
236
- isEnabled() {
237
- return this.config.enabled;
238
- }
239
- /**
240
- * Check if mention-based delegation is enabled
241
- */
242
- isMentionDelegationEnabled() {
243
- return this.config.mention_delegation === true;
244
- }
245
- /**
246
- * Format agent response with display name prefix
247
- */
248
- formatAgentResponse(agent, response) {
249
- const prefix = `${this.formatBold(agent.display_name)}:`;
250
- if (response.startsWith(prefix) ||
251
- response.startsWith(`${this.formatBold(agent.display_name)}: `)) {
252
- return response;
253
- }
254
- return `${prefix} ${response}`;
255
- }
256
- /**
257
- * Get orchestrator for direct access
258
- */
259
- getOrchestrator() {
260
- return this.orchestrator;
261
- }
262
- /**
263
- * Get process manager for direct access
264
- */
265
- getProcessManager() {
266
- return this.processManager;
267
- }
268
- /**
269
- * Get delegation manager for API access
270
- */
271
- getDelegationManager() {
272
- return this.delegationManager;
273
- }
274
- /**
275
- * Get shared context manager
276
- */
277
- getSharedContext() {
278
- return this.sharedContext;
279
- }
280
- getBackgroundTaskManager() {
281
- return this.backgroundTaskManager;
282
- }
283
- getSystemReminder() {
284
- return this.systemReminder;
285
- }
286
- /**
287
- * Get work tracker instance
288
- */
289
- getWorkTracker() {
290
- return this.workTracker;
291
- }
292
- /**
293
- * Set the gateway tool executor for handling tool_use blocks from agents.
294
- */
295
- setGatewayToolExecutor(executor) {
296
- this.gatewayToolExecutor = executor;
297
- this.processManager.setGatewayToolExecutor(executor);
298
- }
299
- /**
300
- * Parse ```tool_call blocks from response text (Gateway Tools mode).
301
- * Returns array of parsed tool calls.
302
- */
303
- parseToolCallsFromText(text) {
304
- const toolCallRegex = /```tool_call\s*\n([\s\S]*?)\n```/g;
305
- const calls = [];
306
- let match;
307
- while ((match = toolCallRegex.exec(text)) !== null) {
308
- try {
309
- const parsed = JSON.parse(match[1].trim());
310
- if (parsed.name) {
311
- calls.push({ name: parsed.name, input: parsed.input || {} });
312
- }
313
- }
314
- catch (e) {
315
- this.logger.warn(`Failed to parse tool_call block: ${e}`);
316
- }
317
- }
318
- return calls;
319
- }
320
- /**
321
- * Remove ```tool_call blocks from text (to avoid showing raw JSON to users).
322
- */
323
- removeToolCallBlocks(text) {
324
- return text.replace(/```tool_call\s*\n[\s\S]*?\n```/g, '').trim();
325
- }
326
- /**
327
- * Parse and execute gateway tool calls from response text.
328
- * Returns the cleaned text (with tool_call blocks removed).
329
- * Tool calls are fire-and-forget (results not returned to Claude).
330
- */
331
- async executeTextToolCalls(responseText) {
332
- if (!this.gatewayToolExecutor)
333
- return responseText;
334
- const toolCalls = this.parseToolCallsFromText(responseText);
335
- if (toolCalls.length === 0)
336
- return responseText;
337
- this.logger.info(`Executing ${toolCalls.length} gateway tool(s): ${toolCalls.map((t) => t.name).join(', ')}`);
338
- for (const toolCall of toolCalls) {
339
- try {
340
- const result = await this.gatewayToolExecutor.execute(toolCall.name, toolCall.input);
341
- this.logger.info(`Tool ${toolCall.name} succeeded:`, JSON.stringify(result).substring(0, 200));
342
- }
343
- catch (error) {
344
- this.logger.error(`Tool ${toolCall.name} failed:`, error instanceof Error ? error.message : error);
345
- }
346
- }
347
- return this.removeToolCallBlocks(responseText);
348
- }
349
- /**
350
- * Build agent availability status section for prompt injection.
351
- * Shows busy/idle state and queue size for each agent except the current one.
352
- */
353
- buildAgentStatusSection(excludeAgentId) {
354
- const states = this.processManager.getAgentStates();
355
- const enabledAgents = this.orchestrator.getEnabledAgents();
356
- const lines = ['## Agent Availability'];
357
- for (const agent of enabledAgents) {
358
- if (agent.id === excludeAgentId)
359
- continue;
360
- const state = states.get(agent.id) ?? 'idle';
361
- const queueSize = this.messageQueue.getQueueSize(agent.id);
362
- const emoji = state === 'busy' ? '🔴' : state === 'idle' ? '🟢' : '🟡';
363
- const queueInfo = queueSize > 0 ? ` (${queueSize} queued)` : '';
364
- lines.push(`- ${emoji} **${agent.display_name}**: ${state}${queueInfo}`);
365
- }
366
- return lines.join('\n');
367
- }
368
- /**
369
- * Get workflow engine instance
370
- */
371
- getWorkflowEngine() {
372
- return this.workflowEngine;
373
- }
374
- /**
375
- * Check if a Conductor response contains a workflow plan and execute it.
376
- * Returns the workflow result or null if no plan was found.
377
- */
378
- async tryExecuteWorkflow(conductorResponse, channelId, source, onProgress, createStepCallbacks) {
379
- if (!this.workflowEngine?.isEnabled()) {
380
- this.logger.info('[Workflow] Engine not enabled, skipping');
381
- return null;
382
- }
383
- const plan = this.workflowEngine.parseWorkflowPlan(conductorResponse);
384
- if (!plan) {
385
- const workflowPlanFence = '```workflow_plan';
386
- const blockIdx = conductorResponse.toLowerCase().indexOf(workflowPlanFence);
387
- if (blockIdx !== -1) {
388
- this.logger.warn('[Workflow] Found workflow_plan block but failed to parse it');
389
- this.logger.warn('[Workflow] Response snippet:', conductorResponse.substring(Math.max(0, blockIdx), Math.max(0, blockIdx) + 500));
390
- }
391
- return null;
392
- }
393
- const directMessage = this.workflowEngine.extractNonPlanContent(conductorResponse);
394
- // Normalize model IDs: Conductor may hallucinate old/wrong model IDs.
395
- // Replace with actual config models per backend.
396
- for (const step of plan.steps) {
397
- try {
398
- const configModel = this.processManager.resolveModelForBackend(step.agent.backend);
399
- if (configModel && configModel !== 'unknown' && step.agent.model !== configModel) {
400
- this.logger.info(`[Workflow] Model normalized: ${step.id} ${step.agent.model} → ${configModel}`);
401
- step.agent.model = configModel;
402
- }
403
- }
404
- catch (e) {
405
- this.logger.warn(`[Workflow] Failed to resolve model for backend ${step.agent.backend}:`, e);
406
- }
407
- }
408
- this.logger.info(`[Workflow] Parsed plan: "${plan.name}" with ${plan.steps.length} steps: ${plan.steps.map((s) => `${s.id}(${s.agent.backend}/${s.agent.model})`).join(', ')}`);
409
- const validationError = this.workflowEngine.validatePlan(plan);
410
- if (validationError) {
411
- this.logger.warn(`[Workflow] Plan validation failed: ${validationError}`);
412
- return { result: '', directMessage, failed: validationError };
413
- }
414
- // Collect ephemeral agent definitions for cleanup
415
- const ephemeralAgents = plan.steps.map((s) => s.agent);
416
- let progressHandler;
417
- try {
418
- progressHandler = onProgress
419
- ? (event) => onProgress(event)
420
- : undefined;
421
- if (progressHandler) {
422
- this.workflowEngine.on('progress', progressHandler);
423
- }
424
- // Register all ephemeral agents (builds full system prompt with gateway tools)
425
- for (const step of plan.steps) {
426
- await this.processManager.registerEphemeralAgent(step.agent);
427
- }
428
- // Build step executor
429
- const executeStep = async (agent, prompt, timeoutMs) => {
430
- let process = null;
431
- let timer;
432
- const clearStepTimeout = () => {
433
- if (timer) {
434
- clearTimeout(timer);
435
- timer = undefined;
436
- }
437
- };
438
- let stepTracker = null;
439
- try {
440
- // Pass step timeout as requestTimeout override so CLI process won't kill early
441
- const processOverrides = timeoutMs > 0 ? { requestTimeout: timeoutMs + 30_000 } : { requestTimeout: 0 };
442
- process = await this.processManager.getProcess(source, channelId, agent.id, processOverrides);
443
- stepTracker = createStepCallbacks?.(agent.id) ?? null;
444
- const sendPromise = process.sendMessage(prompt, stepTracker?.callbacks);
445
- // timeoutMs === 0 means unlimited (no timeout race)
446
- const result = timeoutMs > 0
447
- ? await Promise.race([
448
- sendPromise,
449
- new Promise((_, reject) => {
450
- timer = setTimeout(() => reject(new Error(`Step timeout (${timeoutMs}ms)`)), timeoutMs);
451
- }),
452
- ])
453
- : await sendPromise;
454
- clearStepTimeout();
455
- const cleaned = await this.executeTextToolCalls(result.response);
456
- return cleaned;
457
- }
458
- finally {
459
- clearStepTimeout();
460
- await stepTracker?.cleanup();
461
- }
462
- };
463
- const { result } = await this.workflowEngine.execute(plan, executeStep);
464
- return { result, directMessage };
465
- }
466
- catch (error) {
467
- const errMsg = error instanceof Error ? error.message : String(error);
468
- this.logger.error(`[Workflow] Execution failed: ${errMsg}`);
469
- return { result: '', directMessage, failed: errMsg };
470
- }
471
- finally {
472
- // Cleanup: unregister ephemeral agents and remove progress listener
473
- this.processManager.unregisterEphemeralAgents(ephemeralAgents);
474
- if (progressHandler) {
475
- this.workflowEngine.off('progress', progressHandler);
476
- }
477
- }
478
- }
479
- /**
480
- * Get council engine instance
481
- */
482
- getCouncilEngine() {
483
- return this.councilEngine;
484
- }
485
- /**
486
- * Check if a Conductor response contains a council_plan and execute it.
487
- * Returns the council result or null if no plan was found.
488
- */
489
- async tryExecuteCouncil(conductorResponse, channelId, source, onProgress) {
490
- if (!this.councilEngine?.isEnabled()) {
491
- return null;
492
- }
493
- const plan = this.councilEngine.parseCouncilPlan(conductorResponse);
494
- if (!plan) {
495
- return null;
496
- }
497
- const enabledAgents = this.orchestrator.getEnabledAgents();
498
- const availableIds = enabledAgents.map((a) => a.id);
499
- const validationError = this.councilEngine.validatePlan(plan, availableIds);
500
- if (validationError) {
501
- this.logger.warn(`[Council] Plan validation failed: ${validationError}`);
502
- return null;
503
- }
504
- this.logger.info(`[Council] Parsed plan: "${plan.name}" topic="${plan.topic}" agents=[${plan.agents.join(',')}] rounds=${plan.rounds}`);
505
- const directMessage = this.councilEngine.extractNonPlanContent(conductorResponse);
506
- // Build agent display name map
507
- const agentDisplayNames = new Map();
508
- for (const agent of enabledAgents) {
509
- agentDisplayNames.set(agent.id, agent.display_name);
510
- }
511
- let progressHandler;
512
- try {
513
- progressHandler = onProgress ? (event) => onProgress(event) : undefined;
514
- if (progressHandler) {
515
- this.councilEngine.on('progress', progressHandler);
516
- }
517
- // Build step executor using existing named agents
518
- const executeStep = async (agentId, prompt, timeoutMs) => {
519
- let process = null;
520
- let timer;
521
- const clearStepTimeout = () => {
522
- if (timer) {
523
- clearTimeout(timer);
524
- timer = undefined;
525
- }
526
- };
527
- try {
528
- // Pass step timeout as requestTimeout override so CLI process won't kill early
529
- const processOverrides = timeoutMs > 0 ? { requestTimeout: timeoutMs + 30_000 } : { requestTimeout: 0 };
530
- process = await this.processManager.getProcess(source, channelId, agentId, processOverrides);
531
- const sendPromise = process.sendMessage(prompt);
532
- const result = timeoutMs > 0
533
- ? await Promise.race([
534
- sendPromise,
535
- new Promise((_, reject) => {
536
- timer = setTimeout(() => reject(new Error(`Council agent timeout (${timeoutMs}ms)`)), timeoutMs);
537
- }),
538
- ])
539
- : await sendPromise;
540
- clearStepTimeout();
541
- const cleaned = await this.executeTextToolCalls(result.response);
542
- return cleaned;
543
- }
544
- finally {
545
- clearStepTimeout();
546
- }
547
- };
548
- const { result, execution } = await this.councilEngine.execute(plan, executeStep, agentDisplayNames);
549
- // Record council round results into SharedContext for future agent reference
550
- for (const round of execution.rounds) {
551
- if (round.status === 'success' && round.response) {
552
- const agent = enabledAgents.find((a) => a.id === round.agentId);
553
- if (agent) {
554
- this.sharedContext.recordAgentMessage(channelId, agent, `[Council: ${plan.name}] ${round.response}`);
555
- }
556
- }
557
- }
558
- return { result, directMessage };
559
- }
560
- finally {
561
- if (progressHandler) {
562
- this.councilEngine.off('progress', progressHandler);
563
- }
564
- }
565
- }
566
- /**
567
- * Format ephemeral agent response with workflow prefix
568
- */
569
- formatEphemeralAgentResponse(agentDisplayName, content) {
570
- return `${this.formatBold(agentDisplayName)}: ${content}`;
571
- }
572
- /**
573
- * Get chain state for a channel (for debugging)
574
- */
575
- getChainState(channelId) {
576
- return this.orchestrator.getChainState(channelId);
577
- }
578
- /**
579
- * Stop all agent processes and bots
580
- */
581
- async stopAll() {
582
- if (this.cleanupInterval) {
583
- clearInterval(this.cleanupInterval);
584
- this.cleanupInterval = null;
585
- }
586
- this.backgroundTaskManager.destroy();
587
- await this.processManager.stopAll();
588
- await this.platformCleanup();
589
- }
590
- }
591
- exports.MultiAgentHandlerBase = MultiAgentHandlerBase;
592
- //# sourceMappingURL=multi-agent-base.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"multi-agent-base.js","sourceRoot":"","sources":["../../src/multi-agent/multi-agent-base.ts"],"names":[],"mappings":"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"}