@oni.bot/core 1.0.2 → 1.1.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 (293) hide show
  1. package/CHANGELOG.md +146 -146
  2. package/dist/agents/define-agent.d.ts.map +1 -1
  3. package/dist/agents/define-agent.js +7 -2
  4. package/dist/agents/define-agent.js.map +1 -1
  5. package/dist/checkpoint.d.ts.map +1 -1
  6. package/dist/checkpoint.js +7 -2
  7. package/dist/checkpoint.js.map +1 -1
  8. package/dist/checkpointers/postgres.d.ts.map +1 -1
  9. package/dist/checkpointers/postgres.js +45 -28
  10. package/dist/checkpointers/postgres.js.map +1 -1
  11. package/dist/circuit-breaker.d.ts +1 -0
  12. package/dist/circuit-breaker.d.ts.map +1 -1
  13. package/dist/circuit-breaker.js +13 -0
  14. package/dist/circuit-breaker.js.map +1 -1
  15. package/dist/cli/dev.d.ts.map +1 -1
  16. package/dist/cli/dev.js +0 -1
  17. package/dist/cli/dev.js.map +1 -1
  18. package/dist/cli/inspect.d.ts.map +1 -1
  19. package/dist/cli/inspect.js +4 -2
  20. package/dist/cli/inspect.js.map +1 -1
  21. package/dist/cli/run.d.ts.map +1 -1
  22. package/dist/cli/run.js +0 -1
  23. package/dist/cli/run.js.map +1 -1
  24. package/dist/config/loader.d.ts +1 -1
  25. package/dist/config/loader.js +12 -4
  26. package/dist/config/loader.js.map +1 -1
  27. package/dist/coordination/pubsub.d.ts +1 -0
  28. package/dist/coordination/pubsub.d.ts.map +1 -1
  29. package/dist/coordination/pubsub.js +31 -16
  30. package/dist/coordination/pubsub.js.map +1 -1
  31. package/dist/coordination/request-reply.d.ts +17 -2
  32. package/dist/coordination/request-reply.d.ts.map +1 -1
  33. package/dist/coordination/request-reply.js +56 -14
  34. package/dist/coordination/request-reply.js.map +1 -1
  35. package/dist/events/bus.d.ts +1 -0
  36. package/dist/events/bus.d.ts.map +1 -1
  37. package/dist/events/bus.js +17 -10
  38. package/dist/events/bus.js.map +1 -1
  39. package/dist/functional.d.ts.map +1 -1
  40. package/dist/functional.js +3 -0
  41. package/dist/functional.js.map +1 -1
  42. package/dist/graph.d.ts +11 -1
  43. package/dist/graph.d.ts.map +1 -1
  44. package/dist/graph.js +9 -4
  45. package/dist/graph.js.map +1 -1
  46. package/dist/guardrails/audit.d.ts +4 -1
  47. package/dist/guardrails/audit.d.ts.map +1 -1
  48. package/dist/guardrails/audit.js +18 -1
  49. package/dist/guardrails/audit.js.map +1 -1
  50. package/dist/harness/agent-loop.d.ts +1 -7
  51. package/dist/harness/agent-loop.d.ts.map +1 -1
  52. package/dist/harness/agent-loop.js +2 -523
  53. package/dist/harness/agent-loop.js.map +1 -1
  54. package/dist/harness/context-compactor.d.ts +1 -0
  55. package/dist/harness/context-compactor.d.ts.map +1 -1
  56. package/dist/harness/context-compactor.js +43 -1
  57. package/dist/harness/context-compactor.js.map +1 -1
  58. package/dist/harness/harness.d.ts +6 -0
  59. package/dist/harness/harness.d.ts.map +1 -1
  60. package/dist/harness/harness.js +32 -5
  61. package/dist/harness/harness.js.map +1 -1
  62. package/dist/harness/hooks-engine.d.ts.map +1 -1
  63. package/dist/harness/hooks-engine.js +12 -10
  64. package/dist/harness/hooks-engine.js.map +1 -1
  65. package/dist/harness/index.d.ts +3 -1
  66. package/dist/harness/index.d.ts.map +1 -1
  67. package/dist/harness/index.js +2 -0
  68. package/dist/harness/index.js.map +1 -1
  69. package/dist/harness/loop/hooks.d.ts +7 -0
  70. package/dist/harness/loop/hooks.d.ts.map +1 -0
  71. package/dist/harness/loop/hooks.js +46 -0
  72. package/dist/harness/loop/hooks.js.map +1 -0
  73. package/dist/harness/loop/index.d.ts +8 -0
  74. package/dist/harness/loop/index.d.ts.map +1 -0
  75. package/dist/harness/loop/index.js +257 -0
  76. package/dist/harness/loop/index.js.map +1 -0
  77. package/dist/harness/loop/inference.d.ts +19 -0
  78. package/dist/harness/loop/inference.d.ts.map +1 -0
  79. package/dist/harness/loop/inference.js +121 -0
  80. package/dist/harness/loop/inference.js.map +1 -0
  81. package/dist/harness/loop/memory.d.ts +22 -0
  82. package/dist/harness/loop/memory.d.ts.map +1 -0
  83. package/dist/harness/loop/memory.js +73 -0
  84. package/dist/harness/loop/memory.js.map +1 -0
  85. package/dist/harness/loop/safety.d.ts +8 -0
  86. package/dist/harness/loop/safety.d.ts.map +1 -0
  87. package/dist/harness/loop/safety.js +21 -0
  88. package/dist/harness/loop/safety.js.map +1 -0
  89. package/dist/harness/loop/tools.d.ts +24 -0
  90. package/dist/harness/loop/tools.d.ts.map +1 -0
  91. package/dist/harness/loop/tools.js +184 -0
  92. package/dist/harness/loop/tools.js.map +1 -0
  93. package/dist/harness/loop/types.d.ts +7 -0
  94. package/dist/harness/loop/types.d.ts.map +1 -0
  95. package/dist/harness/loop/types.js +9 -0
  96. package/dist/harness/loop/types.js.map +1 -0
  97. package/dist/harness/memory/fs-compat.d.ts +3 -0
  98. package/dist/harness/memory/fs-compat.d.ts.map +1 -0
  99. package/dist/harness/memory/fs-compat.js +26 -0
  100. package/dist/harness/memory/fs-compat.js.map +1 -0
  101. package/dist/harness/memory/index.d.ts +105 -0
  102. package/dist/harness/memory/index.d.ts.map +1 -0
  103. package/dist/harness/memory/index.js +491 -0
  104. package/dist/harness/memory/index.js.map +1 -0
  105. package/dist/harness/memory/prompter.d.ts +7 -0
  106. package/dist/harness/memory/prompter.d.ts.map +1 -0
  107. package/dist/harness/memory/prompter.js +24 -0
  108. package/dist/harness/memory/prompter.js.map +1 -0
  109. package/dist/harness/memory/ranker.d.ts +15 -0
  110. package/dist/harness/memory/ranker.d.ts.map +1 -0
  111. package/dist/harness/memory/ranker.js +72 -0
  112. package/dist/harness/memory/ranker.js.map +1 -0
  113. package/dist/harness/memory/scanner.d.ts +26 -0
  114. package/dist/harness/memory/scanner.d.ts.map +1 -0
  115. package/dist/harness/memory/scanner.js +187 -0
  116. package/dist/harness/memory/scanner.js.map +1 -0
  117. package/dist/harness/memory/types.d.ts +50 -0
  118. package/dist/harness/memory/types.d.ts.map +1 -0
  119. package/dist/harness/memory/types.js +7 -0
  120. package/dist/harness/memory/types.js.map +1 -0
  121. package/dist/harness/memory-loader.d.ts +3 -0
  122. package/dist/harness/memory-loader.d.ts.map +1 -0
  123. package/dist/harness/memory-loader.js +2 -0
  124. package/dist/harness/memory-loader.js.map +1 -0
  125. package/dist/harness/safety-gate.d.ts.map +1 -1
  126. package/dist/harness/safety-gate.js +47 -26
  127. package/dist/harness/safety-gate.js.map +1 -1
  128. package/dist/harness/skill-loader.d.ts +7 -0
  129. package/dist/harness/skill-loader.d.ts.map +1 -1
  130. package/dist/harness/skill-loader.js +24 -8
  131. package/dist/harness/skill-loader.js.map +1 -1
  132. package/dist/harness/todo-module.d.ts.map +1 -1
  133. package/dist/harness/todo-module.js +13 -6
  134. package/dist/harness/todo-module.js.map +1 -1
  135. package/dist/harness/types.d.ts +7 -0
  136. package/dist/harness/types.d.ts.map +1 -1
  137. package/dist/harness/types.js.map +1 -1
  138. package/dist/harness/validate-args.js +18 -3
  139. package/dist/harness/validate-args.js.map +1 -1
  140. package/dist/hitl/interrupt.d.ts +2 -2
  141. package/dist/hitl/interrupt.d.ts.map +1 -1
  142. package/dist/hitl/interrupt.js +8 -5
  143. package/dist/hitl/interrupt.js.map +1 -1
  144. package/dist/hitl/resume.d.ts +10 -0
  145. package/dist/hitl/resume.d.ts.map +1 -1
  146. package/dist/hitl/resume.js +31 -0
  147. package/dist/hitl/resume.js.map +1 -1
  148. package/dist/injected.d.ts.map +1 -1
  149. package/dist/injected.js.map +1 -1
  150. package/dist/inspect.d.ts.map +1 -1
  151. package/dist/inspect.js +28 -8
  152. package/dist/inspect.js.map +1 -1
  153. package/dist/lsp/client.d.ts +2 -0
  154. package/dist/lsp/client.d.ts.map +1 -1
  155. package/dist/lsp/client.js +62 -17
  156. package/dist/lsp/client.js.map +1 -1
  157. package/dist/lsp/index.d.ts.map +1 -1
  158. package/dist/lsp/index.js.map +1 -1
  159. package/dist/mcp/client.d.ts +2 -0
  160. package/dist/mcp/client.d.ts.map +1 -1
  161. package/dist/mcp/client.js +44 -13
  162. package/dist/mcp/client.js.map +1 -1
  163. package/dist/mcp/convert.js +1 -1
  164. package/dist/mcp/convert.js.map +1 -1
  165. package/dist/mcp/transport.d.ts +2 -0
  166. package/dist/mcp/transport.d.ts.map +1 -1
  167. package/dist/mcp/transport.js +33 -8
  168. package/dist/mcp/transport.js.map +1 -1
  169. package/dist/messages/index.d.ts.map +1 -1
  170. package/dist/messages/index.js +7 -1
  171. package/dist/messages/index.js.map +1 -1
  172. package/dist/models/anthropic.d.ts.map +1 -1
  173. package/dist/models/anthropic.js +25 -15
  174. package/dist/models/anthropic.js.map +1 -1
  175. package/dist/models/google.d.ts.map +1 -1
  176. package/dist/models/google.js +23 -7
  177. package/dist/models/google.js.map +1 -1
  178. package/dist/models/ollama.d.ts.map +1 -1
  179. package/dist/models/ollama.js +11 -1
  180. package/dist/models/ollama.js.map +1 -1
  181. package/dist/models/openai.d.ts.map +1 -1
  182. package/dist/models/openai.js +15 -3
  183. package/dist/models/openai.js.map +1 -1
  184. package/dist/models/openrouter.d.ts.map +1 -1
  185. package/dist/models/openrouter.js +14 -3
  186. package/dist/models/openrouter.js.map +1 -1
  187. package/dist/prebuilt/react-agent.d.ts.map +1 -1
  188. package/dist/prebuilt/react-agent.js +7 -2
  189. package/dist/prebuilt/react-agent.js.map +1 -1
  190. package/dist/pregel/checkpointing.d.ts +12 -0
  191. package/dist/pregel/checkpointing.d.ts.map +1 -0
  192. package/dist/pregel/checkpointing.js +60 -0
  193. package/dist/pregel/checkpointing.js.map +1 -0
  194. package/dist/pregel/execution.d.ts +7 -0
  195. package/dist/pregel/execution.d.ts.map +1 -0
  196. package/dist/pregel/execution.js +178 -0
  197. package/dist/pregel/execution.js.map +1 -0
  198. package/dist/pregel/index.d.ts +61 -0
  199. package/dist/pregel/index.d.ts.map +1 -0
  200. package/dist/pregel/index.js +154 -0
  201. package/dist/pregel/index.js.map +1 -0
  202. package/dist/pregel/interrupts.d.ts +3 -0
  203. package/dist/pregel/interrupts.d.ts.map +1 -0
  204. package/dist/pregel/interrupts.js +7 -0
  205. package/dist/pregel/interrupts.js.map +1 -0
  206. package/dist/pregel/state-helpers.d.ts +12 -0
  207. package/dist/pregel/state-helpers.d.ts.map +1 -0
  208. package/dist/pregel/state-helpers.js +71 -0
  209. package/dist/pregel/state-helpers.js.map +1 -0
  210. package/dist/pregel/streaming.d.ts +5 -0
  211. package/dist/pregel/streaming.d.ts.map +1 -0
  212. package/dist/pregel/streaming.js +462 -0
  213. package/dist/pregel/streaming.js.map +1 -0
  214. package/dist/pregel/types.d.ts +48 -0
  215. package/dist/pregel/types.d.ts.map +1 -0
  216. package/dist/pregel/types.js +5 -0
  217. package/dist/pregel/types.js.map +1 -0
  218. package/dist/pregel.d.ts +1 -63
  219. package/dist/pregel.d.ts.map +1 -1
  220. package/dist/pregel.js +2 -804
  221. package/dist/pregel.js.map +1 -1
  222. package/dist/retry.d.ts.map +1 -1
  223. package/dist/retry.js +7 -6
  224. package/dist/retry.js.map +1 -1
  225. package/dist/store/index.d.ts.map +1 -1
  226. package/dist/store/index.js +36 -9
  227. package/dist/store/index.js.map +1 -1
  228. package/dist/stream-events.d.ts.map +1 -1
  229. package/dist/stream-events.js +3 -9
  230. package/dist/stream-events.js.map +1 -1
  231. package/dist/swarm/agent-node.d.ts +11 -0
  232. package/dist/swarm/agent-node.d.ts.map +1 -0
  233. package/dist/swarm/agent-node.js +156 -0
  234. package/dist/swarm/agent-node.js.map +1 -0
  235. package/dist/swarm/compile-ext.d.ts +5 -0
  236. package/dist/swarm/compile-ext.d.ts.map +1 -0
  237. package/dist/swarm/compile-ext.js +126 -0
  238. package/dist/swarm/compile-ext.js.map +1 -0
  239. package/dist/swarm/config.d.ts +147 -0
  240. package/dist/swarm/config.d.ts.map +1 -0
  241. package/dist/swarm/config.js +17 -0
  242. package/dist/swarm/config.js.map +1 -0
  243. package/dist/swarm/factories.d.ts +37 -0
  244. package/dist/swarm/factories.d.ts.map +1 -0
  245. package/dist/swarm/factories.js +703 -0
  246. package/dist/swarm/factories.js.map +1 -0
  247. package/dist/swarm/graph.d.ts +16 -136
  248. package/dist/swarm/graph.d.ts.map +1 -1
  249. package/dist/swarm/graph.js +39 -897
  250. package/dist/swarm/graph.js.map +1 -1
  251. package/dist/swarm/index.d.ts +2 -1
  252. package/dist/swarm/index.d.ts.map +1 -1
  253. package/dist/swarm/index.js.map +1 -1
  254. package/dist/swarm/mailbox.d.ts.map +1 -1
  255. package/dist/swarm/mailbox.js +3 -1
  256. package/dist/swarm/mailbox.js.map +1 -1
  257. package/dist/swarm/mermaid.d.ts +2 -1
  258. package/dist/swarm/mermaid.d.ts.map +1 -1
  259. package/dist/swarm/mermaid.js +6 -3
  260. package/dist/swarm/mermaid.js.map +1 -1
  261. package/dist/swarm/pool.d.ts.map +1 -1
  262. package/dist/swarm/pool.js +18 -1
  263. package/dist/swarm/pool.js.map +1 -1
  264. package/dist/swarm/registry.d.ts.map +1 -1
  265. package/dist/swarm/registry.js +7 -0
  266. package/dist/swarm/registry.js.map +1 -1
  267. package/dist/swarm/scaling.d.ts +10 -1
  268. package/dist/swarm/scaling.d.ts.map +1 -1
  269. package/dist/swarm/scaling.js +85 -14
  270. package/dist/swarm/scaling.js.map +1 -1
  271. package/dist/swarm/snapshot.d.ts.map +1 -1
  272. package/dist/swarm/snapshot.js +10 -1
  273. package/dist/swarm/snapshot.js.map +1 -1
  274. package/dist/swarm/supervisor.js +20 -12
  275. package/dist/swarm/supervisor.js.map +1 -1
  276. package/dist/swarm/tracer.d.ts +3 -1
  277. package/dist/swarm/tracer.d.ts.map +1 -1
  278. package/dist/swarm/tracer.js +66 -15
  279. package/dist/swarm/tracer.js.map +1 -1
  280. package/dist/swarm/types.d.ts +1 -6
  281. package/dist/swarm/types.d.ts.map +1 -1
  282. package/dist/testing/index.d.ts +4 -4
  283. package/dist/testing/index.d.ts.map +1 -1
  284. package/dist/testing/index.js +3 -2
  285. package/dist/testing/index.js.map +1 -1
  286. package/dist/tools/define.d.ts +2 -1
  287. package/dist/tools/define.d.ts.map +1 -1
  288. package/dist/tools/define.js +3 -1
  289. package/dist/tools/define.js.map +1 -1
  290. package/dist/tools/types.d.ts.map +1 -1
  291. package/dist/types.d.ts +3 -1
  292. package/dist/types.d.ts.map +1 -1
  293. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/swarm/graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/swarm/graph.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,mCAAmC;AACnC,+DAA+D;AAC/D,kDAAkD;AAClD,qDAAqD;AACrD,uDAAuD;AACvD,uDAAuD;AACvD,oDAAoD;AACpD,+DAA+D;AAE/D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAQzC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAOhD,OAAO,EAAE,oBAAoB,EAAwB,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EACL,iBAAiB,EAAE,WAAW,EAAE,aAAa,EAAE,gBAAgB,EAC/D,cAAc,EAAE,WAAW,EAAE,qBAAqB,EAAE,SAAS,EAC7D,QAAQ,EAAE,SAAS,EAAE,YAAY,GAClC,MAAM,gBAAgB,CAAC;AAExB,mEAAmE;AACnE,aAAa;AACb,mEAAmE;AAEnE,MAAM,OAAO,UAAU;IACrB,gBAAgB,CAAC,KAAK,CAAmB;IACzC,gBAAgB,CAAC,QAAQ,CAAmB;IAC5C,gBAAgB,CAAC,QAAQ,CAAmB;IAC5C,gBAAgB,CAAC,QAAQ,GAAI,IAAI,GAAG,EAAU,CAAC;IAC/C,gBAAgB,CAAC,kBAAkB,GAAG,gBAAgB,CAAC;IACvD,gBAAgB,CAAC,aAAa,GAAG,KAAK,CAAC;IACvC,gBAAgB,CAAC,aAAa,GAAyB,UAAU,CAAC;IAE1D,OAAO,CAAsB;IAC7B,OAAO,CAAU;IAEzB,IAAY,MAAM;QAChB,OAAO,IAAI,CAAC,OAAO,KAAK,IAAI,kBAAkB,EAAE,CAAC;IACnD,CAAC;IAED,IAAY,MAAM;QAChB,OAAO,IAAI,CAAC,OAAO,KAAK,IAAI,MAAM,EAAE,CAAC;IACvC,CAAC;IAED,YAAY,QAAoC;QAC9C,IAAI,CAAC,QAAQ,GAAG;YACd,GAAG,iBAAiB;YACpB,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;SACA,CAAC;QAEtB,IAAI,CAAC,KAAK,GAAM,IAAI,UAAU,CAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,QAAQ,GAAG,IAAI,aAAa,EAAK,CAAC;IACzC,CAAC;IAED,kDAAkD;IAElD;;;;OAIG;IACH,MAAM,CAAC,YAAY,CACjB,MAA6B;QAE7B,OAAO,iBAAiB,CAAC,MAAM,EAAE,IAAI,UAAU,CAAI,MAAM,CAAC,QAAqC,CAAC,CAAC,CAAC;IACpG,CAAC;IAED,6CAA6C;IAE7C;;;OAGG;IACH,MAAM,CAAC,MAAM,CACX,MAAuB;QAEvB,OAAO,WAAW,CAAC,MAAM,EAAE,IAAI,UAAU,CAAI,MAAM,CAAC,QAAqC,CAAC,CAAC,CAAC;IAC9F,CAAC;IAED,8CAA8C;IAE9C;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CACb,MAAyB;QAEzB,OAAO,aAAa,CAAC,MAAM,EAAE,IAAI,UAAU,CAAI,MAAM,CAAC,QAAqC,CAAC,CAAC,CAAC;IAChG,CAAC;IAED,kDAAkD;IAElD;;;OAGG;IACH,MAAM,CAAC,WAAW,CAChB,MAA4B;QAE5B,OAAO,gBAAgB,CAAC,MAAM,EAAE,IAAI,UAAU,CAAI,MAAM,CAAC,QAAqC,CAAC,CAAC,CAAC;IACnG,CAAC;IAED,gDAAgD;IAEhD;;;OAGG;IACH,MAAM,CAAC,SAAS,CACd,MAA0B;QAE1B,OAAO,cAAc,CAAC,MAAM,EAAE,IAAI,UAAU,CAAI,MAAM,CAAC,QAAqC,CAAC,CAAC,CAAC;IACjG,CAAC;IAED,4CAA4C;IAE5C;;;;OAIG;IACH,MAAM,CAAC,MAAM,CACX,MAAuB;QAEvB,OAAO,WAAW,CAAC,MAAM,EAAE,IAAI,UAAU,CAAI,MAAM,CAAC,QAAqC,CAAC,CAAC,CAAC;IAC9F,CAAC;IAED,uDAAuD;IAEvD;;;;OAIG;IACH,MAAM,CAAC,gBAAgB,CACrB,MAAiC;QAEjC,OAAO,qBAAqB,CAC1B,MAAM,EACN,IAAI,UAAU,CAAI,MAAM,CAAC,QAAqC,CAAC,EAC/D,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,UAAU,CAAI,EAAE,CAAC,CAC9B,CAAC;IACJ,CAAC;IAED,0CAA0C;IAE1C;;;OAGG;IACH,MAAM,CAAC,IAAI,CACT,MAKC;QAED,OAAO,SAAS,CAAC,MAAM,EAAE,IAAI,UAAU,CAAI,MAAM,CAAC,QAAqC,CAAC,CAAC,CAAC;IAC5F,CAAC;IAED,yCAAyC;IAEzC;;;OAGG;IACH,MAAM,CAAC,GAAG,CACR,MAIC;QAED,OAAO,QAAQ,CAAC,MAAM,EAAE,IAAI,UAAU,CAAI,MAAM,CAAC,QAAqC,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED,0CAA0C;IAE1C;;;OAGG;IACH,MAAM,CAAC,IAAI,CACT,MAMC;QAED,OAAO,SAAS,CAAC,MAAM,EAAE,IAAI,UAAU,CAAI,MAAM,CAAC,QAAqC,CAAC,CAAC,CAAC;IAC5F,CAAC;IAED,6CAA6C;IAE7C;;;OAGG;IACH,MAAM,CAAC,OAAO,CACZ,MAAqG;QAErG,OAAO,YAAY,CAAC,MAAM,EAAE,IAAI,UAAU,CAAI,MAAM,CAAC,QAAqC,CAAC,CAAC,CAAC;IAC/F,CAAC;IAED,+BAA+B;IAE/B,QAAQ,CAAC,GAAqB;QAC5B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;QACtE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uBAAuB;IAEvB,aAAa,CAAC,MAA2B,EAAE,QAAQ,GAAG,IAAI,CAAC,kBAAkB;QAC3E,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAE1B,MAAM,YAAY,GAAG,oBAAoB,CACvC,IAAI,CAAC,QAAyD,EAC9D,MAA+C,CACnC,CAAC;QAEf,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAE3C,2BAA2B;QAC3B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAEpC,8CAA8C;QAC9C,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC,KAAQ,EAAE,EAAE;gBACnD,kCAAkC;gBAClC,IAAI,KAAK,CAAC,IAAI;oBAAE,OAAO,GAAG,CAAC;gBAC3B,OAAO,QAAQ,CAAC;YAClB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uCAAuC;IAEvC;;;;OAIG;IACH,cAAc,CAAC,WAAmB,EAAE,SAAiB;QACnD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,qBAAqB,CACnB,WAAmB,EACnB,SAA8C;QAE9C,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oCAAoC;IAEpC,OAAO,CAAC,IAAY,EAAE,EAAU;QAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gCAAgC;IAEhC;;;OAGG;IACH,gBAAgB;QACd,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,kEAAkE;QAClE,IAAI,IAAI,CAAC,aAAa;YAAE,OAAO,MAAM,CAAC;QAEtC,mFAAmF;QACnF,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;QACtC,8DAA8D;QAC9D,KAAK,MAAM,IAAI,IAAK,IAAI,CAAC,KAAa,CAAC,KAAK,EAAE,CAAC,CAAC,uFAAuF;YACrI,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3B,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAY,CAAC,CAAC;YACrC,CAAC;YACD,oDAAoD;YACpD,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBAChD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAiC,CAAC,EAAE,CAAC;oBAC3E,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC1B,CAAC;YACH,CAAC;QACH,CAAC;QAED,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC9B,MAAM,CAAC,IAAI,CAAC,UAAU,OAAO,kDAAkD,CAAC,CAAC;YACnF,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,+BAA+B;IAE/B;;OAEG;IACH,QAAQ,CAAC,GAAG,QAAkB;QAC5B,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QACrC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAE,CAAC,CAAC;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAE,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAE,EAAE,GAAG,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oBAAoB;IAEpB,OAAO,CAAC,OAA4B,EAAE;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;YAClC,GAAG,CAAC,IAAI,CAAC,YAAY,KAAQ,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAK,IAAI,CAAC,YAAY,EAAE,CAAI,CAAC,CAAC,EAAE,CAAC;YACxF,GAAG,CAAC,IAAI,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxF,GAAG,CAAC,IAAI,CAAC,cAAc,KAAM,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAG,IAAI,CAAC,cAAc,EAAE,CAAE,CAAC,CAAC,EAAE,CAAC;YACxF,GAAG,CAAC,IAAI,CAAC,KAAK,KAAe,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAY,IAAI,CAAC,KAAK,EAAE,CAAW,CAAC,CAAC,EAAE,CAAC;YACxF,GAAG,CAAC,IAAI,CAAC,UAAU,KAAU,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAO,IAAI,CAAC,UAAU,EAAE,CAAM,CAAC,CAAC,EAAE,CAAC;YACxF,GAAG,CAAC,IAAI,CAAC,SAAS,KAAW,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAQ,IAAI,CAAC,SAAS,EAAE,CAAO,CAAC,CAAC,EAAE,CAAC;YACxF,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAY,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAS,IAAI,CAAC,QAAQ,EAAE,CAAQ,CAAC,CAAC,EAAE,CAAC;YACxF,GAAG,CAAC,IAAI,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxF,GAAG,CAAC,IAAI,CAAC,MAAM,KAAc,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAW,IAAI,CAAC,MAAM,EAAE,CAAU,CAAC,CAAC,EAAE,CAAC;YAC1F,8DAA8D;SACtD,CAAC,CAAC,CAAC,0FAA0F;QAErG,MAAM,UAAU,GAAG,oBAAoB,CACrC,QAAQ,EACR,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,aAAa,CACnB,CAAC;QAEF,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC7C,CAAC;CACF;AAED,mEAAmE;AACnE,+DAA+D;AAC/D,mEAAmE;AAEnE;;;;GAIG;AACH,MAAM,UAAU,UAAU,CACxB,EAAU,EACV,EAAyF,EACzF,IASC;IAED,MAAM,CAAC,GAAG,IAAI,UAAU,CAAiB,EAAE,QAAQ,EAAE,iBAAkD,EAAE,CAAC,CAAC;IAC3G,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,KAAqB,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9D,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACzB,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACvB,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;IAE7B,OAAO;QACL,EAAE;QACF,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE;QACtB,YAAY,EAAE,IAAI,EAAE,YAAY,IAAI,EAAE;QACtC,QAAQ,EAAE,QAAuC;QACjD,KAAK,EAAE,IAAI,EAAE,KAAK;QAClB,UAAU,EAAE,IAAI,EAAE,UAAU;QAC5B,cAAc,EAAE,IAAI,EAAE,cAAc;QACpC,YAAY,EAAE,IAAI,EAAE,YAAY;QAChC,OAAO,EAAE,IAAI,EAAE,OAAO;QACtB,YAAY,EAAE,IAAI,EAAE,YAAY;KACjC,CAAC;AACJ,CAAC;AAOD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC"}
