@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,110 +0,0 @@
1
- /**
2
- * Multi-Agent Orchestrator
3
- *
4
- * Manages agent selection, trigger matching, and loop prevention
5
- * for multi-agent Discord conversations.
6
- */
7
- import type { MultiAgentConfig, AgentPersonaConfig, ChainState, AgentSelectionResult, MessageContext, AgentResponseRecord } from './types.js';
8
- /**
9
- * Multi-Agent Orchestrator
10
- *
11
- * Responsibilities:
12
- * 1. Select which agent(s) should respond to a message
13
- * 2. Track response chains to prevent infinite loops
14
- * 3. Manage per-agent cooldowns
15
- * 4. Reset chain state on human messages
16
- */
17
- export declare class MultiAgentOrchestrator {
18
- private logger;
19
- private config;
20
- private categoryRouter;
21
- /** Chain state per channel: Map<channelId, ChainState> */
22
- private chainStates;
23
- /** Per-channel chain length overrides */
24
- private chainLimitOverrides;
25
- /** Last response time per agent: Map<agentId, timestamp> */
26
- private agentCooldowns;
27
- /** Response history for debugging: limited to last 100 entries */
28
- private responseHistory;
29
- private readonly MAX_HISTORY;
30
- constructor(config: MultiAgentConfig);
31
- /**
32
- * Update configuration (for hot reload)
33
- */
34
- updateConfig(config: MultiAgentConfig): void;
35
- /**
36
- * Get agent configuration by ID
37
- */
38
- getAgent(agentId: string): AgentPersonaConfig | undefined;
39
- /**
40
- * Get all enabled agents
41
- */
42
- getEnabledAgents(): AgentPersonaConfig[];
43
- /**
44
- * Select which agents should respond to a message
45
- */
46
- selectRespondingAgents(context: MessageContext): AgentSelectionResult;
47
- /**
48
- * Select limited responders for non-bot messages unless free-chat is explicitly enabled.
49
- * This protects the pool from burst fan-out and queue overflow while preserving explicit mentions.
50
- */
51
- private limitAutoResponderSelection;
52
- /**
53
- * Determine whether a message should be auto-responded by a single agent.
54
- */
55
- private shouldLimitAutoSelection;
56
- /**
57
- * Record an agent response (updates chain state and cooldowns)
58
- */
59
- recordAgentResponse(agentId: string, channelId: string, messageId?: string): void;
60
- /**
61
- * Reset chain state for a channel (called on human message)
62
- */
63
- resetChain(channelId: string): void;
64
- /**
65
- * Override max chain length for a channel (runtime).
66
- */
67
- setChannelChainLimit(channelId: string, maxChainLength: number): void;
68
- /**
69
- * Clear max chain length override for a channel.
70
- */
71
- clearChannelChainLimit(channelId: string): void;
72
- /**
73
- * Get effective max chain length for a channel.
74
- */
75
- private getMaxChainLength;
76
- /**
77
- * Get chain state for a channel
78
- */
79
- getChainState(channelId: string): ChainState;
80
- /**
81
- * Check if an agent is ready (not on cooldown)
82
- */
83
- isAgentReady(agentId: string): boolean;
84
- /**
85
- * Find explicit trigger prefix match
86
- */
87
- private findExplicitTrigger;
88
- /**
89
- * Find agents that match keywords in the message
90
- */
91
- private findKeywordMatches;
92
- /**
93
- * Extract agent ID from a bot message's display name
94
- * @example "**🔧 DevBot**: Hello" -> "developer"
95
- */
96
- extractAgentIdFromMessage(messageContent: string): string | null;
97
- /**
98
- * Strip trigger prefix from message content
99
- */
100
- stripTriggerPrefix(content: string, agentId: string): string;
101
- /**
102
- * Get response history for debugging
103
- */
104
- getResponseHistory(): AgentResponseRecord[];
105
- /**
106
- * Clear all state (for testing)
107
- */
108
- clearState(): void;
109
- }
110
- //# sourceMappingURL=orchestrator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/multi-agent/orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,kBAAkB,EAClB,UAAU,EACV,oBAAoB,EACpB,cAAc,EACd,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAKpB;;;;;;;;GAQG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,MAAM,CAAoC;IAClD,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,cAAc,CAAiB;IAEvC,0DAA0D;IAC1D,OAAO,CAAC,WAAW,CAAsC;IACzD,yCAAyC;IACzC,OAAO,CAAC,mBAAmB,CAAkC;IAE7D,4DAA4D;IAC5D,OAAO,CAAC,cAAc,CAAkC;IAExD,kEAAkE;IAClE,OAAO,CAAC,eAAe,CAA6B;IACpD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAO;gBAEvB,MAAM,EAAE,gBAAgB;IAKpC;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAK5C;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS;IAUzD;;OAEG;IACH,gBAAgB,IAAI,kBAAkB,EAAE;IASxC;;OAEG;IACH,sBAAsB,CAAC,OAAO,EAAE,cAAc,GAAG,oBAAoB;IA4LrE;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IAQnC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAIhC;;OAEG;IACH,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAmDjF;;OAEG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAgBnC;;OAEG;IACH,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI;IAOrE;;OAEG;IACH,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAI/C;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU;IAc5C;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAUtC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAgB3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAiB1B;;;OAGG;IACH,yBAAyB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAiBhE;;OAEG;IACH,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAc5D;;OAEG;IACH,kBAAkB,IAAI,mBAAmB,EAAE;IAI3C;;OAEG;IACH,UAAU,IAAI,IAAI;CAKnB"}
@@ -1,436 +0,0 @@
1
- "use strict";
2
- /**
3
- * Multi-Agent Orchestrator
4
- *
5
- * Manages agent selection, trigger matching, and loop prevention
6
- * for multi-agent Discord conversations.
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.MultiAgentOrchestrator = void 0;
10
- const types_js_1 = require("./types.js");
11
- const category_router_js_1 = require("./category-router.js");
12
- const log_sanitizer_js_1 = require("../utils/log-sanitizer.js");
13
- /**
14
- * Multi-Agent Orchestrator
15
- *
16
- * Responsibilities:
17
- * 1. Select which agent(s) should respond to a message
18
- * 2. Track response chains to prevent infinite loops
19
- * 3. Manage per-agent cooldowns
20
- * 4. Reset chain state on human messages
21
- */
22
- class MultiAgentOrchestrator {
23
- logger = (0, log_sanitizer_js_1.createSafeLogger)('Orchestrator');
24
- config;
25
- categoryRouter;
26
- /** Chain state per channel: Map<channelId, ChainState> */
27
- chainStates = new Map();
28
- /** Per-channel chain length overrides */
29
- chainLimitOverrides = new Map();
30
- /** Last response time per agent: Map<agentId, timestamp> */
31
- agentCooldowns = new Map();
32
- /** Response history for debugging: limited to last 100 entries */
33
- responseHistory = [];
34
- MAX_HISTORY = 100;
35
- constructor(config) {
36
- this.config = config;
37
- this.categoryRouter = new category_router_js_1.CategoryRouter(config.categories);
38
- }
39
- /**
40
- * Update configuration (for hot reload)
41
- */
42
- updateConfig(config) {
43
- this.config = config;
44
- this.categoryRouter.updateCategories(config.categories ?? []);
45
- }
46
- /**
47
- * Get agent configuration by ID
48
- */
49
- getAgent(agentId) {
50
- const agentConfig = this.config.agents[agentId];
51
- if (!agentConfig)
52
- return undefined;
53
- return {
54
- id: agentId,
55
- ...agentConfig,
56
- };
57
- }
58
- /**
59
- * Get all enabled agents
60
- */
61
- getEnabledAgents() {
62
- return Object.entries(this.config.agents)
63
- .filter(([, config]) => config.enabled !== false)
64
- .map(([id, config]) => ({
65
- id,
66
- ...config,
67
- }));
68
- }
69
- /**
70
- * Select which agents should respond to a message
71
- */
72
- selectRespondingAgents(context) {
73
- // If multi-agent is disabled, return empty
74
- if (!this.config.enabled) {
75
- return {
76
- selectedAgents: [],
77
- reason: 'none',
78
- blocked: false,
79
- };
80
- }
81
- // Check channel-specific overrides
82
- const channelOverride = this.config.channel_overrides?.[context.channelId];
83
- const allowedAgents = channelOverride?.allowed_agents;
84
- const disabledAgents = channelOverride?.disabled_agents || [];
85
- // Filter agents based on channel config
86
- const availableAgents = this.getEnabledAgents().filter((agent) => {
87
- if (disabledAgents.includes(agent.id))
88
- return false;
89
- if (allowedAgents && !allowedAgents.includes(agent.id))
90
- return false;
91
- return true;
92
- });
93
- // 0b. Human mentions: route mentioned agents directly.
94
- // Useful when free_chat is disabled but users still explicitly ping agents.
95
- if (!context.isBot && context.mentionedAgentIds && context.mentionedAgentIds.length > 0) {
96
- const mentionedAvailable = availableAgents.filter((a) => context.mentionedAgentIds.includes(a.id));
97
- if (mentionedAvailable.length > 0) {
98
- // Filter out agents on cooldown and preserve mention order for predictability.
99
- const readyMentions = mentionedAvailable.filter((agent) => this.isAgentReady(agent.id));
100
- if (readyMentions.length > 0) {
101
- // If at least one mentioned agent is ready, only return those.
102
- return {
103
- selectedAgents: readyMentions.map((a) => a.id),
104
- reason: 'keyword_match',
105
- blocked: false,
106
- };
107
- }
108
- }
109
- }
110
- // If sender is human, reset chain and process selection
111
- if (!context.isBot) {
112
- this.resetChain(context.channelId);
113
- }
114
- // Check if chain is blocked
115
- const chainState = this.getChainState(context.channelId);
116
- const maxChainLength = this.getMaxChainLength(context.channelId);
117
- if (chainState.blocked) {
118
- return {
119
- selectedAgents: [],
120
- reason: 'none',
121
- blocked: true,
122
- blockReason: `Chain limit reached (${chainState.length}/${maxChainLength}). Waiting for human input.`,
123
- };
124
- }
125
- // Check global cooldown (skip for agent-to-agent in free_chat mode)
126
- const now = Date.now();
127
- const timeSinceLastResponse = now - chainState.lastResponseTime;
128
- const isAgentToAgent = context.isBot && context.senderAgentId && this.config.free_chat;
129
- if (!isAgentToAgent && timeSinceLastResponse < this.config.loop_prevention.global_cooldown_ms) {
130
- return {
131
- selectedAgents: [],
132
- reason: 'none',
133
- blocked: true,
134
- blockReason: `Global cooldown active (${this.config.loop_prevention.global_cooldown_ms - timeSinceLastResponse}ms remaining)`,
135
- };
136
- }
137
- // 0. Free chat mode
138
- if (this.config.free_chat) {
139
- if (!context.isBot) {
140
- // If specific agents are @mentioned, only those respond
141
- if (context.mentionedAgentIds && context.mentionedAgentIds.length > 0) {
142
- const mentionedAvailable = availableAgents.filter((a) => context.mentionedAgentIds.includes(a.id));
143
- if (mentionedAvailable.length > 0) {
144
- this.agentCooldowns.clear();
145
- return {
146
- selectedAgents: mentionedAvailable.map((a) => a.id),
147
- reason: 'free_chat',
148
- blocked: false,
149
- };
150
- }
151
- }
152
- // No specific mention: all agents respond (reset cooldowns for fresh start)
153
- this.agentCooldowns.clear();
154
- return {
155
- selectedAgents: availableAgents.map((a) => a.id),
156
- reason: 'free_chat',
157
- blocked: false,
158
- };
159
- }
160
- else if (context.senderAgentId) {
161
- // Agent message: other agents respond (agent-to-agent)
162
- // Skip per-agent cooldown - chain limit handles loop prevention
163
- const otherAgents = availableAgents.filter((a) => a.id !== context.senderAgentId);
164
- if (otherAgents.length > 0) {
165
- return {
166
- selectedAgents: otherAgents.map((a) => a.id),
167
- reason: 'free_chat',
168
- blocked: false,
169
- };
170
- }
171
- }
172
- }
173
- // 1. Check for explicit trigger prefix
174
- const explicitAgent = this.findExplicitTrigger(context.content, availableAgents);
175
- if (explicitAgent) {
176
- // Check agent cooldown
177
- if (!this.isAgentReady(explicitAgent.id)) {
178
- return {
179
- selectedAgents: [],
180
- reason: 'explicit_trigger',
181
- blocked: true,
182
- blockReason: `Agent ${explicitAgent.id} is on cooldown`,
183
- };
184
- }
185
- return {
186
- selectedAgents: [explicitAgent.id],
187
- reason: 'explicit_trigger',
188
- blocked: false,
189
- };
190
- }
191
- // 1.5 Category-based routing
192
- const categoryMatch = this.categoryRouter.route(context.content, availableAgents);
193
- if (categoryMatch) {
194
- // Filter out agents on cooldown
195
- const readyAgents = categoryMatch.agentIds.filter((id) => this.isAgentReady(id));
196
- if (readyAgents.length > 0) {
197
- return {
198
- selectedAgents: this.limitAutoResponderSelection(readyAgents, context),
199
- reason: 'category_match',
200
- blocked: false,
201
- };
202
- }
203
- }
204
- // 2. Check for keyword matches (only for human messages or agent-to-agent)
205
- const keywordMatches = this.findKeywordMatches(context.content, availableAgents);
206
- // Filter out agents on cooldown and exclude the sender agent
207
- const readyAgents = keywordMatches.filter((agent) => this.isAgentReady(agent.id) && agent.id !== context.senderAgentId);
208
- if (readyAgents.length > 0) {
209
- // If message is from another agent, only allow one response to prevent cross-talk spam
210
- const selectedCount = this.shouldLimitAutoSelection(context) ? 1 : readyAgents.length;
211
- const selectedAgents = readyAgents.slice(0, selectedCount).map((a) => a.id);
212
- return {
213
- selectedAgents,
214
- reason: 'keyword_match',
215
- blocked: false,
216
- };
217
- }
218
- // 3. Check for default agent (only for human messages)
219
- if (!context.isBot) {
220
- const defaultAgentId = channelOverride?.default_agent || this.config.default_agent;
221
- if (defaultAgentId) {
222
- const defaultAgent = availableAgents.find((a) => a.id === defaultAgentId);
223
- if (defaultAgent && this.isAgentReady(defaultAgent.id)) {
224
- return {
225
- selectedAgents: [defaultAgent.id],
226
- reason: 'default_agent',
227
- blocked: false,
228
- };
229
- }
230
- }
231
- }
232
- return {
233
- selectedAgents: [],
234
- reason: 'none',
235
- blocked: false,
236
- };
237
- }
238
- /**
239
- * Select limited responders for non-bot messages unless free-chat is explicitly enabled.
240
- * This protects the pool from burst fan-out and queue overflow while preserving explicit mentions.
241
- */
242
- limitAutoResponderSelection(agentIds, context) {
243
- if (!this.shouldLimitAutoSelection(context)) {
244
- return agentIds;
245
- }
246
- return agentIds.slice(0, 1);
247
- }
248
- /**
249
- * Determine whether a message should be auto-responded by a single agent.
250
- */
251
- shouldLimitAutoSelection(context) {
252
- return !context.isBot && !this.config.free_chat;
253
- }
254
- /**
255
- * Record an agent response (updates chain state and cooldowns)
256
- */
257
- recordAgentResponse(agentId, channelId, messageId) {
258
- const now = Date.now();
259
- // Update agent cooldown
260
- this.agentCooldowns.set(agentId, now);
261
- // Update chain state
262
- const chainState = this.getChainState(channelId);
263
- const loopPrevention = this.config.loop_prevention || types_js_1.DEFAULT_LOOP_PREVENTION;
264
- // Check if chain window has expired
265
- if (now - chainState.lastResponseTime > loopPrevention.chain_window_ms) {
266
- // Start new chain
267
- chainState.length = 1;
268
- }
269
- else {
270
- // Continue chain
271
- chainState.length++;
272
- }
273
- chainState.lastResponseTime = now;
274
- chainState.lastAgentId = agentId;
275
- // Check if chain limit reached
276
- const maxChainLength = this.getMaxChainLength(channelId);
277
- if (chainState.length >= maxChainLength) {
278
- chainState.blocked = true;
279
- this.logger.debug(`[Orchestrator] Chain limit reached for channel ${channelId} (${chainState.length}/${maxChainLength})`);
280
- }
281
- this.chainStates.set(channelId, chainState);
282
- // Record to history
283
- this.responseHistory.push({
284
- agentId,
285
- channelId,
286
- timestamp: now,
287
- messageId,
288
- });
289
- // Trim history if needed
290
- if (this.responseHistory.length > this.MAX_HISTORY) {
291
- this.responseHistory = this.responseHistory.slice(-this.MAX_HISTORY);
292
- }
293
- this.logger.info(`[Orchestrator] Recorded response: agent=${agentId}, channel=${channelId}, chain=${chainState.length}`);
294
- }
295
- /**
296
- * Reset chain state for a channel (called on human message)
297
- */
298
- resetChain(channelId) {
299
- const chainState = this.chainStates.get(channelId);
300
- if (chainState) {
301
- this.logger.info(`[Orchestrator] Resetting chain for channel ${channelId} (was: ${chainState.length}, blocked: ${chainState.blocked})`);
302
- }
303
- this.chainStates.set(channelId, {
304
- length: 0,
305
- lastResponseTime: 0,
306
- lastAgentId: null,
307
- blocked: false,
308
- });
309
- }
310
- /**
311
- * Override max chain length for a channel (runtime).
312
- */
313
- setChannelChainLimit(channelId, maxChainLength) {
314
- if (maxChainLength <= 0) {
315
- throw new Error('maxChainLength must be greater than 0');
316
- }
317
- this.chainLimitOverrides.set(channelId, maxChainLength);
318
- }
319
- /**
320
- * Clear max chain length override for a channel.
321
- */
322
- clearChannelChainLimit(channelId) {
323
- this.chainLimitOverrides.delete(channelId);
324
- }
325
- /**
326
- * Get effective max chain length for a channel.
327
- */
328
- getMaxChainLength(channelId) {
329
- return this.chainLimitOverrides.get(channelId) ?? this.config.loop_prevention.max_chain_length;
330
- }
331
- /**
332
- * Get chain state for a channel
333
- */
334
- getChainState(channelId) {
335
- let state = this.chainStates.get(channelId);
336
- if (!state) {
337
- state = {
338
- length: 0,
339
- lastResponseTime: 0,
340
- lastAgentId: null,
341
- blocked: false,
342
- };
343
- this.chainStates.set(channelId, state);
344
- }
345
- return state;
346
- }
347
- /**
348
- * Check if an agent is ready (not on cooldown)
349
- */
350
- isAgentReady(agentId) {
351
- const lastResponse = this.agentCooldowns.get(agentId);
352
- if (!lastResponse)
353
- return true;
354
- const agent = this.getAgent(agentId);
355
- const cooldownMs = agent?.cooldown_ms || 1000;
356
- return Date.now() - lastResponse >= cooldownMs;
357
- }
358
- /**
359
- * Find explicit trigger prefix match
360
- */
361
- findExplicitTrigger(content, agents) {
362
- const trimmedContent = content.trim().toLowerCase();
363
- for (const agent of agents) {
364
- const prefix = agent.trigger_prefix.toLowerCase();
365
- if (trimmedContent.startsWith(prefix)) {
366
- return agent;
367
- }
368
- }
369
- return null;
370
- }
371
- /**
372
- * Find agents that match keywords in the message
373
- */
374
- findKeywordMatches(content, agents) {
375
- const lowerContent = content.toLowerCase();
376
- const matches = [];
377
- for (const agent of agents) {
378
- const keywords = agent.auto_respond_keywords || [];
379
- for (const keyword of keywords) {
380
- if (lowerContent.includes(keyword.toLowerCase())) {
381
- matches.push(agent);
382
- break; // One match per agent is enough
383
- }
384
- }
385
- }
386
- return matches;
387
- }
388
- /**
389
- * Extract agent ID from a bot message's display name
390
- * @example "**🔧 DevBot**: Hello" -> "developer"
391
- */
392
- extractAgentIdFromMessage(messageContent) {
393
- // Pattern: **<emoji> <name>**: or **<name>**:
394
- const match = messageContent.match(/^\*\*([^*]+)\*\*:/);
395
- if (!match)
396
- return null;
397
- const displayName = match[1].trim();
398
- // Find agent by display_name or name
399
- for (const [agentId, config] of Object.entries(this.config.agents)) {
400
- if (config.display_name === displayName || config.name === displayName) {
401
- return agentId;
402
- }
403
- }
404
- return null;
405
- }
406
- /**
407
- * Strip trigger prefix from message content
408
- */
409
- stripTriggerPrefix(content, agentId) {
410
- const agent = this.getAgent(agentId);
411
- if (!agent)
412
- return content;
413
- const prefix = agent.trigger_prefix.toLowerCase();
414
- const trimmedContent = content.trim();
415
- if (trimmedContent.toLowerCase().startsWith(prefix)) {
416
- return trimmedContent.slice(prefix.length).trim();
417
- }
418
- return content;
419
- }
420
- /**
421
- * Get response history for debugging
422
- */
423
- getResponseHistory() {
424
- return [...this.responseHistory];
425
- }
426
- /**
427
- * Clear all state (for testing)
428
- */
429
- clearState() {
430
- this.chainStates.clear();
431
- this.agentCooldowns.clear();
432
- this.responseHistory = [];
433
- }
434
- }
435
- exports.MultiAgentOrchestrator = MultiAgentOrchestrator;
436
- //# sourceMappingURL=orchestrator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/multi-agent/orchestrator.ts"],"names":[],"mappings":"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"}
@@ -1,76 +0,0 @@
1
- /**
2
- * Rate Limiter for Multi-Agent Operations
3
- *
4
- * Provides sliding window rate limiting to prevent API abuse
5
- * and ensure stable performance across different platforms.
6
- */
7
- export interface RateLimitConfig {
8
- /** Maximum requests per window */
9
- maxRequests: number;
10
- /** Window duration in milliseconds */
11
- windowMs: number;
12
- /** Grace period for burst requests */
13
- burstAllowance?: number;
14
- }
15
- export interface RateLimitResult {
16
- allowed: boolean;
17
- remaining: number;
18
- resetTime: number;
19
- retryAfter?: number;
20
- }
21
- /**
22
- * Sliding Window Rate Limiter
23
- *
24
- * Uses a sliding window approach for accurate rate limiting.
25
- * Automatically cleans up old entries to prevent memory leaks.
26
- */
27
- export declare class RateLimiter {
28
- private requests;
29
- private config;
30
- private cleanupInterval;
31
- constructor(config: RateLimitConfig);
32
- /**
33
- * Check if request is allowed for the given key
34
- */
35
- checkLimit(key: string): RateLimitResult;
36
- /**
37
- * Clean up old request records to prevent memory leaks
38
- */
39
- private cleanup;
40
- /**
41
- * Get current stats for debugging
42
- */
43
- getStats(): {
44
- totalKeys: number;
45
- totalRequests: number;
46
- };
47
- /**
48
- * Reset all rate limiting data
49
- */
50
- reset(): void;
51
- /**
52
- * Clean up resources
53
- */
54
- destroy(): void;
55
- }
56
- /**
57
- * Platform-specific rate limit configurations
58
- */
59
- export declare const RATE_LIMITS: {
60
- readonly SLACK_MENTION: {
61
- readonly maxRequests: 50;
62
- readonly windowMs: 60000;
63
- readonly burstAllowance: 5;
64
- };
65
- readonly DISCORD_MENTION: {
66
- readonly maxRequests: 100;
67
- readonly windowMs: 60000;
68
- readonly burstAllowance: 10;
69
- };
70
- readonly AGENT_OPERATIONS: {
71
- readonly maxRequests: 30;
72
- readonly windowMs: 60000;
73
- readonly burstAllowance: 3;
74
- };
75
- };
76
- //# sourceMappingURL=rate-limiter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rate-limiter.d.ts","sourceRoot":"","sources":["../../src/multi-agent/rate-limiter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,eAAe;IAC9B,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,sCAAsC;IACtC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,eAAe,CAAiB;gBAE5B,MAAM,EAAE,eAAe;IAYnC;;OAEG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe;IAoCxC;;OAEG;IACH,OAAO,CAAC,OAAO;IAgBf;;OAEG;IACH,QAAQ,IAAI;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE;IAaxD;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,OAAO,IAAI,IAAI;CAIhB;AAED;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;CAqBd,CAAC"}