@strands-agents/sdk 0.6.0 → 1.0.0-rc.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 (487) hide show
  1. package/README.md +71 -7
  2. package/dist/src/__fixtures__/agent-helpers.d.ts +81 -4
  3. package/dist/src/__fixtures__/agent-helpers.d.ts.map +1 -1
  4. package/dist/src/__fixtures__/agent-helpers.js +76 -4
  5. package/dist/src/__fixtures__/agent-helpers.js.map +1 -1
  6. package/dist/src/__fixtures__/metrics-helpers.d.ts +30 -0
  7. package/dist/src/__fixtures__/metrics-helpers.d.ts.map +1 -1
  8. package/dist/src/__fixtures__/metrics-helpers.js +29 -6
  9. package/dist/src/__fixtures__/metrics-helpers.js.map +1 -1
  10. package/dist/src/__fixtures__/mock-message-model.d.ts +8 -4
  11. package/dist/src/__fixtures__/mock-message-model.d.ts.map +1 -1
  12. package/dist/src/__fixtures__/mock-message-model.js +13 -7
  13. package/dist/src/__fixtures__/mock-message-model.js.map +1 -1
  14. package/dist/src/__fixtures__/mock-meter.d.ts +32 -0
  15. package/dist/src/__fixtures__/mock-meter.d.ts.map +1 -0
  16. package/dist/src/__fixtures__/mock-meter.js +47 -0
  17. package/dist/src/__fixtures__/mock-meter.js.map +1 -0
  18. package/dist/src/__fixtures__/mock-plugin.d.ts +13 -0
  19. package/dist/src/__fixtures__/mock-plugin.d.ts.map +1 -0
  20. package/dist/src/__fixtures__/{mock-hook-provider.js → mock-plugin.js} +11 -6
  21. package/dist/src/__fixtures__/mock-plugin.js.map +1 -0
  22. package/dist/src/__fixtures__/tool-helpers.d.ts.map +1 -1
  23. package/dist/src/__fixtures__/tool-helpers.js +6 -2
  24. package/dist/src/__fixtures__/tool-helpers.js.map +1 -1
  25. package/dist/src/__tests__/index.test.js +21 -0
  26. package/dist/src/__tests__/index.test.js.map +1 -1
  27. package/dist/src/__tests__/mcp.test.js.map +1 -1
  28. package/dist/src/__tests__/mime.test.d.ts +2 -0
  29. package/dist/src/__tests__/mime.test.d.ts.map +1 -0
  30. package/dist/src/__tests__/mime.test.js +83 -0
  31. package/dist/src/__tests__/mime.test.js.map +1 -0
  32. package/dist/src/__tests__/state-store.test.d.ts +2 -0
  33. package/dist/src/__tests__/state-store.test.d.ts.map +1 -0
  34. package/dist/src/__tests__/{app-state.test.js → state-store.test.js} +86 -51
  35. package/dist/src/__tests__/state-store.test.js.map +1 -0
  36. package/dist/src/a2a/__tests__/a2a-agent.test.d.ts +2 -0
  37. package/dist/src/a2a/__tests__/a2a-agent.test.d.ts.map +1 -0
  38. package/dist/src/a2a/__tests__/a2a-agent.test.js +364 -0
  39. package/dist/src/a2a/__tests__/a2a-agent.test.js.map +1 -0
  40. package/dist/src/a2a/__tests__/adapters.test.d.ts +2 -0
  41. package/dist/src/a2a/__tests__/adapters.test.d.ts.map +1 -0
  42. package/dist/src/a2a/__tests__/adapters.test.js +151 -0
  43. package/dist/src/a2a/__tests__/adapters.test.js.map +1 -0
  44. package/dist/src/a2a/__tests__/events.test.d.ts +2 -0
  45. package/dist/src/a2a/__tests__/events.test.d.ts.map +1 -0
  46. package/dist/src/a2a/__tests__/events.test.js +66 -0
  47. package/dist/src/a2a/__tests__/events.test.js.map +1 -0
  48. package/dist/src/a2a/__tests__/executor.test.d.ts +2 -0
  49. package/dist/src/a2a/__tests__/executor.test.d.ts.map +1 -0
  50. package/dist/src/a2a/__tests__/executor.test.js +196 -0
  51. package/dist/src/a2a/__tests__/executor.test.js.map +1 -0
  52. package/dist/src/a2a/__tests__/server.test.d.ts +2 -0
  53. package/dist/src/a2a/__tests__/server.test.d.ts.map +1 -0
  54. package/dist/src/a2a/__tests__/server.test.js +51 -0
  55. package/dist/src/a2a/__tests__/server.test.js.map +1 -0
  56. package/dist/src/a2a/__tests__/server.test.node.d.ts +2 -0
  57. package/dist/src/a2a/__tests__/server.test.node.d.ts.map +1 -0
  58. package/dist/src/a2a/__tests__/server.test.node.js +110 -0
  59. package/dist/src/a2a/__tests__/server.test.node.js.map +1 -0
  60. package/dist/src/a2a/a2a-agent.d.ts +132 -0
  61. package/dist/src/a2a/a2a-agent.d.ts.map +1 -0
  62. package/dist/src/a2a/a2a-agent.js +255 -0
  63. package/dist/src/a2a/a2a-agent.js.map +1 -0
  64. package/dist/src/a2a/adapters.d.ts +27 -0
  65. package/dist/src/a2a/adapters.d.ts.map +1 -0
  66. package/dist/src/a2a/adapters.js +175 -0
  67. package/dist/src/a2a/adapters.js.map +1 -0
  68. package/dist/src/a2a/events.d.ts +44 -0
  69. package/dist/src/a2a/events.d.ts.map +1 -0
  70. package/dist/src/a2a/events.js +41 -0
  71. package/dist/src/a2a/events.js.map +1 -0
  72. package/dist/src/a2a/executor.d.ts +57 -0
  73. package/dist/src/a2a/executor.d.ts.map +1 -0
  74. package/dist/src/a2a/executor.js +130 -0
  75. package/dist/src/a2a/executor.js.map +1 -0
  76. package/dist/src/a2a/express-server.d.ts +67 -0
  77. package/dist/src/a2a/express-server.d.ts.map +1 -0
  78. package/dist/src/a2a/express-server.js +95 -0
  79. package/dist/src/a2a/express-server.js.map +1 -0
  80. package/dist/src/a2a/index.d.ts +15 -0
  81. package/dist/src/a2a/index.d.ts.map +1 -0
  82. package/dist/src/a2a/index.js +15 -0
  83. package/dist/src/a2a/index.js.map +1 -0
  84. package/dist/src/a2a/logging.d.ts +8 -0
  85. package/dist/src/a2a/logging.d.ts.map +1 -0
  86. package/dist/src/a2a/logging.js +15 -0
  87. package/dist/src/a2a/logging.js.map +1 -0
  88. package/dist/src/a2a/server.d.ts +67 -0
  89. package/dist/src/a2a/server.d.ts.map +1 -0
  90. package/dist/src/a2a/server.js +67 -0
  91. package/dist/src/a2a/server.js.map +1 -0
  92. package/dist/src/agent/__tests__/agent.hook.test.js +315 -51
  93. package/dist/src/agent/__tests__/agent.hook.test.js.map +1 -1
  94. package/dist/src/agent/__tests__/agent.test.js +298 -48
  95. package/dist/src/agent/__tests__/agent.test.js.map +1 -1
  96. package/dist/src/agent/__tests__/agent.tracer.test.node.d.ts +2 -0
  97. package/dist/src/agent/__tests__/agent.tracer.test.node.d.ts.map +1 -0
  98. package/dist/src/agent/__tests__/{agent.tracer.test.js → agent.tracer.test.node.js} +62 -50
  99. package/dist/src/agent/__tests__/agent.tracer.test.node.js.map +1 -0
  100. package/dist/src/agent/__tests__/printer.test.js +7 -7
  101. package/dist/src/agent/__tests__/printer.test.js.map +1 -1
  102. package/dist/src/agent/__tests__/snapshot.test.js +50 -13
  103. package/dist/src/agent/__tests__/snapshot.test.js.map +1 -1
  104. package/dist/src/agent/agent.d.ts +55 -44
  105. package/dist/src/agent/agent.d.ts.map +1 -1
  106. package/dist/src/agent/agent.js +230 -128
  107. package/dist/src/agent/agent.js.map +1 -1
  108. package/dist/src/agent/printer.d.ts.map +1 -1
  109. package/dist/src/agent/printer.js +3 -0
  110. package/dist/src/agent/printer.js.map +1 -1
  111. package/dist/src/agent/snapshot.d.ts +3 -3
  112. package/dist/src/agent/snapshot.d.ts.map +1 -1
  113. package/dist/src/agent/snapshot.js +16 -8
  114. package/dist/src/agent/snapshot.js.map +1 -1
  115. package/dist/src/conversation-manager/__tests__/conversation-manager.test.d.ts +2 -0
  116. package/dist/src/conversation-manager/__tests__/conversation-manager.test.d.ts.map +1 -0
  117. package/dist/src/conversation-manager/__tests__/conversation-manager.test.js +100 -0
  118. package/dist/src/conversation-manager/__tests__/conversation-manager.test.js.map +1 -0
  119. package/dist/src/conversation-manager/__tests__/null-conversation-manager.test.js +26 -10
  120. package/dist/src/conversation-manager/__tests__/null-conversation-manager.test.js.map +1 -1
  121. package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.js +153 -64
  122. package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.js.map +1 -1
  123. package/dist/src/conversation-manager/conversation-manager.d.ts +87 -0
  124. package/dist/src/conversation-manager/conversation-manager.d.ts.map +1 -0
  125. package/dist/src/conversation-manager/conversation-manager.js +59 -0
  126. package/dist/src/conversation-manager/conversation-manager.js.map +1 -0
  127. package/dist/src/conversation-manager/index.d.ts +1 -0
  128. package/dist/src/conversation-manager/index.d.ts.map +1 -1
  129. package/dist/src/conversation-manager/index.js +1 -0
  130. package/dist/src/conversation-manager/index.js.map +1 -1
  131. package/dist/src/conversation-manager/null-conversation-manager.d.ts +12 -8
  132. package/dist/src/conversation-manager/null-conversation-manager.d.ts.map +1 -1
  133. package/dist/src/conversation-manager/null-conversation-manager.js +13 -7
  134. package/dist/src/conversation-manager/null-conversation-manager.js.map +1 -1
  135. package/dist/src/conversation-manager/sliding-window-conversation-manager.d.ts +28 -19
  136. package/dist/src/conversation-manager/sliding-window-conversation-manager.d.ts.map +1 -1
  137. package/dist/src/conversation-manager/sliding-window-conversation-manager.js +57 -42
  138. package/dist/src/conversation-manager/sliding-window-conversation-manager.js.map +1 -1
  139. package/dist/src/errors.d.ts +8 -0
  140. package/dist/src/errors.d.ts.map +1 -1
  141. package/dist/src/errors.js +11 -0
  142. package/dist/src/errors.js.map +1 -1
  143. package/dist/src/hooks/__tests__/events.test.js +387 -0
  144. package/dist/src/hooks/__tests__/events.test.js.map +1 -1
  145. package/dist/src/hooks/__tests__/registry.test.js +10 -154
  146. package/dist/src/hooks/__tests__/registry.test.js.map +1 -1
  147. package/dist/src/hooks/events.d.ts +148 -44
  148. package/dist/src/hooks/events.d.ts.map +1 -1
  149. package/dist/src/hooks/events.js +148 -11
  150. package/dist/src/hooks/events.js.map +1 -1
  151. package/dist/src/hooks/index.d.ts +3 -3
  152. package/dist/src/hooks/index.d.ts.map +1 -1
  153. package/dist/src/hooks/index.js +2 -2
  154. package/dist/src/hooks/registry.d.ts +1 -32
  155. package/dist/src/hooks/registry.d.ts.map +1 -1
  156. package/dist/src/hooks/registry.js +1 -47
  157. package/dist/src/hooks/registry.js.map +1 -1
  158. package/dist/src/hooks/types.d.ts +0 -31
  159. package/dist/src/hooks/types.d.ts.map +1 -1
  160. package/dist/src/index.d.ts +14 -13
  161. package/dist/src/index.d.ts.map +1 -1
  162. package/dist/src/index.js +11 -9
  163. package/dist/src/index.js.map +1 -1
  164. package/dist/src/mime.d.ts +24 -0
  165. package/dist/src/mime.d.ts.map +1 -0
  166. package/dist/src/mime.js +82 -0
  167. package/dist/src/mime.js.map +1 -0
  168. package/dist/src/models/__tests__/anthropic.test.js +79 -3
  169. package/dist/src/models/__tests__/anthropic.test.js.map +1 -1
  170. package/dist/src/models/__tests__/bedrock.test.js +1858 -627
  171. package/dist/src/models/__tests__/bedrock.test.js.map +1 -1
  172. package/dist/src/models/__tests__/google.test.d.ts +2 -0
  173. package/dist/src/models/__tests__/google.test.d.ts.map +1 -0
  174. package/dist/src/models/__tests__/{gemini.test.js → google.test.js} +155 -22
  175. package/dist/src/models/__tests__/google.test.js.map +1 -0
  176. package/dist/src/models/__tests__/model.test.js +25 -0
  177. package/dist/src/models/__tests__/model.test.js.map +1 -1
  178. package/dist/src/models/__tests__/openai.test.js +255 -96
  179. package/dist/src/models/__tests__/openai.test.js.map +1 -1
  180. package/dist/src/models/anthropic.d.ts.map +1 -1
  181. package/dist/src/models/anthropic.js +14 -14
  182. package/dist/src/models/anthropic.js.map +1 -1
  183. package/dist/src/models/bedrock.d.ts +67 -13
  184. package/dist/src/models/bedrock.d.ts.map +1 -1
  185. package/dist/src/models/bedrock.js +207 -28
  186. package/dist/src/models/bedrock.js.map +1 -1
  187. package/dist/src/models/{gemini → google}/adapters.d.ts +3 -3
  188. package/dist/src/models/{gemini → google}/adapters.d.ts.map +1 -1
  189. package/dist/src/models/{gemini → google}/adapters.js +66 -15
  190. package/dist/src/models/google/adapters.js.map +1 -0
  191. package/dist/src/models/{gemini → google}/errors.d.ts +7 -7
  192. package/dist/src/models/google/errors.d.ts.map +1 -0
  193. package/dist/src/models/{gemini → google}/errors.js +11 -5
  194. package/dist/src/models/google/errors.js.map +1 -0
  195. package/dist/src/models/google/index.d.ts +15 -0
  196. package/dist/src/models/google/index.d.ts.map +1 -0
  197. package/dist/src/models/google/index.js +15 -0
  198. package/dist/src/models/google/index.js.map +1 -0
  199. package/dist/src/models/{gemini → google}/model.d.ts +18 -18
  200. package/dist/src/models/{gemini → google}/model.d.ts.map +1 -1
  201. package/dist/src/models/{gemini → google}/model.js +22 -19
  202. package/dist/src/models/google/model.js.map +1 -0
  203. package/dist/src/models/{gemini → google}/types.d.ts +9 -9
  204. package/dist/src/models/{gemini → google}/types.d.ts.map +1 -1
  205. package/dist/src/models/google/types.js +5 -0
  206. package/dist/src/models/google/types.js.map +1 -0
  207. package/dist/src/models/model.d.ts +12 -0
  208. package/dist/src/models/model.d.ts.map +1 -1
  209. package/dist/src/models/model.js +6 -10
  210. package/dist/src/models/model.js.map +1 -1
  211. package/dist/src/models/openai.d.ts +44 -11
  212. package/dist/src/models/openai.d.ts.map +1 -1
  213. package/dist/src/models/openai.js +133 -79
  214. package/dist/src/models/openai.js.map +1 -1
  215. package/dist/src/models/streaming.d.ts +18 -0
  216. package/dist/src/models/streaming.d.ts.map +1 -1
  217. package/dist/src/models/streaming.js +29 -0
  218. package/dist/src/models/streaming.js.map +1 -1
  219. package/dist/src/multiagent/__tests__/events.test.js +201 -7
  220. package/dist/src/multiagent/__tests__/events.test.js.map +1 -1
  221. package/dist/src/multiagent/__tests__/graph.test.js +28 -13
  222. package/dist/src/multiagent/__tests__/graph.test.js.map +1 -1
  223. package/dist/src/multiagent/__tests__/graph.tracer.test.d.ts +2 -0
  224. package/dist/src/multiagent/__tests__/graph.tracer.test.d.ts.map +1 -0
  225. package/dist/src/multiagent/__tests__/graph.tracer.test.js +204 -0
  226. package/dist/src/multiagent/__tests__/graph.tracer.test.js.map +1 -0
  227. package/dist/src/multiagent/__tests__/nodes.test.js +76 -15
  228. package/dist/src/multiagent/__tests__/nodes.test.js.map +1 -1
  229. package/dist/src/multiagent/__tests__/swarm.test.js +67 -16
  230. package/dist/src/multiagent/__tests__/swarm.test.js.map +1 -1
  231. package/dist/src/multiagent/__tests__/swarm.tracer.test.d.ts +2 -0
  232. package/dist/src/multiagent/__tests__/swarm.tracer.test.d.ts.map +1 -0
  233. package/dist/src/multiagent/__tests__/swarm.tracer.test.js +235 -0
  234. package/dist/src/multiagent/__tests__/swarm.tracer.test.js.map +1 -0
  235. package/dist/src/multiagent/events.d.ts +62 -14
  236. package/dist/src/multiagent/events.d.ts.map +1 -1
  237. package/dist/src/multiagent/events.js +45 -3
  238. package/dist/src/multiagent/events.js.map +1 -1
  239. package/dist/src/multiagent/graph.d.ts +25 -11
  240. package/dist/src/multiagent/graph.d.ts.map +1 -1
  241. package/dist/src/multiagent/graph.js +76 -44
  242. package/dist/src/multiagent/graph.js.map +1 -1
  243. package/dist/src/multiagent/index.d.ts +4 -3
  244. package/dist/src/multiagent/index.d.ts.map +1 -1
  245. package/dist/src/multiagent/index.js.map +1 -1
  246. package/dist/src/multiagent/multiagent.d.ts +41 -0
  247. package/dist/src/multiagent/multiagent.d.ts.map +1 -0
  248. package/dist/src/multiagent/multiagent.js +2 -0
  249. package/dist/src/multiagent/multiagent.js.map +1 -0
  250. package/dist/src/multiagent/nodes.d.ts +35 -24
  251. package/dist/src/multiagent/nodes.d.ts.map +1 -1
  252. package/dist/src/multiagent/nodes.js +50 -23
  253. package/dist/src/multiagent/nodes.js.map +1 -1
  254. package/dist/src/multiagent/plugins.d.ts +70 -0
  255. package/dist/src/multiagent/plugins.d.ts.map +1 -0
  256. package/dist/src/multiagent/plugins.js +70 -0
  257. package/dist/src/multiagent/plugins.js.map +1 -0
  258. package/dist/src/multiagent/state.d.ts +10 -5
  259. package/dist/src/multiagent/state.d.ts.map +1 -1
  260. package/dist/src/multiagent/state.js +20 -6
  261. package/dist/src/multiagent/state.js.map +1 -1
  262. package/dist/src/multiagent/swarm.d.ts +41 -17
  263. package/dist/src/multiagent/swarm.d.ts.map +1 -1
  264. package/dist/src/multiagent/swarm.js +101 -42
  265. package/dist/src/multiagent/swarm.js.map +1 -1
  266. package/dist/src/plugins/__tests__/plugin.test.d.ts +2 -0
  267. package/dist/src/plugins/__tests__/plugin.test.d.ts.map +1 -0
  268. package/dist/src/plugins/__tests__/plugin.test.js +114 -0
  269. package/dist/src/plugins/__tests__/plugin.test.js.map +1 -0
  270. package/dist/src/plugins/__tests__/registry.test.d.ts +2 -0
  271. package/dist/src/plugins/__tests__/registry.test.d.ts.map +1 -0
  272. package/dist/src/plugins/__tests__/registry.test.js +147 -0
  273. package/dist/src/plugins/__tests__/registry.test.js.map +1 -0
  274. package/dist/src/plugins/index.d.ts +30 -0
  275. package/dist/src/plugins/index.d.ts.map +1 -0
  276. package/dist/src/plugins/index.js +30 -0
  277. package/dist/src/plugins/index.js.map +1 -0
  278. package/dist/src/plugins/plugin.d.ts +74 -0
  279. package/dist/src/plugins/plugin.d.ts.map +1 -0
  280. package/dist/src/plugins/plugin.js +8 -0
  281. package/dist/src/plugins/plugin.js.map +1 -0
  282. package/dist/src/plugins/registry.d.ts +25 -0
  283. package/dist/src/plugins/registry.d.ts.map +1 -0
  284. package/dist/src/plugins/registry.js +41 -0
  285. package/dist/src/plugins/registry.js.map +1 -0
  286. package/dist/src/session/__tests__/session-manager.test.js +110 -92
  287. package/dist/src/session/__tests__/session-manager.test.js.map +1 -1
  288. package/dist/src/session/index.d.ts +0 -1
  289. package/dist/src/session/index.d.ts.map +1 -1
  290. package/dist/src/session/index.js +0 -1
  291. package/dist/src/session/index.js.map +1 -1
  292. package/dist/src/session/session-manager.d.ts +11 -8
  293. package/dist/src/session/session-manager.d.ts.map +1 -1
  294. package/dist/src/session/session-manager.js +24 -16
  295. package/dist/src/session/session-manager.js.map +1 -1
  296. package/dist/src/session/storage.d.ts +1 -1
  297. package/dist/src/session/storage.d.ts.map +1 -1
  298. package/dist/src/session/types.d.ts +2 -2
  299. package/dist/src/session/types.d.ts.map +1 -1
  300. package/dist/src/{app-state.d.ts → state-store.d.ts} +11 -11
  301. package/dist/src/state-store.d.ts.map +1 -0
  302. package/dist/src/{app-state.js → state-store.js} +8 -7
  303. package/dist/src/state-store.js.map +1 -0
  304. package/dist/src/telemetry/__tests__/config.test.js +24 -0
  305. package/dist/src/telemetry/__tests__/config.test.js.map +1 -1
  306. package/dist/src/telemetry/__tests__/config.test.node.js +56 -0
  307. package/dist/src/telemetry/__tests__/config.test.node.js.map +1 -1
  308. package/dist/src/telemetry/__tests__/local-trace.test.d.ts +2 -0
  309. package/dist/src/telemetry/__tests__/local-trace.test.d.ts.map +1 -0
  310. package/dist/src/telemetry/__tests__/local-trace.test.js +158 -0
  311. package/dist/src/telemetry/__tests__/local-trace.test.js.map +1 -0
  312. package/dist/src/telemetry/__tests__/meter.test.js +176 -9
  313. package/dist/src/telemetry/__tests__/meter.test.js.map +1 -1
  314. package/dist/src/telemetry/__tests__/tracer.test.node.js +151 -2
  315. package/dist/src/telemetry/__tests__/tracer.test.node.js.map +1 -1
  316. package/dist/src/telemetry/config.d.ts +72 -12
  317. package/dist/src/telemetry/config.d.ts.map +1 -1
  318. package/dist/src/telemetry/config.js +102 -25
  319. package/dist/src/telemetry/config.js.map +1 -1
  320. package/dist/src/telemetry/index.d.ts +10 -7
  321. package/dist/src/telemetry/index.d.ts.map +1 -1
  322. package/dist/src/telemetry/index.js +9 -6
  323. package/dist/src/telemetry/index.js.map +1 -1
  324. package/dist/src/telemetry/meter.d.ts +23 -17
  325. package/dist/src/telemetry/meter.d.ts.map +1 -1
  326. package/dist/src/telemetry/meter.js +86 -41
  327. package/dist/src/telemetry/meter.js.map +1 -1
  328. package/dist/src/telemetry/tracer.d.ts +134 -18
  329. package/dist/src/telemetry/tracer.d.ts.map +1 -1
  330. package/dist/src/telemetry/tracer.js +325 -38
  331. package/dist/src/telemetry/tracer.js.map +1 -1
  332. package/dist/src/telemetry/types.d.ts +51 -0
  333. package/dist/src/telemetry/types.d.ts.map +1 -1
  334. package/dist/src/telemetry/utils.d.ts +10 -0
  335. package/dist/src/telemetry/utils.d.ts.map +1 -0
  336. package/dist/src/telemetry/utils.js +13 -0
  337. package/dist/src/telemetry/utils.js.map +1 -0
  338. package/dist/src/tools/__tests__/structured-output-tool.test.d.ts +2 -0
  339. package/dist/src/tools/__tests__/structured-output-tool.test.d.ts.map +1 -0
  340. package/dist/src/tools/__tests__/structured-output-tool.test.js +84 -0
  341. package/dist/src/tools/__tests__/structured-output-tool.test.js.map +1 -0
  342. package/dist/src/tools/__tests__/tool.test.js +22 -1
  343. package/dist/src/tools/__tests__/tool.test.js.map +1 -1
  344. package/dist/src/tools/function-tool.d.ts +11 -1
  345. package/dist/src/tools/function-tool.d.ts.map +1 -1
  346. package/dist/src/tools/function-tool.js +64 -3
  347. package/dist/src/tools/function-tool.js.map +1 -1
  348. package/dist/src/tools/structured-output-tool.d.ts +41 -0
  349. package/dist/src/tools/structured-output-tool.d.ts.map +1 -0
  350. package/dist/src/tools/structured-output-tool.js +82 -0
  351. package/dist/src/tools/structured-output-tool.js.map +1 -0
  352. package/dist/src/tools/tool.d.ts +2 -2
  353. package/dist/src/tools/tool.d.ts.map +1 -1
  354. package/dist/src/tools/zod-tool.js +1 -1
  355. package/dist/src/tools/zod-tool.js.map +1 -1
  356. package/dist/src/{utils/zod.d.ts → tools/zod-utils.d.ts} +1 -1
  357. package/dist/src/tools/zod-utils.d.ts.map +1 -0
  358. package/dist/src/{utils/zod.js → tools/zod-utils.js} +1 -1
  359. package/dist/src/tools/zod-utils.js.map +1 -0
  360. package/dist/src/tsconfig.tsbuildinfo +1 -1
  361. package/dist/src/types/__tests__/agent.test.js +127 -0
  362. package/dist/src/types/__tests__/agent.test.js.map +1 -1
  363. package/dist/src/types/__tests__/media.test.js +22 -16
  364. package/dist/src/types/__tests__/media.test.js.map +1 -1
  365. package/dist/src/types/agent.d.ts +101 -7
  366. package/dist/src/types/agent.d.ts.map +1 -1
  367. package/dist/src/types/agent.js +26 -0
  368. package/dist/src/types/agent.js.map +1 -1
  369. package/dist/src/types/media.d.ts +27 -30
  370. package/dist/src/types/media.d.ts.map +1 -1
  371. package/dist/src/types/media.js +15 -56
  372. package/dist/src/types/media.js.map +1 -1
  373. package/dist/src/types/messages.d.ts +18 -4
  374. package/dist/src/types/messages.d.ts.map +1 -1
  375. package/dist/src/types/messages.js +22 -26
  376. package/dist/src/types/messages.js.map +1 -1
  377. package/dist/src/types/serializable.d.ts +34 -4
  378. package/dist/src/types/serializable.d.ts.map +1 -1
  379. package/dist/src/types/serializable.js +31 -2
  380. package/dist/src/types/serializable.js.map +1 -1
  381. package/dist/src/vended-tools/bash/__tests__/bash.test.node.js +17 -4
  382. package/dist/src/vended-tools/bash/__tests__/bash.test.node.js.map +1 -1
  383. package/dist/src/vended-tools/bash/bash.d.ts.map +1 -1
  384. package/dist/src/vended-tools/bash/bash.js +16 -14
  385. package/dist/src/vended-tools/bash/bash.js.map +1 -1
  386. package/dist/src/vended-tools/file-editor/__tests__/file-editor.test.node.d.ts.map +1 -0
  387. package/dist/src/vended-tools/{file_editor → file-editor}/__tests__/file-editor.test.node.js +11 -4
  388. package/dist/src/vended-tools/file-editor/__tests__/file-editor.test.node.js.map +1 -0
  389. package/dist/src/vended-tools/{file_editor → file-editor}/file-editor.d.ts +1 -1
  390. package/dist/src/vended-tools/{file_editor → file-editor}/file-editor.d.ts.map +1 -1
  391. package/dist/src/vended-tools/{file_editor → file-editor}/file-editor.js +2 -2
  392. package/dist/src/vended-tools/{file_editor → file-editor}/file-editor.js.map +1 -1
  393. package/dist/src/vended-tools/{file_editor → file-editor}/index.d.ts.map +1 -1
  394. package/dist/src/vended-tools/file-editor/index.js.map +1 -0
  395. package/dist/src/vended-tools/{file_editor → file-editor}/types.d.ts.map +1 -1
  396. package/dist/src/vended-tools/file-editor/types.js.map +1 -0
  397. package/dist/src/vended-tools/http-request/__tests__/http-request.test.d.ts.map +1 -0
  398. package/dist/src/vended-tools/{http_request → http-request}/__tests__/http-request.test.js.map +1 -1
  399. package/dist/src/vended-tools/{http_request → http-request}/http-request.d.ts.map +1 -1
  400. package/dist/src/vended-tools/{http_request → http-request}/http-request.js.map +1 -1
  401. package/dist/src/vended-tools/{http_request → http-request}/index.d.ts.map +1 -1
  402. package/dist/src/vended-tools/http-request/index.js.map +1 -0
  403. package/dist/src/vended-tools/{http_request → http-request}/types.d.ts.map +1 -1
  404. package/dist/src/vended-tools/http-request/types.js.map +1 -0
  405. package/dist/src/vended-tools/notebook/__tests__/notebook.test.js +5 -4
  406. package/dist/src/vended-tools/notebook/__tests__/notebook.test.js.map +1 -1
  407. package/dist/src/vended-tools/notebook/notebook.js +2 -2
  408. package/dist/src/vended-tools/notebook/notebook.js.map +1 -1
  409. package/package.json +63 -17
  410. package/dist/src/__fixtures__/mock-hook-provider.d.ts +0 -10
  411. package/dist/src/__fixtures__/mock-hook-provider.d.ts.map +0 -1
  412. package/dist/src/__fixtures__/mock-hook-provider.js.map +0 -1
  413. package/dist/src/__tests__/app-state.test.d.ts +0 -2
  414. package/dist/src/__tests__/app-state.test.d.ts.map +0 -1
  415. package/dist/src/__tests__/app-state.test.js.map +0 -1
  416. package/dist/src/agent/__tests__/agent.tracer.test.d.ts +0 -2
  417. package/dist/src/agent/__tests__/agent.tracer.test.d.ts.map +0 -1
  418. package/dist/src/agent/__tests__/agent.tracer.test.js.map +0 -1
  419. package/dist/src/app-state.d.ts.map +0 -1
  420. package/dist/src/app-state.js.map +0 -1
  421. package/dist/src/models/__tests__/gemini.test.d.ts +0 -2
  422. package/dist/src/models/__tests__/gemini.test.d.ts.map +0 -1
  423. package/dist/src/models/__tests__/gemini.test.js.map +0 -1
  424. package/dist/src/models/gemini/adapters.js.map +0 -1
  425. package/dist/src/models/gemini/errors.d.ts.map +0 -1
  426. package/dist/src/models/gemini/errors.js.map +0 -1
  427. package/dist/src/models/gemini/model.js.map +0 -1
  428. package/dist/src/models/gemini/types.js +0 -5
  429. package/dist/src/models/gemini/types.js.map +0 -1
  430. package/dist/src/multiagent/base.d.ts +0 -25
  431. package/dist/src/multiagent/base.d.ts.map +0 -1
  432. package/dist/src/multiagent/base.js +0 -2
  433. package/dist/src/multiagent/base.js.map +0 -1
  434. package/dist/src/structured-output/__tests__/context.test.d.ts +0 -2
  435. package/dist/src/structured-output/__tests__/context.test.d.ts.map +0 -1
  436. package/dist/src/structured-output/__tests__/context.test.js +0 -201
  437. package/dist/src/structured-output/__tests__/context.test.js.map +0 -1
  438. package/dist/src/structured-output/__tests__/exceptions.test.d.ts +0 -2
  439. package/dist/src/structured-output/__tests__/exceptions.test.d.ts.map +0 -1
  440. package/dist/src/structured-output/__tests__/exceptions.test.js +0 -103
  441. package/dist/src/structured-output/__tests__/exceptions.test.js.map +0 -1
  442. package/dist/src/structured-output/__tests__/tool.test.d.ts +0 -2
  443. package/dist/src/structured-output/__tests__/tool.test.d.ts.map +0 -1
  444. package/dist/src/structured-output/__tests__/tool.test.js +0 -256
  445. package/dist/src/structured-output/__tests__/tool.test.js.map +0 -1
  446. package/dist/src/structured-output/__tests__/utils.test.d.ts +0 -2
  447. package/dist/src/structured-output/__tests__/utils.test.d.ts.map +0 -1
  448. package/dist/src/structured-output/__tests__/utils.test.js +0 -183
  449. package/dist/src/structured-output/__tests__/utils.test.js.map +0 -1
  450. package/dist/src/structured-output/context.d.ts +0 -91
  451. package/dist/src/structured-output/context.d.ts.map +0 -1
  452. package/dist/src/structured-output/context.js +0 -112
  453. package/dist/src/structured-output/context.js.map +0 -1
  454. package/dist/src/structured-output/exceptions.d.ts +0 -18
  455. package/dist/src/structured-output/exceptions.d.ts.map +0 -1
  456. package/dist/src/structured-output/exceptions.js +0 -28
  457. package/dist/src/structured-output/exceptions.js.map +0 -1
  458. package/dist/src/structured-output/tool.d.ts +0 -33
  459. package/dist/src/structured-output/tool.d.ts.map +0 -1
  460. package/dist/src/structured-output/tool.js +0 -73
  461. package/dist/src/structured-output/tool.js.map +0 -1
  462. package/dist/src/structured-output/utils.d.ts +0 -23
  463. package/dist/src/structured-output/utils.d.ts.map +0 -1
  464. package/dist/src/structured-output/utils.js +0 -104
  465. package/dist/src/structured-output/utils.js.map +0 -1
  466. package/dist/src/utils/zod.d.ts.map +0 -1
  467. package/dist/src/utils/zod.js.map +0 -1
  468. package/dist/src/vended-tools/file_editor/__tests__/file-editor.test.node.d.ts.map +0 -1
  469. package/dist/src/vended-tools/file_editor/__tests__/file-editor.test.node.js.map +0 -1
  470. package/dist/src/vended-tools/file_editor/index.js.map +0 -1
  471. package/dist/src/vended-tools/file_editor/types.js.map +0 -1
  472. package/dist/src/vended-tools/http_request/__tests__/http-request.test.d.ts.map +0 -1
  473. package/dist/src/vended-tools/http_request/index.js.map +0 -1
  474. package/dist/src/vended-tools/http_request/types.js.map +0 -1
  475. /package/dist/src/vended-tools/{file_editor → file-editor}/__tests__/file-editor.test.node.d.ts +0 -0
  476. /package/dist/src/vended-tools/{file_editor → file-editor}/index.d.ts +0 -0
  477. /package/dist/src/vended-tools/{file_editor → file-editor}/index.js +0 -0
  478. /package/dist/src/vended-tools/{file_editor → file-editor}/types.d.ts +0 -0
  479. /package/dist/src/vended-tools/{file_editor → file-editor}/types.js +0 -0
  480. /package/dist/src/vended-tools/{http_request → http-request}/__tests__/http-request.test.d.ts +0 -0
  481. /package/dist/src/vended-tools/{http_request → http-request}/__tests__/http-request.test.js +0 -0
  482. /package/dist/src/vended-tools/{http_request → http-request}/http-request.d.ts +0 -0
  483. /package/dist/src/vended-tools/{http_request → http-request}/http-request.js +0 -0
  484. /package/dist/src/vended-tools/{http_request → http-request}/index.d.ts +0 -0
  485. /package/dist/src/vended-tools/{http_request → http-request}/index.js +0 -0
  486. /package/dist/src/vended-tools/{http_request → http-request}/types.d.ts +0 -0
  487. /package/dist/src/vended-tools/{http_request → http-request}/types.js +0 -0
