@strands-agents/sdk 0.4.0 → 0.6.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 (306) hide show
  1. package/dist/src/__fixtures__/agent-helpers.d.ts +10 -1
  2. package/dist/src/__fixtures__/agent-helpers.d.ts.map +1 -1
  3. package/dist/src/__fixtures__/agent-helpers.js +13 -2
  4. package/dist/src/__fixtures__/agent-helpers.js.map +1 -1
  5. package/dist/src/__fixtures__/metrics-helpers.d.ts +25 -0
  6. package/dist/src/__fixtures__/metrics-helpers.d.ts.map +1 -0
  7. package/dist/src/__fixtures__/metrics-helpers.js +34 -0
  8. package/dist/src/__fixtures__/metrics-helpers.js.map +1 -0
  9. package/dist/src/__fixtures__/mock-message-model.d.ts.map +1 -1
  10. package/dist/src/__fixtures__/mock-message-model.js +12 -0
  11. package/dist/src/__fixtures__/mock-message-model.js.map +1 -1
  12. package/dist/src/__fixtures__/mock-span.d.ts +78 -0
  13. package/dist/src/__fixtures__/mock-span.d.ts.map +1 -0
  14. package/dist/src/__fixtures__/mock-span.js +93 -0
  15. package/dist/src/__fixtures__/mock-span.js.map +1 -0
  16. package/dist/src/__fixtures__/mock-storage-provider.d.ts +5 -0
  17. package/dist/src/__fixtures__/mock-storage-provider.d.ts.map +1 -1
  18. package/dist/src/__fixtures__/mock-storage-provider.js +23 -6
  19. package/dist/src/__fixtures__/mock-storage-provider.js.map +1 -1
  20. package/dist/src/__fixtures__/slim-types.d.ts +2 -1
  21. package/dist/src/__fixtures__/slim-types.d.ts.map +1 -1
  22. package/dist/src/__fixtures__/tool-helpers.d.ts +2 -2
  23. package/dist/src/__fixtures__/tool-helpers.d.ts.map +1 -1
  24. package/dist/src/__fixtures__/tool-helpers.js +4 -4
  25. package/dist/src/__fixtures__/tool-helpers.js.map +1 -1
  26. package/dist/src/__tests__/app-state.test.d.ts +2 -0
  27. package/dist/src/__tests__/app-state.test.d.ts.map +1 -0
  28. package/dist/src/{agent/__tests__/state.test.js → __tests__/app-state.test.js} +46 -46
  29. package/dist/src/__tests__/app-state.test.js.map +1 -0
  30. package/dist/src/__tests__/mcp.test.js +129 -18
  31. package/dist/src/__tests__/mcp.test.js.map +1 -1
  32. package/dist/src/agent/__tests__/agent.test.js +119 -11
  33. package/dist/src/agent/__tests__/agent.test.js.map +1 -1
  34. package/dist/src/agent/__tests__/agent.tracer.test.d.ts +2 -0
  35. package/dist/src/agent/__tests__/agent.tracer.test.d.ts.map +1 -0
  36. package/dist/src/agent/__tests__/agent.tracer.test.js +470 -0
  37. package/dist/src/agent/__tests__/agent.tracer.test.js.map +1 -0
  38. package/dist/src/agent/agent.d.ts +79 -9
  39. package/dist/src/agent/agent.d.ts.map +1 -1
  40. package/dist/src/agent/agent.js +253 -68
  41. package/dist/src/agent/agent.js.map +1 -1
  42. package/dist/src/{agent/state.d.ts → app-state.d.ts} +7 -7
  43. package/dist/src/app-state.d.ts.map +1 -0
  44. package/dist/src/{agent/state.js → app-state.js} +6 -6
  45. package/dist/src/app-state.js.map +1 -0
  46. package/dist/src/conversation-manager/sliding-window-conversation-manager.d.ts +1 -1
  47. package/dist/src/conversation-manager/sliding-window-conversation-manager.js +1 -1
  48. package/dist/src/errors.d.ts +6 -0
  49. package/dist/src/errors.d.ts.map +1 -1
  50. package/dist/src/errors.js +9 -0
  51. package/dist/src/errors.js.map +1 -1
  52. package/dist/src/hooks/__tests__/events.test.js +2 -0
  53. package/dist/src/hooks/__tests__/events.test.js.map +1 -1
  54. package/dist/src/hooks/events.d.ts +16 -0
  55. package/dist/src/hooks/events.d.ts.map +1 -1
  56. package/dist/src/hooks/events.js.map +1 -1
  57. package/dist/src/hooks/index.d.ts +1 -1
  58. package/dist/src/hooks/index.d.ts.map +1 -1
  59. package/dist/src/index.d.ts +23 -7
  60. package/dist/src/index.d.ts.map +1 -1
  61. package/dist/src/index.js +19 -2
  62. package/dist/src/index.js.map +1 -1
  63. package/dist/src/mcp.d.ts +41 -0
  64. package/dist/src/mcp.d.ts.map +1 -1
  65. package/dist/src/mcp.js +60 -6
  66. package/dist/src/mcp.js.map +1 -1
  67. package/dist/src/models/__tests__/bedrock.test.js +688 -0
  68. package/dist/src/models/__tests__/bedrock.test.js.map +1 -1
  69. package/dist/src/models/__tests__/model.test.js +113 -0
  70. package/dist/src/models/__tests__/model.test.js.map +1 -1
  71. package/dist/src/models/__tests__/streaming.test.d.ts +2 -0
  72. package/dist/src/models/__tests__/streaming.test.d.ts.map +1 -0
  73. package/dist/src/models/__tests__/streaming.test.js +50 -0
  74. package/dist/src/models/__tests__/streaming.test.js.map +1 -0
  75. package/dist/src/models/bedrock.d.ts +80 -1
  76. package/dist/src/models/bedrock.d.ts.map +1 -1
  77. package/dist/src/models/bedrock.js +214 -5
  78. package/dist/src/models/bedrock.js.map +1 -1
  79. package/dist/src/models/model.d.ts +10 -0
  80. package/dist/src/models/model.d.ts.map +1 -1
  81. package/dist/src/models/model.js +58 -2
  82. package/dist/src/models/model.js.map +1 -1
  83. package/dist/src/models/streaming.d.ts +84 -3
  84. package/dist/src/models/streaming.d.ts.map +1 -1
  85. package/dist/src/models/streaming.js +26 -0
  86. package/dist/src/models/streaming.js.map +1 -1
  87. package/dist/src/multiagent/__tests__/events.test.d.ts +2 -0
  88. package/dist/src/multiagent/__tests__/events.test.d.ts.map +1 -0
  89. package/dist/src/multiagent/__tests__/events.test.js +205 -0
  90. package/dist/src/multiagent/__tests__/events.test.js.map +1 -0
  91. package/dist/src/multiagent/__tests__/graph.test.d.ts +2 -0
  92. package/dist/src/multiagent/__tests__/graph.test.d.ts.map +1 -0
  93. package/dist/src/multiagent/__tests__/graph.test.js +438 -0
  94. package/dist/src/multiagent/__tests__/graph.test.js.map +1 -0
  95. package/dist/src/multiagent/__tests__/nodes.test.js +105 -9
  96. package/dist/src/multiagent/__tests__/nodes.test.js.map +1 -1
  97. package/dist/src/multiagent/__tests__/queue.test.d.ts +2 -0
  98. package/dist/src/multiagent/__tests__/queue.test.d.ts.map +1 -0
  99. package/dist/src/multiagent/__tests__/queue.test.js +118 -0
  100. package/dist/src/multiagent/__tests__/queue.test.js.map +1 -0
  101. package/dist/src/multiagent/__tests__/swarm.test.d.ts +2 -0
  102. package/dist/src/multiagent/__tests__/swarm.test.d.ts.map +1 -0
  103. package/dist/src/multiagent/__tests__/swarm.test.js +241 -0
  104. package/dist/src/multiagent/__tests__/swarm.test.js.map +1 -0
  105. package/dist/src/multiagent/base.d.ts +25 -0
  106. package/dist/src/multiagent/base.d.ts.map +1 -0
  107. package/dist/src/multiagent/base.js +2 -0
  108. package/dist/src/multiagent/base.js.map +1 -0
  109. package/dist/src/multiagent/edge.d.ts +36 -0
  110. package/dist/src/multiagent/edge.d.ts.map +1 -0
  111. package/dist/src/multiagent/edge.js +15 -0
  112. package/dist/src/multiagent/edge.js.map +1 -0
  113. package/dist/src/multiagent/events.d.ts +129 -4
  114. package/dist/src/multiagent/events.d.ts.map +1 -1
  115. package/dist/src/multiagent/events.js +140 -2
  116. package/dist/src/multiagent/events.js.map +1 -1
  117. package/dist/src/multiagent/graph.d.ts +125 -0
  118. package/dist/src/multiagent/graph.d.ts.map +1 -0
  119. package/dist/src/multiagent/graph.js +394 -0
  120. package/dist/src/multiagent/graph.js.map +1 -0
  121. package/dist/src/multiagent/index.d.ts +12 -6
  122. package/dist/src/multiagent/index.d.ts.map +1 -1
  123. package/dist/src/multiagent/index.js +6 -3
  124. package/dist/src/multiagent/index.js.map +1 -1
  125. package/dist/src/multiagent/nodes.d.ts +66 -16
  126. package/dist/src/multiagent/nodes.d.ts.map +1 -1
  127. package/dist/src/multiagent/nodes.js +82 -24
  128. package/dist/src/multiagent/nodes.js.map +1 -1
  129. package/dist/src/multiagent/queue.d.ts +73 -0
  130. package/dist/src/multiagent/queue.d.ts.map +1 -0
  131. package/dist/src/multiagent/queue.js +72 -0
  132. package/dist/src/multiagent/queue.js.map +1 -0
  133. package/dist/src/multiagent/state.d.ts +79 -10
  134. package/dist/src/multiagent/state.d.ts.map +1 -1
  135. package/dist/src/multiagent/state.js +101 -9
  136. package/dist/src/multiagent/state.js.map +1 -1
  137. package/dist/src/multiagent/swarm.d.ts +102 -0
  138. package/dist/src/multiagent/swarm.d.ts.map +1 -0
  139. package/dist/src/multiagent/swarm.js +238 -0
  140. package/dist/src/multiagent/swarm.js.map +1 -0
  141. package/dist/src/registry/__tests__/tool-registry.test.d.ts +2 -0
  142. package/dist/src/registry/__tests__/tool-registry.test.d.ts.map +1 -0
  143. package/dist/src/registry/__tests__/tool-registry.test.js +124 -0
  144. package/dist/src/registry/__tests__/tool-registry.test.js.map +1 -0
  145. package/dist/src/registry/tool-registry.d.ts +32 -20
  146. package/dist/src/registry/tool-registry.d.ts.map +1 -1
  147. package/dist/src/registry/tool-registry.js +60 -158
  148. package/dist/src/registry/tool-registry.js.map +1 -1
  149. package/dist/src/session/__tests__/file-storage.test.node.js +75 -15
  150. package/dist/src/session/__tests__/file-storage.test.node.js.map +1 -1
  151. package/dist/src/session/__tests__/s3-storage.test.d.ts +2 -0
  152. package/dist/src/session/__tests__/s3-storage.test.d.ts.map +1 -0
  153. package/dist/src/session/__tests__/{s3-storage.test.node.js → s3-storage.test.js} +161 -75
  154. package/dist/src/session/__tests__/s3-storage.test.js.map +1 -0
  155. package/dist/src/session/__tests__/session-manager.test.d.ts +2 -0
  156. package/dist/src/session/__tests__/session-manager.test.d.ts.map +1 -0
  157. package/dist/src/session/__tests__/session-manager.test.js +461 -0
  158. package/dist/src/session/__tests__/session-manager.test.js.map +1 -0
  159. package/dist/src/session/__tests__/validation.test.js +28 -1
  160. package/dist/src/session/__tests__/validation.test.js.map +1 -1
  161. package/dist/src/session/file-storage.d.ts +53 -27
  162. package/dist/src/session/file-storage.d.ts.map +1 -1
  163. package/dist/src/session/file-storage.js +103 -52
  164. package/dist/src/session/file-storage.js.map +1 -1
  165. package/dist/src/session/index.d.ts +6 -13
  166. package/dist/src/session/index.d.ts.map +1 -1
  167. package/dist/src/session/index.js +4 -12
  168. package/dist/src/session/index.js.map +1 -1
  169. package/dist/src/session/s3-storage.d.ts +49 -20
  170. package/dist/src/session/s3-storage.d.ts.map +1 -1
  171. package/dist/src/session/s3-storage.js +120 -35
  172. package/dist/src/session/s3-storage.js.map +1 -1
  173. package/dist/src/session/session-manager.d.ts +83 -0
  174. package/dist/src/session/session-manager.d.ts.map +1 -0
  175. package/dist/src/session/session-manager.js +122 -0
  176. package/dist/src/session/session-manager.js.map +1 -0
  177. package/dist/src/session/storage.d.ts +19 -11
  178. package/dist/src/session/storage.d.ts.map +1 -1
  179. package/dist/src/session/types.d.ts +6 -18
  180. package/dist/src/session/types.d.ts.map +1 -1
  181. package/dist/src/session/validation.d.ts +7 -0
  182. package/dist/src/session/validation.d.ts.map +1 -1
  183. package/dist/src/session/validation.js +12 -0
  184. package/dist/src/session/validation.js.map +1 -1
  185. package/dist/src/structured-output/__tests__/context.test.js +13 -13
  186. package/dist/src/structured-output/__tests__/context.test.js.map +1 -1
  187. package/dist/src/structured-output/context.js +1 -1
  188. package/dist/src/structured-output/context.js.map +1 -1
  189. package/dist/src/telemetry/__tests__/config.test.d.ts +2 -0
  190. package/dist/src/telemetry/__tests__/config.test.d.ts.map +1 -0
  191. package/dist/src/telemetry/__tests__/config.test.js +40 -0
  192. package/dist/src/telemetry/__tests__/config.test.js.map +1 -0
  193. package/dist/src/telemetry/__tests__/config.test.node.d.ts +2 -0
  194. package/dist/src/telemetry/__tests__/config.test.node.d.ts.map +1 -0
  195. package/dist/src/telemetry/__tests__/config.test.node.js +103 -0
  196. package/dist/src/telemetry/__tests__/config.test.node.js.map +1 -0
  197. package/dist/src/telemetry/__tests__/json.test.d.ts +2 -0
  198. package/dist/src/telemetry/__tests__/json.test.d.ts.map +1 -0
  199. package/dist/src/telemetry/__tests__/json.test.js +89 -0
  200. package/dist/src/telemetry/__tests__/json.test.js.map +1 -0
  201. package/dist/src/telemetry/__tests__/meter.test.d.ts +2 -0
  202. package/dist/src/telemetry/__tests__/meter.test.d.ts.map +1 -0
  203. package/dist/src/telemetry/__tests__/meter.test.js +457 -0
  204. package/dist/src/telemetry/__tests__/meter.test.js.map +1 -0
  205. package/dist/src/telemetry/__tests__/tracer.test.node.d.ts +2 -0
  206. package/dist/src/telemetry/__tests__/tracer.test.node.d.ts.map +1 -0
  207. package/dist/src/telemetry/__tests__/tracer.test.node.js +611 -0
  208. package/dist/src/telemetry/__tests__/tracer.test.node.js.map +1 -0
  209. package/dist/src/telemetry/config.d.ts +82 -0
  210. package/dist/src/telemetry/config.d.ts.map +1 -0
  211. package/dist/src/telemetry/config.js +133 -0
  212. package/dist/src/telemetry/config.js.map +1 -0
  213. package/dist/src/telemetry/index.d.ts +34 -0
  214. package/dist/src/telemetry/index.d.ts.map +1 -0
  215. package/dist/src/telemetry/index.js +33 -0
  216. package/dist/src/telemetry/index.js.map +1 -0
  217. package/dist/src/telemetry/json.d.ts +11 -0
  218. package/dist/src/telemetry/json.d.ts.map +1 -0
  219. package/dist/src/telemetry/json.js +25 -0
  220. package/dist/src/telemetry/json.js.map +1 -0
  221. package/dist/src/telemetry/meter.d.ts +277 -0
  222. package/dist/src/telemetry/meter.d.ts.map +1 -0
  223. package/dist/src/telemetry/meter.js +292 -0
  224. package/dist/src/telemetry/meter.js.map +1 -0
  225. package/dist/src/telemetry/tracer.d.ts +219 -0
  226. package/dist/src/telemetry/tracer.d.ts.map +1 -0
  227. package/dist/src/telemetry/tracer.js +610 -0
  228. package/dist/src/telemetry/tracer.js.map +1 -0
  229. package/dist/src/telemetry/types.d.ts +101 -0
  230. package/dist/src/telemetry/types.d.ts.map +1 -0
  231. package/dist/src/telemetry/types.js +5 -0
  232. package/dist/src/{multiagent → telemetry}/types.js.map +1 -1
  233. package/dist/src/tools/__tests__/tool-factory.test.d.ts +2 -0
  234. package/dist/src/tools/__tests__/tool-factory.test.d.ts.map +1 -0
  235. package/dist/src/tools/__tests__/tool-factory.test.js +98 -0
  236. package/dist/src/tools/__tests__/tool-factory.test.js.map +1 -0
  237. package/dist/src/tools/__tests__/zod-tool.test-d.js +1 -1
  238. package/dist/src/tools/__tests__/zod-tool.test-d.js.map +1 -1
  239. package/dist/src/tools/__tests__/zod-tool.test.js +3 -4
  240. package/dist/src/tools/__tests__/zod-tool.test.js.map +1 -1
  241. package/dist/src/tools/function-tool.d.ts +15 -2
  242. package/dist/src/tools/function-tool.d.ts.map +1 -1
  243. package/dist/src/tools/function-tool.js +24 -0
  244. package/dist/src/tools/function-tool.js.map +1 -1
  245. package/dist/src/tools/tool-factory.d.ts +22 -0
  246. package/dist/src/tools/tool-factory.d.ts.map +1 -0
  247. package/dist/src/tools/tool-factory.js +55 -0
  248. package/dist/src/tools/tool-factory.js.map +1 -0
  249. package/dist/src/tools/tool.d.ts +1 -1
  250. package/dist/src/tools/tool.js +1 -1
  251. package/dist/src/tools/zod-tool.d.ts +55 -52
  252. package/dist/src/tools/zod-tool.d.ts.map +1 -1
  253. package/dist/src/tools/zod-tool.js +7 -61
  254. package/dist/src/tools/zod-tool.js.map +1 -1
  255. package/dist/src/tsconfig.tsbuildinfo +1 -1
  256. package/dist/src/types/__tests__/agent.test.js +11 -0
  257. package/dist/src/types/__tests__/agent.test.js.map +1 -1
  258. package/dist/src/types/__tests__/citations.test.d.ts +2 -0
  259. package/dist/src/types/__tests__/citations.test.d.ts.map +1 -0
  260. package/dist/src/types/__tests__/citations.test.js +104 -0
  261. package/dist/src/types/__tests__/citations.test.js.map +1 -0
  262. package/dist/src/types/__tests__/messages.test.js +26 -0
  263. package/dist/src/types/__tests__/messages.test.js.map +1 -1
  264. package/dist/src/types/agent.d.ts +10 -3
  265. package/dist/src/types/agent.d.ts.map +1 -1
  266. package/dist/src/types/agent.js +9 -0
  267. package/dist/src/types/agent.js.map +1 -1
  268. package/dist/src/types/citations.d.ts +180 -0
  269. package/dist/src/types/citations.d.ts.map +1 -0
  270. package/dist/src/types/citations.js +45 -0
  271. package/dist/src/types/citations.js.map +1 -0
  272. package/dist/src/types/messages.d.ts +9 -5
  273. package/dist/src/types/messages.d.ts.map +1 -1
  274. package/dist/src/types/messages.js +5 -1
  275. package/dist/src/types/messages.js.map +1 -1
  276. package/dist/src/vended-tools/bash/__tests__/bash.test.node.js +2 -2
  277. package/dist/src/vended-tools/bash/__tests__/bash.test.node.js.map +1 -1
  278. package/dist/src/vended-tools/bash/bash.d.ts.map +1 -1
  279. package/dist/src/vended-tools/bash/bash.js +1 -2
  280. package/dist/src/vended-tools/bash/bash.js.map +1 -1
  281. package/dist/src/vended-tools/file_editor/__tests__/file-editor.test.node.js +4 -4
  282. package/dist/src/vended-tools/file_editor/__tests__/file-editor.test.node.js.map +1 -1
  283. package/dist/src/vended-tools/file_editor/file-editor.js +1 -1
  284. package/dist/src/vended-tools/file_editor/file-editor.js.map +1 -1
  285. package/dist/src/vended-tools/http_request/http-request.d.ts.map +1 -1
  286. package/dist/src/vended-tools/http_request/http-request.js +1 -2
  287. package/dist/src/vended-tools/http_request/http-request.js.map +1 -1
  288. package/dist/src/vended-tools/notebook/__tests__/notebook.test.js +2 -2
  289. package/dist/src/vended-tools/notebook/__tests__/notebook.test.js.map +1 -1
  290. package/dist/src/vended-tools/notebook/notebook.d.ts +1 -1
  291. package/package.json +25 -4
  292. package/dist/src/agent/__tests__/state.test.d.ts +0 -2
  293. package/dist/src/agent/__tests__/state.test.d.ts.map +0 -1
  294. package/dist/src/agent/__tests__/state.test.js.map +0 -1
  295. package/dist/src/agent/state.d.ts.map +0 -1
  296. package/dist/src/agent/state.js.map +0 -1
  297. package/dist/src/multiagent/types.d.ts +0 -5
  298. package/dist/src/multiagent/types.d.ts.map +0 -1
  299. package/dist/src/multiagent/types.js +0 -2
  300. package/dist/src/registry/registry.d.ts +0 -117
  301. package/dist/src/registry/registry.d.ts.map +0 -1
  302. package/dist/src/registry/registry.js +0 -298
  303. package/dist/src/registry/registry.js.map +0 -1
  304. package/dist/src/session/__tests__/s3-storage.test.node.d.ts +0 -2
  305. package/dist/src/session/__tests__/s3-storage.test.node.d.ts.map +0 -1
  306. package/dist/src/session/__tests__/s3-storage.test.node.js.map +0 -1
