@strands-agents/sdk 0.2.2 → 0.4.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 (241) hide show
  1. package/README.md +43 -0
  2. package/dist/src/__fixtures__/mock-hook-provider.d.ts +3 -7
  3. package/dist/src/__fixtures__/mock-hook-provider.d.ts.map +1 -1
  4. package/dist/src/__fixtures__/mock-hook-provider.js +3 -9
  5. package/dist/src/__fixtures__/mock-hook-provider.js.map +1 -1
  6. package/dist/src/__fixtures__/mock-message-model.d.ts +8 -2
  7. package/dist/src/__fixtures__/mock-message-model.d.ts.map +1 -1
  8. package/dist/src/__fixtures__/mock-message-model.js +1 -0
  9. package/dist/src/__fixtures__/mock-message-model.js.map +1 -1
  10. package/dist/src/__fixtures__/mock-storage-provider.d.ts +37 -0
  11. package/dist/src/__fixtures__/mock-storage-provider.d.ts.map +1 -0
  12. package/dist/src/__fixtures__/mock-storage-provider.js +105 -0
  13. package/dist/src/__fixtures__/mock-storage-provider.js.map +1 -0
  14. package/dist/src/__fixtures__/slim-types.d.ts +50 -0
  15. package/dist/src/__fixtures__/slim-types.d.ts.map +1 -0
  16. package/dist/src/__fixtures__/slim-types.js +6 -0
  17. package/dist/src/__fixtures__/slim-types.js.map +1 -0
  18. package/dist/src/__fixtures__/tool-helpers.d.ts +8 -3
  19. package/dist/src/__fixtures__/tool-helpers.d.ts.map +1 -1
  20. package/dist/src/__fixtures__/tool-helpers.js +1 -1
  21. package/dist/src/__fixtures__/tool-helpers.js.map +1 -1
  22. package/dist/src/agent/__tests__/agent.hook.test.js +18 -18
  23. package/dist/src/agent/__tests__/agent.hook.test.js.map +1 -1
  24. package/dist/src/agent/__tests__/agent.test.js +124 -8
  25. package/dist/src/agent/__tests__/agent.test.js.map +1 -1
  26. package/dist/src/agent/__tests__/printer.test.js +5 -9
  27. package/dist/src/agent/__tests__/printer.test.js.map +1 -1
  28. package/dist/src/agent/__tests__/snapshot.test.d.ts +2 -0
  29. package/dist/src/agent/__tests__/snapshot.test.d.ts.map +1 -0
  30. package/dist/src/agent/__tests__/snapshot.test.js +249 -0
  31. package/dist/src/agent/__tests__/snapshot.test.js.map +1 -0
  32. package/dist/src/agent/__tests__/state.test.js +19 -0
  33. package/dist/src/agent/__tests__/state.test.js.map +1 -1
  34. package/dist/src/agent/agent.d.ts +19 -4
  35. package/dist/src/agent/agent.d.ts.map +1 -1
  36. package/dist/src/agent/agent.js +104 -34
  37. package/dist/src/agent/agent.js.map +1 -1
  38. package/dist/src/agent/printer.d.ts +4 -0
  39. package/dist/src/agent/printer.d.ts.map +1 -1
  40. package/dist/src/agent/printer.js +18 -6
  41. package/dist/src/agent/printer.js.map +1 -1
  42. package/dist/src/agent/snapshot.d.ts +132 -0
  43. package/dist/src/agent/snapshot.d.ts.map +1 -0
  44. package/dist/src/agent/snapshot.js +151 -0
  45. package/dist/src/agent/snapshot.js.map +1 -0
  46. package/dist/src/agent/state.d.ts +14 -1
  47. package/dist/src/agent/state.d.ts.map +1 -1
  48. package/dist/src/agent/state.js +21 -0
  49. package/dist/src/agent/state.js.map +1 -1
  50. package/dist/src/errors.d.ts +15 -0
  51. package/dist/src/errors.d.ts.map +1 -1
  52. package/dist/src/errors.js +18 -0
  53. package/dist/src/errors.js.map +1 -1
  54. package/dist/src/hooks/__tests__/events.test.js +102 -21
  55. package/dist/src/hooks/__tests__/events.test.js.map +1 -1
  56. package/dist/src/hooks/events.d.ts +156 -22
  57. package/dist/src/hooks/events.d.ts.map +1 -1
  58. package/dist/src/hooks/events.js +158 -18
  59. package/dist/src/hooks/events.js.map +1 -1
  60. package/dist/src/hooks/index.d.ts +12 -4
  61. package/dist/src/hooks/index.d.ts.map +1 -1
  62. package/dist/src/hooks/index.js +11 -3
  63. package/dist/src/hooks/index.js.map +1 -1
  64. package/dist/src/hooks/registry.d.ts +5 -5
  65. package/dist/src/hooks/registry.d.ts.map +1 -1
  66. package/dist/src/hooks/registry.js.map +1 -1
  67. package/dist/src/hooks/types.d.ts +5 -5
  68. package/dist/src/hooks/types.d.ts.map +1 -1
  69. package/dist/src/index.d.ts +4 -2
  70. package/dist/src/index.d.ts.map +1 -1
  71. package/dist/src/index.js +4 -3
  72. package/dist/src/index.js.map +1 -1
  73. package/dist/src/models/__tests__/anthropic.test.js +31 -42
  74. package/dist/src/models/__tests__/anthropic.test.js.map +1 -1
  75. package/dist/src/models/__tests__/bedrock.test.js +70 -107
  76. package/dist/src/models/__tests__/bedrock.test.js.map +1 -1
  77. package/dist/src/models/__tests__/gemini.test.js +438 -141
  78. package/dist/src/models/__tests__/gemini.test.js.map +1 -1
  79. package/dist/src/models/__tests__/model.test.js +14 -13
  80. package/dist/src/models/__tests__/model.test.js.map +1 -1
  81. package/dist/src/models/__tests__/openai.test.js +73 -83
  82. package/dist/src/models/__tests__/openai.test.js.map +1 -1
  83. package/dist/src/models/gemini/adapters.d.ts +2 -1
  84. package/dist/src/models/gemini/adapters.d.ts.map +1 -1
  85. package/dist/src/models/gemini/adapters.js +97 -10
  86. package/dist/src/models/gemini/adapters.js.map +1 -1
  87. package/dist/src/models/gemini/model.d.ts.map +1 -1
  88. package/dist/src/models/gemini/model.js +37 -1
  89. package/dist/src/models/gemini/model.js.map +1 -1
  90. package/dist/src/models/gemini/types.d.ts +9 -1
  91. package/dist/src/models/gemini/types.d.ts.map +1 -1
  92. package/dist/src/models/model.d.ts.map +1 -1
  93. package/dist/src/models/model.js +4 -0
  94. package/dist/src/models/model.js.map +1 -1
  95. package/dist/src/models/streaming.d.ts +13 -0
  96. package/dist/src/models/streaming.d.ts.map +1 -1
  97. package/dist/src/models/streaming.js +17 -0
  98. package/dist/src/models/streaming.js.map +1 -1
  99. package/dist/src/multiagent/__tests__/nodes.test.d.ts +2 -0
  100. package/dist/src/multiagent/__tests__/nodes.test.d.ts.map +1 -0
  101. package/dist/src/multiagent/__tests__/nodes.test.js +98 -0
  102. package/dist/src/multiagent/__tests__/nodes.test.js.map +1 -0
  103. package/dist/src/multiagent/events.d.ts +24 -0
  104. package/dist/src/multiagent/events.d.ts.map +1 -0
  105. package/dist/src/multiagent/events.js +19 -0
  106. package/dist/src/multiagent/events.js.map +1 -0
  107. package/dist/src/multiagent/index.d.ts +11 -0
  108. package/dist/src/multiagent/index.d.ts.map +1 -0
  109. package/dist/src/multiagent/index.js +7 -0
  110. package/dist/src/multiagent/index.js.map +1 -0
  111. package/dist/src/multiagent/nodes.d.ts +75 -0
  112. package/dist/src/multiagent/nodes.d.ts.map +1 -0
  113. package/dist/src/multiagent/nodes.js +101 -0
  114. package/dist/src/multiagent/nodes.js.map +1 -0
  115. package/dist/src/multiagent/state.d.ts +55 -0
  116. package/dist/src/multiagent/state.d.ts.map +1 -0
  117. package/dist/src/multiagent/state.js +43 -0
  118. package/dist/src/multiagent/state.js.map +1 -0
  119. package/dist/src/multiagent/types.d.ts +5 -0
  120. package/dist/src/multiagent/types.d.ts.map +1 -0
  121. package/dist/src/multiagent/types.js +2 -0
  122. package/dist/src/multiagent/types.js.map +1 -0
  123. package/dist/src/registry/tool-registry.d.ts +2 -1
  124. package/dist/src/registry/tool-registry.d.ts.map +1 -1
  125. package/dist/src/registry/tool-registry.js +4 -2
  126. package/dist/src/registry/tool-registry.js.map +1 -1
  127. package/dist/src/session/__tests__/file-storage.test.node.d.ts +2 -0
  128. package/dist/src/session/__tests__/file-storage.test.node.d.ts.map +1 -0
  129. package/dist/src/session/__tests__/file-storage.test.node.js +218 -0
  130. package/dist/src/session/__tests__/file-storage.test.node.js.map +1 -0
  131. package/dist/src/session/__tests__/s3-storage.test.node.d.ts +2 -0
  132. package/dist/src/session/__tests__/s3-storage.test.node.d.ts.map +1 -0
  133. package/dist/src/session/__tests__/s3-storage.test.node.js +375 -0
  134. package/dist/src/session/__tests__/s3-storage.test.node.js.map +1 -0
  135. package/dist/src/session/__tests__/validation.test.d.ts +2 -0
  136. package/dist/src/session/__tests__/validation.test.d.ts.map +1 -0
  137. package/dist/src/session/__tests__/validation.test.js +20 -0
  138. package/dist/src/session/__tests__/validation.test.js.map +1 -0
  139. package/dist/src/session/file-storage.d.ts +79 -0
  140. package/dist/src/session/file-storage.d.ts.map +1 -0
  141. package/dist/src/session/file-storage.js +144 -0
  142. package/dist/src/session/file-storage.js.map +1 -0
  143. package/dist/src/session/index.d.ts +19 -0
  144. package/dist/src/session/index.d.ts.map +1 -0
  145. package/dist/src/session/index.js +18 -0
  146. package/dist/src/session/index.js.map +1 -0
  147. package/dist/src/session/s3-storage.d.ts +93 -0
  148. package/dist/src/session/s3-storage.d.ts.map +1 -0
  149. package/dist/src/session/s3-storage.js +150 -0
  150. package/dist/src/session/s3-storage.js.map +1 -0
  151. package/dist/src/session/storage.d.ts +91 -0
  152. package/dist/src/session/storage.d.ts.map +1 -0
  153. package/dist/src/session/storage.js +2 -0
  154. package/dist/src/session/storage.js.map +1 -0
  155. package/dist/src/session/types.d.ts +49 -0
  156. package/dist/src/session/types.d.ts.map +1 -0
  157. package/dist/src/session/types.js +2 -0
  158. package/dist/src/session/types.js.map +1 -0
  159. package/dist/src/session/validation.d.ts +10 -0
  160. package/dist/src/session/validation.d.ts.map +1 -0
  161. package/dist/src/session/validation.js +16 -0
  162. package/dist/src/session/validation.js.map +1 -0
  163. package/dist/src/structured-output/__tests__/context.test.d.ts +2 -0
  164. package/dist/src/structured-output/__tests__/context.test.d.ts.map +1 -0
  165. package/dist/src/structured-output/__tests__/context.test.js +201 -0
  166. package/dist/src/structured-output/__tests__/context.test.js.map +1 -0
  167. package/dist/src/structured-output/__tests__/exceptions.test.d.ts +2 -0
  168. package/dist/src/structured-output/__tests__/exceptions.test.d.ts.map +1 -0
  169. package/dist/src/structured-output/__tests__/exceptions.test.js +103 -0
  170. package/dist/src/structured-output/__tests__/exceptions.test.js.map +1 -0
  171. package/dist/src/structured-output/__tests__/tool.test.d.ts +2 -0
  172. package/dist/src/structured-output/__tests__/tool.test.d.ts.map +1 -0
  173. package/dist/src/structured-output/__tests__/tool.test.js +256 -0
  174. package/dist/src/structured-output/__tests__/tool.test.js.map +1 -0
  175. package/dist/src/structured-output/__tests__/utils.test.d.ts +2 -0
  176. package/dist/src/structured-output/__tests__/utils.test.d.ts.map +1 -0
  177. package/dist/src/structured-output/__tests__/utils.test.js +183 -0
  178. package/dist/src/structured-output/__tests__/utils.test.js.map +1 -0
  179. package/dist/src/structured-output/context.d.ts +91 -0
  180. package/dist/src/structured-output/context.d.ts.map +1 -0
  181. package/dist/src/structured-output/context.js +112 -0
  182. package/dist/src/structured-output/context.js.map +1 -0
  183. package/dist/src/structured-output/exceptions.d.ts +18 -0
  184. package/dist/src/structured-output/exceptions.d.ts.map +1 -0
  185. package/dist/src/structured-output/exceptions.js +28 -0
  186. package/dist/src/structured-output/exceptions.js.map +1 -0
  187. package/dist/src/structured-output/tool.d.ts +33 -0
  188. package/dist/src/structured-output/tool.d.ts.map +1 -0
  189. package/dist/src/structured-output/tool.js +73 -0
  190. package/dist/src/structured-output/tool.js.map +1 -0
  191. package/dist/src/structured-output/utils.d.ts +23 -0
  192. package/dist/src/structured-output/utils.d.ts.map +1 -0
  193. package/dist/src/structured-output/utils.js +104 -0
  194. package/dist/src/structured-output/utils.js.map +1 -0
  195. package/dist/src/tools/zod-tool.d.ts.map +1 -1
  196. package/dist/src/tools/zod-tool.js +2 -5
  197. package/dist/src/tools/zod-tool.js.map +1 -1
  198. package/dist/src/tsconfig.tsbuildinfo +1 -1
  199. package/dist/src/types/__tests__/media.test.js +216 -1
  200. package/dist/src/types/__tests__/media.test.js.map +1 -1
  201. package/dist/src/types/__tests__/messages.test.js +193 -4
  202. package/dist/src/types/__tests__/messages.test.js.map +1 -1
  203. package/dist/src/types/agent.d.ts +13 -7
  204. package/dist/src/types/agent.d.ts.map +1 -1
  205. package/dist/src/types/agent.js +8 -1
  206. package/dist/src/types/agent.js.map +1 -1
  207. package/dist/src/types/json.d.ts +61 -0
  208. package/dist/src/types/json.d.ts.map +1 -1
  209. package/dist/src/types/json.js +24 -0
  210. package/dist/src/types/json.js.map +1 -1
  211. package/dist/src/types/media.d.ts +84 -4
  212. package/dist/src/types/media.d.ts.map +1 -1
  213. package/dist/src/types/media.js +194 -0
  214. package/dist/src/types/media.js.map +1 -1
  215. package/dist/src/types/messages.d.ts +158 -9
  216. package/dist/src/types/messages.d.ts.map +1 -1
  217. package/dist/src/types/messages.js +242 -7
  218. package/dist/src/types/messages.js.map +1 -1
  219. package/dist/src/types/serializable.d.ts +31 -0
  220. package/dist/src/types/serializable.d.ts.map +1 -0
  221. package/dist/src/types/serializable.js +19 -0
  222. package/dist/src/types/serializable.js.map +1 -0
  223. package/dist/src/utils/zod.d.ts +11 -0
  224. package/dist/src/utils/zod.d.ts.map +1 -0
  225. package/dist/src/utils/zod.js +14 -0
  226. package/dist/src/utils/zod.js.map +1 -0
  227. package/dist/src/vended-tools/bash/__tests__/bash.test.node.d.ts +2 -0
  228. package/dist/src/vended-tools/bash/__tests__/bash.test.node.d.ts.map +1 -0
  229. package/dist/src/vended-tools/bash/__tests__/{bash.test.js → bash.test.node.js} +3 -4
  230. package/dist/src/vended-tools/bash/__tests__/bash.test.node.js.map +1 -0
  231. package/dist/src/vended-tools/file_editor/__tests__/file-editor.test.node.d.ts +2 -0
  232. package/dist/src/vended-tools/file_editor/__tests__/file-editor.test.node.d.ts.map +1 -0
  233. package/dist/src/vended-tools/file_editor/__tests__/{file-editor.test.js → file-editor.test.node.js} +1 -1
  234. package/dist/src/vended-tools/file_editor/__tests__/file-editor.test.node.js.map +1 -0
  235. package/package.json +7 -2
  236. package/dist/src/vended-tools/bash/__tests__/bash.test.d.ts +0 -2
  237. package/dist/src/vended-tools/bash/__tests__/bash.test.d.ts.map +0 -1
  238. package/dist/src/vended-tools/bash/__tests__/bash.test.js.map +0 -1
  239. package/dist/src/vended-tools/file_editor/__tests__/file-editor.test.d.ts +0 -2
  240. package/dist/src/vended-tools/file_editor/__tests__/file-editor.test.d.ts.map +0 -1
  241. package/dist/src/vended-tools/file_editor/__tests__/file-editor.test.js.map +0 -1
