@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.
- package/README.md +43 -0
- package/dist/src/__fixtures__/mock-hook-provider.d.ts +3 -7
- package/dist/src/__fixtures__/mock-hook-provider.d.ts.map +1 -1
- package/dist/src/__fixtures__/mock-hook-provider.js +3 -9
- package/dist/src/__fixtures__/mock-hook-provider.js.map +1 -1
- package/dist/src/__fixtures__/mock-message-model.d.ts +8 -2
- package/dist/src/__fixtures__/mock-message-model.d.ts.map +1 -1
- package/dist/src/__fixtures__/mock-message-model.js +1 -0
- package/dist/src/__fixtures__/mock-message-model.js.map +1 -1
- package/dist/src/__fixtures__/mock-storage-provider.d.ts +37 -0
- package/dist/src/__fixtures__/mock-storage-provider.d.ts.map +1 -0
- package/dist/src/__fixtures__/mock-storage-provider.js +105 -0
- package/dist/src/__fixtures__/mock-storage-provider.js.map +1 -0
- package/dist/src/__fixtures__/slim-types.d.ts +50 -0
- package/dist/src/__fixtures__/slim-types.d.ts.map +1 -0
- package/dist/src/__fixtures__/slim-types.js +6 -0
- package/dist/src/__fixtures__/slim-types.js.map +1 -0
- package/dist/src/__fixtures__/tool-helpers.d.ts +8 -3
- package/dist/src/__fixtures__/tool-helpers.d.ts.map +1 -1
- package/dist/src/__fixtures__/tool-helpers.js +1 -1
- package/dist/src/__fixtures__/tool-helpers.js.map +1 -1
- package/dist/src/agent/__tests__/agent.hook.test.js +18 -18
- package/dist/src/agent/__tests__/agent.hook.test.js.map +1 -1
- package/dist/src/agent/__tests__/agent.test.js +124 -8
- package/dist/src/agent/__tests__/agent.test.js.map +1 -1
- package/dist/src/agent/__tests__/printer.test.js +5 -9
- package/dist/src/agent/__tests__/printer.test.js.map +1 -1
- package/dist/src/agent/__tests__/snapshot.test.d.ts +2 -0
- package/dist/src/agent/__tests__/snapshot.test.d.ts.map +1 -0
- package/dist/src/agent/__tests__/snapshot.test.js +249 -0
- package/dist/src/agent/__tests__/snapshot.test.js.map +1 -0
- package/dist/src/agent/__tests__/state.test.js +19 -0
- package/dist/src/agent/__tests__/state.test.js.map +1 -1
- package/dist/src/agent/agent.d.ts +19 -4
- package/dist/src/agent/agent.d.ts.map +1 -1
- package/dist/src/agent/agent.js +104 -34
- package/dist/src/agent/agent.js.map +1 -1
- package/dist/src/agent/printer.d.ts +4 -0
- package/dist/src/agent/printer.d.ts.map +1 -1
- package/dist/src/agent/printer.js +18 -6
- package/dist/src/agent/printer.js.map +1 -1
- package/dist/src/agent/snapshot.d.ts +132 -0
- package/dist/src/agent/snapshot.d.ts.map +1 -0
- package/dist/src/agent/snapshot.js +151 -0
- package/dist/src/agent/snapshot.js.map +1 -0
- package/dist/src/agent/state.d.ts +14 -1
- package/dist/src/agent/state.d.ts.map +1 -1
- package/dist/src/agent/state.js +21 -0
- package/dist/src/agent/state.js.map +1 -1
- package/dist/src/errors.d.ts +15 -0
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/errors.js +18 -0
- package/dist/src/errors.js.map +1 -1
- package/dist/src/hooks/__tests__/events.test.js +102 -21
- package/dist/src/hooks/__tests__/events.test.js.map +1 -1
- package/dist/src/hooks/events.d.ts +156 -22
- package/dist/src/hooks/events.d.ts.map +1 -1
- package/dist/src/hooks/events.js +158 -18
- package/dist/src/hooks/events.js.map +1 -1
- package/dist/src/hooks/index.d.ts +12 -4
- package/dist/src/hooks/index.d.ts.map +1 -1
- package/dist/src/hooks/index.js +11 -3
- package/dist/src/hooks/index.js.map +1 -1
- package/dist/src/hooks/registry.d.ts +5 -5
- package/dist/src/hooks/registry.d.ts.map +1 -1
- package/dist/src/hooks/registry.js.map +1 -1
- package/dist/src/hooks/types.d.ts +5 -5
- package/dist/src/hooks/types.d.ts.map +1 -1
- package/dist/src/index.d.ts +4 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +4 -3
- package/dist/src/index.js.map +1 -1
- package/dist/src/models/__tests__/anthropic.test.js +31 -42
- package/dist/src/models/__tests__/anthropic.test.js.map +1 -1
- package/dist/src/models/__tests__/bedrock.test.js +70 -107
- package/dist/src/models/__tests__/bedrock.test.js.map +1 -1
- package/dist/src/models/__tests__/gemini.test.js +438 -141
- package/dist/src/models/__tests__/gemini.test.js.map +1 -1
- package/dist/src/models/__tests__/model.test.js +14 -13
- package/dist/src/models/__tests__/model.test.js.map +1 -1
- package/dist/src/models/__tests__/openai.test.js +73 -83
- package/dist/src/models/__tests__/openai.test.js.map +1 -1
- package/dist/src/models/gemini/adapters.d.ts +2 -1
- package/dist/src/models/gemini/adapters.d.ts.map +1 -1
- package/dist/src/models/gemini/adapters.js +97 -10
- package/dist/src/models/gemini/adapters.js.map +1 -1
- package/dist/src/models/gemini/model.d.ts.map +1 -1
- package/dist/src/models/gemini/model.js +37 -1
- package/dist/src/models/gemini/model.js.map +1 -1
- package/dist/src/models/gemini/types.d.ts +9 -1
- package/dist/src/models/gemini/types.d.ts.map +1 -1
- package/dist/src/models/model.d.ts.map +1 -1
- package/dist/src/models/model.js +4 -0
- package/dist/src/models/model.js.map +1 -1
- package/dist/src/models/streaming.d.ts +13 -0
- package/dist/src/models/streaming.d.ts.map +1 -1
- package/dist/src/models/streaming.js +17 -0
- package/dist/src/models/streaming.js.map +1 -1
- package/dist/src/multiagent/__tests__/nodes.test.d.ts +2 -0
- package/dist/src/multiagent/__tests__/nodes.test.d.ts.map +1 -0
- package/dist/src/multiagent/__tests__/nodes.test.js +98 -0
- package/dist/src/multiagent/__tests__/nodes.test.js.map +1 -0
- package/dist/src/multiagent/events.d.ts +24 -0
- package/dist/src/multiagent/events.d.ts.map +1 -0
- package/dist/src/multiagent/events.js +19 -0
- package/dist/src/multiagent/events.js.map +1 -0
- package/dist/src/multiagent/index.d.ts +11 -0
- package/dist/src/multiagent/index.d.ts.map +1 -0
- package/dist/src/multiagent/index.js +7 -0
- package/dist/src/multiagent/index.js.map +1 -0
- package/dist/src/multiagent/nodes.d.ts +75 -0
- package/dist/src/multiagent/nodes.d.ts.map +1 -0
- package/dist/src/multiagent/nodes.js +101 -0
- package/dist/src/multiagent/nodes.js.map +1 -0
- package/dist/src/multiagent/state.d.ts +55 -0
- package/dist/src/multiagent/state.d.ts.map +1 -0
- package/dist/src/multiagent/state.js +43 -0
- package/dist/src/multiagent/state.js.map +1 -0
- package/dist/src/multiagent/types.d.ts +5 -0
- package/dist/src/multiagent/types.d.ts.map +1 -0
- package/dist/src/multiagent/types.js +2 -0
- package/dist/src/multiagent/types.js.map +1 -0
- package/dist/src/registry/tool-registry.d.ts +2 -1
- package/dist/src/registry/tool-registry.d.ts.map +1 -1
- package/dist/src/registry/tool-registry.js +4 -2
- package/dist/src/registry/tool-registry.js.map +1 -1
- package/dist/src/session/__tests__/file-storage.test.node.d.ts +2 -0
- package/dist/src/session/__tests__/file-storage.test.node.d.ts.map +1 -0
- package/dist/src/session/__tests__/file-storage.test.node.js +218 -0
- package/dist/src/session/__tests__/file-storage.test.node.js.map +1 -0
- package/dist/src/session/__tests__/s3-storage.test.node.d.ts +2 -0
- package/dist/src/session/__tests__/s3-storage.test.node.d.ts.map +1 -0
- package/dist/src/session/__tests__/s3-storage.test.node.js +375 -0
- package/dist/src/session/__tests__/s3-storage.test.node.js.map +1 -0
- package/dist/src/session/__tests__/validation.test.d.ts +2 -0
- package/dist/src/session/__tests__/validation.test.d.ts.map +1 -0
- package/dist/src/session/__tests__/validation.test.js +20 -0
- package/dist/src/session/__tests__/validation.test.js.map +1 -0
- package/dist/src/session/file-storage.d.ts +79 -0
- package/dist/src/session/file-storage.d.ts.map +1 -0
- package/dist/src/session/file-storage.js +144 -0
- package/dist/src/session/file-storage.js.map +1 -0
- package/dist/src/session/index.d.ts +19 -0
- package/dist/src/session/index.d.ts.map +1 -0
- package/dist/src/session/index.js +18 -0
- package/dist/src/session/index.js.map +1 -0
- package/dist/src/session/s3-storage.d.ts +93 -0
- package/dist/src/session/s3-storage.d.ts.map +1 -0
- package/dist/src/session/s3-storage.js +150 -0
- package/dist/src/session/s3-storage.js.map +1 -0
- package/dist/src/session/storage.d.ts +91 -0
- package/dist/src/session/storage.d.ts.map +1 -0
- package/dist/src/session/storage.js +2 -0
- package/dist/src/session/storage.js.map +1 -0
- package/dist/src/session/types.d.ts +49 -0
- package/dist/src/session/types.d.ts.map +1 -0
- package/dist/src/session/types.js +2 -0
- package/dist/src/session/types.js.map +1 -0
- package/dist/src/session/validation.d.ts +10 -0
- package/dist/src/session/validation.d.ts.map +1 -0
- package/dist/src/session/validation.js +16 -0
- package/dist/src/session/validation.js.map +1 -0
- package/dist/src/structured-output/__tests__/context.test.d.ts +2 -0
- package/dist/src/structured-output/__tests__/context.test.d.ts.map +1 -0
- package/dist/src/structured-output/__tests__/context.test.js +201 -0
- package/dist/src/structured-output/__tests__/context.test.js.map +1 -0
- package/dist/src/structured-output/__tests__/exceptions.test.d.ts +2 -0
- package/dist/src/structured-output/__tests__/exceptions.test.d.ts.map +1 -0
- package/dist/src/structured-output/__tests__/exceptions.test.js +103 -0
- package/dist/src/structured-output/__tests__/exceptions.test.js.map +1 -0
- package/dist/src/structured-output/__tests__/tool.test.d.ts +2 -0
- package/dist/src/structured-output/__tests__/tool.test.d.ts.map +1 -0
- package/dist/src/structured-output/__tests__/tool.test.js +256 -0
- package/dist/src/structured-output/__tests__/tool.test.js.map +1 -0
- package/dist/src/structured-output/__tests__/utils.test.d.ts +2 -0
- package/dist/src/structured-output/__tests__/utils.test.d.ts.map +1 -0
- package/dist/src/structured-output/__tests__/utils.test.js +183 -0
- package/dist/src/structured-output/__tests__/utils.test.js.map +1 -0
- package/dist/src/structured-output/context.d.ts +91 -0
- package/dist/src/structured-output/context.d.ts.map +1 -0
- package/dist/src/structured-output/context.js +112 -0
- package/dist/src/structured-output/context.js.map +1 -0
- package/dist/src/structured-output/exceptions.d.ts +18 -0
- package/dist/src/structured-output/exceptions.d.ts.map +1 -0
- package/dist/src/structured-output/exceptions.js +28 -0
- package/dist/src/structured-output/exceptions.js.map +1 -0
- package/dist/src/structured-output/tool.d.ts +33 -0
- package/dist/src/structured-output/tool.d.ts.map +1 -0
- package/dist/src/structured-output/tool.js +73 -0
- package/dist/src/structured-output/tool.js.map +1 -0
- package/dist/src/structured-output/utils.d.ts +23 -0
- package/dist/src/structured-output/utils.d.ts.map +1 -0
- package/dist/src/structured-output/utils.js +104 -0
- package/dist/src/structured-output/utils.js.map +1 -0
- package/dist/src/tools/zod-tool.d.ts.map +1 -1
- package/dist/src/tools/zod-tool.js +2 -5
- package/dist/src/tools/zod-tool.js.map +1 -1
- package/dist/src/tsconfig.tsbuildinfo +1 -1
- package/dist/src/types/__tests__/media.test.js +216 -1
- package/dist/src/types/__tests__/media.test.js.map +1 -1
- package/dist/src/types/__tests__/messages.test.js +193 -4
- package/dist/src/types/__tests__/messages.test.js.map +1 -1
- package/dist/src/types/agent.d.ts +13 -7
- package/dist/src/types/agent.d.ts.map +1 -1
- package/dist/src/types/agent.js +8 -1
- package/dist/src/types/agent.js.map +1 -1
- package/dist/src/types/json.d.ts +61 -0
- package/dist/src/types/json.d.ts.map +1 -1
- package/dist/src/types/json.js +24 -0
- package/dist/src/types/json.js.map +1 -1
- package/dist/src/types/media.d.ts +84 -4
- package/dist/src/types/media.d.ts.map +1 -1
- package/dist/src/types/media.js +194 -0
- package/dist/src/types/media.js.map +1 -1
- package/dist/src/types/messages.d.ts +158 -9
- package/dist/src/types/messages.d.ts.map +1 -1
- package/dist/src/types/messages.js +242 -7
- package/dist/src/types/messages.js.map +1 -1
- package/dist/src/types/serializable.d.ts +31 -0
- package/dist/src/types/serializable.d.ts.map +1 -0
- package/dist/src/types/serializable.js +19 -0
- package/dist/src/types/serializable.js.map +1 -0
- package/dist/src/utils/zod.d.ts +11 -0
- package/dist/src/utils/zod.d.ts.map +1 -0
- package/dist/src/utils/zod.js +14 -0
- package/dist/src/utils/zod.js.map +1 -0
- package/dist/src/vended-tools/bash/__tests__/bash.test.node.d.ts +2 -0
- package/dist/src/vended-tools/bash/__tests__/bash.test.node.d.ts.map +1 -0
- package/dist/src/vended-tools/bash/__tests__/{bash.test.js → bash.test.node.js} +3 -4
- package/dist/src/vended-tools/bash/__tests__/bash.test.node.js.map +1 -0
- package/dist/src/vended-tools/file_editor/__tests__/file-editor.test.node.d.ts +2 -0
- package/dist/src/vended-tools/file_editor/__tests__/file-editor.test.node.d.ts.map +1 -0
- package/dist/src/vended-tools/file_editor/__tests__/{file-editor.test.js → file-editor.test.node.js} +1 -1
- package/dist/src/vended-tools/file_editor/__tests__/file-editor.test.node.js.map +1 -0
- package/package.json +7 -2
- package/dist/src/vended-tools/bash/__tests__/bash.test.d.ts +0 -2
- package/dist/src/vended-tools/bash/__tests__/bash.test.d.ts.map +0 -1
- package/dist/src/vended-tools/bash/__tests__/bash.test.js.map +0 -1
- package/dist/src/vended-tools/file_editor/__tests__/file-editor.test.d.ts +0 -2
- package/dist/src/vended-tools/file_editor/__tests__/file-editor.test.d.ts.map +0 -1
- package/dist/src/vended-tools/file_editor/__tests__/file-editor.test.js.map +0 -1
package/dist/src/models/model.js
CHANGED
|
@@ -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":"AAAA,OAAO,EAEL,OAAO,EACP,cAAc,EAId,SAAS,EACT,YAAY,GACb,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,EAC3B,0BAA0B,EAC1B,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,GAEnB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAgFzE;;;;;;;;GAQG;AACH,MAAM,OAAgB,KAAK;IA0BzB;;;;;OAKG;IACK,uBAAuB,CAAC,UAA4B;QAC1D,QAAQ,UAAU,CAAC,IAAI,EAAE,CAAC;YACxB,KAAK,wBAAwB;gBAC3B,OAAO,IAAI,sBAAsB,CAAC,UAAU,CAAC,CAAA;YAC/C,KAAK,6BAA6B;gBAChC,OAAO,IAAI,2BAA2B,CAAC,UAAU,CAAC,CAAA;YACpD,KAAK,6BAA6B;gBAChC,OAAO,IAAI,2BAA2B,CAAC,UAAU,CAAC,CAAA;YACpD,KAAK,4BAA4B;gBAC/B,OAAO,IAAI,0BAA0B,CAAC,UAAU,CAAC,CAAA;YACnD,KAAK,uBAAuB;gBAC1B,OAAO,IAAI,qBAAqB,CAAC,UAAU,CAAC,CAAA;YAC9C,KAAK,oBAAoB;gBACvB,OAAO,IAAI,kBAAkB,CAAC,UAAU,CAAC,CAAA;YAC3C;gBACE,MAAM,IAAI,KAAK,CAAC,2BAA2B,UAAU,EAAE,CAAC,CAAA;QAC5D,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,KAAK,CAAC,CAAC,gBAAgB,CACrB,QAAmB,EACnB,OAAuB;QAEvB,IAAI,CAAC;YACH,8BAA8B;YAC9B,IAAI,WAAW,GAAgB,IAAI,CAAA;YACnC,MAAM,aAAa,GAAmB,EAAE,CAAA;YACxC,IAAI,eAAe,GAAG,EAAE,CAAA;YACxB,IAAI,oBAAoB,GAAG,EAAE,CAAA;YAC7B,IAAI,QAAQ,GAAG,EAAE,CAAA;YACjB,IAAI,SAAS,GAAG,EAAE,CAAA;YAClB,IAAI,oBAAoB,GAIpB,EAAE,CAAA;YACN,IAAI,YAAY,GAAsB,SAAS,CAAA;YAC/C,IAAI,cAAc,GAAmB,IAAI,CAAA;YACzC,IAAI,eAAe,GAAsB,IAAI,CAAA;YAC7C,IAAI,QAAQ,GAAmC,SAAS,CAAA;YAExD,IAAI,KAAK,EAAE,MAAM,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;gBAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAA;gBACtD,MAAM,KAAK,CAAA,CAAC,2BAA2B;gBAEvC,wCAAwC;gBACxC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;oBACnB,KAAK,wBAAwB;wBAC3B,WAAW,GAAG,KAAK,CAAC,IAAI,CAAA;wBACxB,aAAa,CAAC,MAAM,GAAG,CAAC,CAAA,CAAC,QAAQ;wBACjC,MAAK;oBAEP,KAAK,6BAA6B;wBAChC,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,KAAK,cAAc,EAAE,CAAC;4BACzC,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAA;4BAC3B,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAA;
|
|
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":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAEjD;;;;;;GAMG;AAEH;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GACxB,0BAA0B,GAC1B,+BAA+B,GAC/B,+BAA+B,GAC/B,8BAA8B,GAC9B,yBAAyB,GACzB,sBAAsB,CAAA;
|
|
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":"
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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"}
|