@@ -1,5 +1,6 @@
1
1
  export { SwarmGraph, baseSwarmChannels, quickAgent } from "./graph.js";
2
2
  export type { BaseSwarmState, SwarmCompileOpts, SwarmExtensions, HierarchicalConfig, FanOutConfig, PipelineConfig, PeerNetworkConfig, MapReduceConfig, DebateConfig, HierarchicalMeshConfig } from "./graph.js";
3
+ export type { SwarmCompileOpts as SwarmCompileOptions } from "./graph.js";
3
4
  export { AgentRegistry } from "./registry.js";
4
5
  export type { AgentRecord } from "./registry.js";
5
6
  export { AgentPool } from "./pool.js";
@@ -7,7 +8,7 @@ export { createSupervisorNode } from "./supervisor.js";
7
8
  export type { SupervisorState } from "./supervisor.js";
8
9
  export { createMessage, getInbox, consumeInbox, formatInbox } from "./mailbox.js";
9
10
  export { Handoff } from "./types.js";
10
- export type { SwarmAgentDef, AgentStatus, AgentCapability, AgentLifecycleHooks, AgentErrorContext, HandoffOptions, HandoffRecord, SwarmMessage, SwarmMeta, SupervisorConfig, SupervisorRoutingStrategy, RuleRoute, AgentPoolConfig, SwarmCompileOptions, SwarmTopology, } from "./types.js";
11
+ export type { SwarmAgentDef, AgentStatus, AgentCapability, AgentLifecycleHooks, AgentErrorContext, HandoffOptions, HandoffRecord, SwarmMessage, SwarmMeta, SupervisorConfig, SupervisorRoutingStrategy, RuleRoute, AgentPoolConfig, SwarmTopology, } from "./types.js";
11
12
  export { SwarmTracer } from "./tracer.js";