@@ -1,12 +1,87 @@
1
- import { StreamEvent } from '../hooks/events.js';
1
+ import { HookableEvent } from '../hooks/events.js';
2
2
  import type { AgentStreamEvent } from '../types/agent.js';
3
- import type { NodeType } from './types.js';
3
+ import type { MultiAgentResult, MultiAgentState, NodeResult } from './state.js';
4
+ import type { MultiAgentBase } from './base.js';
5
+ import type { NodeType } from './nodes.js';
6
+ /**
7
+ * Event triggered when a multi-agent orchestrator has finished initialization.
8
+ */
9
+ export declare class MultiAgentInitializedEvent extends HookableEvent {
10
+ readonly type: "multiAgentInitializedEvent";
11
+ readonly orchestrator: MultiAgentBase;
12
+ constructor(data: {
13
+ orchestrator: MultiAgentBase;
14
+ });
15
+ }
16
+ /**
17
+ * Event triggered before orchestrator execution starts.
18
+ */
19
+ export declare class BeforeMultiAgentInvocationEvent extends HookableEvent {
20
+ readonly type: "beforeMultiAgentInvocationEvent";
21
+ readonly orchestrator: MultiAgentBase;
22
+ readonly state: MultiAgentState;
23
+ constructor(data: {
24
+ orchestrator: MultiAgentBase;
25
+ state: MultiAgentState;
26
+ });
27
+ }
28
+ /**
29
+ * Event triggered after orchestrator execution completes.
30
+ */
31
+ export declare class AfterMultiAgentInvocationEvent extends HookableEvent {
32
+ readonly type: "afterMultiAgentInvocationEvent";
33
+ readonly orchestrator: MultiAgentBase;
34
+ readonly state: MultiAgentState;
35
+ constructor(data: {
36
+ orchestrator: MultiAgentBase;
37
+ state: MultiAgentState;
38
+ });
39
+ _shouldReverseCallbacks(): boolean;
40
+ }
41
+ /**
42
+ * Event triggered before a node begins execution.
43
+ * Hook callbacks can set {@link cancel} to prevent the node from executing.
44
+ */
45
+ export declare class BeforeNodeCallEvent extends HookableEvent {
46
+ readonly type: "beforeNodeCallEvent";
47
+ readonly orchestrator: MultiAgentBase;
48
+ readonly state: MultiAgentState;
49
+ readonly nodeId: string;
50
+ /**
51
+ * Set by hook callbacks to cancel node execution.
52
+ * When set to `true`, a default cancel message is used.
53
+ * When set to a string, that string is used as the cancel message.
54
+ */
55
+ cancel: boolean | string;
56
+ constructor(data: {
57
+ orchestrator: MultiAgentBase;
58
+ state: MultiAgentState;
59
+ nodeId: string;
60
+ });
61
+ }
62
+ /**
63
+ * Event triggered after a node completes execution.
64
+ */
65
+ export declare class AfterNodeCallEvent extends HookableEvent {
66
+ readonly type: "afterNodeCallEvent";
67
+ readonly orchestrator: MultiAgentBase;
68
+ readonly state: MultiAgentState;
69
+ readonly nodeId: string;
70
+ readonly error?: Error;
71
+ constructor(data: {
72
+ orchestrator: MultiAgentBase;
73
+ state: MultiAgentState;
74
+ nodeId: string;
75
+ error?: Error;
76
+ });
77
+ _shouldReverseCallbacks(): boolean;
78
+ }
4
79
  /**
5
80
  * Wraps an inner streaming event from a node with the node's identity.
6
81
  * Emitted during node execution to propagate agent-level or nested
7
82
  * multi-agent events up to the orchestration layer.
8
83
  */
