@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,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":";AAAA;;;;;GAKG;;;AAUH,yCAAqD;AACrD,6DAAsD;AACtD,gEAA6D;AAE7D;;;;;;;;GAQG;AACH,MAAa,sBAAsB;IACzB,MAAM,GAAG,IAAA,mCAAgB,EAAC,cAAc,CAAC,CAAC;IAC1C,MAAM,CAAmB;IACzB,cAAc,CAAiB;IAEvC,0DAA0D;IAClD,WAAW,GAA4B,IAAI,GAAG,EAAE,CAAC;IACzD,yCAAyC;IACjC,mBAAmB,GAAwB,IAAI,GAAG,EAAE,CAAC;IAE7D,4DAA4D;IACpD,cAAc,GAAwB,IAAI,GAAG,EAAE,CAAC;IAExD,kEAAkE;IAC1D,eAAe,GAA0B,EAAE,CAAC;IACnC,WAAW,GAAG,GAAG,CAAC;IAEnC,YAAY,MAAwB;QAClC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,IAAI,mCAAc,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC9D,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,MAAwB;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,OAAe;QACtB,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,CAAC,WAAW;YAAE,OAAO,SAAS,CAAC;QAEnC,OAAO;YACL,EAAE,EAAE,OAAO;YACX,GAAG,WAAW;SACf,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;aACtC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC;aAChD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;YACtB,EAAE;YACF,GAAG,MAAM;SACV,CAAC,CAAC,CAAC;IACR,CAAC;IAED;;OAEG;IACH,sBAAsB,CAAC,OAAuB;QAC5C,2CAA2C;QAC3C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO;gBACL,cAAc,EAAE,EAAE;gBAClB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,KAAK;aACf,CAAC;QACJ,CAAC;QAED,mCAAmC;QACnC,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC3E,MAAM,aAAa,GAAG,eAAe,EAAE,cAAc,CAAC;QACtD,MAAM,cAAc,GAAG,eAAe,EAAE,eAAe,IAAI,EAAE,CAAC;QAE9D,wCAAwC;QACxC,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YAC/D,IAAI,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAAE,OAAO,KAAK,CAAC;YACpD,IAAI,aAAa,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAAE,OAAO,KAAK,CAAC;YACrE,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,uDAAuD;QACvD,4EAA4E;QAC5E,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,iBAAiB,IAAI,OAAO,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxF,MAAM,kBAAkB,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACtD,OAAO,CAAC,iBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAC1C,CAAC;YAEF,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClC,+EAA+E;gBAC/E,MAAM,aAAa,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gBACxF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC7B,+DAA+D;oBAC/D,OAAO;wBACL,cAAc,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC9C,MAAM,EAAE,eAAe;wBACvB,OAAO,EAAE,KAAK;qBACf,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,wDAAwD;QACxD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACnB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACrC,CAAC;QAED,4BAA4B;QAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACzD,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACjE,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YACvB,OAAO;gBACL,cAAc,EAAE,EAAE;gBAClB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,IAAI;gBACb,WAAW,EAAE,wBAAwB,UAAU,CAAC,MAAM,IAAI,cAAc,6BAA6B;aACtG,CAAC;QACJ,CAAC;QAED,oEAAoE;QACpE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,qBAAqB,GAAG,GAAG,GAAG,UAAU,CAAC,gBAAgB,CAAC;QAChE,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QACvF,IAAI,CAAC,cAAc,IAAI,qBAAqB,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,kBAAkB,EAAE,CAAC;YAC9F,OAAO;gBACL,cAAc,EAAE,EAAE;gBAClB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,IAAI;gBACb,WAAW,EAAE,2BAA2B,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,kBAAkB,GAAG,qBAAqB,eAAe;aAC9H,CAAC;QACJ,CAAC;QAED,oBAAoB;QACpB,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACnB,wDAAwD;gBACxD,IAAI,OAAO,CAAC,iBAAiB,IAAI,OAAO,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtE,MAAM,kBAAkB,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACtD,OAAO,CAAC,iBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAC1C,CAAC;oBACF,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAClC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;wBAC5B,OAAO;4BACL,cAAc,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;4BACnD,MAAM,EAAE,WAAW;4BACnB,OAAO,EAAE,KAAK;yBACf,CAAC;oBACJ,CAAC;gBACH,CAAC;gBACD,4EAA4E;gBAC5E,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;gBAC5B,OAAO;oBACL,cAAc,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAChD,MAAM,EAAE,WAAW;oBACnB,OAAO,EAAE,KAAK;iBACf,CAAC;YACJ,CAAC;iBAAM,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;gBACjC,uDAAuD;gBACvD,gEAAgE;gBAChE,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;gBAClF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3B,OAAO;wBACL,cAAc,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC5C,MAAM,EAAE,WAAW;wBACnB,OAAO,EAAE,KAAK;qBACf,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,uCAAuC;QACvC,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QACjF,IAAI,aAAa,EAAE,CAAC;YAClB,uBAAuB;YACvB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,CAAC;gBACzC,OAAO;oBACL,cAAc,EAAE,EAAE;oBAClB,MAAM,EAAE,kBAAkB;oBAC1B,OAAO,EAAE,IAAI;oBACb,WAAW,EAAE,SAAS,aAAa,CAAC,EAAE,iBAAiB;iBACxD,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,cAAc,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC;gBAClC,MAAM,EAAE,kBAAkB;gBAC1B,OAAO,EAAE,KAAK;aACf,CAAC;QACJ,CAAC;QAED,6BAA6B;QAC7B,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAClF,IAAI,aAAa,EAAE,CAAC;YAClB,gCAAgC;YAChC,MAAM,WAAW,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;YACjF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,OAAO;oBACL,cAAc,EAAE,IAAI,CAAC,2BAA2B,CAAC,WAAW,EAAE,OAAO,CAAC;oBACtE,MAAM,EAAE,gBAAgB;oBACxB,OAAO,EAAE,KAAK;iBACf,CAAC;YACJ,CAAC;QACH,CAAC;QAED,2EAA2E;QAC3E,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAEjF,6DAA6D;QAC7D,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CACvC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,EAAE,KAAK,OAAO,CAAC,aAAa,CAC7E,CAAC;QAEF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,uFAAuF;YACvF,MAAM,aAAa,GAAG,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC;YAEtF,MAAM,cAAc,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAE5E,OAAO;gBACL,cAAc;gBACd,MAAM,EAAE,eAAe;gBACvB,OAAO,EAAE,KAAK;aACf,CAAC;QACJ,CAAC;QAED,uDAAuD;QACvD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACnB,MAAM,cAAc,GAAG,eAAe,EAAE,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;YACnF,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,cAAc,CAAC,CAAC;gBAC1E,IAAI,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;oBACvD,OAAO;wBACL,cAAc,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC;wBACjC,MAAM,EAAE,eAAe;wBACvB,OAAO,EAAE,KAAK;qBACf,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO;YACL,cAAc,EAAE,EAAE;YAClB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,KAAK;SACf,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,2BAA2B,CAAC,QAAkB,EAAE,OAAuB;QAC7E,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5C,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED;;OAEG;IACK,wBAAwB,CAAC,OAAuB;QACtD,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,mBAAmB,CAAC,OAAe,EAAE,SAAiB,EAAE,SAAkB;QACxE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,wBAAwB;QACxB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAEtC,qBAAqB;QACrB,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACjD,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,kCAAuB,CAAC;QAE9E,oCAAoC;QACpC,IAAI,GAAG,GAAG,UAAU,CAAC,gBAAgB,GAAG,cAAc,CAAC,eAAe,EAAE,CAAC;YACvE,kBAAkB;YAClB,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,iBAAiB;YACjB,UAAU,CAAC,MAAM,EAAE,CAAC;QACtB,CAAC;QAED,UAAU,CAAC,gBAAgB,GAAG,GAAG,CAAC;QAClC,UAAU,CAAC,WAAW,GAAG,OAAO,CAAC;QAEjC,+BAA+B;QAC/B,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACzD,IAAI,UAAU,CAAC,MAAM,IAAI,cAAc,EAAE,CAAC;YACxC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,kDAAkD,SAAS,KAAK,UAAU,CAAC,MAAM,IAAI,cAAc,GAAG,CACvG,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAE5C,oBAAoB;QACpB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;YACxB,OAAO;YACP,SAAS;YACT,SAAS,EAAE,GAAG;YACd,SAAS;SACV,CAAC,CAAC;QAEH,yBAAyB;QACzB,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACnD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACvE,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,2CAA2C,OAAO,aAAa,SAAS,WAAW,UAAU,CAAC,MAAM,EAAE,CACvG,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,SAAiB;QAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,8CAA8C,SAAS,UAAU,UAAU,CAAC,MAAM,cAAc,UAAU,CAAC,OAAO,GAAG,CACtH,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE;YAC9B,MAAM,EAAE,CAAC;YACT,gBAAgB,EAAE,CAAC;YACnB,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,oBAAoB,CAAC,SAAiB,EAAE,cAAsB;QAC5D,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,sBAAsB,CAAC,SAAiB;QACtC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,SAAiB;QACzC,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,gBAAgB,CAAC;IACjG,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,SAAiB;QAC7B,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG;gBACN,MAAM,EAAE,CAAC;gBACT,gBAAgB,EAAE,CAAC;gBACnB,WAAW,EAAE,IAAI;gBACjB,OAAO,EAAE,KAAK;aACf,CAAC;YACF,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,OAAe;QAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACtD,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC;QAE/B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,UAAU,GAAG,KAAK,EAAE,WAAW,IAAI,IAAI,CAAC;QAE9C,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,IAAI,UAAU,CAAC;IACjD,CAAC;IAED;;OAEG;IACK,mBAAmB,CACzB,OAAe,EACf,MAA4B;QAE5B,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAEpD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,KAAK,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;YAClD,IAAI,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBACtC,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,OAAe,EAAE,MAA4B;QACtE,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAyB,EAAE,CAAC;QAEzC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAG,KAAK,CAAC,qBAAqB,IAAI,EAAE,CAAC;YACnD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,IAAI,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;oBACjD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACpB,MAAM,CAAC,gCAAgC;gBACzC,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;OAGG;IACH,yBAAyB,CAAC,cAAsB;QAC9C,8CAA8C;QAC9C,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAExB,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAEpC,qCAAqC;QACrC,KAAK,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YACnE,IAAI,MAAM,CAAC,YAAY,KAAK,WAAW,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACvE,OAAO,OAAO,CAAC;YACjB,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,OAAe,EAAE,OAAe;QACjD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK;YAAE,OAAO,OAAO,CAAC;QAE3B,MAAM,MAAM,GAAG,KAAK,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;QAClD,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAEtC,IAAI,cAAc,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACpD,OAAO,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QACpD,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,kBAAkB;QAChB,OAAO,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,UAAU;QACR,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;IAC5B,CAAC;CACF;AApeD,wDAoeC"}
@@ -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"}