@@ -71,6 +71,7 @@ export class Model {
71
71
  let accumulatedToolInput = '';
72
72
  let toolName = '';
73
73
  let toolUseId = '';
74
+ let toolReasoningSignature = '';
74
75
  let accumulatedReasoning = {};
75
76
  let errorToThrow = undefined;
76
77
  let stoppedMessage = null;
@@ -89,6 +90,7 @@ export class Model {
89
90
  if (event.start?.type === 'toolUseStart') {
90
91
  toolName = event.start.name;
91
92
  toolUseId = event.start.toolUseId;
93
+ toolReasoningSignature = event.start.reasoningSignature ?? '';
92
94
  }
93
95
  accumulatedToolInput = '';
94
96
  accumulatedText = '';
@@ -121,9 +123,11 @@ export class Model {
121
123
  name: toolName,
122
124
  toolUseId: toolUseId,
123
125
  input: accumulatedToolInput ? JSON.parse(accumulatedToolInput) : {},
126
+ ...(toolReasoningSignature && { reasoningSignature: toolReasoningSignature }),
124
127
  });
125
128
  toolUseId = ''; // Reset
126
129
  toolName = '';
130
+ toolReasoningSignature = '';
127
131
  }
128
132
  else if (Object.keys(accumulatedReasoning).length > 0) {
129
133
  block = new ReasoningBlock({
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/models/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/models/model.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,14 @@ import type { JSONValue } from '../types/json.js';
14
14
  * This allows for type-safe event handling using switch statements.
15
15
  */
16
16
  export type ModelStreamEvent = ModelMessageStartEventData | ModelContentBlockStartEventData | ModelContentBlockDeltaEventData | ModelContentBlockStopEventData | ModelMessageStopEventData | ModelMetadataEventData;
17
+ /**
18
+ * Type guard to check if an event with a type discriminator is a ModelStreamEvent.
19
+ * @param event - The event to check
20
+ * @returns true if the event is a ModelStreamEvent
21
+ */
22
+ export declare function isModelStreamEvent(event: {
23
+ type: string;
24
+ }): event is ModelStreamEvent;
17
25
  /**
18
26
  * Data for a message start event.
19
27
  */
@@ -220,6 +228,11 @@ export interface ToolUseStart {
220
228
  * Unique identifier for this tool use.
221
229
  */
222
230
  toolUseId: string;
231
+ /**
232
+ * Reasoning signature from thinking models (e.g., Gemini).
233
+ * Must be preserved and sent back to the model for multi-turn tool use.
234
+ */
235
+ reasoningSignature?: string;
223
236
  }
224
237
  /**
225
238
  * A delta (incremental chunk) of content within a content block.
@@ -1 +1 @@
1
- {"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["../../../src/models/streaming.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["../../../src/models/streaming.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,20 @@
1
+ /** Set of all ModelStreamEvent type discriminators. */
2
+ const modelStreamEventTypes = new Set([
3
+ 'modelMessageStartEvent',
4
+ 'modelContentBlockStartEvent',
5
+ 'modelContentBlockDeltaEvent',
6
+ 'modelContentBlockStopEvent',
7
+ 'modelMessageStopEvent',
8
+ 'modelMetadataEvent',
9
+ ]);
10
+ /**
11
+ * Type guard to check if an event with a type discriminator is a ModelStreamEvent.
12
+ * @param event - The event to check
13
+ * @returns true if the event is a ModelStreamEvent
14
+ */
15
+ export function isModelStreamEvent(event) {
16
+ return modelStreamEventTypes.has(event.type);
17
+ }
1
18
  /**
2
19
  * Event emitted when a new message starts in the stream.
3
20
  */
@@ -1 +1 @@
1
- {"version":3,"file":"streaming.js","sourceRoot":"","sources":["../../../src/models/streaming.ts"],"names":[],"mappings":"AAwCA;;GAEG;AACH,MAAM,OAAO,sBAAsB;IACjC;;OAEG;IACM,IAAI,GAAG,wBAAiC,CAAA;IAEjD;;OAEG;IACM,IAAI,CAAM;IAEnB,YAAY,IAAgC;QAC1C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;IACvB,CAAC;CACF;AAkBD;;GAEG;AACH,MAAM,OAAO,2BAA2B;IACtC;;OAEG;IACM,IAAI,GAAG,6BAAsC,CAAA;IAEtD;;;OAGG;IACM,KAAK,CAAoB;IAElC,YAAY,IAAqC;QAC/C,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACzB,CAAC;IACH,CAAC;CACF;AAiBD;;GAEG;AACH,MAAM,OAAO,2BAA2B;IACtC;;OAEG;IACM,IAAI,GAAG,6BAAsC,CAAA;IAEtD;;OAEG;IACM,iBAAiB,CAAS;IAEnC;;OAEG;IACM,KAAK,CAAmB;IAEjC,YAAY,IAAqC;QAC/C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;IACzB,CAAC;CACF;AAYD;;GAEG;AACH,MAAM,OAAO,0BAA0B;IACrC;;OAEG;IACM,IAAI,GAAG,4BAAqC,CAAA;IAErD,YAAY,KAAqC,IAAG,CAAC;CACtD;AAsBD;;GAEG;AACH,MAAM,OAAO,qBAAqB;IAChC;;OAEG;IACM,IAAI,GAAG,uBAAgC,CAAA;IAEhD;;OAEG;IACM,UAAU,CAAY;IAE/B;;OAEG;IACM,6BAA6B,CAAY;IAElD,YAAY,IAA+B;QACzC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;QACjC,IAAI,IAAI,CAAC,6BAA6B,KAAK,SAAS,EAAE,CAAC;YACrD,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC,6BAA6B,CAAA;QACzE,CAAC;IACH,CAAC;CACF;AA2BD;;;GAGG;AACH,MAAM,OAAO,kBAAkB;IAC7B;;OAEG;IACM,IAAI,GAAG,oBAA6B,CAAA;IAE7C;;OAEG;IACM,KAAK,CAAQ;IAEtB;;OAEG;IACM,OAAO,CAAU;IAE1B;;OAEG;IACM,KAAK,CAAU;IAExB,YAAY,IAA4B;QACtC,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACzB,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC7B,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACzB,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"streaming.js","sourceRoot":"","sources":["../../../src/models/streaming.ts"],"names":[],"mappings":"AAyBA,uDAAuD;AACvD,MAAM,qBAAqB,GAAwB,IAAI,GAAG,CAA2B;IACnF,wBAAwB;IACxB,6BAA6B;IAC7B,6BAA6B;IAC7B,4BAA4B;IAC5B,uBAAuB;IACvB,oBAAoB;CACrB,CAAC,CAAA;AAEF;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAuB;IACxD,OAAO,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;AAC9C,CAAC;AAiBD;;GAEG;AACH,MAAM,OAAO,sBAAsB;IACjC;;OAEG;IACM,IAAI,GAAG,wBAAiC,CAAA;IAEjD;;OAEG;IACM,IAAI,CAAM;IAEnB,YAAY,IAAgC;QAC1C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;IACvB,CAAC;CACF;AAkBD;;GAEG;AACH,MAAM,OAAO,2BAA2B;IACtC;;OAEG;IACM,IAAI,GAAG,6BAAsC,CAAA;IAEtD;;;OAGG;IACM,KAAK,CAAoB;IAElC,YAAY,IAAqC;QAC/C,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACzB,CAAC;IACH,CAAC;CACF;AAiBD;;GAEG;AACH,MAAM,OAAO,2BAA2B;IACtC;;OAEG;IACM,IAAI,GAAG,6BAAsC,CAAA;IAEtD;;OAEG;IACM,iBAAiB,CAAS;IAEnC;;OAEG;IACM,KAAK,CAAmB;IAEjC,YAAY,IAAqC;QAC/C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;IACzB,CAAC;CACF;AAYD;;GAEG;AACH,MAAM,OAAO,0BAA0B;IACrC;;OAEG;IACM,IAAI,GAAG,4BAAqC,CAAA;IAErD,YAAY,KAAqC,IAAG,CAAC;CACtD;AAsBD;;GAEG;AACH,MAAM,OAAO,qBAAqB;IAChC;;OAEG;IACM,IAAI,GAAG,uBAAgC,CAAA;IAEhD;;OAEG;IACM,UAAU,CAAY;IAE/B;;OAEG;IACM,6BAA6B,CAAY;IAElD,YAAY,IAA+B;QACzC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;QACjC,IAAI,IAAI,CAAC,6BAA6B,KAAK,SAAS,EAAE,CAAC;YACrD,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC,6BAA6B,CAAA;QACzE,CAAC;IACH,CAAC;CACF;AA2BD;;;GAGG;AACH,MAAM,OAAO,kBAAkB;IAC7B;;OAEG;IACM,IAAI,GAAG,oBAA6B,CAAA;IAE7C;;OAEG;IACM,KAAK,CAAQ;IAEtB;;OAEG;IACM,OAAO,CAAU;IAE1B;;OAEG;IACM,KAAK,CAAU;IAExB,YAAY,IAA4B;QACtC,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACzB,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC7B,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACzB,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=nodes.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nodes.test.d.ts","sourceRoot":"","sources":["../../../../src/multiagent/__tests__/nodes.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,98 @@
1
+ import { beforeEach, describe, expect, it } from 'vitest';
2
+ import { Agent } from '../../agent/agent.js';
3
+ import { MockMessageModel } from '../../__fixtures__/mock-message-model.js';
4
+ import { collectGenerator } from '../../__fixtures__/model-test-helpers.js';
5
+ import { TextBlock } from '../../types/messages.js';
6
+ import { MultiAgentState, Status } from '../state.js';
7
+ import { AgentNode, Node } from '../nodes.js';
8
+ /**
9
+ * Concrete Node subclass for testing the abstract base class.
10
+ */
11
+ class TestNode extends Node {
12
+ _fn;
13
+ constructor(id, fn) {
14
+ super(id);
15
+ this._fn = fn;
16
+ }
17
+ async *handle(args, state) {
18
+ return yield* this._fn(args, state);
19
+ }
20
+ }
21
+ describe('Node', () => {
22
+ let state;
23
+ beforeEach(() => {
24
+ state = new MultiAgentState();
25
+ });
26
+ describe('stream', () => {
27
+ it('returns COMPLETED NodeResult on successful execution', async () => {
28
+ const content = [new TextBlock('result')];
29
+ // eslint-disable-next-line require-yield
30
+ const node = new TestNode('test-node', async function* () {
31
+ return { content };
32
+ });
33
+ const { result } = await collectGenerator(node.stream([], state));
34
+ expect(result).toEqual({
35
+ type: 'nodeResult',
36
+ nodeId: 'test-node',
37
+ status: Status.COMPLETED,
38
+ content,
39
+ duration: expect.any(Number),
40
+ });
41
+ });
42
+ it('catches errors and returns FAILED NodeResult', async () => {
43
+ // eslint-disable-next-line require-yield
44
+ const node = new TestNode('fail-node', async function* () {
45
+ throw new Error('boom');
46
+ });
47
+ const { result } = await collectGenerator(node.stream([], state));
48
+ expect(result).toEqual({
49
+ type: 'nodeResult',
50
+ nodeId: 'fail-node',
51
+ status: Status.FAILED,
52
+ content: [],
53
+ duration: expect.any(Number),
54
+ error: expect.objectContaining({ message: 'boom' }),
55
+ });
56
+ });
57
+ });
58
+ });
59
+ describe('AgentNode', () => {
60
+ let agent;
61
+ let node;
62
+ let state;
63
+ beforeEach(() => {
64
+ const model = new MockMessageModel().addTurn(new TextBlock('reply'));
65
+ agent = new Agent({ model, printer: false, state: { key1: 'value1' } });
66
+ node = new AgentNode('agent-1', agent);
67
+ state = new MultiAgentState();
68
+ });
69
+ describe('handle', () => {
70
+ it('wraps agent events and returns content', async () => {
71
+ const { items, result } = await collectGenerator(node.stream([new TextBlock('prompt')], state));
72
+ expect(items.length).toBeGreaterThan(0);
73
+ for (const event of items) {
74
+ expect(event).toEqual(expect.objectContaining({ type: 'nodeStreamUpdateEvent', nodeId: 'agent-1', nodeType: 'agentNode' }));
75
+ }
76
+ expect(result).toEqual({
77
+ type: 'nodeResult',
78
+ nodeId: 'agent-1',
79
+ status: Status.COMPLETED,
80
+ content: expect.arrayContaining([expect.objectContaining({ type: 'textBlock', text: 'reply' })]),
81
+ duration: expect.any(Number),
82
+ });
83
+ });
84
+ it('restores agent messages and state after execution', async () => {
85
+ const messagesBefore = [...agent.messages];
86
+ const stateBefore = agent.state.getAll();
87
+ await collectGenerator(node.stream([new TextBlock('prompt')], state));
88
+ expect(agent.messages).toStrictEqual(messagesBefore);
89
+ expect(agent.state.getAll()).toStrictEqual(stateBefore);
90
+ });
91
+ });
92
+ describe('agent', () => {
93
+ it('exposes the wrapped agent instance', () => {
94
+ expect(node.agent).toBe(agent);
95
+ });
96
+ });
97
+ });
98
+ //# sourceMappingURL=nodes.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nodes.test.js","sourceRoot":"","sources":["../../../../src/multiagent/__tests__/nodes.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { StreamEvent } from '../hooks/events.js';
2
+ import type { AgentStreamEvent } from '../types/agent.js';
3
+ import type { NodeType } from './types.js';
4
+ /**
5
+ * Wraps an inner streaming event from a node with the node's identity.
6
+ * Emitted during node execution to propagate agent-level or nested
7
+ * multi-agent events up to the orchestration layer.
8
+ */
9
+ export declare class NodeStreamUpdateEvent extends StreamEvent {
10
+ readonly type: "nodeStreamUpdateEvent";
11
+ readonly nodeId: string;
12
+ readonly nodeType: NodeType;
13
+ readonly event: AgentStreamEvent | Exclude<MultiAgentStreamEvent, NodeStreamUpdateEvent>;
14
+ constructor(data: {
15
+ nodeId: string;
16
+ nodeType: NodeType;
17
+ event: AgentStreamEvent | Exclude<MultiAgentStreamEvent, NodeStreamUpdateEvent>;
18
+ });
19
+ }
20
+ /**
21
+ * Union of all multi-agent streaming events.
22
+ */
23
+ export type MultiAgentStreamEvent = NodeStreamUpdateEvent;
24
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,19 @@
1
+ import { StreamEvent } from '../hooks/events.js';
2
+ /**
3
+ * Wraps an inner streaming event from a node with the node's identity.
4
+ * Emitted during node execution to propagate agent-level or nested
5
+ * multi-agent events up to the orchestration layer.
6
+ */
7
+ export class NodeStreamUpdateEvent extends StreamEvent {
8
+ type = 'nodeStreamUpdateEvent';
9
+ nodeId;
10
+ nodeType;
11
+ event;
12
+ constructor(data) {
13
+ super();
14
+ this.nodeId = data.nodeId;
15
+ this.nodeType = data.nodeType;
16
+ this.event = data.event;
17
+ }
18
+ }
19
+ //# sourceMappingURL=events.js.map
@@ -0,0 +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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Multi-agent orchestration module.
3
+ */
4
+ export { MultiAgentState, Status, NodeResult } from './state.js';
5
+ export type { NodeResultUpdate } from './state.js';
6
+ export { Node, AgentNode } from './nodes.js';
7
+ export type { NodeConfig } from './nodes.js';
8
+ export { NodeStreamUpdateEvent } from './events.js';
9
+ export type { MultiAgentStreamEvent } from './events.js';
10
+ export type { NodeType } from './types.js';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/multiagent/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAChE,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAElD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAC5C,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AACnD,YAAY,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AACxD,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Multi-agent orchestration module.
3
+ */
4
+ export { MultiAgentState, Status, NodeResult } from './state.js';
5
+ export { Node, AgentNode } from './nodes.js';
6
+ export { NodeStreamUpdateEvent } from './events.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/multiagent/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAGhE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAG5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA"}
@@ -0,0 +1,75 @@
1
+ import type { Agent, InvokeArgs } from '../agent/agent.js';
2
+ import type { MultiAgentStreamEvent } from './events.js';
3
+ import { MultiAgentState, NodeResult } from './state.js';
4
+ import type { NodeResultUpdate } from './state.js';
5
+ /**
6
+ * Configuration for a node execution.
7
+ */
8
+ export interface NodeConfig {
9
+ /**
10
+ * Maximum execution time for this node in milliseconds.
11
+ */
12
+ timeout?: number;
13
+ }
14
+ /**
15
+ * Abstract base class for all multi-agent orchestration nodes.
16
+ *
17
+ * Uses the template method pattern: {@link stream} handles orchestration
18
+ * boilerplate (duration measurement, status tracking, error capture) and
19
+ * delegates to {@link handle} for node-specific execution logic.
20
+ */
21
+ export declare abstract class Node {
22
+ /** Unique identifier for this node within the orchestration. */
23
+ readonly id: string;
24
+ /** Optional per-node configuration. */
25
+ readonly config?: NodeConfig;
26
+ /**
27
+ * @param id - Unique identifier for this node within the orchestration
28
+ * @param config - Optional per-node configuration
29
+ */
30
+ constructor(id: string, config?: NodeConfig);
31
+ /**
32
+ * Execute the node. Handles duration measurement, error capture,
33
+ * and delegates to handle() for node-specific logic.
34
+ *
35
+ * @param args - Input to pass to the node (string, content blocks, or messages)
36
+ * @param state - The current multi-agent state
37
+ * @returns Async generator yielding streaming events and returning a NodeResult
38
+ */
39
+ stream(args: InvokeArgs, state: MultiAgentState): AsyncGenerator<MultiAgentStreamEvent, NodeResult, undefined>;
40
+ /**
41
+ * Node-specific execution logic implemented by subclasses.
42
+ *
43
+ * @param args - Input to process (string, content blocks, or messages)
44
+ * @param state - The current multi-agent state
45
+ * @returns Async generator yielding streaming events and returning a partial result
46
+ */
47
+ abstract handle(args: InvokeArgs, state: MultiAgentState): AsyncGenerator<MultiAgentStreamEvent, NodeResultUpdate, undefined>;
48
+ }
49
+ /**
50
+ * Node that wraps an Agent instance for multi-agent orchestration.
51
+ *
52
+ * Each execution is isolated — the wrapped agent's internal state
53
+ * is unchanged after the node completes.
54
+ */
55
+ export declare class AgentNode extends Node {
56
+ readonly type: "agentNode";
57
+ private readonly _agent;
58
+ /**
59
+ * @param id - Unique identifier for this node within the orchestration
60
+ * @param agent - The Agent instance to wrap
61
+ * @param config - Optional per-node configuration
62
+ */
63
+ constructor(id: string, agent: Agent, config?: NodeConfig);
64
+ get agent(): Agent;
65
+ /**
66
+ * Executes the wrapped agent, yielding each agent streaming event
67
+ * wrapped in a {@link MultiAgentNodeStreamEvent}.
68
+ *
69
+ * @param args - Input to pass to the agent
70
+ * @param state - The current multi-agent state (unused by AgentNode)
71
+ * @returns Async generator yielding streaming events and returning the agent's content blocks
72
+ */
73
+ handle(args: InvokeArgs, _state: MultiAgentState): AsyncGenerator<MultiAgentStreamEvent, NodeResultUpdate, undefined>;
74
+ }
75
+ //# sourceMappingURL=nodes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nodes.d.ts","sourceRoot":"","sources":["../../../src/multiagent/nodes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAE1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAExD,OAAO,EAAE,eAAe,EAAE,UAAU,EAAU,MAAM,YAAY,CAAA;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAElD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;;;;;GAMG;AACH,8BAAsB,IAAI;IACxB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,uCAAuC;IACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,CAAA;IAE5B;;;OAGG;gBACS,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU;IAK3C;;;;;;;OAOG;IACI,MAAM,CACX,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,eAAe,GACrB,cAAc,CAAC,qBAAqB,EAAE,UAAU,EAAE,SAAS,CAAC;IAsB/D;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,CACb,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,eAAe,GACrB,cAAc,CAAC,qBAAqB,EAAE,gBAAgB,EAAE,SAAS,CAAC;CACtE;AAED;;;;;GAKG;AACH,qBAAa,SAAU,SAAQ,IAAI;IACjC,QAAQ,CAAC,IAAI,EAAG,WAAW,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAO;IAE9B;;;;OAIG;gBACS,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,UAAU;IAKzD,IAAI,KAAK,IAAI,KAAK,CAEjB;IAED;;;;;;;OAOG;IACI,MAAM,CACX,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,eAAe,GACtB,cAAc,CAAC,qBAAqB,EAAE,gBAAgB,EAAE,SAAS,CAAC;CActE"}
@@ -0,0 +1,101 @@
1
+ import { takeSnapshot, loadSnapshot } from '../agent/snapshot.js';
2
+ import { NodeStreamUpdateEvent } from './events.js';
3
+ import { MultiAgentState, NodeResult, Status } from './state.js';
4
+ /**
5
+ * Abstract base class for all multi-agent orchestration nodes.
6
+ *
7
+ * Uses the template method pattern: {@link stream} handles orchestration
8
+ * boilerplate (duration measurement, status tracking, error capture) and
9
+ * delegates to {@link handle} for node-specific execution logic.
10
+ */
11
+ export class Node {
12
+ /** Unique identifier for this node within the orchestration. */
13
+ id;
14
+ /** Optional per-node configuration. */
15
+ config;
16
+ /**
17
+ * @param id - Unique identifier for this node within the orchestration
18
+ * @param config - Optional per-node configuration
19
+ */
20
+ constructor(id, config) {
21
+ this.id = id;
22
+ if (config)
23
+ this.config = config;
24
+ }
25
+ /**
26
+ * Execute the node. Handles duration measurement, error capture,
27
+ * and delegates to handle() for node-specific logic.
28
+ *
29
+ * @param args - Input to pass to the node (string, content blocks, or messages)
30
+ * @param state - The current multi-agent state
31
+ * @returns Async generator yielding streaming events and returning a NodeResult
32
+ */
33
+ async *stream(args, state) {
34
+ const startTime = Date.now();
35
+ try {
36
+ const update = yield* this.handle(args, state);
37
+ return new NodeResult({
38
+ nodeId: this.id,
39
+ status: Status.COMPLETED,
40
+ duration: Date.now() - startTime,
41
+ content: [],
42
+ ...update,
43
+ });
44
+ }
45
+ catch (error) {
46
+ return new NodeResult({
47
+ nodeId: this.id,
48
+ status: Status.FAILED,
49
+ duration: Date.now() - startTime,
50
+ error: error instanceof Error ? error : new Error(String(error)),
51
+ content: [],
52
+ });
53
+ }
54
+ }
55
+ }
56
+ /**
57
+ * Node that wraps an Agent instance for multi-agent orchestration.
58
+ *
59
+ * Each execution is isolated — the wrapped agent's internal state
60
+ * is unchanged after the node completes.
61
+ */
62
+ export class AgentNode extends Node {
63
+ type = 'agentNode';
64
+ _agent;
65
+ /**
66
+ * @param id - Unique identifier for this node within the orchestration
67
+ * @param agent - The Agent instance to wrap
68
+ * @param config - Optional per-node configuration
69
+ */
70
+ constructor(id, agent, config) {
71
+ super(id, config);
72
+ this._agent = agent;
73
+ }
74
+ get agent() {
75
+ return this._agent;
76
+ }
77
+ /**
78
+ * Executes the wrapped agent, yielding each agent streaming event
79
+ * wrapped in a {@link MultiAgentNodeStreamEvent}.
80
+ *
81
+ * @param args - Input to pass to the agent
82
+ * @param state - The current multi-agent state (unused by AgentNode)
83
+ * @returns Async generator yielding streaming events and returning the agent's content blocks
84
+ */
85
+ async *handle(args, _state) {
86
+ const snapshot = takeSnapshot(this._agent, { include: ['messages', 'state'] });
87
+ try {
88
+ const gen = this._agent.stream(args);
89
+ let next = await gen.next();
90
+ while (!next.done) {
91
+ yield new NodeStreamUpdateEvent({ nodeId: this.id, nodeType: this.type, event: next.value });
92
+ next = await gen.next();
93
+ }
94
+ return { content: next.value.lastMessage.content };
95
+ }
96
+ finally {
97
+ loadSnapshot(this._agent, snapshot);
98
+ }
99
+ }
100
+ }
101
+ //# sourceMappingURL=nodes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nodes.js","sourceRoot":"","sources":["../../../src/multiagent/nodes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ import type { ContentBlock } from '../types/messages.js';
2
+ /**
3
+ * Base state class shared across multi-agent patterns.
4
+ */
5
+ export declare class MultiAgentState {
6
+ }
7
+ /**
8
+ * Execution lifecycle status shared across all multi-agent patterns.
9
+ */
10
+ export declare const Status: {
11
+ /** Execution has not yet started. */
12
+ readonly PENDING: "PENDING";
13
+ /** Execution is currently in progress. */
14
+ readonly EXECUTING: "EXECUTING";
15
+ /** Execution finished successfully. */
16
+ readonly COMPLETED: "COMPLETED";
17
+ /** Execution encountered an error. */
18
+ readonly FAILED: "FAILED";
19
+ /** Execution was cancelled before or during processing. */
20
+ readonly CANCELLED: "CANCELLED";
21
+ };
22
+ /**
23
+ * Union of all valid status values.
24
+ */
25
+ export type Status = (typeof Status)[keyof typeof Status];
26
+ /**
27
+ * Result of executing a single node.
28
+ */
29
+ export declare class NodeResult {
30
+ readonly type: "nodeResult";
31
+ readonly nodeId: string;
32
+ readonly status: Status;
33
+ /**
34
+ * Execution time in milliseconds.
35
+ */
36
+ readonly duration: number;
37
+ readonly content: ContentBlock[];
38
+ readonly error?: Error;
39
+ constructor(data: {
40
+ nodeId: string;
41
+ status: Status;
42
+ duration: number;
43
+ content?: ContentBlock[];
44
+ error?: Error;
45
+ });
46
+ }
47
+ /**
48
+ * Partial result returned by {@link Node.handle} implementations.
49
+ *
50
+ * Contains implementer-controlled fields that are merged with
51
+ * framework-managed defaults (nodeId, status, duration) to
52
+ * produce the final {@link NodeResult}.
53
+ */
54
+ export type NodeResultUpdate = Partial<Omit<NodeResult, 'type'>>;
55
+ //# sourceMappingURL=state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/multiagent/state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAExD;;GAEG;AACH,qBAAa,eAAe;CAAG;AAE/B;;GAEG;AACH,eAAO,MAAM,MAAM;IACjB,qCAAqC;;IAErC,0CAA0C;;IAE1C,uCAAuC;;IAEvC,sCAAsC;;IAEtC,2DAA2D;;CAEnD,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAA;AAEzD;;GAEG;AACH,qBAAa,UAAU;IACrB,QAAQ,CAAC,IAAI,EAAG,YAAY,CAAS;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,CAAA;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAA;gBAEV,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE;CAOhH;AAED;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAA"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Base state class shared across multi-agent patterns.
3
+ */
4
+ export class MultiAgentState {
5
+ }
6
+ /**
7
+ * Execution lifecycle status shared across all multi-agent patterns.
8
+ */
9
+ export const Status = {
10
+ /** Execution has not yet started. */
11
+ PENDING: 'PENDING',
12
+ /** Execution is currently in progress. */
13
+ EXECUTING: 'EXECUTING',
14
+ /** Execution finished successfully. */
15
+ COMPLETED: 'COMPLETED',
16
+ /** Execution encountered an error. */
17
+ FAILED: 'FAILED',
18
+ /** Execution was cancelled before or during processing. */
19
+ CANCELLED: 'CANCELLED',
20
+ };
21
+ /**
22
+ * Result of executing a single node.
23
+ */
24
+ export class NodeResult {
25
+ type = 'nodeResult';
26
+ nodeId;
27
+ status;
28
+ /**
29
+ * Execution time in milliseconds.
30
+ */
31
+ duration;
32
+ content;
33
+ error;
34
+ constructor(data) {
35
+ this.nodeId = data.nodeId;
36
+ this.status = data.status;
37
+ this.duration = data.duration;
38
+ this.content = data.content ?? [];
39
+ if (data.error)
40
+ this.error = data.error;
41
+ }
42
+ }
43
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/multiagent/state.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,OAAO,eAAe;CAAG;AAE/B;;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;AAOV;;GAEG;AACH,MAAM,OAAO,UAAU;IACZ,IAAI,GAAG,YAAqB,CAAA;IAC5B,MAAM,CAAQ;IACd,MAAM,CAAQ;IACvB;;OAEG;IACM,QAAQ,CAAQ;IAChB,OAAO,CAAgB;IACvB,KAAK,CAAQ;IAEtB,YAAY,IAAmG;QAC7G,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,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;IACzC,CAAC;CACF"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Known node type identifiers with extensibility for custom nodes.
3
+ */
4
+ export type NodeType = 'agentNode' | (string & {});
5
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/multiagent/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,WAAW,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map