@@ -1,4 +1,5 @@
1
- import { AppState } from '../app-state.js';
1
+ import { StateStore } from '../state-store.js';
2
+ import { accumulateUsage, createEmptyUsage } from '../models/streaming.js';
2
3
  /**
3
4
  * Execution lifecycle status shared across all multi-agent patterns.
4
5
  */
@@ -27,6 +28,8 @@ export class NodeResult {
27
28
  error;
28
29
  /** Validated structured output, if a schema was provided. */
29
30
  structuredOutput;
31
+ /** Token usage from the node execution. */
32
+ usage;
30
33
  constructor(data) {
31
34
  this.nodeId = data.nodeId;
32
35
  this.status = data.status;
@@ -36,6 +39,8 @@ export class NodeResult {
36
39
  this.error = data.error;
37
40
  if ('structuredOutput' in data)
38
41
  this.structuredOutput = data.structuredOutput;
42
+ if ('usage' in data)
43
+ this.usage = data.usage;
39
44
  }
40
45
  }
41
46
  /**
@@ -72,6 +77,8 @@ export class MultiAgentResult {
72
77
  content;
73
78
  duration;
74
79
  error;
80
+ /** Aggregated token usage across all node results. */
81
+ usage;
75
82
  constructor(data) {
76
83
  this.status = data.status ?? this._resolveStatus(data.results);
77
84
  this.results = data.results;
@@ -79,6 +86,7 @@ export class MultiAgentResult {
79
86
  this.duration = data.duration;
80
87
  if ('error' in data)
81
88
  this.error = data.error;
89
+ this.usage = this._aggregateNodeUsage(data.results);
82
90
  }
83
91
  /** Derives the aggregate status from individual node results. */
84
92
  _resolveStatus(results) {
@@ -88,6 +96,16 @@ export class MultiAgentResult {
88
96
  return Status.CANCELLED;
89
97
  return Status.COMPLETED;
90
98
  }
99
+ /** Sums token usage across all node results. */
100
+ _aggregateNodeUsage(results) {
101
+ const usage = createEmptyUsage();
102
+ for (const result of results) {
103
+ if (!result.usage)
104
+ continue;
105
+ accumulateUsage(usage, result.usage);
106
+ }
107
+ return usage;
108
+ }
91
109
  }
92
110
  /**
93
111
  * Shared state for multi-agent orchestration patterns.
@@ -101,16 +119,12 @@ export class MultiAgentState {
101
119
  results;
102
120
  /** App-level key-value state accessible from hooks, edge handlers, and custom nodes. */
103
121
  app;
104
- /** Structured output schema to apply to node invocations. */
105
- structuredOutputSchema;
106
122
  _nodes;
107
123
  constructor(data) {
108
124
  this.startTime = Date.now();
109
125
  this.steps = 0;
110
126
  this.results = [];
111
- this.app = new AppState();
112
- if (data?.structuredOutputSchema)
113
- this.structuredOutputSchema = data.structuredOutputSchema;
127
+ this.app = new StateStore();
114
128
  this._nodes = new Map();
115
129
  for (const id of data?.nodeIds ?? []) {
116
130
  this._nodes.set(id, new NodeState());
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/multiagent/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAI1C;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,qCAAqC;IACrC,OAAO,EAAE,SAAS;IAClB,0CAA0C;IAC1C,SAAS,EAAE,WAAW;IACtB,uCAAuC;IACvC,SAAS,EAAE,WAAW;IACtB,sCAAsC;IACtC,MAAM,EAAE,QAAQ;IAChB,2DAA2D;IAC3D,SAAS,EAAE,WAAW;CACd,CAAA;AAYV;;GAEG;AACH,MAAM,OAAO,UAAU;IACZ,IAAI,GAAG,YAAqB,CAAA;IAC5B,MAAM,CAAQ;IACd,MAAM,CAAc;IAC7B,sCAAsC;IAC7B,QAAQ,CAAQ;IAChB,OAAO,CAAgB;IACvB,KAAK,CAAQ;IACtB,6DAA6D;IACpD,gBAAgB,CAAsB;IAE/C,YAAY,IAOX;QACC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QACzB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAA;QACjC,IAAI,OAAO,IAAI,IAAI;YAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QAC5C,IAAI,kBAAkB,IAAI,IAAI;YAAE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAA;IAC/E,CAAC;CACF;AAWD;;GAEG;AACH,MAAM,OAAO,SAAS;IACX,IAAI,GAAG,WAAoB,CAAA;IACpC,MAAM,CAAQ;IACd,qEAAqE;IACrE,QAAQ,CAAS;IACjB,6DAA6D;IAC7D,SAAS,CAAQ;IACR,OAAO,CAAc;IAE9B;QACE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAA;QAC5B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAA;QACrB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC3B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;IACnB,CAAC;IAED,mEAAmE;IACnE,IAAI,OAAO;QACT,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAClD,OAAO,IAAI,EAAE,OAAO,IAAI,EAAE,CAAA;IAC5B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAClB,IAAI,GAAG,kBAA2B,CAAA;IAClC,MAAM,CAAc;IACpB,OAAO,CAAc;IAC9B,iEAAiE;IACxD,OAAO,CAAgB;IACvB,QAAQ,CAAQ;IAChB,KAAK,CAAQ;IAEtB,YAAY,IAMX;QACC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC9D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAA;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC7B,IAAI,OAAO,IAAI,IAAI;YAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;IAC9C,CAAC;IAED,iEAAiE;IACzD,cAAc,CAAC,OAAqB;QAC1C,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC,MAAM,CAAA;QACzE,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,SAAS,CAAC;YAAE,OAAO,MAAM,CAAC,SAAS,CAAA;QAC/E,OAAO,MAAM,CAAC,SAAS,CAAA;IACzB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,eAAe;IAC1B,wDAAwD;IAC/C,SAAS,CAAQ;IAC1B,gDAAgD;IAChD,KAAK,CAAQ;IACb,4CAA4C;IACnC,OAAO,CAAc;IAC9B,wFAAwF;IAC/E,GAAG,CAAU;IACtB,6DAA6D;IACpD,sBAAsB,CAAc;IAC5B,MAAM,CAAwB;IAE/C,YAAY,IAAmE;QAC7E,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC3B,IAAI,CAAC,KAAK,GAAG,CAAC,CAAA;QACd,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;QACjB,IAAI,CAAC,GAAG,GAAG,IAAI,QAAQ,EAAE,CAAA;QACzB,IAAI,IAAI,EAAE,sBAAsB;YAAE,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,CAAA;QAC3F,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,EAAE,CAAA;QACvB,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE,OAAO,IAAI,EAAE,EAAE,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,SAAS,EAAE,CAAC,CAAA;QACtC,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,EAAU;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAC5B,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;CACF"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/multiagent/state.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,13 @@
1
- import { Agent } from '../agent/agent.js';
2
- import type { InvokeArgs } from '../agent/agent.js';
3
- import { HookRegistryImplementation } from '../hooks/registry.js';
4
- import type { HookProvider } from '../hooks/types.js';
1
+ import type { AttributeValue } from '@opentelemetry/api';
2
+ import type { InvokableAgent } from '../types/agent.js';
3
+ import type { MultiAgentInput } from './multiagent.js';
4
+ import { HookableEvent } from '../hooks/events.js';
5
+ import type { HookCallback, HookableEventConstructor, HookCleanup } from '../hooks/types.js';
6
+ import type { MultiAgentPlugin } from './plugins.js';
5
7
  import type { AgentNodeOptions } from './nodes.js';
6
8
  import { AgentNode } from './nodes.js';
7
9
  import { MultiAgentResult } from './state.js';
8
- import type { MultiAgentBase } from './base.js';
10
+ import type { MultiAgent } from './multiagent.js';
9
11
  import type { MultiAgentStreamEvent } from './events.js';
10
12
  /**
11
13
  * Runtime configuration for swarm execution.
@@ -18,19 +20,21 @@ export interface SwarmConfig {
18
20
  * Options for creating a Swarm instance.
19
21
  */
20
22
  /**
21
- * Input type for swarm nodes. Pass an {@link Agent} directly for the simple case,
23
+ * Input type for swarm nodes. Pass an {@link InvokableAgent} directly for the simple case,
22
24
  * or {@link AgentNodeOptions} for per-node config.
23
25
  */
24
- export type SwarmNodeDefinition = Agent | AgentNodeOptions;
26
+ export type SwarmNodeDefinition = InvokableAgent | AgentNodeOptions;
25
27
  export interface SwarmOptions extends SwarmConfig {
26
28
  /** Unique identifier. Defaults to `'swarm'`. */
27
29
  id?: string;
28
30
  /** Swarm agents. Pass agents directly or use {@link AgentNodeOptions} for per-node config. */
29
31
  nodes: SwarmNodeDefinition[];
30
- /** Agent id that receives the initial input. */
31
- start: string;
32
- /** Hook providers for event-driven extensibility. */
33
- hooks?: HookProvider[];
32
+ /** Agent id that receives the initial input. Defaults to the first agent in `nodes`. */
33
+ start?: string;
34
+ /** Plugins for event-driven extensibility. */
35
+ plugins?: MultiAgentPlugin[];
36
+ /** Custom trace attributes to include on all spans. */
37
+ traceAttributes?: Record<string, AttributeValue>;
34
38
  }
35
39
  /**
36
40
  * Swarm multi-agent orchestration pattern.
@@ -60,13 +64,14 @@ export interface SwarmOptions extends SwarmConfig {
60
64
  * const result = await swarm.invoke('Explain quantum computing')
61
65
  * ```
62
66
  */
63
- export declare class Swarm implements MultiAgentBase {
67
+ export declare class Swarm implements MultiAgent {
64
68
  readonly id: string;
65
69
  readonly nodes: ReadonlyMap<string, AgentNode>;
66
70
  readonly config: Required<SwarmConfig>;
67
- readonly hooks: HookRegistryImplementation;
68
- private readonly _start;
69
- private readonly _handoffSchema;
71
+ private readonly _pluginRegistry;
72
+ private readonly _hookRegistry;
73
+ private readonly _tracer;
74
+ readonly start: AgentNode;
70
75
  private _initialized;
71
76
  constructor(options: SwarmOptions);
72
77
  /**
@@ -74,13 +79,21 @@ export declare class Swarm implements MultiAgentBase {
74
79
  * Called automatically on first invocation.
75
80
  */
76
81
  initialize(): Promise<void>;
82
+ /**
83
+ * Register a hook callback for a specific swarm event type.
84
+ *
85
+ * @param eventType - The event class constructor to register the callback for
86
+ * @param callback - The callback function to invoke when the event occurs
87
+ * @returns Cleanup function that removes the callback when invoked
88
+ */
89
+ addHook<T extends HookableEvent>(eventType: HookableEventConstructor<T>, callback: HookCallback<T>): HookCleanup;
77
90
  /**
78
91
  * Invoke swarm and return final result (consumes stream).
79
92
  *
80
93
  * @param input - The input to pass to the start agent
81
94
  * @returns Promise resolving to the final MultiAgentResult
82
95
  */
83
- invoke(input: InvokeArgs): Promise<MultiAgentResult>;
96
+ invoke(input: MultiAgentInput): Promise<MultiAgentResult>;
84
97
  /**
85
98
  * Stream swarm execution, yielding events as agents execute.
86
99
  * Invokes hook callbacks for each event before yielding.
@@ -88,7 +101,7 @@ export declare class Swarm implements MultiAgentBase {
88
101
  * @param input - The input to pass to the start agent
89
102
  * @returns Async generator yielding streaming events and returning a MultiAgentResult
90
103
  */
91
- stream(input: InvokeArgs): AsyncGenerator<MultiAgentStreamEvent, MultiAgentResult, undefined>;
104
+ stream(input: MultiAgentInput): AsyncGenerator<MultiAgentStreamEvent, MultiAgentResult, undefined>;
92
105
  private _stream;
93
106
  private _streamNode;
94
107
  private _validateConfig;
@@ -96,6 +109,17 @@ export declare class Swarm implements MultiAgentBase {
96
109
  private _resolveStart;
97
110
  private _resolveContent;
98
111
  private _resolveNodeInput;
112
+ /**
113
+ * Checks whether the swarm has exceeded its step limit with work still pending.
114
+ *
115
+ * This is only an error when the loop exhausted its step budget while the last agent
116
+ * still requested a handoff (i.e. there was more work to do). If the swarm completed
117
+ * normally on its final allowed step (no pending handoff), no error is thrown.
118
+ *
119
+ * @param state - Current swarm execution state
120
+ * @param handoff - The last handoff result from the most recent agent execution
121
+ * @throws Error when step limit is reached with a pending handoff
122
+ */
99
123
  private _checkSteps;
100
124
  private _buildHandoffSchema;
101
125
  }
@@ -1 +1 @@
1
- {"version":3,"file":"swarm.d.ts","sourceRoot":"","sources":["../../../src/multiagent/swarm.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAGnD,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAmB,gBAAgB,EAAsB,MAAM,YAAY,CAAA;AAClF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC/C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAYxD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAiBD;;GAEG;AACH;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,gBAAgB,CAAA;AAE1D,MAAM,WAAW,YAAa,SAAQ,WAAW;IAC/C,gDAAgD;IAChD,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,8FAA8F;IAC9F,KAAK,EAAE,mBAAmB,EAAE,CAAA;IAC5B,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAA;IACb,qDAAqD;IACrD,KAAK,CAAC,EAAE,YAAY,EAAE,CAAA;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,KAAM,YAAW,cAAc;IAC1C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC9C,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAA;IACtC,QAAQ,CAAC,KAAK,EAAE,0BAA0B,CAAA;IAC1C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAW;IAClC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA0B;IACzD,OAAO,CAAC,YAAY,CAAS;gBAEjB,OAAO,EAAE,YAAY;IAoBjC;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAMjC;;;;;OAKG;IACG,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAS1D;;;;;;OAMG;IACI,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,cAAc,CAAC,qBAAqB,EAAE,gBAAgB,EAAE,SAAS,CAAC;YAerF,OAAO;YA8CP,WAAW;IA4C1B,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,mBAAmB;CAsB5B"}
1
+ {"version":3,"file":"swarm.d.ts","sourceRoot":"","sources":["../../../src/multiagent/swarm.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAQ,MAAM,oBAAoB,CAAA;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEtD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,OAAO,KAAK,EAAE,YAAY,EAAE,wBAAwB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC5F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAIpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAmB,gBAAgB,EAAsB,MAAM,YAAY,CAAA;AAClF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAcxD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAiBD;;GAEG;AACH;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,cAAc,GAAG,gBAAgB,CAAA;AAEnE,MAAM,WAAW,YAAa,SAAQ,WAAW;IAC/C,gDAAgD;IAChD,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,8FAA8F;IAC9F,KAAK,EAAE,mBAAmB,EAAE,CAAA;IAC5B,wFAAwF;IACxF,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,8CAA8C;IAC9C,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC5B,uDAAuD;IACvD,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;CACjD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,KAAM,YAAW,UAAU;IACtC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC9C,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAA;IACtC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA0B;IAC1D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA4B;IAC1D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;IACzB,OAAO,CAAC,YAAY,CAAS;gBAEjB,OAAO,EAAE,YAAY;IAmBjC;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAOjC;;;;;;OAMG;IACH,OAAO,CAAC,CAAC,SAAS,aAAa,EAAE,SAAS,EAAE,wBAAwB,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,WAAW;IAIhH;;;;;OAKG;IACG,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAS/D;;;;;;OAMG;IACI,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,cAAc,CAAC,qBAAqB,EAAE,gBAAgB,EAAE,SAAS,CAAC;YAe1F,OAAO;YA+DP,WAAW;IA0D1B,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,iBAAiB;IAUzB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,mBAAmB;CAyB5B"}
@@ -1,12 +1,14 @@
1
1
  import { logger } from '../logging/logger.js';
2
- import { Agent } from '../agent/agent.js';
3
2
  import { z } from 'zod';
4
3
  import { HookableEvent } from '../hooks/events.js';
5
4
  import { HookRegistryImplementation } from '../hooks/registry.js';
5
+ import { MultiAgentPluginRegistry } from './plugins.js';
6
6
  import { TextBlock } from '../types/messages.js';
7
7
  import { AgentNode } from './nodes.js';
8
8
  import { MultiAgentState, MultiAgentResult, NodeResult, Status } from './state.js';
9
9
  import { AfterMultiAgentInvocationEvent, AfterNodeCallEvent, BeforeMultiAgentInvocationEvent, BeforeNodeCallEvent, MultiAgentHandoffEvent, MultiAgentInitializedEvent, MultiAgentResultEvent, NodeCancelEvent, } from './events.js';
10
+ import { Tracer } from '../telemetry/tracer.js';
11
+ import { normalizeError } from '../errors.js';
10
12
  /**
11
13
  * Swarm multi-agent orchestration pattern.
12
14
  *
@@ -39,22 +41,23 @@ export class Swarm {
39
41
  id;
40
42
  nodes;
41
43
  config;
42
- hooks;
43
- _start;
44
- _handoffSchema;
44
+ _pluginRegistry;
45
+ _hookRegistry;
46
+ _tracer;
47
+ start;
45
48
  _initialized;
46
49
  constructor(options) {
47
- const { id, nodes, start, hooks, ...config } = options;
50
+ const { id, nodes, start, plugins, traceAttributes, ...config } = options;
48
51
  this.id = id ?? 'swarm';
49
52
  this.config = {
50
53
  maxSteps: config.maxSteps ?? Infinity,
51
54
  };
52
55
  this._validateConfig();
53
56
  this.nodes = this._resolveNodes(nodes);
54
- this._start = this._resolveStart(start);
55
- this._handoffSchema = this._buildHandoffSchema();
56
- this.hooks = new HookRegistryImplementation();
57
- this.hooks.addAllHooks(hooks ?? []);
57
+ this.start = this._resolveStart(start);
58
+ this._hookRegistry = new HookRegistryImplementation();
59
+ this._pluginRegistry = new MultiAgentPluginRegistry(plugins);
60
+ this._tracer = new Tracer(traceAttributes);
58
61
  this._initialized = false;
59
62
  }
60
63
  /**
@@ -64,9 +67,20 @@ export class Swarm {
64
67
  async initialize() {
65
68
  if (this._initialized)
66
69
  return;
67
- await this.hooks.invokeCallbacks(new MultiAgentInitializedEvent({ orchestrator: this }));
70
+ await this._pluginRegistry.initialize(this);
71
+ await this._hookRegistry.invokeCallbacks(new MultiAgentInitializedEvent({ orchestrator: this }));
68
72
  this._initialized = true;
69
73
  }
74
+ /**
75
+ * Register a hook callback for a specific swarm event type.
76
+ *
77
+ * @param eventType - The event class constructor to register the callback for
78
+ * @param callback - The callback function to invoke when the event occurs
79
+ * @returns Cleanup function that removes the callback when invoked
80
+ */
81
+ addHook(eventType, callback) {
82
+ return this._hookRegistry.addCallback(eventType, callback);
83
+ }
70
84
  /**
71
85
  * Invoke swarm and return final result (consumes stream).
72
86
  *
@@ -94,7 +108,7 @@ export class Swarm {
94
108
  let next = await gen.next();
95
109
  while (!next.done) {
96
110
  if (next.value instanceof HookableEvent) {
97
- await this.hooks.invokeCallbacks(next.value);
111
+ await this._hookRegistry.invokeCallbacks(next.value);
98
112
  }
99
113
  yield next.value;
100
114
  next = await gen.next();
@@ -104,43 +118,60 @@ export class Swarm {
104
118
  async *_stream(input) {
105
119
  const state = new MultiAgentState({
106
120
  nodeIds: [...this.nodes.keys()],
107
- structuredOutputSchema: this._handoffSchema,
121
+ });
122
+ const multiAgentSpan = this._tracer.startMultiAgentSpan({
123
+ orchestratorId: this.id,
124
+ orchestratorType: 'swarm',
125
+ input,
108
126
  });
109
127
  yield new BeforeMultiAgentInvocationEvent({ orchestrator: this, state });
110
- let node = this._start;
128
+ let node = this.start;
111
129
  let handoff;
130
+ let caughtError;
131
+ let result;
112
132
  try {
113
133
  while (state.steps < this.config.maxSteps) {
114
134
  state.steps++;
115
135
  // Execute current node
116
- const result = yield* this._streamNode(node, input, state, handoff);
117
- handoff = result.structuredOutput;
118
- state.results.push(result);
136
+ const nodeResult = yield* this._streamNode(node, input, state, handoff, multiAgentSpan);
137
+ handoff = nodeResult.structuredOutput;
138
+ state.results.push(nodeResult);
119
139
  // Check for terminal conditions
120
- if (result.status === Status.FAILED || !handoff?.agentId) {
140
+ if (nodeResult.status === Status.FAILED || !handoff?.agentId) {
121
141
  break;
122
142
  }
123
143
  // Hand off to next agent
124
144
  const target = this.nodes.get(handoff.agentId);
125
- yield new MultiAgentHandoffEvent({ source: node.id, targets: [target.id] });
145
+ yield new MultiAgentHandoffEvent({ source: node.id, targets: [target.id], state });
126
146
  logger.debug(`source=<${node.id}>, target=<${target.id}> | swarm handoff`);
127
147
  node = target;
128
148
  }
129
- this._checkSteps(state);
149
+ this._checkSteps(state, handoff);
150
+ result = new MultiAgentResult({
151
+ results: state.results,
152
+ content: this._resolveContent(state),
153
+ duration: Date.now() - state.startTime,
154
+ });
155
+ }
156
+ catch (error) {
157
+ caughtError = normalizeError(error);
158
+ throw caughtError;
130
159
  }
131
160
  finally {
161
+ this._tracer.endMultiAgentSpan(multiAgentSpan, {
162
+ duration: Date.now() - state.startTime,
163
+ ...(result && { usage: result.usage }),
164
+ ...(caughtError && { error: caughtError }),
165
+ });
132
166
  yield new AfterMultiAgentInvocationEvent({ orchestrator: this, state });
133
167
  }
134
- const result = new MultiAgentResult({
135
- results: state.results,
136
- content: this._resolveContent(state),
137
- duration: Date.now() - state.startTime,
138
- });
139
168
  yield new MultiAgentResultEvent({ result });
140
169
  return result;
141
170
  }
142
- async *_streamNode(node, input, state, handoff) {
171
+ async *_streamNode(node, input, state, handoff, multiAgentSpan) {
143
172
  const nodeState = state.node(node.id);
173
+ const handoffSchema = this._buildHandoffSchema(node.id);
174
+ const nodeSpan = this._tracer.withSpanContext(multiAgentSpan, () => this._tracer.startNodeSpan({ nodeId: node.id, nodeType: node.type }));
144
175
  const beforeEvent = new BeforeNodeCallEvent({ orchestrator: this, state, nodeId: node.id });
145
176
  yield beforeEvent;
146
177
  if (beforeEvent.cancel) {
@@ -148,29 +179,34 @@ export class Swarm {
148
179
  const result = new NodeResult({ nodeId: node.id, status: Status.CANCELLED, duration: 0 });
149
180
  nodeState.status = Status.CANCELLED;
150
181
  nodeState.results.push(result);
151
- yield new NodeCancelEvent({ nodeId: node.id, message });
182
+ yield new NodeCancelEvent({ nodeId: node.id, state, message });
152
183
  yield new AfterNodeCallEvent({ orchestrator: this, state, nodeId: node.id });
184
+ this._tracer.endNodeSpan(nodeSpan, { status: Status.CANCELLED, duration: 0 });
153
185
  return result;
154
186
  }
155
187
  const nodeInput = this._resolveNodeInput(input, handoff);
156
188
  try {
157
- const gen = node.stream(nodeInput, state);
158
- let next = await gen.next();
189
+ const gen = this._tracer.withSpanContext(nodeSpan, () => node.stream(nodeInput, state, { structuredOutputSchema: handoffSchema }));
190
+ let next = await this._tracer.withSpanContext(nodeSpan, () => gen.next());
159
191
  while (!next.done) {
160
192
  yield next.value;
161
- next = await gen.next();
193
+ next = await this._tracer.withSpanContext(nodeSpan, () => gen.next());
162
194
  }
195
+ const result = next.value;
196
+ this._tracer.endNodeSpan(nodeSpan, { status: result.status, duration: result.duration, usage: result.usage });
163
197
  yield new AfterNodeCallEvent({ orchestrator: this, state, nodeId: node.id });
164
- return next.value;
198
+ return result;
165
199
  }
166
200
  catch (error) {
201
+ const nodeError = normalizeError(error);
202
+ this._tracer.endNodeSpan(nodeSpan, { error: nodeError });
167
203
  yield new AfterNodeCallEvent({
168
204
  orchestrator: this,
169
205
  state,
170
206
  nodeId: node.id,
171
- error: error instanceof Error ? error : new Error(String(error)),
207
+ error: nodeError,
172
208
  });
173
- throw error;
209
+ throw nodeError;
174
210
  }
175
211
  }
176
212
  _validateConfig() {
@@ -179,9 +215,12 @@ export class Swarm {
179
215
  }
180
216
  }
181
217
  _resolveNodes(definitions) {
218
+ if (definitions.length === 0) {
219
+ throw new Error('nodes list is empty');
220
+ }
182
221
  const nodes = new Map();
183
222
  for (const definition of definitions) {
184
- const node = definition instanceof Agent ? new AgentNode({ agent: definition }) : new AgentNode(definition);
223
+ const node = 'agent' in definition ? new AgentNode(definition) : new AgentNode({ agent: definition });
185
224
  if (nodes.has(node.id)) {
186
225
  throw new Error(`agent_id=<${node.id}> | duplicate agent id`);
187
226
  }
@@ -190,6 +229,9 @@ export class Swarm {
190
229
  return nodes;
191
230
  }
192
231
  _resolveStart(start) {
232
+ if (start === undefined) {
233
+ return this.nodes.values().next().value;
234
+ }
193
235
  const node = this.nodes.get(start);
194
236
  if (!node) {
195
237
  throw new Error(`start=<${start}> | start references unknown agent`);
@@ -199,6 +241,10 @@ export class Swarm {
199
241
  _resolveContent(state) {
200
242
  const last = state.results[state.results.length - 1];
201
243
  state.node(last.nodeId).terminus = true;
244
+ const handoff = last.structuredOutput;
245
+ if (handoff?.message) {
246
+ return [new TextBlock(handoff.message)];
247
+ }
202
248
  return [...last.content];
203
249
  }
204
250
  _resolveNodeInput(input, handoff) {
@@ -210,14 +256,25 @@ export class Swarm {
210
256
  }
211
257
  return blocks;
212
258
  }
213
- _checkSteps(state) {
214
- if (state.steps >= this.config.maxSteps) {
259
+ /**
260
+ * Checks whether the swarm has exceeded its step limit with work still pending.
261
+ *
262
+ * This is only an error when the loop exhausted its step budget while the last agent
263
+ * still requested a handoff (i.e. there was more work to do). If the swarm completed
264
+ * normally on its final allowed step (no pending handoff), no error is thrown.
265
+ *
266
+ * @param state - Current swarm execution state
267
+ * @param handoff - The last handoff result from the most recent agent execution
268
+ * @throws Error when step limit is reached with a pending handoff
269
+ */
270
+ _checkSteps(state, handoff) {
271
+ if (handoff?.agentId && state.steps >= this.config.maxSteps) {
215
272
  throw new Error(`max_steps=<${this.config.maxSteps}> | swarm reached step limit`);
216
273
  }
217
274
  }
218
- _buildHandoffSchema() {
219
- const agentIds = [...this.nodes.keys()];
220
- const agentDescriptions = agentIds
275
+ _buildHandoffSchema(nodeId) {
276
+ const handoffIds = [...this.nodes.keys()].filter((id) => id !== nodeId);
277
+ const handoffDescriptions = handoffIds
221
278
  .map((id) => {
222
279
  const desc = this.nodes.get(id).config.description;
223
280
  return desc ? `- ${id}: ${desc}` : `- ${id}`;
@@ -225,10 +282,12 @@ export class Swarm {
225
282
  .join('\n');
226
283
  return z
227
284
  .object({
228
- agentId: z
229
- .enum(agentIds)
230
- .optional()
231
- .describe(`Target agent to hand off to. Omit to end the conversation.\n\nAvailable agents:\n${agentDescriptions}`),
285
+ agentId: handoffIds.length > 0
286
+ ? z
287
+ .enum(handoffIds)
288
+ .optional()
289
+ .describe(`Target agent to hand off to. Omit to end the conversation.\n\nAvailable agents:\n${handoffDescriptions}`)
290
+ : z.never().optional().describe('No other agents available. Omit this field to end the conversation.'),
232
291
  message: z.string().describe('Instructions for the next agent, or the final response if no handoff.'),
233
292
  context: z.record(z.string(), z.unknown()).optional().describe('Structured data to pass to the next agent.'),
234
293
  })
@@ -1 +1 @@
1
- {"version":3,"file":"swarm.js","sourceRoot":"","sources":["../../../src/multiagent/swarm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"swarm.js","sourceRoot":"","sources":["../../../src/multiagent/swarm.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=plugin.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.test.d.ts","sourceRoot":"","sources":["../../../../src/plugins/__tests__/plugin.test.ts"],"names":[],"mappings":""}