9
- export declare class NodeStreamUpdateEvent extends StreamEvent {
84
+ export declare class NodeStreamUpdateEvent extends HookableEvent {
10
85
  readonly type: "nodeStreamUpdateEvent";
11
86
  readonly nodeId: string;
12
87
  readonly nodeType: NodeType;
@@ -17,8 +92,58 @@ export declare class NodeStreamUpdateEvent extends StreamEvent {
17
92
  event: AgentStreamEvent | Exclude<MultiAgentStreamEvent, NodeStreamUpdateEvent>;
18
93
  });
19
94
  }
95
+ /**
96
+ * Event triggered when a node finishes execution.
97
+ * Wraps the {@link NodeResult} for the completed node.
98
+ */
99
+ export declare class NodeResultEvent extends HookableEvent {
100
+ readonly type: "nodeResultEvent";
101
+ readonly nodeId: string;
102
+ readonly nodeType: NodeType;
103
+ readonly result: NodeResult;
104
+ constructor(data: {
105
+ nodeId: string;
106
+ nodeType: NodeType;
107
+ result: NodeResult;
108
+ });
109
+ }
110
+ /**
111
+ * Event triggered when execution transitions between nodes.
112
+ */
113
+ export declare class MultiAgentHandoffEvent extends HookableEvent {
114
+ readonly type: "multiAgentHandoffEvent";
115
+ readonly source: string;
116
+ readonly targets: string[];
117
+ constructor(data: {
118
+ source: string;
119
+ targets: string[];
120
+ });
121
+ }
122
+ /**
123
+ * Event triggered when a node is cancelled via {@link BeforeNodeCallEvent.cancel}.
124
+ */
125
+ export declare class NodeCancelEvent extends HookableEvent {
126
+ readonly type: "nodeCancelEvent";
127
+ readonly nodeId: string;
128
+ readonly message: string;
129
+ constructor(data: {
130
+ nodeId: string;
131
+ message: string;
132
+ });
133
+ }
134
+ /**
135
+ * Event triggered as the final event in the multi-agent stream.
136
+ * Wraps the {@link MultiAgentResult} containing the aggregate outcome.
137
+ */
138
+ export declare class MultiAgentResultEvent extends HookableEvent {
139
+ readonly type: "multiAgentResultEvent";
140
+ readonly result: MultiAgentResult;
141
+ constructor(data: {
142
+ result: MultiAgentResult;
143
+ });
144
+ }
20
145
  /**
21
146
  * Union of all multi-agent streaming events.
22
147
  */
