@strands-agents/sdk 1.0.0-rc.5 → 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 (380) hide show
  1. package/LICENSE +175 -0
  2. package/README.md +340 -0
  3. package/dist/src/__fixtures__/agent-helpers.d.ts +22 -1
  4. package/dist/src/__fixtures__/agent-helpers.d.ts.map +1 -1
  5. package/dist/src/__fixtures__/agent-helpers.js +45 -1
  6. package/dist/src/__fixtures__/agent-helpers.js.map +1 -1
  7. package/dist/src/__fixtures__/mock-plugin.d.ts.map +1 -1
  8. package/dist/src/__fixtures__/mock-plugin.js +3 -1
  9. package/dist/src/__fixtures__/mock-plugin.js.map +1 -1
  10. package/dist/src/__fixtures__/tool-helpers.d.ts +5 -2
  11. package/dist/src/__fixtures__/tool-helpers.d.ts.map +1 -1
  12. package/dist/src/__fixtures__/tool-helpers.js +23 -4
  13. package/dist/src/__fixtures__/tool-helpers.js.map +1 -1
  14. package/dist/src/__tests__/interrupt.test.d.ts +2 -0
  15. package/dist/src/__tests__/interrupt.test.d.ts.map +1 -0
  16. package/dist/src/__tests__/interrupt.test.js +259 -0
  17. package/dist/src/__tests__/interrupt.test.js.map +1 -0
  18. package/dist/src/__tests__/mcp.test.js +448 -2
  19. package/dist/src/__tests__/mcp.test.js.map +1 -1
  20. package/dist/src/a2a/__tests__/events.test.js +2 -0
  21. package/dist/src/a2a/__tests__/events.test.js.map +1 -1
  22. package/dist/src/a2a/__tests__/executor.test.js +16 -5
  23. package/dist/src/a2a/__tests__/executor.test.js.map +1 -1
  24. package/dist/src/a2a/a2a-agent.d.ts +8 -3
  25. package/dist/src/a2a/a2a-agent.d.ts.map +1 -1
  26. package/dist/src/a2a/a2a-agent.js +12 -6
  27. package/dist/src/a2a/a2a-agent.js.map +1 -1
  28. package/dist/src/a2a/executor.d.ts +13 -0
  29. package/dist/src/a2a/executor.d.ts.map +1 -1
  30. package/dist/src/a2a/executor.js +19 -1
  31. package/dist/src/a2a/executor.js.map +1 -1
  32. package/dist/src/agent/__tests__/agent-as-tool.invocation-state.test.d.ts +2 -0
  33. package/dist/src/agent/__tests__/agent-as-tool.invocation-state.test.d.ts.map +1 -0
  34. package/dist/src/agent/__tests__/agent-as-tool.invocation-state.test.js +23 -0
  35. package/dist/src/agent/__tests__/agent-as-tool.invocation-state.test.js.map +1 -0
  36. package/dist/src/agent/__tests__/agent.cancel.test.js +1 -1
  37. package/dist/src/agent/__tests__/agent.cancel.test.js.map +1 -1
  38. package/dist/src/agent/__tests__/agent.concurrent.test.d.ts +2 -0
  39. package/dist/src/agent/__tests__/agent.concurrent.test.d.ts.map +1 -0
  40. package/dist/src/agent/__tests__/agent.concurrent.test.js +488 -0
  41. package/dist/src/agent/__tests__/agent.concurrent.test.js.map +1 -0
  42. package/dist/src/agent/__tests__/agent.hook.test.js +724 -12
  43. package/dist/src/agent/__tests__/agent.hook.test.js.map +1 -1
  44. package/dist/src/agent/__tests__/agent.interrupt.test.d.ts +2 -0
  45. package/dist/src/agent/__tests__/agent.interrupt.test.d.ts.map +1 -0
  46. package/dist/src/agent/__tests__/agent.interrupt.test.js +730 -0
  47. package/dist/src/agent/__tests__/agent.interrupt.test.js.map +1 -0
  48. package/dist/src/agent/__tests__/agent.invocation-state.test.d.ts +2 -0
  49. package/dist/src/agent/__tests__/agent.invocation-state.test.d.ts.map +1 -0
  50. package/dist/src/agent/__tests__/agent.invocation-state.test.js +219 -0
  51. package/dist/src/agent/__tests__/agent.invocation-state.test.js.map +1 -0
  52. package/dist/src/agent/__tests__/agent.model-retry.test.d.ts +2 -0
  53. package/dist/src/agent/__tests__/agent.model-retry.test.d.ts.map +1 -0
  54. package/dist/src/agent/__tests__/agent.model-retry.test.js +161 -0
  55. package/dist/src/agent/__tests__/agent.model-retry.test.js.map +1 -0
  56. package/dist/src/agent/__tests__/agent.stateful-model.test.d.ts +2 -0
  57. package/dist/src/agent/__tests__/agent.stateful-model.test.d.ts.map +1 -0
  58. package/dist/src/agent/__tests__/agent.stateful-model.test.js +169 -0
  59. package/dist/src/agent/__tests__/agent.stateful-model.test.js.map +1 -0
  60. package/dist/src/agent/__tests__/agent.test.js +217 -2
  61. package/dist/src/agent/__tests__/agent.test.js.map +1 -1
  62. package/dist/src/agent/__tests__/agent.tracer.test.node.js +39 -0
  63. package/dist/src/agent/__tests__/agent.tracer.test.node.js.map +1 -1
  64. package/dist/src/agent/__tests__/snapshot.test.js +51 -4
  65. package/dist/src/agent/__tests__/snapshot.test.js.map +1 -1
  66. package/dist/src/agent/agent-as-tool.d.ts.map +1 -1
  67. package/dist/src/agent/agent-as-tool.js +4 -2
  68. package/dist/src/agent/agent-as-tool.js.map +1 -1
  69. package/dist/src/agent/agent.d.ts +109 -4
  70. package/dist/src/agent/agent.d.ts.map +1 -1
  71. package/dist/src/agent/agent.js +790 -224
  72. package/dist/src/agent/agent.js.map +1 -1
  73. package/dist/src/agent/snapshot.d.ts +2 -2
  74. package/dist/src/agent/snapshot.d.ts.map +1 -1
  75. package/dist/src/agent/snapshot.js +20 -2
  76. package/dist/src/agent/snapshot.js.map +1 -1
  77. package/dist/src/conversation-manager/__tests__/conversation-manager.test.js +230 -9
  78. package/dist/src/conversation-manager/__tests__/conversation-manager.test.js.map +1 -1
  79. package/dist/src/conversation-manager/__tests__/null-conversation-manager.test.js +19 -6
  80. package/dist/src/conversation-manager/__tests__/null-conversation-manager.test.js.map +1 -1
  81. package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.js +58 -4
  82. package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.js.map +1 -1
  83. package/dist/src/conversation-manager/__tests__/summarizing-conversation-manager.test.js +76 -1
  84. package/dist/src/conversation-manager/__tests__/summarizing-conversation-manager.test.js.map +1 -1
  85. package/dist/src/conversation-manager/conversation-manager.d.ts +67 -22
  86. package/dist/src/conversation-manager/conversation-manager.d.ts.map +1 -1
  87. package/dist/src/conversation-manager/conversation-manager.js +65 -13
  88. package/dist/src/conversation-manager/conversation-manager.js.map +1 -1
  89. package/dist/src/conversation-manager/index.d.ts +1 -1
  90. package/dist/src/conversation-manager/index.d.ts.map +1 -1
  91. package/dist/src/conversation-manager/index.js +1 -1
  92. package/dist/src/conversation-manager/index.js.map +1 -1
  93. package/dist/src/conversation-manager/sliding-window-conversation-manager.d.ts +17 -3
  94. package/dist/src/conversation-manager/sliding-window-conversation-manager.d.ts.map +1 -1
  95. package/dist/src/conversation-manager/sliding-window-conversation-manager.js +10 -4
  96. package/dist/src/conversation-manager/sliding-window-conversation-manager.js.map +1 -1
  97. package/dist/src/conversation-manager/summarizing-conversation-manager.d.ts +23 -1
  98. package/dist/src/conversation-manager/summarizing-conversation-manager.d.ts.map +1 -1
  99. package/dist/src/conversation-manager/summarizing-conversation-manager.js +39 -17
  100. package/dist/src/conversation-manager/summarizing-conversation-manager.js.map +1 -1
  101. package/dist/src/errors.d.ts +11 -0
  102. package/dist/src/errors.d.ts.map +1 -1
  103. package/dist/src/errors.js +12 -0
  104. package/dist/src/errors.js.map +1 -1
  105. package/dist/src/hooks/__tests__/events.test.js +267 -73
  106. package/dist/src/hooks/__tests__/events.test.js.map +1 -1
  107. package/dist/src/hooks/__tests__/registry.test.js +182 -18
  108. package/dist/src/hooks/__tests__/registry.test.js.map +1 -1
  109. package/dist/src/hooks/events.d.ts +193 -51
  110. package/dist/src/hooks/events.d.ts.map +1 -1
  111. package/dist/src/hooks/events.js +182 -26
  112. package/dist/src/hooks/events.js.map +1 -1
  113. package/dist/src/hooks/index.d.ts +3 -2
  114. package/dist/src/hooks/index.d.ts.map +1 -1
  115. package/dist/src/hooks/index.js +1 -0
  116. package/dist/src/hooks/index.js.map +1 -1
  117. package/dist/src/hooks/registry.d.ts +12 -12
  118. package/dist/src/hooks/registry.d.ts.map +1 -1
  119. package/dist/src/hooks/registry.js +55 -15
  120. package/dist/src/hooks/registry.js.map +1 -1
  121. package/dist/src/hooks/types.d.ts +23 -0
  122. package/dist/src/hooks/types.d.ts.map +1 -1
  123. package/dist/src/hooks/types.js +17 -1
  124. package/dist/src/hooks/types.js.map +1 -1
  125. package/dist/src/index.d.ts +12 -7
  126. package/dist/src/index.d.ts.map +1 -1
  127. package/dist/src/index.js +4 -1
  128. package/dist/src/index.js.map +1 -1
  129. package/dist/src/interrupt.d.ts +220 -0
  130. package/dist/src/interrupt.d.ts.map +1 -0
  131. package/dist/src/interrupt.js +274 -0
  132. package/dist/src/interrupt.js.map +1 -0
  133. package/dist/src/logging/__tests__/warn-once.test.d.ts +2 -0
  134. package/dist/src/logging/__tests__/warn-once.test.d.ts.map +1 -0
  135. package/dist/src/logging/__tests__/warn-once.test.js +30 -0
  136. package/dist/src/logging/__tests__/warn-once.test.js.map +1 -0
  137. package/dist/src/logging/warn-once.d.ts +13 -0
  138. package/dist/src/logging/warn-once.d.ts.map +1 -0
  139. package/dist/src/logging/warn-once.js +18 -0
  140. package/dist/src/logging/warn-once.js.map +1 -0
  141. package/dist/src/mcp.d.ts +43 -3
  142. package/dist/src/mcp.d.ts.map +1 -1
  143. package/dist/src/mcp.js +85 -17
  144. package/dist/src/mcp.js.map +1 -1
  145. package/dist/src/mime.d.ts +2 -1
  146. package/dist/src/mime.d.ts.map +1 -1
  147. package/dist/src/mime.js +1 -0
  148. package/dist/src/mime.js.map +1 -1
  149. package/dist/src/models/__tests__/anthropic.test.js +147 -3
  150. package/dist/src/models/__tests__/anthropic.test.js.map +1 -1
  151. package/dist/src/models/__tests__/bedrock.test.js +228 -2
  152. package/dist/src/models/__tests__/bedrock.test.js.map +1 -1
  153. package/dist/src/models/__tests__/defaults.test.d.ts +2 -0
  154. package/dist/src/models/__tests__/defaults.test.d.ts.map +1 -0
  155. package/dist/src/models/__tests__/defaults.test.js +36 -0
  156. package/dist/src/models/__tests__/defaults.test.js.map +1 -0
  157. package/dist/src/models/__tests__/google.test.js +135 -0
  158. package/dist/src/models/__tests__/google.test.js.map +1 -1
  159. package/dist/src/models/__tests__/model.test.js +149 -1
  160. package/dist/src/models/__tests__/model.test.js.map +1 -1
  161. package/dist/src/models/anthropic.d.ts +20 -1
  162. package/dist/src/models/anthropic.d.ts.map +1 -1
  163. package/dist/src/models/anthropic.js +42 -8
  164. package/dist/src/models/anthropic.js.map +1 -1
  165. package/dist/src/models/bedrock.d.ts +27 -1
  166. package/dist/src/models/bedrock.d.ts.map +1 -1
  167. package/dist/src/models/bedrock.js +100 -12
  168. package/dist/src/models/bedrock.js.map +1 -1
  169. package/dist/src/models/defaults.d.ts +47 -0
  170. package/dist/src/models/defaults.d.ts.map +1 -0
  171. package/dist/src/models/defaults.js +170 -0
  172. package/dist/src/models/defaults.js.map +1 -0
  173. package/dist/src/models/google/model.d.ts +14 -1
  174. package/dist/src/models/google/model.d.ts.map +1 -1
  175. package/dist/src/models/google/model.js +54 -8
  176. package/dist/src/models/google/model.js.map +1 -1
  177. package/dist/src/models/google/types.d.ts +8 -0
  178. package/dist/src/models/google/types.d.ts.map +1 -1
  179. package/dist/src/models/model.d.ts +65 -0
  180. package/dist/src/models/model.d.ts.map +1 -1
  181. package/dist/src/models/model.js +138 -0
  182. package/dist/src/models/model.js.map +1 -1
  183. package/dist/src/models/openai/__tests__/chat.test.d.ts +2 -0
  184. package/dist/src/models/openai/__tests__/chat.test.d.ts.map +1 -0
  185. package/dist/src/models/{__tests__/openai.test.js → openai/__tests__/chat.test.js} +117 -7
  186. package/dist/src/models/openai/__tests__/chat.test.js.map +1 -0
  187. package/dist/src/models/openai/__tests__/responses.test.d.ts +2 -0
  188. package/dist/src/models/openai/__tests__/responses.test.d.ts.map +1 -0
  189. package/dist/src/models/openai/__tests__/responses.test.js +668 -0
  190. package/dist/src/models/openai/__tests__/responses.test.js.map +1 -0
  191. package/dist/src/models/openai/chat-adapter.d.ts +33 -0
  192. package/dist/src/models/openai/chat-adapter.d.ts.map +1 -0
  193. package/dist/src/models/openai/chat-adapter.js +383 -0
  194. package/dist/src/models/openai/chat-adapter.js.map +1 -0
  195. package/dist/src/models/openai/errors.d.ts +16 -0
  196. package/dist/src/models/openai/errors.d.ts.map +1 -0
  197. package/dist/src/models/openai/errors.js +40 -0
  198. package/dist/src/models/openai/errors.js.map +1 -0
  199. package/dist/src/models/openai/formatting.d.ts +18 -0
  200. package/dist/src/models/openai/formatting.d.ts.map +1 -0
  201. package/dist/src/models/openai/formatting.js +38 -0
  202. package/dist/src/models/openai/formatting.js.map +1 -0
  203. package/dist/src/models/openai/index.d.ts +19 -0
  204. package/dist/src/models/openai/index.d.ts.map +1 -0
  205. package/dist/src/models/openai/index.js +18 -0
  206. package/dist/src/models/openai/index.js.map +1 -0
  207. package/dist/src/models/openai/model.d.ts +77 -0
  208. package/dist/src/models/openai/model.d.ts.map +1 -0
  209. package/dist/src/models/openai/model.js +211 -0
  210. package/dist/src/models/openai/model.js.map +1 -0
  211. package/dist/src/models/openai/responses-adapter.d.ts +78 -0
  212. package/dist/src/models/openai/responses-adapter.d.ts.map +1 -0
  213. package/dist/src/models/openai/responses-adapter.js +467 -0
  214. package/dist/src/models/openai/responses-adapter.js.map +1 -0
  215. package/dist/src/models/openai/types.d.ts +131 -0
  216. package/dist/src/models/openai/types.d.ts.map +1 -0
  217. package/dist/src/models/openai/types.js +5 -0
  218. package/dist/src/models/openai/types.js.map +1 -0
  219. package/dist/src/multiagent/__tests__/events.test.js +122 -28
  220. package/dist/src/multiagent/__tests__/events.test.js.map +1 -1
  221. package/dist/src/multiagent/__tests__/graph.invocation-state.test.d.ts +2 -0
  222. package/dist/src/multiagent/__tests__/graph.invocation-state.test.d.ts.map +1 -0
  223. package/dist/src/multiagent/__tests__/graph.invocation-state.test.js +95 -0
  224. package/dist/src/multiagent/__tests__/graph.invocation-state.test.js.map +1 -0
  225. package/dist/src/multiagent/__tests__/graph.test.js +69 -0
  226. package/dist/src/multiagent/__tests__/graph.test.js.map +1 -1
  227. package/dist/src/multiagent/__tests__/nodes.test.js +18 -2
  228. package/dist/src/multiagent/__tests__/nodes.test.js.map +1 -1
  229. package/dist/src/multiagent/__tests__/swarm.invocation-state.test.d.ts +2 -0
  230. package/dist/src/multiagent/__tests__/swarm.invocation-state.test.d.ts.map +1 -0
  231. package/dist/src/multiagent/__tests__/swarm.invocation-state.test.js +56 -0
  232. package/dist/src/multiagent/__tests__/swarm.invocation-state.test.js.map +1 -0
  233. package/dist/src/multiagent/__tests__/swarm.test.js +77 -0
  234. package/dist/src/multiagent/__tests__/swarm.test.js.map +1 -1
  235. package/dist/src/multiagent/events.d.ts +19 -1
  236. package/dist/src/multiagent/events.d.ts.map +1 -1
  237. package/dist/src/multiagent/events.js +18 -0
  238. package/dist/src/multiagent/events.js.map +1 -1
  239. package/dist/src/multiagent/graph.d.ts +27 -5
  240. package/dist/src/multiagent/graph.d.ts.map +1 -1
  241. package/dist/src/multiagent/graph.js +61 -15
  242. package/dist/src/multiagent/graph.js.map +1 -1
  243. package/dist/src/multiagent/index.d.ts +1 -1
  244. package/dist/src/multiagent/index.d.ts.map +1 -1
  245. package/dist/src/multiagent/multiagent.d.ts +21 -6
  246. package/dist/src/multiagent/multiagent.d.ts.map +1 -1
  247. package/dist/src/multiagent/nodes.d.ts +28 -3
  248. package/dist/src/multiagent/nodes.d.ts.map +1 -1
  249. package/dist/src/multiagent/nodes.js +42 -7
  250. package/dist/src/multiagent/nodes.js.map +1 -1
  251. package/dist/src/multiagent/swarm.d.ts +20 -4
  252. package/dist/src/multiagent/swarm.d.ts.map +1 -1
  253. package/dist/src/multiagent/swarm.js +65 -16
  254. package/dist/src/multiagent/swarm.js.map +1 -1
  255. package/dist/src/plugins/__tests__/registry.test.js +1 -1
  256. package/dist/src/plugins/__tests__/registry.test.js.map +1 -1
  257. package/dist/src/plugins/model-plugin.d.ts +20 -0
  258. package/dist/src/plugins/model-plugin.d.ts.map +1 -0
  259. package/dist/src/plugins/model-plugin.js +29 -0
  260. package/dist/src/plugins/model-plugin.js.map +1 -0
  261. package/dist/src/registry/__tests__/tool-registry.test.js +11 -0
  262. package/dist/src/registry/__tests__/tool-registry.test.js.map +1 -1
  263. package/dist/src/registry/tool-registry.d.ts +4 -0
  264. package/dist/src/registry/tool-registry.d.ts.map +1 -1
  265. package/dist/src/registry/tool-registry.js +6 -0
  266. package/dist/src/registry/tool-registry.js.map +1 -1
  267. package/dist/src/retry/__tests__/backoff-strategy.test.d.ts +2 -0
  268. package/dist/src/retry/__tests__/backoff-strategy.test.d.ts.map +1 -0
  269. package/dist/src/retry/__tests__/backoff-strategy.test.js +116 -0
  270. package/dist/src/retry/__tests__/backoff-strategy.test.js.map +1 -0
  271. package/dist/src/retry/__tests__/default-model-retry-strategy.test.d.ts +2 -0
  272. package/dist/src/retry/__tests__/default-model-retry-strategy.test.d.ts.map +1 -0
  273. package/dist/src/retry/__tests__/default-model-retry-strategy.test.js +225 -0
  274. package/dist/src/retry/__tests__/default-model-retry-strategy.test.js.map +1 -0
  275. package/dist/src/retry/backoff-strategy.d.ts +108 -0
  276. package/dist/src/retry/backoff-strategy.d.ts.map +1 -0
  277. package/dist/src/retry/backoff-strategy.js +86 -0
  278. package/dist/src/retry/backoff-strategy.js.map +1 -0
  279. package/dist/src/retry/default-model-retry-strategy.d.ts +76 -0
  280. package/dist/src/retry/default-model-retry-strategy.d.ts.map +1 -0
  281. package/dist/src/retry/default-model-retry-strategy.js +104 -0
  282. package/dist/src/retry/default-model-retry-strategy.js.map +1 -0
  283. package/dist/src/retry/index.d.ts +8 -0
  284. package/dist/src/retry/index.d.ts.map +1 -0
  285. package/dist/src/retry/index.js +7 -0
  286. package/dist/src/retry/index.js.map +1 -0
  287. package/dist/src/retry/model-retry-strategy.d.ts +80 -0
  288. package/dist/src/retry/model-retry-strategy.d.ts.map +1 -0
  289. package/dist/src/retry/model-retry-strategy.js +85 -0
  290. package/dist/src/retry/model-retry-strategy.js.map +1 -0
  291. package/dist/src/retry/retry-strategy.d.ts +34 -0
  292. package/dist/src/retry/retry-strategy.d.ts.map +1 -0
  293. package/dist/src/retry/retry-strategy.js +25 -0
  294. package/dist/src/retry/retry-strategy.js.map +1 -0
  295. package/dist/src/session/__tests__/session-manager.test.js +52 -11
  296. package/dist/src/session/__tests__/session-manager.test.js.map +1 -1
  297. package/dist/src/session/session-manager.d.ts +6 -0
  298. package/dist/src/session/session-manager.d.ts.map +1 -1
  299. package/dist/src/session/session-manager.js +17 -0
  300. package/dist/src/session/session-manager.js.map +1 -1
  301. package/dist/src/telemetry/__tests__/meter.test.js +23 -0
  302. package/dist/src/telemetry/__tests__/meter.test.js.map +1 -1
  303. package/dist/src/telemetry/meter.d.ts +15 -0
  304. package/dist/src/telemetry/meter.d.ts.map +1 -1
  305. package/dist/src/telemetry/meter.js +14 -0
  306. package/dist/src/telemetry/meter.js.map +1 -1
  307. package/dist/src/tools/__tests__/tool.test.js +24 -1
  308. package/dist/src/tools/__tests__/tool.test.js.map +1 -1
  309. package/dist/src/tools/function-tool.d.ts.map +1 -1
  310. package/dist/src/tools/function-tool.js +6 -1
  311. package/dist/src/tools/function-tool.js.map +1 -1
  312. package/dist/src/tools/mcp-tool.d.ts +24 -3
  313. package/dist/src/tools/mcp-tool.d.ts.map +1 -1
  314. package/dist/src/tools/mcp-tool.js +103 -31
  315. package/dist/src/tools/mcp-tool.js.map +1 -1
  316. package/dist/src/tools/tool.d.ts +21 -2
  317. package/dist/src/tools/tool.d.ts.map +1 -1
  318. package/dist/src/tools/tool.js +12 -0
  319. package/dist/src/tools/tool.js.map +1 -1
  320. package/dist/src/tsconfig.tsbuildinfo +1 -1
  321. package/dist/src/types/__tests__/agent.test.js +48 -0
  322. package/dist/src/types/__tests__/agent.test.js.map +1 -1
  323. package/dist/src/types/agent.d.ts +77 -9
  324. package/dist/src/types/agent.d.ts.map +1 -1
  325. package/dist/src/types/agent.js +30 -6
  326. package/dist/src/types/agent.js.map +1 -1
  327. package/dist/src/types/elicitation.d.ts +15 -0
  328. package/dist/src/types/elicitation.d.ts.map +1 -0
  329. package/dist/src/types/elicitation.js +2 -0
  330. package/dist/src/types/elicitation.js.map +1 -0
  331. package/dist/src/types/interrupt.d.ts +103 -0
  332. package/dist/src/types/interrupt.d.ts.map +1 -0
  333. package/dist/src/types/interrupt.js +63 -0
  334. package/dist/src/types/interrupt.js.map +1 -0
  335. package/dist/src/types/messages.d.ts +2 -1
  336. package/dist/src/types/messages.d.ts.map +1 -1
  337. package/dist/src/types/messages.js.map +1 -1
  338. package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.d.ts +2 -0
  339. package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.d.ts.map +1 -0
  340. package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.js +292 -0
  341. package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.js.map +1 -0
  342. package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.d.ts +2 -0
  343. package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.d.ts.map +1 -0
  344. package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.js +148 -0
  345. package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.js.map +1 -0
  346. package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.node.d.ts +2 -0
  347. package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.node.d.ts.map +1 -0
  348. package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.node.js +78 -0
  349. package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.node.js.map +1 -0
  350. package/dist/src/vended-plugins/context-offloader/index.d.ts +23 -0
  351. package/dist/src/vended-plugins/context-offloader/index.d.ts.map +1 -0
  352. package/dist/src/vended-plugins/context-offloader/index.js +21 -0
  353. package/dist/src/vended-plugins/context-offloader/index.js.map +1 -0
  354. package/dist/src/vended-plugins/context-offloader/plugin.d.ts +48 -0
  355. package/dist/src/vended-plugins/context-offloader/plugin.d.ts.map +1 -0
  356. package/dist/src/vended-plugins/context-offloader/plugin.js +244 -0
  357. package/dist/src/vended-plugins/context-offloader/plugin.js.map +1 -0
  358. package/dist/src/vended-plugins/context-offloader/storage.d.ts +114 -0
  359. package/dist/src/vended-plugins/context-offloader/storage.d.ts.map +1 -0
  360. package/dist/src/vended-plugins/context-offloader/storage.js +204 -0
  361. package/dist/src/vended-plugins/context-offloader/storage.js.map +1 -0
  362. package/dist/src/vended-plugins/skills/__tests__/agent-skills.test.node.js +21 -5
  363. package/dist/src/vended-plugins/skills/__tests__/agent-skills.test.node.js.map +1 -1
  364. package/dist/src/vended-tools/bash/__tests__/bash.test.node.js +4 -0
  365. package/dist/src/vended-tools/bash/__tests__/bash.test.node.js.map +1 -1
  366. package/dist/src/vended-tools/bash/bash.d.ts.map +1 -1
  367. package/dist/src/vended-tools/bash/bash.js +0 -3
  368. package/dist/src/vended-tools/bash/bash.js.map +1 -1
  369. package/dist/src/vended-tools/file-editor/__tests__/file-editor.test.node.js +4 -0
  370. package/dist/src/vended-tools/file-editor/__tests__/file-editor.test.node.js.map +1 -1
  371. package/dist/src/vended-tools/notebook/__tests__/notebook.test.js +4 -0
  372. package/dist/src/vended-tools/notebook/__tests__/notebook.test.js.map +1 -1
  373. package/package.json +17 -9
  374. package/dist/src/models/__tests__/openai.test.d.ts +0 -2
  375. package/dist/src/models/__tests__/openai.test.d.ts.map +0 -1
  376. package/dist/src/models/__tests__/openai.test.js.map +0 -1
  377. package/dist/src/models/openai.d.ts +0 -312
  378. package/dist/src/models/openai.d.ts.map +0 -1
  379. package/dist/src/models/openai.js +0 -789
  380. package/dist/src/models/openai.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import { HookableEvent, StreamEvent } from '../hooks/events.js';