12
13
  export type { SwarmEvent, SwarmEventListener } from "./tracer.js";
13
14
  export { toSwarmMermaid } from "./mermaid.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/swarm/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACvE,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,eAAe,EAAE,kBAAkB,EAAE,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,eAAe,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEhN,OAAO,EAAE,aAAa,EAAE,MAA2B,eAAe,CAAC;AACnE,YAAY,EAAE,WAAW,EAAE,MAAwB,eAAe,CAAC;AAEnE,OAAO,EAAE,SAAS,EAAE,MAA+B,WAAW,CAAC;AAE/D,OAAO,EAAE,oBAAoB,EAAE,MAAoB,iBAAiB,CAAC;AACrE,YAAY,EAAE,eAAe,EAAE,MAAoB,iBAAiB,CAAC;AAErE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAElF,OAAO,EAAE,OAAO,EAAE,MAAiC,YAAY,CAAC;AAChE,YAAY,EACV,aAAa,EACb,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,yBAAyB,EACzB,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,aAAa,GACd,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,WAAW,EAAE,MAA6B,aAAa,CAAC;AACjE,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAElE,OAAO,EAAE,cAAc,EAAE,MAA0B,cAAc,CAAC;AAElE,OAAO,EAAE,kBAAkB,EAAE,MAAsB,eAAe,CAAC;AACnE,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAE9F,YAAY,EAAE,kBAAkB,EAAE,MAAiB,eAAe,CAAC;AAEnE,OAAO,EAAE,qBAAqB,EAAE,MAAmB,cAAc,CAAC;AAClE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/swarm/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACvE,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,eAAe,EAAE,kBAAkB,EAAE,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,eAAe,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAChN,YAAY,EAAE,gBAAgB,IAAI,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAE1E,OAAO,EAAE,aAAa,EAAE,MAA2B,eAAe,CAAC;AACnE,YAAY,EAAE,WAAW,EAAE,MAAwB,eAAe,CAAC;AAEnE,OAAO,EAAE,SAAS,EAAE,MAA+B,WAAW,CAAC;AAE/D,OAAO,EAAE,oBAAoB,EAAE,MAAoB,iBAAiB,CAAC;AACrE,YAAY,EAAE,eAAe,EAAE,MAAoB,iBAAiB,CAAC;AAErE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAElF,OAAO,EAAE,OAAO,EAAE,MAAiC,YAAY,CAAC;AAChE,YAAY,EACV,aAAa,EACb,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,yBAAyB,EACzB,SAAS,EACT,eAAe,EACf,aAAa,GACd,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,WAAW,EAAE,MAA6B,aAAa,CAAC;AACjE,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAElE,OAAO,EAAE,cAAc,EAAE,MAA0B,cAAc,CAAC;AAElE,OAAO,EAAE,kBAAkB,EAAE,MAAsB,eAAe,CAAC;AACnE,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAE9F,YAAY,EAAE,kBAAkB,EAAE,MAAiB,eAAe,CAAC;AAEnE,OAAO,EAAE,qBAAqB,EAAE,MAAmB,cAAc,CAAC;AAClE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/swarm/index.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,mCAAmC;AACnC,+DAA+D;AAE/D,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGvE,OAAO,EAAE,aAAa,EAAE,MAA2B,eAAe,CAAC;AAGnE,OAAO,EAAE,SAAS,EAAE,MAA+B,WAAW,CAAC;AAE/D,OAAO,EAAE,oBAAoB,EAAE,MAAoB,iBAAiB,CAAC;AAGrE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAElF,OAAO,EAAE,OAAO,EAAE,MAAiC,YAAY,CAAC;AAmBhE,kBAAkB;AAClB,OAAO,EAAE,WAAW,EAAE,MAA6B,aAAa,CAAC;AAGjE,OAAO,EAAE,cAAc,EAAE,MAA0B,cAAc,CAAC;AAElE,OAAO,EAAE,kBAAkB,EAAE,MAAsB,eAAe,CAAC;AAKnE,OAAO,EAAE,qBAAqB,EAAE,MAAmB,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/swarm/index.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,mCAAmC;AACnC,+DAA+D;AAE/D,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAIvE,OAAO,EAAE,aAAa,EAAE,MAA2B,eAAe,CAAC;AAGnE,OAAO,EAAE,SAAS,EAAE,MAA+B,WAAW,CAAC;AAE/D,OAAO,EAAE,oBAAoB,EAAE,MAAoB,iBAAiB,CAAC;AAGrE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAElF,OAAO,EAAE,OAAO,EAAE,MAAiC,YAAY,CAAC;AAkBhE,kBAAkB;AAClB,OAAO,EAAE,WAAW,EAAE,MAA6B,aAAa,CAAC;AAGjE,OAAO,EAAE,cAAc,EAAE,MAA0B,cAAc,CAAC;AAElE,OAAO,EAAE,kBAAkB,EAAE,MAAsB,eAAe,CAAC;AAKnE,OAAO,EAAE,qBAAqB,EAAE,MAAmB,cAAc,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"mailbox.d.ts","sourceRoot":"","sources":["../../src/swarm/mailbox.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAI/C,wBAAgB,aAAa,CAC3B,IAAI,EAAO,MAAM,EACjB,EAAE,EAAS,MAAM,EACjB,OAAO,EAAI,MAAM,EACjB,IAAI,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9D,YAAY,CAUd;AAED,qEAAqE;AACrE,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,YAAY,EAAE,CAElF;AAED,2EAA2E;AAC3E,wBAAgB,YAAY,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,YAAY,EAAE,CAEtF;AAED,sDAAsD;AACtD,wBAAgB,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,MAAM,CAK5D"}