23
- export type MultiAgentStreamEvent = NodeStreamUpdateEvent;
148
+ export type MultiAgentStreamEvent = BeforeMultiAgentInvocationEvent | AfterMultiAgentInvocationEvent | BeforeNodeCallEvent | AfterNodeCallEvent | NodeStreamUpdateEvent | NodeResultEvent | NodeCancelEvent | MultiAgentHandoffEvent | MultiAgentResultEvent;
24
149
  //# sourceMappingURL=events.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/multiagent/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAE1C;;;;GAIG;AACH,qBAAa,qBAAsB,SAAQ,WAAW;IACpD,QAAQ,CAAC,IAAI,EAAG,uBAAuB,CAAS;IAChD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,qBAAqB,EAAE,qBAAqB,CAAC,CAAA;gBAE5E,IAAI,EAAE;QAChB,MAAM,EAAE,MAAM,CAAA;QACd,QAAQ,EAAE,QAAQ,CAAA;QAClB,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,qBAAqB,EAAE,qBAAqB,CAAC,CAAA;KAChF;CAMF;AAED;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,qBAAqB,CAAA"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/multiagent/events.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,94 @@
1
- import { StreamEvent } from '../hooks/events.js';
1
+ import { HookableEvent } from '../hooks/events.js';
2
+ /**
3
+ * Event triggered when a multi-agent orchestrator has finished initialization.
4
+ */
5
+ export class MultiAgentInitializedEvent extends HookableEvent {
6
+ type = 'multiAgentInitializedEvent';
7
+ orchestrator;
8
+ constructor(data) {
9
+ super();
10
+ this.orchestrator = data.orchestrator;
11
+ }
12
+ }
13
+ /**
14
+ * Event triggered before orchestrator execution starts.
15
+ */
16
+ export class BeforeMultiAgentInvocationEvent extends HookableEvent {
17
+ type = 'beforeMultiAgentInvocationEvent';
18
+ orchestrator;
19
+ state;
20
+ constructor(data) {
21
+ super();
22
+ this.orchestrator = data.orchestrator;
23
+ this.state = data.state;
24
+ }
25
+ }
26
+ /**
27
+ * Event triggered after orchestrator execution completes.
28
+ */
29
+ export class AfterMultiAgentInvocationEvent extends HookableEvent {
30
+ type = 'afterMultiAgentInvocationEvent';
31
+ orchestrator;
32
+ state;
33
+ constructor(data) {
34
+ super();
35
+ this.orchestrator = data.orchestrator;
36
+ this.state = data.state;
37
+ }
38
+ _shouldReverseCallbacks() {
39
+ return true;
40
+ }
41
+ }
42
+ /**
43
+ * Event triggered before a node begins execution.
44
+ * Hook callbacks can set {@link cancel} to prevent the node from executing.
45
+ */
46
+ export class BeforeNodeCallEvent extends HookableEvent {
47
+ type = 'beforeNodeCallEvent';
48
+ orchestrator;
49
+ state;
50
+ nodeId;
51
+ /**
52
+ * Set by hook callbacks to cancel node execution.
53
+ * When set to `true`, a default cancel message is used.
54
+ * When set to a string, that string is used as the cancel message.
55
+ */
56
+ cancel = false;
57
+ constructor(data) {
58
+ super();
59
+ this.orchestrator = data.orchestrator;
60
+ this.state = data.state;
61
+ this.nodeId = data.nodeId;
62
+ }
63
+ }
64
+ /**
65
+ * Event triggered after a node completes execution.
66
+ */
67
+ export class AfterNodeCallEvent extends HookableEvent {
68
+ type = 'afterNodeCallEvent';
69
+ orchestrator;
70
+ state;
71
+ nodeId;
72
+ error;
73
+ constructor(data) {
74
+ super();
75
+ this.orchestrator = data.orchestrator;
76
+ this.state = data.state;
77
+ this.nodeId = data.nodeId;
78
+ if (data.error !== undefined) {
79
+ this.error = data.error;
80
+ }
81
+ }
82
+ _shouldReverseCallbacks() {
83
+ return true;
84
+ }
85
+ }
2
86
  /**
3
87
  * Wraps an inner streaming event from a node with the node's identity.
4
88
  * Emitted during node execution to propagate agent-level or nested
5
89
  * multi-agent events up to the orchestration layer.
6
90
  */
