@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,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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"}