2
- import type { AgentStreamEvent } from '../types/agent.js';
2
+ import type { AgentStreamEvent, InvocationState } from '../types/agent.js';
3
3
  import type { MultiAgentResult, MultiAgentState, NodeResult } from './state.js';
4
4
  import type { MultiAgent } from './multiagent.js';
5
5
  import type { NodeType } from './nodes.js';
@@ -21,9 +21,11 @@ export declare class BeforeMultiAgentInvocationEvent extends HookableEvent {
21
21
  readonly type: "beforeMultiAgentInvocationEvent";
22
22
  readonly orchestrator: MultiAgent;
23
23
  readonly state: MultiAgentState;
24
+ readonly invocationState: InvocationState;
24
25
  constructor(data: {
25
26
  orchestrator: MultiAgent;
26
27
  state: MultiAgentState;
28
+ invocationState: InvocationState;
27
29
  });
28
30
  toJSON(): Pick<BeforeMultiAgentInvocationEvent, 'type'>;
29
31
  }
@@ -34,9 +36,11 @@ export declare class AfterMultiAgentInvocationEvent extends HookableEvent {
34
36
  readonly type: "afterMultiAgentInvocationEvent";
35
37
  readonly orchestrator: MultiAgent;
36
38
  readonly state: MultiAgentState;
39
+ readonly invocationState: InvocationState;
37
40
  constructor(data: {
38
41
  orchestrator: MultiAgent;
39
42
  state: MultiAgentState;
43
+ invocationState: InvocationState;
40
44
  });
41
45
  _shouldReverseCallbacks(): boolean;
42
46
  toJSON(): Pick<AfterMultiAgentInvocationEvent, 'type'>;
@@ -50,6 +54,7 @@ export declare class BeforeNodeCallEvent extends HookableEvent {
50
54
  readonly orchestrator: MultiAgent;
51
55
  readonly state: MultiAgentState;
52
56
  readonly nodeId: string;
57
+ readonly invocationState: InvocationState;
53
58
  /**
54
59
  * Set by hook callbacks to cancel node execution.
55
60
  * When set to `true`, a default cancel message is used.
@@ -60,6 +65,7 @@ export declare class BeforeNodeCallEvent extends HookableEvent {
60
65
  orchestrator: MultiAgent;
61
66
  state: MultiAgentState;
62
67
  nodeId: string;
68
+ invocationState: InvocationState;
63
69
  });
64
70
  toJSON(): Pick<BeforeNodeCallEvent, 'type' | 'nodeId'>;
65
71
  }
@@ -71,11 +77,13 @@ export declare class AfterNodeCallEvent extends HookableEvent {
71
77
  readonly orchestrator: MultiAgent;
72
78
  readonly state: MultiAgentState;
73
79
  readonly nodeId: string;
80
+ readonly invocationState: InvocationState;
74
81
  readonly error?: Error;
75
82
  constructor(data: {
76
83
  orchestrator: MultiAgent;
77
84
  state: MultiAgentState;
78
85
  nodeId: string;
86
+ invocationState: InvocationState;
79
87
  error?: Error;
80
88
  });
81
89
  _shouldReverseCallbacks(): boolean;
@@ -122,11 +130,13 @@ export declare class NodeStreamUpdateEvent extends HookableEvent {
122
130
  readonly nodeType: NodeType;
123
131
  readonly state: MultiAgentState;
124
132
  readonly inner: NodeStreamUpdateInnerEvent;
133
+ readonly invocationState: InvocationState;
125
134
  constructor(data: {
126
135
  nodeId: string;
127
136
  nodeType: NodeType;
128
137
  state: MultiAgentState;
129
138
  inner: NodeStreamUpdateInnerEvent;
139
+ invocationState: InvocationState;
130
140
  });
131
141
  toJSON(): Pick<NodeStreamUpdateEvent, 'type' | 'nodeId' | 'nodeType' | 'inner'>;
132
142
  }
@@ -140,11 +150,13 @@ export declare class NodeResultEvent extends HookableEvent {
140
150
  readonly nodeType: NodeType;
141
151
  readonly state: MultiAgentState;
142
152
  readonly result: NodeResult;
153
+ readonly invocationState: InvocationState;
143
154
  constructor(data: {
144
155
  nodeId: string;
145
156
  nodeType: NodeType;
146
157
  state: MultiAgentState;
147
158
  result: NodeResult;
159
+ invocationState: InvocationState;
148
160
  });
149
161
  toJSON(): Pick<NodeResultEvent, 'type' | 'nodeId' | 'nodeType' | 'result'>;
150
162
  }
@@ -156,10 +168,12 @@ export declare class MultiAgentHandoffEvent extends HookableEvent {
156
168
  readonly source: string;
157
169
  readonly targets: string[];
158
170
  readonly state: MultiAgentState;
171
+ readonly invocationState: InvocationState;
159
172
  constructor(data: {
160
173
  source: string;
161
174
  targets: string[];
162
175
  state: MultiAgentState;
176
+ invocationState: InvocationState;
163
177
  });
164
178
  toJSON(): Pick<MultiAgentHandoffEvent, 'type' | 'source' | 'targets'>;
165
179
  }
@@ -171,10 +185,12 @@ export declare class NodeCancelEvent extends HookableEvent {
171
185
  readonly nodeId: string;
172
186
  readonly state: MultiAgentState;
173
187
  readonly message: string;
188
+ readonly invocationState: InvocationState;
174
189
  constructor(data: {
175
190
  nodeId: string;
176
191
  state: MultiAgentState;
177
192
  message: string;
193
+ invocationState: InvocationState;
178
194
  });
179
195
  toJSON(): Pick<NodeCancelEvent, 'type' | 'nodeId' | 'message'>;
180
196
  }
@@ -185,8 +201,10 @@ export declare class NodeCancelEvent extends HookableEvent {
185
201
  export declare class MultiAgentResultEvent extends HookableEvent {
186
202
  readonly type: "multiAgentResultEvent";
187
203
  readonly result: MultiAgentResult;
204
+ readonly invocationState: InvocationState;
188
205
  constructor(data: {
189
206
  result: MultiAgentResult;
207
+ invocationState: InvocationState;
190
208
  });
191
209
  toJSON(): Pick<MultiAgentResultEvent, 'type' | 'result'>;
192
210
  }
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/multiagent/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/multiagent/events.ts"],"names":[],"mappings":"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"}
@@ -20,10 +20,12 @@ export class BeforeMultiAgentInvocationEvent extends HookableEvent {
20
20
  type = 'beforeMultiAgentInvocationEvent';
21
21
  orchestrator;
22
22
  state;
23
+ invocationState;
23
24
  constructor(data) {
24
25
  super();
25
26
  this.orchestrator = data.orchestrator;
26
27
  this.state = data.state;
28
+ this.invocationState = data.invocationState;
27
29
  }
28
30
  toJSON() {
29
31
  return { type: this.type };
@@ -36,10 +38,12 @@ export class AfterMultiAgentInvocationEvent extends HookableEvent {
36
38
  type = 'afterMultiAgentInvocationEvent';
37
39
  orchestrator;
38
40
  state;
41
+ invocationState;
39
42
  constructor(data) {
40
43
  super();
41
44
  this.orchestrator = data.orchestrator;
42
45
  this.state = data.state;
46
+ this.invocationState = data.invocationState;
43
47
  }
44
48
  _shouldReverseCallbacks() {
45
49
  return true;
@@ -57,6 +61,7 @@ export class BeforeNodeCallEvent extends HookableEvent {
57
61
  orchestrator;
58
62
  state;
59
63
  nodeId;
64
+ invocationState;
60
65
  /**
61
66
  * Set by hook callbacks to cancel node execution.
62
67
  * When set to `true`, a default cancel message is used.
@@ -68,6 +73,7 @@ export class BeforeNodeCallEvent extends HookableEvent {
68
73
  this.orchestrator = data.orchestrator;
69
74
  this.state = data.state;
70
75
  this.nodeId = data.nodeId;
76
+ this.invocationState = data.invocationState;
71
77
  }
72
78
  toJSON() {
73
79
  return { type: this.type, nodeId: this.nodeId };
@@ -81,12 +87,14 @@ export class AfterNodeCallEvent extends HookableEvent {
81
87
  orchestrator;
82
88
  state;
83
89
  nodeId;
90
+ invocationState;
84
91
  error;
85
92
  constructor(data) {
86
93
  super();
87
94
  this.orchestrator = data.orchestrator;
88
95
  this.state = data.state;
89
96
  this.nodeId = data.nodeId;
97
+ this.invocationState = data.invocationState;
90
98
  if (data.error !== undefined) {
91
99
  this.error = data.error;
92
100
  }
@@ -113,12 +121,14 @@ export class NodeStreamUpdateEvent extends HookableEvent {
113
121
  nodeType;
114
122
  state;
115
123
  inner;
124
+ invocationState;
116
125
  constructor(data) {
117
126
  super();
118
127
  this.nodeId = data.nodeId;
119
128
  this.nodeType = data.nodeType;
120
129
  this.state = data.state;
121
130
  this.inner = data.inner;
131
+ this.invocationState = data.invocationState;
122
132
  }
123
133
  toJSON() {
124
134
  return { type: this.type, nodeId: this.nodeId, nodeType: this.nodeType, inner: this.inner };
@@ -134,12 +144,14 @@ export class NodeResultEvent extends HookableEvent {
134
144
  nodeType;
135
145
  state;
136
146
  result;
147
+ invocationState;
137
148
  constructor(data) {
138
149
  super();
139
150
  this.nodeId = data.nodeId;
140
151
  this.nodeType = data.nodeType;
141
152
  this.state = data.state;
142
153
  this.result = data.result;
154
+ this.invocationState = data.invocationState;
143
155
  }
144
156
  toJSON() {
145
157
  return { type: this.type, nodeId: this.nodeId, nodeType: this.nodeType, result: this.result };
@@ -153,11 +165,13 @@ export class MultiAgentHandoffEvent extends HookableEvent {
153
165
  source;
154
166
  targets;
155
167
  state;
168
+ invocationState;
156
169
  constructor(data) {
157
170
  super();
158
171
  this.source = data.source;
159
172
  this.targets = data.targets;
160
173
  this.state = data.state;
174
+ this.invocationState = data.invocationState;
161
175
  }
162
176
  toJSON() {
163
177
  return { type: this.type, source: this.source, targets: this.targets };
@@ -171,11 +185,13 @@ export class NodeCancelEvent extends HookableEvent {
171
185
  nodeId;
172
186
  state;
173
187
  message;
188
+ invocationState;
174
189
  constructor(data) {
175
190
  super();
176
191
  this.nodeId = data.nodeId;
177
192
  this.state = data.state;
178
193
  this.message = data.message;
194
+ this.invocationState = data.invocationState;
179
195
  }
180
196
  toJSON() {
181
197
  return { type: this.type, nodeId: this.nodeId, message: this.message };
@@ -188,9 +204,11 @@ export class NodeCancelEvent extends HookableEvent {
188
204
  export class MultiAgentResultEvent extends HookableEvent {
189
205
  type = 'multiAgentResultEvent';
190
206
  result;
207
+ invocationState;
191
208
  constructor(data) {
192
209
  super();
193
210
  this.result = data.result;
211
+ this.invocationState = data.invocationState;
194
212
  }
195
213
  toJSON() {
196
214
  return { type: this.type, result: this.result };
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/multiagent/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAM/D;;GAEG;AACH,MAAM,OAAO,0BAA2B,SAAQ,aAAa;IAClD,IAAI,GAAG,4BAAqC,CAAA;IAC5C,YAAY,CAAY;IAEjC,YAAY,IAAkC;QAC5C,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAA;IACvC,CAAC;IAED,MAAM;QACJ,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAA;IAC5B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,+BAAgC,SAAQ,aAAa;IACvD,IAAI,GAAG,iCAA0C,CAAA;IACjD,YAAY,CAAY;IACxB,KAAK,CAAiB;IAE/B,YAAY,IAA0D;QACpE,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAA;QACrC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;IACzB,CAAC;IAED,MAAM;QACJ,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAA;IAC5B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,8BAA+B,SAAQ,aAAa;IACtD,IAAI,GAAG,gCAAyC,CAAA;IAChD,YAAY,CAAY;IACxB,KAAK,CAAiB;IAE/B,YAAY,IAA0D;QACpE,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAA;QACrC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;IACzB,CAAC;IAEQ,uBAAuB;QAC9B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM;QACJ,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAA;IAC5B,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,mBAAoB,SAAQ,aAAa;IAC3C,IAAI,GAAG,qBAA8B,CAAA;IACrC,YAAY,CAAY;IACxB,KAAK,CAAiB;IACtB,MAAM,CAAQ;IAEvB;;;;OAIG;IACH,MAAM,GAAqB,KAAK,CAAA;IAEhC,YAAY,IAA0E;QACpF,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAA;QACrC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACvB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;IAC3B,CAAC;IAED,MAAM;QACJ,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAA;IACjD,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,aAAa;IAC1C,IAAI,GAAG,oBAA6B,CAAA;IACpC,YAAY,CAAY;IACxB,KAAK,CAAiB;IACtB,MAAM,CAAQ;IACd,KAAK,CAAQ;IAEtB,YAAY,IAAyF;QACnG,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAA;QACrC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACvB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QACzB,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACzB,CAAC;IACH,CAAC;IAEQ,uBAAuB;QAC9B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM;QACJ,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;SAC5E,CAAA;IACH,CAAC;CACF;AAuBD;;;;GAIG;AACH,MAAM,OAAO,qBAAsB,SAAQ,aAAa;IAC7C,IAAI,GAAG,uBAAgC,CAAA;IACvC,MAAM,CAAQ;IACd,QAAQ,CAAU;IAClB,KAAK,CAAiB;IACtB,KAAK,CAA4B;IAE1C,YAAY,IAAuG;QACjH,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACvB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;IACzB,CAAC;IAED,MAAM;QACJ,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAA;IAC7F,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,eAAgB,SAAQ,aAAa;IACvC,IAAI,GAAG,iBAA0B,CAAA;IACjC,MAAM,CAAQ;IACd,QAAQ,CAAU;IAClB,KAAK,CAAiB;IACtB,MAAM,CAAY;IAE3B,YAAY,IAAwF;QAClG,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACvB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;IAC3B,CAAC;IAED,MAAM;QACJ,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAA;IAC/F,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,sBAAuB,SAAQ,aAAa;IAC9C,IAAI,GAAG,wBAAiC,CAAA;IACxC,MAAM,CAAQ;IACd,OAAO,CAAU;IACjB,KAAK,CAAiB;IAE/B,YAAY,IAAmE;QAC7E,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC3B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;IACzB,CAAC;IAED,MAAM;QACJ,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAA;IACxE,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,aAAa;IACvC,IAAI,GAAG,iBAA0B,CAAA;IACjC,MAAM,CAAQ;IACd,KAAK,CAAiB;IACtB,OAAO,CAAQ;IAExB,YAAY,IAAiE;QAC3E,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QACzB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;IAC7B,CAAC;IAED,MAAM;QACJ,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAA;IACxE,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,qBAAsB,SAAQ,aAAa;IAC7C,IAAI,GAAG,uBAAgC,CAAA;IACvC,MAAM,CAAkB;IAEjC,YAAY,IAAkC;QAC5C,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;IAC3B,CAAC;IAED,MAAM;QACJ,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAA;IACjD,CAAC;CACF"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/multiagent/events.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { AttributeValue } from '@opentelemetry/api';
2
- import type { MultiAgentInput } from './multiagent.js';
2
+ import type { MultiAgentInput, MultiAgentInvokeOptions } from './multiagent.js';
3
3
  import { HookableEvent } from '../hooks/events.js';
4
4
  import type { HookCallback, HookableEventConstructor, HookCleanup } from '../hooks/types.js';
5
5
  import type { MultiAgentPlugin } from './plugins.js';
@@ -15,10 +15,30 @@ import { Edge } from './edge.js';
15
15
  * Runtime configuration for graph execution.
16
16
  */
17
17
  export interface GraphConfig {
18
- /** Max nodes executing in parallel. */
18
+ /** Max nodes executing in parallel. Defaults to `Infinity` (no limit). */
19
19
  maxConcurrency?: number;
20
- /** Max total steps (prevents infinite loops in cyclic graphs). */
20
+ /** Max total steps (prevents infinite loops in cyclic graphs). Defaults to `Infinity` (no limit). */
21
21
  maxSteps?: number;
22
+ /**
23
+ * Wall-clock ceiling for the entire graph invocation, in milliseconds. Defaults to `Infinity`
24
+ * (no limit).
25
+ *
26
+ * Does not propagate into nested orchestrators wrapped via `MultiAgentNode` — a nested
27
+ * `Swarm`/`Graph` runs to completion under its own timeout config; the parent graph's
28
+ * timeout only fires once the nested node returns.
29
+ */
30
+ timeout?: number;
31
+ /**
32
+ * Fallback per-node wall-clock ceiling in milliseconds. Applied to any `AgentNode` that
33
+ * doesn't set its own `timeout`. Defaults to `Infinity` (no limit).
34
+ *
35
+ * Does not apply to `MultiAgentNode`. Set `timeout`/`nodeTimeout` on the nested
36
+ * orchestrator to bound it.
37
+ *
38
+ * Enforced via `AbortSignal` — cancellation is cooperative, so a tool that neither polls
39
+ * its cancel signal nor forwards it to a cancellable API can run past this deadline.
40
+ */
41
+ nodeTimeout?: number;
22
42
  }
23
43
  /**
24
44
  * Options for creating a Graph instance.
@@ -94,9 +114,10 @@ export declare class Graph implements MultiAgent {
94
114
  * Invoke graph and return final result (consumes stream).
95
115
  *
96
116
  * @param input - The input to pass to entry point nodes
117
+ * @param options - Optional per-invocation options (e.g., {@link InvocationState})
97
118
  * @returns Promise resolving to the final MultiAgentResult
98
119
  */
99
- invoke(input: MultiAgentInput): Promise<MultiAgentResult>;
120
+ invoke(input: MultiAgentInput, options?: MultiAgentInvokeOptions): Promise<MultiAgentResult>;
100
121
  /**
101
122
  * Register a hook callback for a specific graph event type.
102
123
  *
@@ -110,9 +131,10 @@ export declare class Graph implements MultiAgent {
110
131
  * Invokes hook callbacks for each event before yielding.
111
132
  *
112
133
  * @param input - The input to pass to entry nodes
134
+ * @param options - Optional per-invocation options (e.g., {@link InvocationState})
113
135
  * @returns Async generator yielding streaming events and returning a MultiAgentResult
114
136
  */
115
- stream(input: MultiAgentInput): AsyncGenerator<MultiAgentStreamEvent, MultiAgentResult, undefined>;
137
+ stream(input: MultiAgentInput, options?: MultiAgentInvokeOptions): AsyncGenerator<MultiAgentStreamEvent, MultiAgentResult, undefined>;
116
138
  private _stream;
117
139
  /**
118
140
  * Executes a single node, pushing streaming events to the shared queue in real-time.
@@ -1 +1 @@
1
- {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../../src/multiagent/graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../../src/multiagent/graph.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { TextBlock, contentBlockFromData } from '../types/messages.js';
2
2
  import { logger } from '../logging/logger.js';
3
+ import { warnOnce } from '../logging/warn-once.js';
3
4
  import { HookableEvent } from '../hooks/events.js';
4
5
  import { HookRegistryImplementation } from '../hooks/registry.js';
5
6
  import { MultiAgentPluginRegistry } from './plugins.js';
@@ -62,8 +63,13 @@ export class Graph {
62
63
  this.config = {
63
64
  maxConcurrency: config.maxConcurrency ?? Infinity,
64
65
  maxSteps: config.maxSteps ?? Infinity,
66
+ timeout: config.timeout ?? Infinity,
67
+ nodeTimeout: config.nodeTimeout ?? Infinity,
65
68
  };
66
69
  this._validateConfig();
70
+ if (this.config.maxSteps === Infinity && this.config.timeout === Infinity) {
71
+ warnOnce(logger, 'graph has no maxSteps or timeout set; execution is unbounded');
72
+ }
67
73
  this.nodes = this._resolveNodes(nodes);
68
74
  this.edges = this._resolveEdges(edges);
69
75
  this._sources = this._resolveSources(sources);
@@ -95,10 +101,11 @@ export class Graph {
95
101
  * Invoke graph and return final result (consumes stream).
96
102
  *
97
103
  * @param input - The input to pass to entry point nodes
104
+ * @param options - Optional per-invocation options (e.g., {@link InvocationState})
98
105
  * @returns Promise resolving to the final MultiAgentResult
99
106
  */
100
- async invoke(input) {
101
- const gen = this.stream(input);
107
+ async invoke(input, options) {
108
+ const gen = this.stream(input, options);
102
109
  let next = await gen.next();
103
110
  while (!next.done) {
104
111
  next = await gen.next();
@@ -120,11 +127,15 @@ export class Graph {
120
127
  * Invokes hook callbacks for each event before yielding.
121
128
  *
122
129
  * @param input - The input to pass to entry nodes
130
+ * @param options - Optional per-invocation options (e.g., {@link InvocationState})
123
131
  * @returns Async generator yielding streaming events and returning a MultiAgentResult
124
132
  */
125
- async *stream(input) {
133
+ async *stream(input, options) {
126
134
  await this.initialize();
127
- const gen = this._stream(input);
135
+ // Resolve invocationState once; the same object is threaded to every node's
136
+ // child agent so mutations in one node are visible in the next.
137
+ const invocationState = options?.invocationState ?? {};
138
+ const gen = this._stream(input, invocationState);
128
139
  try {
129
140
  let next = await gen.next();
130
141
  while (!next.done) {
@@ -140,7 +151,7 @@ export class Graph {
140
151
  await gen.return(undefined);
141
152
  }
142
153
  }
143
- async *_stream(input) {
154
+ async *_stream(input, invocationState) {
144
155
  const state = new MultiAgentState({ nodeIds: [...this.nodes.keys()] });
145
156
  const queue = new Queue();
146
157
  const streams = new Map();
@@ -150,18 +161,26 @@ export class Graph {
150
161
  input,
151
162
  });
152
163
  // SessionManager (or plugins) may restore state.results here via the hook
153
- yield new BeforeMultiAgentInvocationEvent({ orchestrator: this, state });
164
+ yield new BeforeMultiAgentInvocationEvent({ orchestrator: this, state, invocationState });
154
165
  // Resume: if state was restored, find nodes that are ready but haven't completed otherwise start from source nodes
155
166
  const targets = (await this._findResumeTargets(state)) ?? [...this._sources];
167
+ // Execution timeout: when fired, cancels all in-flight node invocations via their
168
+ // composed cancel signal. In-flight nodes return `stopReason: 'cancelled'`; the queue
169
+ // drains and the outer loop throws below when it sees the signal aborted.
170
+ const execController = Number.isFinite(this.config.timeout) ? new AbortController() : undefined;
171
+ const execTimeoutHandle = execController ? setTimeout(() => execController.abort(), this.config.timeout) : undefined;
156
172
  let caughtError;
157
173
  let result;
158
174
  try {
159
175
  while (targets.length > 0 || streams.size > 0) {
176
+ if (execController?.signal.aborted) {
177
+ throw new Error(`timeout=<${this.config.timeout}>, graph_id=<${this.id}> | graph exceeded wall-clock budget`);
178
+ }
160
179
  while (targets.length > 0 && streams.size < this.config.maxConcurrency) {
161
180
  const node = targets.shift();
162
181
  this._checkSteps(state);
163
182
  state.steps++;
164
- streams.set(node.id, this._streamNode(node, input, state, queue, multiAgentSpan));
183
+ streams.set(node.id, this._streamNode(node, input, state, queue, multiAgentSpan, invocationState, execController?.signal));
165
184
  }
166
185
  await queue.wait();
167
186
  while (queue.size > 0) {
@@ -186,6 +205,7 @@ export class Graph {
186
205
  source: node.id,
187
206
  targets: ready.map((n) => n.id),
188
207
  state,
208
+ invocationState,
189
209
  });
190
210
  targets.push(...ready);
191
211
  }
@@ -202,6 +222,8 @@ export class Graph {
202
222
  throw caughtError;
203
223
  }
204
224
  finally {
225
+ if (execTimeoutHandle !== undefined)
226
+ clearTimeout(execTimeoutHandle);
205
227
  queue.dispose();
206
228
  await Promise.allSettled(streams.values());
207
229
  this._tracer.endMultiAgentSpan(multiAgentSpan, {
@@ -209,18 +231,18 @@ export class Graph {
209
231
  ...(result && { usage: result.usage }),
210
232
  ...(caughtError && { error: caughtError }),
211
233
  });
212
- yield new AfterMultiAgentInvocationEvent({ orchestrator: this, state });
234
+ yield new AfterMultiAgentInvocationEvent({ orchestrator: this, state, invocationState });
213
235
  }
214
- yield new MultiAgentResultEvent({ result });
236
+ yield new MultiAgentResultEvent({ result, invocationState });
215
237
  return result;
216
238
  }
217
239
  /**
218
240
  * Executes a single node, pushing streaming events to the shared queue in real-time.
219
241
  */
220
- async _streamNode(node, input, state, queue, multiAgentSpan) {
242
+ async _streamNode(node, input, state, queue, multiAgentSpan, invocationState, executionSignal) {
221
243
  const nodeState = state.node(node.id);
222
244
  const nodeSpan = this._tracer.withSpanContext(multiAgentSpan, () => this._tracer.startNodeSpan({ nodeId: node.id, nodeType: node.type }));
223
- const beforeEvent = new BeforeNodeCallEvent({ orchestrator: this, state, nodeId: node.id });
245
+ const beforeEvent = new BeforeNodeCallEvent({ orchestrator: this, state, nodeId: node.id, invocationState });
224
246
  await queue.send({ type: 'event', node, event: beforeEvent });
225
247
  if (beforeEvent.cancel) {
226
248
  const message = typeof beforeEvent.cancel === 'string' ? beforeEvent.cancel : 'node cancelled by hook';
@@ -230,32 +252,45 @@ export class Graph {
230
252
  await queue.send({
231
253
  type: 'event',
232
254
  node,
233
- event: new NodeCancelEvent({ nodeId: node.id, state, message }),
255
+ event: new NodeCancelEvent({ nodeId: node.id, state, message, invocationState }),
234
256
  });
235
257
  await queue.send({
236
258
  type: 'event',
237
259
  node,
238
- event: new AfterNodeCallEvent({ orchestrator: this, state, nodeId: node.id }),
260
+ event: new AfterNodeCallEvent({ orchestrator: this, state, nodeId: node.id, invocationState }),
239
261
  });
240
262
  this._tracer.endNodeSpan(nodeSpan, { status: Status.CANCELLED, duration: 0 });
241
263
  queue.push({ type: 'result', node, result });
242
264
  return;
243
265
  }
266
+ // Per-node timeout applies only to AgentNode. MultiAgentNode wraps a nested Swarm/Graph
267
+ // that has its own timeout config; cancelSignal isn't yet plumbed into nested orchestrators
268
+ // so bounding belongs on the child.
269
+ const nodeTimeout = node instanceof AgentNode ? (node.timeout ?? this.config.nodeTimeout) : Infinity;
270
+ const nodeTimeoutController = Number.isFinite(nodeTimeout) ? new AbortController() : undefined;
271
+ const nodeTimeoutHandle = nodeTimeoutController
272
+ ? setTimeout(() => nodeTimeoutController.abort(), nodeTimeout)
273
+ : undefined;
274
+ const signals = [executionSignal, nodeTimeoutController?.signal].filter((s) => s !== undefined);
275
+ const cancelSignal = signals.length > 0 ? AbortSignal.any(signals) : undefined;
244
276
  try {
245
277
  const nodeInput = this._resolveNodeInput(node, input, state);
246
- const gen = this._tracer.withSpanContext(nodeSpan, () => node.stream(nodeInput, state));
278
+ const gen = this._tracer.withSpanContext(nodeSpan, () => node.stream(nodeInput, state, { invocationState, ...(cancelSignal && { cancelSignal }) }));
247
279
  let next = await this._tracer.withSpanContext(nodeSpan, () => gen.next());
248
280
  while (!next.done) {
249
281
  await queue.send({ type: 'event', node, event: next.value });
250
282
  next = await this._tracer.withSpanContext(nodeSpan, () => gen.next());
251
283
  }
284
+ if (nodeTimeoutController?.signal.aborted) {
285
+ throw new Error(`node_timeout=<${nodeTimeout}>, node_id=<${node.id}>, graph_id=<${this.id}> | node exceeded wall-clock budget`);
286
+ }
252
287
  const result = next.value;
253
288
  this._tracer.endNodeSpan(nodeSpan, { status: result.status, duration: result.duration, usage: result.usage });
254
289
  queue.push({ type: 'result', node, result });
255
290
  await queue.send({
256
291
  type: 'event',
257
292
  node,
258
- event: new AfterNodeCallEvent({ orchestrator: this, state, nodeId: node.id }),
293
+ event: new AfterNodeCallEvent({ orchestrator: this, state, nodeId: node.id, invocationState }),
259
294
  });
260
295
  }
261
296
  catch (error) {
@@ -268,6 +303,7 @@ export class Graph {
268
303
  orchestrator: this,
269
304
  state,
270
305
  nodeId: node.id,
306
+ invocationState,
271
307
  error: nodeError,
272
308
  }),
273
309
  });
@@ -277,6 +313,10 @@ export class Graph {
277
313
  error: nodeError,
278
314
  });
279
315
  }
316
+ finally {
317
+ if (nodeTimeoutHandle !== undefined)
318
+ clearTimeout(nodeTimeoutHandle);
319
+ }
280
320
  }
281
321
  _validateConfig() {
282
322
  if (this.config.maxConcurrency < 1) {
@@ -285,6 +325,12 @@ export class Graph {
285
325
  if (this.config.maxSteps < 1) {
286
326
  throw new Error(`max_steps=<${this.config.maxSteps}> | must be at least 1`);
287
327
  }
328
+ if (this.config.timeout < 1) {
329
+ throw new Error(`timeout=<${this.config.timeout}> | must be at least 1`);
330
+ }
331
+ if (this.config.nodeTimeout < 1) {
332
+ throw new Error(`node_timeout=<${this.config.nodeTimeout}> | must be at least 1`);
333
+ }
288
334
  }
289
335
  _validateSources() {
290
336
  if (this._sources.length === 0) {