7
- export class NodeStreamUpdateEvent extends StreamEvent {
91
+ export class NodeStreamUpdateEvent extends HookableEvent {
8
92
  type = 'nodeStreamUpdateEvent';
9
93
  nodeId;
10
94
  nodeType;
@@ -16,4 +100,58 @@ export class NodeStreamUpdateEvent extends StreamEvent {
16
100
  this.event = data.event;
17
101
  }
18
102
  }
103
+ /**
104
+ * Event triggered when a node finishes execution.
105
+ * Wraps the {@link NodeResult} for the completed node.
106
+ */
107
+ export class NodeResultEvent extends HookableEvent {
108
+ type = 'nodeResultEvent';
109
+ nodeId;
110
+ nodeType;
111
+ result;
112
+ constructor(data) {
113
+ super();
114
+ this.nodeId = data.nodeId;
115
+ this.nodeType = data.nodeType;
116
+ this.result = data.result;
117
+ }
118
+ }
119
+ /**
120
+ * Event triggered when execution transitions between nodes.
121
+ */
122
+ export class MultiAgentHandoffEvent extends HookableEvent {
123
+ type = 'multiAgentHandoffEvent';
124
+ source;
125
+ targets;
126
+ constructor(data) {
127
+ super();
128
+ this.source = data.source;
129
+ this.targets = data.targets;
130
+ }
131
+ }
132
+ /**
133
+ * Event triggered when a node is cancelled via {@link BeforeNodeCallEvent.cancel}.
134
+ */
135
+ export class NodeCancelEvent extends HookableEvent {
136
+ type = 'nodeCancelEvent';
137
+ nodeId;
138
+ message;
139
+ constructor(data) {
140
+ super();
141
+ this.nodeId = data.nodeId;
142
+ this.message = data.message;
143
+ }
144
+ }
145
+ /**
146
+ * Event triggered as the final event in the multi-agent stream.
147
+ * Wraps the {@link MultiAgentResult} containing the aggregate outcome.
148
+ */
149
+ export class MultiAgentResultEvent extends HookableEvent {
150
+ type = 'multiAgentResultEvent';
151
+ result;
152
+ constructor(data) {
153
+ super();
154
+ this.result = data.result;
155
+ }
156
+ }
19
157
  //# sourceMappingURL=events.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/multiagent/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAIhD;;;;GAIG;AACH,MAAM,OAAO,qBAAsB,SAAQ,WAAW;IAC3C,IAAI,GAAG,uBAAgC,CAAA;IACvC,MAAM,CAAQ;IACd,QAAQ,CAAU;IAClB,KAAK,CAA0E;IAExF,YAAY,IAIX;QACC,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;IACzB,CAAC;CACF"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/multiagent/events.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,125 @@
1
+ import type { InvokeArgs } from '../agent/agent.js';
2
+ import { HookRegistryImplementation } from '../hooks/registry.js';
3
+ import type { HookProvider } from '../hooks/types.js';
4
+ import type { NodeDefinition } from './nodes.js';
5
+ import { Node } from './nodes.js';
6
+ import { MultiAgentResult } from './state.js';
7
+ import type { MultiAgentBase } from './base.js';
8
+ import type { MultiAgentStreamEvent } from './events.js';
9
+ import type { EdgeDefinition } from './edge.js';
10
+ import { Edge } from './edge.js';
11
+ /**
12
+ * Runtime configuration for graph execution.
13
+ */
14
+ export interface GraphConfig {
15
+ /** Max nodes executing in parallel. */
16
+ maxConcurrency?: number;
17
+ /** Max total steps (prevents infinite loops in cyclic graphs). */
18
+ maxSteps?: number;
19
+ }
20
+ /**
21
+ * Options for creating a Graph instance.
22
+ */
23
+ export interface GraphOptions extends GraphConfig {
24
+ /** Unique identifier for this graph. Defaults to `'graph'`. */
25
+ id?: string;
26
+ /** Node definitions to construct the graph from. */
27
+ nodes: NodeDefinition[];
28
+ /** Edge definitions describing connections between nodes. */
29
+ edges: EdgeDefinition[];
30
+ /** Explicit source node IDs. If omitted, auto-detected from nodes with no incoming edges. */
31
+ sources?: string[];
32
+ /** Hook providers for event-driven extensibility. */
33
+ hooks?: HookProvider[];
34
+ }
35
+ /**
36
+ * Directed graph orchestration pattern.
37
+ *
38
+ * Agents execute as nodes in a dependency graph, with edges defining execution order
39
+ * and optional conditions controlling routing. Source nodes (those with no incoming edges)
40
+ * run first, and downstream nodes execute once all their dependencies complete. Parallel
41
+ * execution is supported up to a configurable concurrency limit.
42
+ *
43
+ * Key design choices vs the Python SDK:
44
+ * - Construction uses a declarative options object rather than a mutable GraphBuilder.
45
+ * Nodes and edges are passed directly to the constructor.
46
+ * - Dependency resolution uses AND semantics: a node runs only when all incoming edges
47
+ * are satisfied. Python uses OR semantics, firing a node when any single incoming
48
+ * edge from the completed batch is satisfied.
49
+ * - Nodes are launched individually as they become ready (up to maxConcurrency). Python
50
+ * executes in discrete batches, waiting for the entire batch to complete before
51
+ * scheduling the next set of nodes.
52
+ * - Agent nodes are stateless by default (snapshot/restore on each execution). Python
53
+ * accumulates agent state across executions unless `reset_on_revisit` is enabled.
54
+ * - Node failures produce a FAILED result, allowing parallel paths to continue.
55
+ * Orchestrator-level limits (maxSteps) throw exceptions. Python does the inverse:
56
+ * node failures throw exceptions (fail-fast), while limit violations return a
57
+ * FAILED result.
58
+ *
59
+ * @example
60
+ * ```typescript
61
+ * const graph = new Graph({
62
+ * nodes: [researcher, writer],
63
+ * edges: [['researcher', 'writer']],
64
+ * })
65
+ *
66
+ * const result = await graph.invoke('Explain quantum computing')
67
+ * ```
68
+ */
69
+ export declare class Graph implements MultiAgentBase {
70
+ readonly id: string;
71
+ readonly nodes: ReadonlyMap<string, Node>;
72
+ readonly edges: readonly Edge[];
73
+ readonly config: Required<GraphConfig>;
74
+ readonly hooks: HookRegistryImplementation;
75
+ private readonly _sources;
76
+ private _initialized;
77
+ constructor(options: GraphOptions);
78
+ /**
79
+ * Initialize the graph. Invokes the {@link MultiAgentInitializedEvent} callback.
80
+ * Called automatically on first invocation.
81
+ */
82
+ initialize(): Promise<void>;
83
+ /**
84
+ * Invoke graph and return final result (consumes stream).
85
+ *
86
+ * @param input - The input to pass to entry point nodes
87
+ * @returns Promise resolving to the final MultiAgentResult
88
+ */
89
+ invoke(input: InvokeArgs): Promise<MultiAgentResult>;
90
+ /**
91
+ * Stream graph execution, yielding events as nodes execute.
92
+ * Invokes hook callbacks for each event before yielding.
93
+ *
94
+ * @param input - The input to pass to entry nodes
95
+ * @returns Async generator yielding streaming events and returning a MultiAgentResult
96
+ */
97
+ stream(input: InvokeArgs): AsyncGenerator<MultiAgentStreamEvent, MultiAgentResult, undefined>;
98
+ private _stream;
99
+ /**
100
+ * Executes a single node, pushing streaming events to the shared queue in real-time.
101
+ */
102
+ private _streamNode;
103
+ private _validateConfig;
104
+ private _validateSources;
105
+ private _resolveNodes;
106
+ private _resolveEdges;
107
+ private _resolveSources;
108
+ /**
109
+ * Identifies terminus nodes and returns their combined content.
110
+ * A terminus node is where an execution path ended: completed with no
111
+ * downstream progress, or failed/cancelled.
112
+ */
113
+ private _resolveContent;
114
+ /**
115
+ * Builds the input for a node by combining the original task with dependency outputs.
116
+ */
117
+ private _resolveNodeInput;
118
+ private _checkSteps;
119
+ /**
120
+ * Finds downstream nodes that are ready to execute after a node completes.
121
+ * A target is ready when all its incoming edge sources are COMPLETED.
122
+ */
123
+ private _findReady;
124
+ }
125
+ //# sourceMappingURL=graph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../../src/multiagent/graph.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAInD,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAA6B,IAAI,EAAE,MAAM,YAAY,CAAA;AAC5D,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;AAWxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAGhC;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,uCAAuC;IACvC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,WAAW;IAC/C,+DAA+D;IAC/D,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,oDAAoD;IACpD,KAAK,EAAE,cAAc,EAAE,CAAA;IACvB,6DAA6D;IAC7D,KAAK,EAAE,cAAc,EAAE,CAAA;IACvB,6FAA6F;IAC7F,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,qDAAqD;IACrD,KAAK,CAAC,EAAE,YAAY,EAAE,CAAA;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,qBAAa,KAAM,YAAW,cAAc;IAC1C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACzC,QAAQ,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,CAAA;IAC/B,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAA;IACtC,QAAQ,CAAC,KAAK,EAAE,0BAA0B,CAAA;IAC1C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IACjC,OAAO,CAAC,YAAY,CAAS;gBAEjB,OAAO,EAAE,YAAY;IAqBjC;;;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;YAmBrF,OAAO;IAmEtB;;OAEG;YACW,WAAW;IA6DzB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,gBAAgB;IA8BxB,OAAO,CAAC,aAAa;IAsCrB,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,eAAe;IAiBvB;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAavB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,WAAW;IAMnB;;;OAGG;YACW,UAAU;CAuBzB"}