1
+ {"version":3,"file":"mailbox.d.ts","sourceRoot":"","sources":["../../src/swarm/mailbox.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAI/C,wBAAgB,aAAa,CAC3B,IAAI,EAAO,MAAM,EACjB,EAAE,EAAS,MAAM,EACjB,OAAO,EAAI,MAAM,EACjB,IAAI,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9D,YAAY,CAUd;AAED,qEAAqE;AACrE,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,YAAY,EAAE,CAElF;AAED,2EAA2E;AAC3E,wBAAgB,YAAY,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,YAAY,EAAE,CAItF;AAED,sDAAsD;AACtD,wBAAgB,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,MAAM,CAK5D"}
@@ -23,7 +23,9 @@ export function getInbox(messages, agentId) {
23
23
  }
24
24
  /** Mark messages as consumed — returns messages NOT consumed by agentId */
25
25
  export function consumeInbox(messages, agentId) {
26
- return messages.filter((m) => m.to !== agentId && m.to !== "*");
26
+ // Only remove direct messages addressed to this agent.
27
+ // Broadcasts (to === "*") are preserved so subsequent agents can still read them.
28
+ return messages.filter((m) => m.to !== agentId);
27
29
  }
28
30
  /** Format inbox as readable string for LLM context */
29
31
  export function formatInbox(messages) {
@@ -1 +1 @@
1
- {"version":3,"file":"mailbox.js","sourceRoot":"","sources":["../../src/swarm/mailbox.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,8DAA8D;AAC9D,+DAA+D;AAC/D,gEAAgE;AAChE,8DAA8D;AAC9D,qDAAqD;AACrD,+DAA+D;AAI/D,IAAI,UAAU,GAAG,CAAC,CAAC;AAEnB,MAAM,UAAU,aAAa,CAC3B,IAAiB,EACjB,EAAiB,EACjB,OAAiB,EACjB,IAA+D;IAE/D,OAAO;QACL,EAAE,EAAS,OAAO,EAAE,UAAU,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE;QAC9C,IAAI;QACJ,EAAE;QACF,OAAO;QACP,QAAQ,EAAG,IAAI,EAAE,QAAQ;QACzB,OAAO,EAAI,IAAI,EAAE,OAAO;QACxB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACtB,CAAC;AACJ,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,QAAQ,CAAC,QAAwB,EAAE,OAAe;IAChE,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,IAAI,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;AAClE,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,YAAY,CAAC,QAAwB,EAAE,OAAe;IACpE,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,IAAI,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;AAClE,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,WAAW,CAAC,QAAwB;IAClD,IAAI,CAAC,QAAQ,CAAC,MAAM;QAAE,OAAO,eAAe,CAAC;IAC7C,OAAO,QAAQ;SACZ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;SACtF,IAAI,CAAC,SAAS,CAAC,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"mailbox.js","sourceRoot":"","sources":["../../src/swarm/mailbox.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,8DAA8D;AAC9D,+DAA+D;AAC/D,gEAAgE;AAChE,8DAA8D;AAC9D,qDAAqD;AACrD,+DAA+D;AAI/D,IAAI,UAAU,GAAG,CAAC,CAAC;AAEnB,MAAM,UAAU,aAAa,CAC3B,IAAiB,EACjB,EAAiB,EACjB,OAAiB,EACjB,IAA+D;IAE/D,OAAO;QACL,EAAE,EAAS,OAAO,EAAE,UAAU,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE;QAC9C,IAAI;QACJ,EAAE;QACF,OAAO;QACP,QAAQ,EAAG,IAAI,EAAE,QAAQ;QACzB,OAAO,EAAI,IAAI,EAAE,OAAO;QACxB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACtB,CAAC;AACJ,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,QAAQ,CAAC,QAAwB,EAAE,OAAe;IAChE,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,IAAI,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;AAClE,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,YAAY,CAAC,QAAwB,EAAE,OAAe;IACpE,uDAAuD;IACvD,kFAAkF;IAClF,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;AAClD,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,WAAW,CAAC,QAAwB;IAClD,IAAI,CAAC,QAAQ,CAAC,MAAM;QAAE,OAAO,eAAe,CAAC;IAC7C,OAAO,QAAQ;SACZ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;SACtF,IAAI,CAAC,SAAS,CAAC,CAAC;AACrB,CAAC"}
@@ -4,7 +4,8 @@ import type { AgentRegistry } from "./registry.js";
4
4
  * Shows agent nodes with role labels, capabilities, status coloring,
5
5
  * and live stats (active tasks, errors).
6
6
  *
7
- * Terminated agents are excluded.
7
+ * Terminated agents are excluded by {@link AgentRegistry.manifest} before
8
+ * this function receives them.
8
9
  */
9
10
  export declare function toSwarmMermaid(registry: AgentRegistry): string;
10
11
  //# sourceMappingURL=mermaid.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mermaid.d.ts","sourceRoot":"","sources":["../../src/swarm/mermaid.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAsB,MAAM,eAAe,CAAC;AAkBvE;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,CAmC9D"}
1
+ {"version":3,"file":"mermaid.d.ts","sourceRoot":"","sources":["../../src/swarm/mermaid.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAoBnD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,CAmC9D"}
@@ -7,11 +7,13 @@
7
7
  // ----------------------------------------------------------------
8
8
  // Status → style mapping
9
9
  // ----------------------------------------------------------------
10
+ // Note: "terminated" is intentionally absent — AgentRegistry.manifest()
11
+ // filters terminated agents before returning entries, so this function
12
+ // never receives a terminated entry. The Partial type reflects that.
10
13
  const STATUS_STYLES = {
11
14
  idle: "fill:#10b981,color:#fff", // green
12
15
  busy: "fill:#3b82f6,color:#fff", // blue
13
16
  error: "fill:#ef4444,color:#fff", // red
14
- terminated: "fill:#6b7280,color:#fff", // gray (excluded by default)
15
17
  };
16
18
  // ----------------------------------------------------------------
17
19
  // toSwarmMermaid
@@ -21,7 +23,8 @@ const STATUS_STYLES = {
21
23
  * Shows agent nodes with role labels, capabilities, status coloring,
22
24
  * and live stats (active tasks, errors).
23
25
  *
24
- * Terminated agents are excluded.
26
+ * Terminated agents are excluded by {@link AgentRegistry.manifest} before
27
+ * this function receives them.
25
28
  */
26
29
  export function toSwarmMermaid(registry) {
27
30
  const entries = registry.manifest();
@@ -44,7 +47,7 @@ export function toSwarmMermaid(registry) {
44
47
  if (stats.length > 0) {
45
48
  parts.push(stats.join(" | "));
46
49
  }
47
- const label = parts.join("<br/>");
50
+ const label = parts.join("<br/>").replace(/"/g, "#quot;");
48
51
  lines.push(` ${nodeId}["${label}"]`);
49
52
  // Style by status
50
53
  const style = STATUS_STYLES[entry.status];
@@ -1 +1 @@
1
- {"version":3,"file":"mermaid.js","sourceRoot":"","sources":["../../src/swarm/mermaid.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,wDAAwD;AACxD,+DAA+D;AAC/D,4DAA4D;AAC5D,qDAAqD;AACrD,+DAA+D;AAK/D,mEAAmE;AACnE,yBAAyB;AACzB,mEAAmE;AAEnE,MAAM,aAAa,GAAgC;IACjD,IAAI,EAAQ,yBAAyB,EAAI,QAAQ;IACjD,IAAI,EAAQ,yBAAyB,EAAI,OAAO;IAChD,KAAK,EAAO,yBAAyB,EAAI,MAAM;IAC/C,UAAU,EAAE,yBAAyB,EAAI,6BAA6B;CACvE,CAAC;AAEF,mEAAmE;AACnE,iBAAiB;AACjB,mEAAmE;AAEnE;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,QAAuB;IACpD,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;IACpC,MAAM,KAAK,GAAa,CAAC,UAAU,CAAC,CAAC;IAErC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAEpC,2CAA2C;QAC3C,MAAM,KAAK,GAAa;YACtB,MAAM,KAAK,CAAC,IAAI,MAAM;SACvB,CAAC;QAEF,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9D,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC;QAC/B,CAAC;QAED,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,WAAW,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,WAAW,SAAS,CAAC,CAAC;QACrE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,MAAM,CAAC,CAAC;QACxD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,OAAO,MAAM,KAAK,KAAK,IAAI,CAAC,CAAC;QAExC,kBAAkB;QAClB,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,mEAAmE;AACnE,UAAU;AACV,mEAAmE;AAEnE,mFAAmF;AACnF,SAAS,UAAU,CAAC,EAAU;IAC5B,OAAO,EAAE,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"mermaid.js","sourceRoot":"","sources":["../../src/swarm/mermaid.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,wDAAwD;AACxD,+DAA+D;AAC/D,4DAA4D;AAC5D,qDAAqD;AACrD,+DAA+D;AAK/D,mEAAmE;AACnE,yBAAyB;AACzB,mEAAmE;AACnE,wEAAwE;AACxE,uEAAuE;AACvE,qEAAqE;AAErE,MAAM,aAAa,GAAyC;IAC1D,IAAI,EAAG,yBAAyB,EAAI,QAAQ;IAC5C,IAAI,EAAG,yBAAyB,EAAI,OAAO;IAC3C,KAAK,EAAE,yBAAyB,EAAI,MAAM;CAC3C,CAAC;AAEF,mEAAmE;AACnE,iBAAiB;AACjB,mEAAmE;AAEnE;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,QAAuB;IACpD,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;IACpC,MAAM,KAAK,GAAa,CAAC,UAAU,CAAC,CAAC;IAErC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAEpC,2CAA2C;QAC3C,MAAM,KAAK,GAAa;YACtB,MAAM,KAAK,CAAC,IAAI,MAAM;SACvB,CAAC;QAEF,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9D,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC;QAC/B,CAAC;QAED,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,WAAW,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,WAAW,SAAS,CAAC,CAAC;QACrE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,MAAM,CAAC,CAAC;QACxD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC1D,KAAK,CAAC,IAAI,CAAC,OAAO,MAAM,KAAK,KAAK,IAAI,CAAC,CAAC;QAExC,kBAAkB;QAClB,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,mEAAmE;AACnE,UAAU;AACV,mEAAmE;AAEnE,mFAAmF;AACnF,SAAS,UAAU,CAAC,EAAU;IAC5B,OAAO,EAAE,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;AAC5C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../../src/swarm/pool.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAS7C,KAAK,YAAY,GAAG,aAAa,GAAG,YAAY,GAAG,QAAQ,CAAC;AAE5D,qBAAa,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACtD,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAEpC;IAEF,OAAO,CAAC,KAAK,CAML;IACR,OAAO,CAAC,aAAa,CAAS;gBAG5B,MAAM,EAAK,aAAa,CAAC,CAAC,CAAC,EAAE,EAC7B,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,YAAY,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE;IAUtD,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAqBlF,+CAA+C;IACzC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAInE,8DAA8D;IACxD,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC;IAMhG,KAAK,IAAI,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAQ3E,UAAU,IAAI,MAAM;IAEpB,SAAS,IAAI,MAAM;IAEnB,kDAAkD;IAClD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI;IAW1C,8DAA8D;IAC9D,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAWrC,OAAO,CAAC,QAAQ;YAmBF,SAAS;CA0DxB"}
1
+ {"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../../src/swarm/pool.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAS7C,KAAK,YAAY,GAAG,aAAa,GAAG,YAAY,GAAG,QAAQ,CAAC;AAE5D,qBAAa,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACtD,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAEpC;IAEF,OAAO,CAAC,KAAK,CAML;IACR,OAAO,CAAC,aAAa,CAAS;gBAG5B,MAAM,EAAK,aAAa,CAAC,CAAC,CAAC,EAAE,EAC7B,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,YAAY,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE;IAUtD,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAqBlF,+CAA+C;IACzC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAInE,8DAA8D;IACxD,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC;IAMhG,KAAK,IAAI,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAQ3E,UAAU,IAAI,MAAM;IAEpB,SAAS,IAAI,MAAM;IAEnB,kDAAkD;IAClD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI;IAsB1C,8DAA8D;IAC9D,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAWrC,OAAO,CAAC,QAAQ;YAmBF,SAAS;CAgExB"}
@@ -66,6 +66,18 @@ export class AgentPool {
66
66
  for (const a of agents) {
67
67
  this.slots.push({ agent: a, activeTasks: 0, totalRuns: 0 });
68
68
  }
69
+ // Drain queued requests onto newly available slots so callers are not
70
+ // blocked waiting for an in-flight task to finish when idle capacity
71
+ // already exists.
72
+ while (this.queue.length > 0) {
73
+ const slot = this.pickSlot();
74
+ if (!slot)
75
+ break;
76
+ const next = this.queue.shift();
77
+ Promise.resolve()
78
+ .then(() => this.runOnSlot(slot, next.input, next.config))
79
+ .then(next.resolve, next.reject);
80
+ }
69
81
  }
70
82
  /** Remove agent slots by ID. Cannot remove the last agent. */
71
83
  removeSlots(agentIds) {
@@ -99,6 +111,7 @@ export class AgentPool {
99
111
  const agent = slot.agent;
100
112
  const maxRetries = agent.maxRetries ?? 0;
101
113
  const timeout = agent.timeout;
114
+ const retryDelayMs = agent.retryDelayMs;
102
115
  try {
103
116
  // Fire onStart hook
104
117
  await agent.hooks?.onStart?.(agent.id, input);
@@ -112,8 +125,12 @@ export class AgentPool {
112
125
  }
113
126
  catch (err) {
114
127
  lastError = err;
115
- if (attempt < maxRetries)
128
+ if (attempt < maxRetries) {
129
+ if (retryDelayMs && retryDelayMs > 0) {
130
+ await new Promise((resolve) => setTimeout(resolve, retryDelayMs));
131
+ }
116
132
  continue;
133
+ }
117
134
  }
118
135
  }
119
136
  // All retries exhausted — fire onError hook
@@ -1 +1 @@
1
- {"version":3,"file":"pool.js","sourceRoot":"","sources":["../../src/swarm/pool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pool.js","sourceRoot":"","sources":["../../src/swarm/pool.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/swarm/registry.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE9E,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAY,MAAM,CAAC;IACrB,IAAI,EAAU,MAAM,CAAC;IACrB,YAAY,EAAE,eAAe,EAAE,CAAC;IAChC,MAAM,EAAQ,WAAW,CAAC;IAC1B,WAAW,EAAG,MAAM,CAAC;IACrB,SAAS,EAAK,MAAM,CAAC;IACrB,MAAM,EAAQ,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC5D,GAAG,EAAU,aAAa,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,EAAO,WAAW,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAI,MAAM,CAAC;IACpB,UAAU,EAAG,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAO,MAAM,CAAC;CACrB;AAED,qBAAa,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACpF,OAAO,CAAC,MAAM,CAAqC;IAInD,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI;IAerC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAMpC,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI;IAI3C,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI;IAIhD,MAAM,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE;IAI1B,mDAAmD;IACnD,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE;IAM1C,0DAA0D;IAC1D,gBAAgB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE;IAQ1D,4CAA4C;IAC5C,QAAQ,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE;IAO5B,6DAA6D;IAC7D,SAAS,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI;IAUlC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI;IAKrD,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAU/B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAS/B,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAWhC,QAAQ,IAAI,kBAAkB,EAAE;IAgBhC,UAAU,IAAI,MAAM;IAcpB,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,WAAW,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAYzG"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/swarm/registry.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE9E,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAY,MAAM,CAAC;IACrB,IAAI,EAAU,MAAM,CAAC;IACrB,YAAY,EAAE,eAAe,EAAE,CAAC;IAChC,MAAM,EAAQ,WAAW,CAAC;IAC1B,WAAW,EAAG,MAAM,CAAC;IACrB,SAAS,EAAK,MAAM,CAAC;IACrB,MAAM,EAAQ,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC5D,GAAG,EAAU,aAAa,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,EAAO,WAAW,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAI,MAAM,CAAC;IACpB,UAAU,EAAG,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAO,MAAM,CAAC;CACrB;AAED,qBAAa,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACpF,OAAO,CAAC,MAAM,CAAqC;IAInD,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI;IAerC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAcpC,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI;IAI3C,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI;IAIhD,MAAM,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE;IAI1B,mDAAmD;IACnD,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE;IAM1C,0DAA0D;IAC1D,gBAAgB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE;IAQ1D,4CAA4C;IAC5C,QAAQ,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE;IAO5B,6DAA6D;IAC7D,SAAS,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI;IAUlC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI;IAKrD,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAU/B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAS/B,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAWhC,QAAQ,IAAI,kBAAkB,EAAE;IAgBhC,UAAU,IAAI,MAAM;IAcpB,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,WAAW,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAYzG"}
@@ -22,6 +22,13 @@ export class AgentRegistry {
22
22
  return this;
23
23
  }
24
24
  deregister(agentId) {
25
+ const rec = this.agents.get(agentId);
26
+ if (!rec)
27
+ return false;
28
+ if (rec.activeTasks > 0) {
29
+ throw new Error(`Cannot deregister agent "${agentId}": ${rec.activeTasks} active task(s) still in flight. ` +
30
+ `Wait for tasks to complete (markIdle/markError) before deregistering.`);
31
+ }
25
32
  return this.agents.delete(agentId);
26
33
  }
27
34
  // ---- Lookups ----
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/swarm/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/swarm/registry.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,12 @@ export interface ScalingConfig {
4
4
  minAgents?: number;
5
5
  /** Maximum number of agents allowed (default: 10) */
6
6
  maxAgents?: number;
7
+ /**
8
+ * Clock function returning current time in milliseconds (default: Date.now).
9
+ * Injectable for testing with synthetic/replayed traces so evaluation windows
10
+ * are computed relative to the trace timeline rather than wall-clock time.
11
+ */
12
+ clockFn?: () => number;
7
13
  /**
8
14
  * Error rate threshold to trigger scale-up (0-1, default: 0.25 = 25%).
9
15
  * Rationale: 25% catches systemic issues (API degradation, bad prompts)
@@ -46,17 +52,20 @@ export interface ScalingHistoryEntry {
46
52
  timestamp: number;
47
53
  }
48
54
  type ScalingCallback = (decision: ScalingDecision) => void;
55
+ type ScalingConfigCore = Required<Omit<ScalingConfig, "clockFn">>;
49
56
  export declare class DynamicScalingMonitor {
50
57
  private readonly tracer;
51
58
  private readonly config;
59
+ private readonly clockFn;
52
60
  private currentAgentCount;
53
61
  private lastDecision;
54
62
  private lastDecisionTime;
55
63
  private history;
64
+ private static readonly MAX_HISTORY;
56
65
  private callbacks;
57
66
  private unsubscribeTracer;
58
67
  constructor(tracer: SwarmTracer, config?: ScalingConfig);
59
- getConfig(): Readonly<Required<ScalingConfig>>;
68
+ getConfig(): Readonly<ScalingConfigCore>;
60
69
  setCurrentAgentCount(count: number): void;
61
70
  getState(): {
62
71
  currentAgentCount: number;
@@ -1 +1 @@
1
- {"version":3,"file":"scaling.d.ts","sourceRoot":"","sources":["../../src/swarm/scaling.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,WAAW,EAAc,MAAM,aAAa,CAAC;AAI3D,MAAM,WAAW,aAAa;IAC5B,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,0BAA0B;IAC1B,MAAM,EAAE,UAAU,GAAG,YAAY,GAAG,MAAM,CAAC;IAC3C,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,eAAe,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,KAAK,eAAe,GAAG,CAAC,QAAQ,EAAE,eAAe,KAAK,IAAI,CAAC;AAe3D,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IACjD,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,YAAY,CAAgC;IACpD,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,iBAAiB,CAA6B;gBAE1C,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,aAAa;IAcvD,SAAS,IAAI,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAI9C,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIzC,QAAQ,IAAI;QAAE,iBAAiB,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,eAAe,GAAG,IAAI,CAAA;KAAE;IAS/E;;;OAGG;IACH,QAAQ,IAAI,eAAe;IAyC3B,OAAO,CAAC,YAAY;IA0CpB,OAAO,CAAC,cAAc;IA4BtB;;;OAGG;IACH,cAAc,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAQ/C,UAAU,IAAI,mBAAmB,EAAE;IAMnC;;OAEG;IACH,eAAe,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,IAAI;IAKtD;;;OAGG;IACH,cAAc,IAAI,IAAI;IAsBtB;;OAEG;IACH,eAAe,IAAI,IAAI;IAOvB,yCAAyC;IACzC,OAAO,IAAI,IAAI;CAIhB"}
1
+ {"version":3,"file":"scaling.d.ts","sourceRoot":"","sources":["../../src/swarm/scaling.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,WAAW,EAAc,MAAM,aAAa,CAAC;AAI3D,MAAM,WAAW,aAAa;IAC5B,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,MAAM,CAAC;IACvB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,0BAA0B;IAC1B,MAAM,EAAE,UAAU,GAAG,YAAY,GAAG,MAAM,CAAC;IAC3C,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,eAAe,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,KAAK,eAAe,GAAG,CAAC,QAAQ,EAAE,eAAe,KAAK,IAAI,CAAC;AAc3D,KAAK,iBAAiB,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC;AAalE,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAC3C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,YAAY,CAAgC;IACpD,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAO;IAC1C,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,iBAAiB,CAA6B;gBAE1C,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,aAAa;IAevD,SAAS,IAAI,QAAQ,CAAC,iBAAiB,CAAC;IAIxC,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIzC,QAAQ,IAAI;QAAE,iBAAiB,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,eAAe,GAAG,IAAI,CAAA;KAAE;IAS/E;;;OAGG;IACH,QAAQ,IAAI,eAAe;IAgG3B,OAAO,CAAC,YAAY;IAyCpB,OAAO,CAAC,cAAc;IA2BtB;;;OAGG;IACH,cAAc,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAY/C,UAAU,IAAI,mBAAmB,EAAE;IAMnC;;OAEG;IACH,eAAe,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,IAAI;IAKtD;;;OAGG;IACH,cAAc,IAAI,IAAI;IAsBtB;;OAEG;IACH,eAAe,IAAI,IAAI;IAOvB,yCAAyC;IACzC,OAAO,IAAI,IAAI;CAIhB"}
@@ -10,7 +10,14 @@
10
10
  // 2. Reactive — enableReactive() subscribes to tracer events
11
11
  // and fires callback on actionable decisions
12
12
  // ============================================================
13
- // ── Defaults ──────────────────────────────────────────────
13
+ // ── Constants ─────────────────────────────────────────────
14
+ /**
15
+ * Time window (ms) used when computing the error rate for scale-up decisions.
16
+ * Only tracer events within the last ERROR_RATE_WINDOW_MS are considered,
17
+ * so a past burst of errors does not permanently inflate the rate after the
18
+ * error condition has resolved.
19
+ */
20
+ const ERROR_RATE_WINDOW_MS = 60_000;
14
21
  const DEFAULT_CONFIG = {
15
22
  minAgents: 1,
16
23
  maxAgents: 10,
@@ -23,14 +30,17 @@ const DEFAULT_CONFIG = {
23
30
  export class DynamicScalingMonitor {
24
31
  tracer;
25
32
  config;
33
+ clockFn;
26
34
  currentAgentCount = 0;
27
35
  lastDecision = null;
28
36
  lastDecisionTime = 0;
29
37
  history = [];
38
+ static MAX_HISTORY = 500;
30
39
  callbacks = new Set();
31
40
  unsubscribeTracer = null;
32
41
  constructor(tracer, config) {
33
42
  this.tracer = tracer;
43
+ this.clockFn = config?.clockFn ?? (() => Date.now());
34
44
  this.config = {
35
45
  minAgents: config?.minAgents ?? DEFAULT_CONFIG.minAgents,
36
46
  maxAgents: config?.maxAgents ?? DEFAULT_CONFIG.maxAgents,
@@ -59,9 +69,10 @@ export class DynamicScalingMonitor {
59
69
  * Call this periodically or after significant events.
60
70
  */
61
71
  evaluate() {
72
+ const now = this.clockFn();
62
73
  // Check cooldown
63
74
  if (this.lastDecisionTime > 0) {
64
- const elapsed = Date.now() - this.lastDecisionTime;
75
+ const elapsed = now - this.lastDecisionTime;
65
76
  if (elapsed < this.config.cooldownMs) {
66
77
  return { action: "idle", count: 0, reason: "cooldown active" };
67
78
  }
@@ -74,28 +85,86 @@ export class DynamicScalingMonitor {
74
85
  if (timeline.length === 0) {
75
86
  return { action: "idle", count: 0, reason: "no events to evaluate" };
76
87
  }
77
- // Single-pass count of starts and errors (used by checkScaleUp)
88
+ // Count starts and errors within the recent time window only.
89
+ // Using all historical events would permanently inflate the error rate
90
+ // after a past burst — even after the error condition fully resolves.
91
+ const windowStart = now - ERROR_RATE_WINDOW_MS;
78
92
  let starts = 0;
79
93
  let errors = 0;
80
94
  for (const e of timeline) {
95
+ if (e.timestamp < windowStart)
96
+ continue;
81
97
  if (e.type === "agent_start")
82
98
  starts++;
83
99
  else if (e.type === "agent_error")
84
100
  errors++;
85
101
  }
102
+ // Compute max latency from runs that STARTED within the window.
103
+ // Using the all-time tracer.metrics().maxLatencyMs would keep the latency
104
+ // threshold permanently breached after a single historically slow agent.
105
+ const recentStartTimes = new Map();
106
+ let recentMaxLatencyMs = 0;
107
+ for (const e of timeline) {
108
+ if (e.type === "agent_start" && e.timestamp >= windowStart) {
109
+ const stack = recentStartTimes.get(e.agentId) ?? [];
110
+ stack.push(e.timestamp);
111
+ recentStartTimes.set(e.agentId, stack);
112
+ }
113
+ else if (e.type === "agent_complete") {
114
+ const stack = recentStartTimes.get(e.agentId);
115
+ if (stack && stack.length > 0) {
116
+ const start = stack.shift();
117
+ const latency = e.timestamp - start;
118
+ if (latency > recentMaxLatencyMs)
119
+ recentMaxLatencyMs = latency;
120
+ }
121
+ }
122
+ }
86
123
  // Check scale-up conditions first (more urgent than scale-down)
87
- const scaleUp = this.checkScaleUp(starts, errors);
124
+ const scaleUp = this.checkScaleUp(starts, errors, recentMaxLatencyMs);
88
125
  if (scaleUp)
89
126
  return scaleUp;
127
+ // Don't scale down while agents are actively in-flight.
128
+ // Tracer emits no events during execution, so lastActivity alone is insufficient.
129
+ //
130
+ // Staleness cutoff: an agent_start with no matching completion that is older
131
+ // than STALE_AGENT_MS is assumed crashed and is excluded from the in-flight
132
+ // count so it cannot permanently block scale-down decisions.
133
+ const STALE_AGENT_MS = 60_000;
134
+ // Track unmatched start timestamps per agent (stack: FIFO via shift).
135
+ const startStacks = new Map();
136
+ for (const e of timeline) {
137
+ if (e.type === "agent_start") {
138
+ if (!startStacks.has(e.agentId))
139
+ startStacks.set(e.agentId, []);
140
+ startStacks.get(e.agentId).push(e.timestamp);
141
+ }
142
+ else if (e.type === "agent_complete" || e.type === "agent_error") {
143
+ const stack = startStacks.get(e.agentId);
144
+ if (stack && stack.length > 0)
145
+ stack.shift();
146
+ }
147
+ }
148
+ // Count only unmatched starts that are fresh (within STALE_AGENT_MS).
149
+ let inFlight = 0;
150
+ for (const timestamps of startStacks.values()) {
151
+ for (const ts of timestamps) {
152
+ if (now - ts < STALE_AGENT_MS)
153
+ inFlight++;
154
+ }
155
+ }
156
+ if (inFlight > 0) {
157
+ return { action: "idle", count: 0, reason: `${inFlight} agent(s) currently in-flight` };
158
+ }
90
159
  // Check scale-down — last event is most recent (timeline is append-only)
91
160
  const lastActivity = timeline[timeline.length - 1].timestamp;
92
- const scaleDown = this.checkScaleDown(lastActivity);
161
+ const scaleDown = this.checkScaleDown(lastActivity, now);
93
162
  if (scaleDown)
94
163
  return scaleDown;
95
164
  return { action: "idle", count: 0, reason: "metrics within normal range" };
96
165
  }
97
166
  // ── Scale-up checks ───────────────────────────────────
98
- checkScaleUp(starts, errors) {
167
+ checkScaleUp(starts, errors, recentMaxLatencyMs) {
99
168
  // Already at max
100
169
  if (this.currentAgentCount >= this.config.maxAgents)
101
170
  return null;
@@ -113,26 +182,24 @@ export class DynamicScalingMonitor {
113
182
  };
114
183
  }
115
184
  }
116
- // Latency check
117
- const metrics = this.tracer.metrics();
118
- if (metrics.maxLatencyMs > this.config.scaleUpLatencyMs) {
185
+ // Latency check — use windowed max, not all-time max from tracer.metrics()
186
+ if (recentMaxLatencyMs > this.config.scaleUpLatencyMs) {
119
187
  const headroom = this.config.maxAgents - this.currentAgentCount;
120
188
  const addCount = Math.min(Math.max(1, Math.ceil(this.currentAgentCount * 0.25)), headroom);
121
189
  return {
122
190
  action: "scale_up",
123
191
  count: addCount,
124
- reason: `max latency ${metrics.maxLatencyMs}ms exceeds ${this.config.scaleUpLatencyMs}ms threshold`,
192
+ reason: `max latency ${recentMaxLatencyMs}ms exceeds ${this.config.scaleUpLatencyMs}ms threshold`,
125
193
  };
126
194
  }
127
195
  return null;
128
196
  }
129
197
  // ── Scale-down checks ─────────────────────────────────
130
- checkScaleDown(lastActivity) {
198
+ checkScaleDown(lastActivity, now) {
131
199
  // Already at minimum
132
200
  if (this.currentAgentCount <= this.config.minAgents)
133
201
  return null;
134
202
  // Check if all agents have been idle for scaleDownIdleSeconds
135
- const now = Date.now();
136
203
  const idleThresholdMs = this.config.scaleDownIdleSeconds * 1000;
137
204
  if (lastActivity > 0 && now - lastActivity > idleThresholdMs) {
138
205
  // All agents idle — reduce by half, respecting minAgents
@@ -154,10 +221,14 @@ export class DynamicScalingMonitor {
154
221
  */
155
222
  recordDecision(decision) {
156
223
  this.lastDecision = decision;
224
+ const now = this.clockFn();
157
225
  if (decision.action !== "idle") {
158
- this.lastDecisionTime = Date.now();
226
+ this.lastDecisionTime = now;
227
+ }
228
+ this.history.push({ decision, timestamp: now });
229
+ if (this.history.length > DynamicScalingMonitor.MAX_HISTORY) {
230
+ this.history.shift();
159
231
  }
160
- this.history.push({ decision, timestamp: Date.now() });
161
232
  }
162
233
  getHistory() {
163
234
  return [...this.history];