@strands-agents/sdk 1.1.0 → 1.3.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 +6 -0
- package/dist/src/__tests__/interrupt.test.js +13 -8
- package/dist/src/__tests__/interrupt.test.js.map +1 -1
- package/dist/src/__tests__/mcp.test.js +221 -7
- package/dist/src/__tests__/mcp.test.js.map +1 -1
- package/dist/src/agent/__tests__/agent.interrupt.test.js +54 -5
- package/dist/src/agent/__tests__/agent.interrupt.test.js.map +1 -1
- package/dist/src/agent/__tests__/agent.test.js +56 -0
- package/dist/src/agent/__tests__/agent.test.js.map +1 -1
- package/dist/src/agent/__tests__/printer.test.js +58 -18
- package/dist/src/agent/__tests__/printer.test.js.map +1 -1
- package/dist/src/agent/__tests__/snapshot.test.js +98 -0
- package/dist/src/agent/__tests__/snapshot.test.js.map +1 -1
- package/dist/src/agent/agent-as-tool.d.ts.map +1 -1
- package/dist/src/agent/agent-as-tool.js +2 -3
- package/dist/src/agent/agent-as-tool.js.map +1 -1
- package/dist/src/agent/agent.d.ts +65 -0
- package/dist/src/agent/agent.d.ts.map +1 -1
- package/dist/src/agent/agent.js +89 -10
- package/dist/src/agent/agent.js.map +1 -1
- package/dist/src/agent/printer.d.ts +14 -1
- package/dist/src/agent/printer.d.ts.map +1 -1
- package/dist/src/agent/printer.js +33 -5
- package/dist/src/agent/printer.js.map +1 -1
- package/dist/src/agent/snapshot.d.ts +9 -17
- package/dist/src/agent/snapshot.d.ts.map +1 -1
- package/dist/src/agent/snapshot.js +9 -17
- package/dist/src/agent/snapshot.js.map +1 -1
- package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.js +371 -39
- package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.js.map +1 -1
- package/dist/src/conversation-manager/sliding-window-conversation-manager.d.ts +26 -7
- package/dist/src/conversation-manager/sliding-window-conversation-manager.d.ts.map +1 -1
- package/dist/src/conversation-manager/sliding-window-conversation-manager.js +192 -41
- package/dist/src/conversation-manager/sliding-window-conversation-manager.js.map +1 -1
- package/dist/src/hooks/events.d.ts +24 -3
- package/dist/src/hooks/events.d.ts.map +1 -1
- package/dist/src/hooks/events.js +26 -4
- package/dist/src/hooks/events.js.map +1 -1
- package/dist/src/hooks/index.d.ts +1 -1
- package/dist/src/hooks/index.d.ts.map +1 -1
- package/dist/src/hooks/index.js +1 -1
- package/dist/src/hooks/index.js.map +1 -1
- package/dist/src/hooks/types.d.ts +2 -0
- package/dist/src/hooks/types.d.ts.map +1 -1
- package/dist/src/hooks/types.js +2 -0
- package/dist/src/hooks/types.js.map +1 -1
- package/dist/src/index.d.ts +8 -4
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +6 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/interrupt.d.ts +29 -2
- package/dist/src/interrupt.d.ts.map +1 -1
- package/dist/src/interrupt.js +45 -3
- package/dist/src/interrupt.js.map +1 -1
- package/dist/src/interventions/__tests__/handler.test.d.ts +2 -0
- package/dist/src/interventions/__tests__/handler.test.d.ts.map +1 -0
- package/dist/src/interventions/__tests__/handler.test.js +35 -0
- package/dist/src/interventions/__tests__/handler.test.js.map +1 -0
- package/dist/src/interventions/__tests__/registry.test.d.ts +2 -0
- package/dist/src/interventions/__tests__/registry.test.d.ts.map +1 -0
- package/dist/src/interventions/__tests__/registry.test.js +692 -0
- package/dist/src/interventions/__tests__/registry.test.js.map +1 -0
- package/dist/src/interventions/actions.d.ts +186 -0
- package/dist/src/interventions/actions.d.ts.map +1 -0
- package/dist/src/interventions/actions.js +56 -0
- package/dist/src/interventions/actions.js.map +1 -0
- package/dist/src/interventions/handler.d.ts +44 -0
- package/dist/src/interventions/handler.d.ts.map +1 -0
- package/dist/src/interventions/handler.js +41 -0
- package/dist/src/interventions/handler.js.map +1 -0
- package/dist/src/interventions/index.d.ts +12 -0
- package/dist/src/interventions/index.d.ts.map +1 -0
- package/dist/src/interventions/index.js +4 -0
- package/dist/src/interventions/index.js.map +1 -0
- package/dist/src/interventions/registry.d.ts +34 -0
- package/dist/src/interventions/registry.d.ts.map +1 -0
- package/dist/src/interventions/registry.js +248 -0
- package/dist/src/interventions/registry.js.map +1 -0
- package/dist/src/mcp.d.ts +38 -2
- package/dist/src/mcp.d.ts.map +1 -1
- package/dist/src/mcp.js +84 -7
- package/dist/src/mcp.js.map +1 -1
- package/dist/src/models/__tests__/anthropic.test.js +74 -10
- package/dist/src/models/__tests__/anthropic.test.js.map +1 -1
- package/dist/src/models/__tests__/bedrock.test.js +43 -20
- package/dist/src/models/__tests__/bedrock.test.js.map +1 -1
- package/dist/src/models/__tests__/google.test.js +14 -6
- package/dist/src/models/__tests__/google.test.js.map +1 -1
- package/dist/src/models/anthropic.d.ts +15 -3
- package/dist/src/models/anthropic.d.ts.map +1 -1
- package/dist/src/models/anthropic.js +30 -9
- package/dist/src/models/anthropic.js.map +1 -1
- package/dist/src/models/bedrock.d.ts +6 -7
- package/dist/src/models/bedrock.d.ts.map +1 -1
- package/dist/src/models/bedrock.js +31 -18
- package/dist/src/models/bedrock.js.map +1 -1
- package/dist/src/models/google/model.js +1 -1
- package/dist/src/models/google/model.js.map +1 -1
- package/dist/src/models/google/types.d.ts +5 -3
- package/dist/src/models/google/types.d.ts.map +1 -1
- package/dist/src/models/openai/__tests__/chat.test.js +10 -2
- package/dist/src/models/openai/__tests__/chat.test.js.map +1 -1
- package/dist/src/models/openai/__tests__/mantle.test.d.ts +2 -0
- package/dist/src/models/openai/__tests__/mantle.test.d.ts.map +1 -0
- package/dist/src/models/openai/__tests__/mantle.test.js +189 -0
- package/dist/src/models/openai/__tests__/mantle.test.js.map +1 -0
- package/dist/src/models/openai/__tests__/responses.test.js +19 -0
- package/dist/src/models/openai/__tests__/responses.test.js.map +1 -1
- package/dist/src/models/openai/errors.d.ts.map +1 -1
- package/dist/src/models/openai/errors.js +7 -4
- package/dist/src/models/openai/errors.js.map +1 -1
- package/dist/src/models/openai/index.d.ts +1 -0
- package/dist/src/models/openai/index.d.ts.map +1 -1
- package/dist/src/models/openai/mantle.d.ts +77 -0
- package/dist/src/models/openai/mantle.d.ts.map +1 -0
- package/dist/src/models/openai/mantle.js +83 -0
- package/dist/src/models/openai/mantle.js.map +1 -0
- package/dist/src/models/openai/model.d.ts.map +1 -1
- package/dist/src/models/openai/model.js +29 -1
- package/dist/src/models/openai/model.js.map +1 -1
- package/dist/src/models/openai/types.d.ts +11 -0
- package/dist/src/models/openai/types.d.ts.map +1 -1
- package/dist/src/multiagent/__tests__/graph.tracer.test.js +14 -0
- package/dist/src/multiagent/__tests__/graph.tracer.test.js.map +1 -1
- package/dist/src/multiagent/__tests__/interrupts.test.d.ts +2 -0
- package/dist/src/multiagent/__tests__/interrupts.test.d.ts.map +1 -0
- package/dist/src/multiagent/__tests__/interrupts.test.js +390 -0
- package/dist/src/multiagent/__tests__/interrupts.test.js.map +1 -0
- package/dist/src/multiagent/__tests__/state.test.js +139 -1
- package/dist/src/multiagent/__tests__/state.test.js.map +1 -1
- package/dist/src/multiagent/events.d.ts +15 -1
- package/dist/src/multiagent/events.d.ts.map +1 -1
- package/dist/src/multiagent/events.js +18 -0
- package/dist/src/multiagent/events.js.map +1 -1
- package/dist/src/multiagent/graph.d.ts +37 -1
- package/dist/src/multiagent/graph.d.ts.map +1 -1
- package/dist/src/multiagent/graph.js +171 -43
- package/dist/src/multiagent/graph.js.map +1 -1
- package/dist/src/multiagent/multiagent.d.ts +78 -6
- package/dist/src/multiagent/multiagent.d.ts.map +1 -1
- package/dist/src/multiagent/multiagent.js +115 -1
- package/dist/src/multiagent/multiagent.js.map +1 -1
- package/dist/src/multiagent/nodes.d.ts.map +1 -1
- package/dist/src/multiagent/nodes.js +55 -21
- package/dist/src/multiagent/nodes.js.map +1 -1
- package/dist/src/multiagent/state.d.ts +39 -3
- package/dist/src/multiagent/state.d.ts.map +1 -1
- package/dist/src/multiagent/state.js +80 -1
- package/dist/src/multiagent/state.js.map +1 -1
- package/dist/src/multiagent/swarm.d.ts +15 -0
- package/dist/src/multiagent/swarm.d.ts.map +1 -1
- package/dist/src/multiagent/swarm.js +127 -37
- package/dist/src/multiagent/swarm.js.map +1 -1
- package/dist/src/registry/__tests__/tool-registry.test.js +26 -0
- package/dist/src/registry/__tests__/tool-registry.test.js.map +1 -1
- package/dist/src/registry/tool-registry.d.ts +9 -7
- package/dist/src/registry/tool-registry.d.ts.map +1 -1
- package/dist/src/registry/tool-registry.js +29 -10
- package/dist/src/registry/tool-registry.js.map +1 -1
- package/dist/src/session/__tests__/session-manager.test.js +45 -3
- package/dist/src/session/__tests__/session-manager.test.js.map +1 -1
- package/dist/src/session/session-manager.d.ts +5 -2
- package/dist/src/session/session-manager.d.ts.map +1 -1
- package/dist/src/session/session-manager.js +9 -6
- package/dist/src/session/session-manager.js.map +1 -1
- package/dist/src/telemetry/__tests__/meter.test.js +5 -27
- package/dist/src/telemetry/__tests__/meter.test.js.map +1 -1
- package/dist/src/telemetry/meter.d.ts +12 -4
- package/dist/src/telemetry/meter.d.ts.map +1 -1
- package/dist/src/telemetry/meter.js +13 -8
- package/dist/src/telemetry/meter.js.map +1 -1
- package/dist/src/tools/mcp-tool.d.ts.map +1 -1
- package/dist/src/tools/mcp-tool.js +3 -2
- package/dist/src/tools/mcp-tool.js.map +1 -1
- package/dist/src/tsconfig.tsbuildinfo +1 -1
- package/dist/src/types/__tests__/agent.test.js +97 -0
- package/dist/src/types/__tests__/agent.test.js.map +1 -1
- package/dist/src/types/agent.d.ts +26 -5
- package/dist/src/types/agent.d.ts.map +1 -1
- package/dist/src/types/agent.js +20 -3
- package/dist/src/types/agent.js.map +1 -1
- package/dist/src/types/messages.d.ts +3 -1
- package/dist/src/types/messages.d.ts.map +1 -1
- package/dist/src/types/messages.js.map +1 -1
- package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.js +208 -0
- package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.js.map +1 -1
- package/dist/src/vended-plugins/context-offloader/__tests__/search.test.d.ts +2 -0
- package/dist/src/vended-plugins/context-offloader/__tests__/search.test.d.ts.map +1 -0
- package/dist/src/vended-plugins/context-offloader/__tests__/search.test.js +149 -0
- package/dist/src/vended-plugins/context-offloader/__tests__/search.test.js.map +1 -0
- package/dist/src/vended-plugins/context-offloader/plugin.d.ts.map +1 -1
- package/dist/src/vended-plugins/context-offloader/plugin.js +57 -10
- package/dist/src/vended-plugins/context-offloader/plugin.js.map +1 -1
- package/dist/src/vended-plugins/context-offloader/search.d.ts +25 -0
- package/dist/src/vended-plugins/context-offloader/search.d.ts.map +1 -0
- package/dist/src/vended-plugins/context-offloader/search.js +120 -0
- package/dist/src/vended-plugins/context-offloader/search.js.map +1 -0
- package/dist/src/vended-tools/notebook/notebook.d.ts +1 -1
- package/package.json +11 -1
|
@@ -3,6 +3,9 @@ import { type ContentBlock } from '../types/messages.js';
|
|
|
3
3
|
import type { Usage } from '../models/streaming.js';
|
|
4
4
|
import type { z } from 'zod';
|
|
5
5
|
import type { JSONValue } from '../types/json.js';
|
|
6
|
+
import { Interrupt } from '../interrupt.js';
|
|
7
|
+
import type { MultiAgentInput } from './multiagent.js';
|
|
8
|
+
import type { Snapshot } from '../types/snapshot.js';
|
|
6
9
|
import { loadStateFromJSONSymbol, stateToJSONSymbol, type StateSerializable } from '../types/serializable.js';
|
|
7
10
|
/**
|
|
8
11
|
* Execution lifecycle status shared across all multi-agent patterns.
|
|
@@ -18,15 +21,17 @@ export declare const Status: {
|
|
|
18
21
|
readonly FAILED: "FAILED";
|
|
19
22
|
/** Execution was cancelled before or during processing. */
|
|
20
23
|
readonly CANCELLED: "CANCELLED";
|
|
24
|
+
/** Execution paused awaiting an interrupt response; can be resumed. */
|
|
25
|
+
readonly INTERRUPTED: "INTERRUPTED";
|
|
21
26
|
};
|
|
22
27
|
/**
|
|
23
28
|
* Union of all valid status values.
|
|
24
29
|
*/
|
|
25
30
|
export type Status = (typeof Status)[keyof typeof Status];
|
|
26
31
|
/**
|
|
27
|
-
* Subset of {@link Status}
|
|
32
|
+
* Subset of {@link Status} valid for a {@link NodeResult}.
|
|
28
33
|
*/
|
|
29
|
-
export type ResultStatus = typeof Status.COMPLETED | typeof Status.FAILED | typeof Status.CANCELLED;
|
|
34
|
+
export type ResultStatus = typeof Status.COMPLETED | typeof Status.FAILED | typeof Status.CANCELLED | typeof Status.INTERRUPTED;
|
|
30
35
|
/**
|
|
31
36
|
* Result of executing a single node.
|
|
32
37
|
*/
|
|
@@ -42,6 +47,8 @@ export declare class NodeResult {
|
|
|
42
47
|
readonly structuredOutput?: z.output<z.ZodType>;
|
|
43
48
|
/** Token usage from the node execution. */
|
|
44
49
|
readonly usage?: Usage;
|
|
50
|
+
/** Interrupts raised by the underlying agent/orchestrator. Present iff `status === 'INTERRUPTED'`. */
|
|
51
|
+
readonly interrupts?: Interrupt[];
|
|
45
52
|
constructor(data: {
|
|
46
53
|
nodeId: string;
|
|
47
54
|
status: ResultStatus;
|
|
@@ -50,6 +57,7 @@ export declare class NodeResult {
|
|
|
50
57
|
error?: Error;
|
|
51
58
|
structuredOutput?: z.output<z.ZodType>;
|
|
52
59
|
usage?: Usage;
|
|
60
|
+
interrupts?: Interrupt[];
|
|
53
61
|
});
|
|
54
62
|
/** Serializes this result to a JSON-compatible value. */
|
|
55
63
|
toJSON(): JSONValue;
|
|
@@ -75,6 +83,15 @@ export declare class NodeState implements StateSerializable {
|
|
|
75
83
|
/** Node execution start time in milliseconds since epoch. */
|
|
76
84
|
startTime: number;
|
|
77
85
|
readonly results: NodeResult[];
|
|
86
|
+
/** Unanswered interrupts raised during this node's most recent run. Populated when `status === 'INTERRUPTED'`. */
|
|
87
|
+
interrupts: Interrupt[];
|
|
88
|
+
/**
|
|
89
|
+
* Snapshot of the node's underlying runnable (Agent or nested orchestrator) captured
|
|
90
|
+
* when the node returned INTERRUPTED. Loaded back into the runnable on resume so it
|
|
91
|
+
* can pick up mid-execution without losing its interrupt bookkeeping. Cleared when
|
|
92
|
+
* the node completes.
|
|
93
|
+
*/
|
|
94
|
+
interruptedSnapshot?: Snapshot;
|
|
78
95
|
constructor();
|
|
79
96
|
/** Content from the most recent result, or empty array if none. */
|
|
80
97
|
get content(): readonly ContentBlock[];
|
|
@@ -96,18 +113,28 @@ export declare class MultiAgentResult {
|
|
|
96
113
|
readonly error?: Error;
|
|
97
114
|
/** Aggregated token usage across all node results. */
|
|
98
115
|
readonly usage: Usage;
|
|
116
|
+
/** Interrupts aggregated across all node results. Present when any node ended INTERRUPTED. */
|
|
117
|
+
readonly interrupts?: Interrupt[];
|
|
99
118
|
constructor(data: {
|
|
100
119
|
status?: ResultStatus;
|
|
101
120
|
results: NodeResult[];
|
|
102
121
|
content?: ContentBlock[];
|
|
103
122
|
duration: number;
|
|
104
123
|
error?: Error;
|
|
124
|
+
interrupts?: Interrupt[];
|
|
105
125
|
});
|
|
106
126
|
/** Serializes this result to a JSON-compatible value. */
|
|
107
127
|
toJSON(): JSONValue;
|
|
108
128
|
/** Creates a MultiAgentResult from a previously serialized JSON value. */
|
|
109
129
|
static fromJSON(data: JSONValue): MultiAgentResult;
|
|
110
|
-
/**
|
|
130
|
+
/**
|
|
131
|
+
* Derives the aggregate status from individual node results.
|
|
132
|
+
*
|
|
133
|
+
* Precedence: FAILED \> INTERRUPTED \> CANCELLED \> COMPLETED. INTERRUPTED outranks
|
|
134
|
+
* CANCELLED because parallel-graph short-circuit aborts siblings as CANCELLED when
|
|
135
|
+
* one node interrupts — the actionable "resume me" signal should surface over the
|
|
136
|
+
* collateral cancellations.
|
|
137
|
+
*/
|
|
111
138
|
private _resolveStatus;
|
|
112
139
|
/** Sums token usage across all node results. */
|
|
113
140
|
private _aggregateNodeUsage;
|
|
@@ -124,6 +151,15 @@ export declare class MultiAgentState implements StateSerializable {
|
|
|
124
151
|
readonly results: NodeResult[];
|
|
125
152
|
/** App-level key-value state accessible from hooks, edge handlers, and custom nodes. */
|
|
126
153
|
readonly app: StateStore;
|
|
154
|
+
/**
|
|
155
|
+
* The invocation's input, carried through an interrupt pause so that resuming a
|
|
156
|
+
* run (on the same instance, or via a SessionManager) can re-enter nodes that
|
|
157
|
+
* never ran (hook-gated source/start nodes) with the original content. Cleared
|
|
158
|
+
* when the invocation terminates in any non-INTERRUPTED state.
|
|
159
|
+
*
|
|
160
|
+
* @internal — not part of the public state shape; orchestrator-owned.
|
|
161
|
+
*/
|
|
162
|
+
_pendingInput?: MultiAgentInput;
|
|
127
163
|
private readonly _nodes;
|
|
128
164
|
constructor(data?: {
|
|
129
165
|
nodeIds?: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/multiagent/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,KAAK,YAAY,EAAwB,MAAM,sBAAsB,CAAA;AAC9E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAEnD,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAC5B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAEjD,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EAGjB,KAAK,iBAAiB,EACvB,MAAM,0BAA0B,CAAA;AAEjC;;GAEG;AACH,eAAO,MAAM,MAAM;IACjB,qCAAqC;;IAErC,0CAA0C;;IAE1C,uCAAuC;;IAEvC,sCAAsC;;IAEtC,2DAA2D;;
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/multiagent/state.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { StateStore } from '../state-store.js';
|
|
|
2
2
|
import { contentBlockFromData } from '../types/messages.js';
|
|
3
3
|
import { accumulateUsage, createEmptyUsage } from '../models/streaming.js';
|
|
4
4
|
import { normalizeError, serializeError } from '../errors.js';
|
|
5
|
+
import { Interrupt } from '../interrupt.js';
|
|
5
6
|
import { loadStateFromJSONSymbol, stateToJSONSymbol, serializeStateSerializable, loadStateSerializable, } from '../types/serializable.js';
|
|
6
7
|
/**
|
|
7
8
|
* Execution lifecycle status shared across all multi-agent patterns.
|
|
@@ -17,6 +18,8 @@ export const Status = {
|
|
|
17
18
|
FAILED: 'FAILED',
|
|
18
19
|
/** Execution was cancelled before or during processing. */
|
|
19
20
|
CANCELLED: 'CANCELLED',
|
|
21
|
+
/** Execution paused awaiting an interrupt response; can be resumed. */
|
|
22
|
+
INTERRUPTED: 'INTERRUPTED',
|
|
20
23
|
};
|
|
21
24
|
/**
|
|
22
25
|
* Result of executing a single node.
|
|
@@ -33,6 +36,8 @@ export class NodeResult {
|
|
|
33
36
|
structuredOutput;
|
|
34
37
|
/** Token usage from the node execution. */
|
|
35
38
|
usage;
|
|
39
|
+
/** Interrupts raised by the underlying agent/orchestrator. Present iff `status === 'INTERRUPTED'`. */
|
|
40
|
+
interrupts;
|
|
36
41
|
constructor(data) {
|
|
37
42
|
this.nodeId = data.nodeId;
|
|
38
43
|
this.status = data.status;
|
|
@@ -44,6 +49,8 @@ export class NodeResult {
|
|
|
44
49
|
this.structuredOutput = data.structuredOutput;
|
|
45
50
|
if ('usage' in data)
|
|
46
51
|
this.usage = data.usage;
|
|
52
|
+
if (data.interrupts && data.interrupts.length > 0)
|
|
53
|
+
this.interrupts = data.interrupts;
|
|
47
54
|
}
|
|
48
55
|
/** Serializes this result to a JSON-compatible value. */
|
|
49
56
|
toJSON() {
|
|
@@ -56,6 +63,7 @@ export class NodeResult {
|
|
|
56
63
|
...(this.error && { error: serializeError(this.error) }),
|
|
57
64
|
...(this.structuredOutput !== undefined && { structuredOutput: this.structuredOutput }),
|
|
58
65
|
...(this.usage && { usage: { ...this.usage } }),
|
|
66
|
+
...(this.interrupts && { interrupts: this.interrupts.map((i) => i.toJSON()) }),
|
|
59
67
|
};
|
|
60
68
|
}
|
|
61
69
|
/** Creates a NodeResult from a previously serialized JSON value. */
|
|
@@ -69,6 +77,9 @@ export class NodeResult {
|
|
|
69
77
|
...(json.error && { error: normalizeError(json.error) }),
|
|
70
78
|
...(json.structuredOutput !== undefined && { structuredOutput: json.structuredOutput }),
|
|
71
79
|
...(json.usage && { usage: json.usage }),
|
|
80
|
+
...(json.interrupts && {
|
|
81
|
+
interrupts: json.interrupts.map((i) => Interrupt.fromJSON(i)),
|
|
82
|
+
}),
|
|
72
83
|
});
|
|
73
84
|
}
|
|
74
85
|
}
|
|
@@ -83,11 +94,21 @@ export class NodeState {
|
|
|
83
94
|
/** Node execution start time in milliseconds since epoch. */
|
|
84
95
|
startTime;
|
|
85
96
|
results;
|
|
97
|
+
/** Unanswered interrupts raised during this node's most recent run. Populated when `status === 'INTERRUPTED'`. */
|
|
98
|
+
interrupts;
|
|
99
|
+
/**
|
|
100
|
+
* Snapshot of the node's underlying runnable (Agent or nested orchestrator) captured
|
|
101
|
+
* when the node returned INTERRUPTED. Loaded back into the runnable on resume so it
|
|
102
|
+
* can pick up mid-execution without losing its interrupt bookkeeping. Cleared when
|
|
103
|
+
* the node completes.
|
|
104
|
+
*/
|
|
105
|
+
interruptedSnapshot;
|
|
86
106
|
constructor() {
|
|
87
107
|
this.status = Status.PENDING;
|
|
88
108
|
this.terminus = false;
|
|
89
109
|
this.startTime = Date.now();
|
|
90
110
|
this.results = [];
|
|
111
|
+
this.interrupts = [];
|
|
91
112
|
}
|
|
92
113
|
/** Content from the most recent result, or empty array if none. */
|
|
93
114
|
get content() {
|
|
@@ -101,6 +122,8 @@ export class NodeState {
|
|
|
101
122
|
terminus: this.terminus,
|
|
102
123
|
startTime: this.startTime,
|
|
103
124
|
results: this.results.map((res) => res.toJSON()),
|
|
125
|
+
interrupts: this.interrupts.map((i) => i.toJSON()),
|
|
126
|
+
...(this.interruptedSnapshot && { interruptedSnapshot: { ...this.interruptedSnapshot } }),
|
|
104
127
|
};
|
|
105
128
|
}
|
|
106
129
|
/** Loads state from a previously serialized JSON value. */
|
|
@@ -113,6 +136,13 @@ export class NodeState {
|
|
|
113
136
|
for (const entry of data.results) {
|
|
114
137
|
this.results.push(NodeResult.fromJSON(entry));
|
|
115
138
|
}
|
|
139
|
+
this.interrupts = (data.interrupts ?? []).map((i) => Interrupt.fromJSON(i));
|
|
140
|
+
if (data.interruptedSnapshot) {
|
|
141
|
+
this.interruptedSnapshot = data.interruptedSnapshot;
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
delete this.interruptedSnapshot;
|
|
145
|
+
}
|
|
116
146
|
}
|
|
117
147
|
}
|
|
118
148
|
/**
|
|
@@ -128,6 +158,8 @@ export class MultiAgentResult {
|
|
|
128
158
|
error;
|
|
129
159
|
/** Aggregated token usage across all node results. */
|
|
130
160
|
usage;
|
|
161
|
+
/** Interrupts aggregated across all node results. Present when any node ended INTERRUPTED. */
|
|
162
|
+
interrupts;
|
|
131
163
|
constructor(data) {
|
|
132
164
|
this.status = data.status ?? this._resolveStatus(data.results);
|
|
133
165
|
this.results = data.results;
|
|
@@ -136,6 +168,9 @@ export class MultiAgentResult {
|
|
|
136
168
|
if ('error' in data)
|
|
137
169
|
this.error = data.error;
|
|
138
170
|
this.usage = this._aggregateNodeUsage(data.results);
|
|
171
|
+
const interrupts = data.interrupts ?? data.results.flatMap((r) => r.interrupts ?? []);
|
|
172
|
+
if (interrupts.length > 0)
|
|
173
|
+
this.interrupts = interrupts;
|
|
139
174
|
}
|
|
140
175
|
/** Serializes this result to a JSON-compatible value. */
|
|
141
176
|
toJSON() {
|
|
@@ -147,6 +182,7 @@ export class MultiAgentResult {
|
|
|
147
182
|
duration: this.duration,
|
|
148
183
|
usage: { ...this.usage },
|
|
149
184
|
...(this.error && { error: serializeError(this.error) }),
|
|
185
|
+
...(this.interrupts && { interrupts: this.interrupts.map((i) => i.toJSON()) }),
|
|
150
186
|
};
|
|
151
187
|
}
|
|
152
188
|
/** Creates a MultiAgentResult from a previously serialized JSON value. */
|
|
@@ -158,12 +194,24 @@ export class MultiAgentResult {
|
|
|
158
194
|
content: json.content.map((c) => contentBlockFromData(c)),
|
|
159
195
|
duration: json.duration,
|
|
160
196
|
...(json.error && { error: normalizeError(json.error) }),
|
|
197
|
+
...(json.interrupts && {
|
|
198
|
+
interrupts: json.interrupts.map((i) => Interrupt.fromJSON(i)),
|
|
199
|
+
}),
|
|
161
200
|
});
|
|
162
201
|
}
|
|
163
|
-
/**
|
|
202
|
+
/**
|
|
203
|
+
* Derives the aggregate status from individual node results.
|
|
204
|
+
*
|
|
205
|
+
* Precedence: FAILED \> INTERRUPTED \> CANCELLED \> COMPLETED. INTERRUPTED outranks
|
|
206
|
+
* CANCELLED because parallel-graph short-circuit aborts siblings as CANCELLED when
|
|
207
|
+
* one node interrupts — the actionable "resume me" signal should surface over the
|
|
208
|
+
* collateral cancellations.
|
|
209
|
+
*/
|
|
164
210
|
_resolveStatus(results) {
|
|
165
211
|
if (results.some((result) => result.status === Status.FAILED))
|
|
166
212
|
return Status.FAILED;
|
|
213
|
+
if (results.some((result) => result.status === Status.INTERRUPTED))
|
|
214
|
+
return Status.INTERRUPTED;
|
|
167
215
|
if (results.some((result) => result.status === Status.CANCELLED))
|
|
168
216
|
return Status.CANCELLED;
|
|
169
217
|
return Status.COMPLETED;
|
|
@@ -179,6 +227,21 @@ export class MultiAgentResult {
|
|
|
179
227
|
return usage;
|
|
180
228
|
}
|
|
181
229
|
}
|
|
230
|
+
/**
|
|
231
|
+
* Rehydrates a serialized `_pendingInput` back to its runtime shape. `string` round-trips
|
|
232
|
+
* as-is; array inputs (which serialize as `ContentBlockData[]` via each block's `toJSON`)
|
|
233
|
+
* are mapped through `contentBlockFromData` so downstream callers see `ContentBlock[]`
|
|
234
|
+
* instead of raw data objects.
|
|
235
|
+
*/
|
|
236
|
+
function rehydratePendingInput(value) {
|
|
237
|
+
if (typeof value === 'string')
|
|
238
|
+
return value;
|
|
239
|
+
if (Array.isArray(value)) {
|
|
240
|
+
return value.map((entry) => contentBlockFromData(entry));
|
|
241
|
+
}
|
|
242
|
+
// Unexpected shape — pass through so callers see the exact value and can diagnose.
|
|
243
|
+
return value;
|
|
244
|
+
}
|
|
182
245
|
/**
|
|
183
246
|
* Per-execution state for multi-agent orchestration, created fresh each invocation.
|
|
184
247
|
*/
|
|
@@ -191,6 +254,15 @@ export class MultiAgentState {
|
|
|
191
254
|
results;
|
|
192
255
|
/** App-level key-value state accessible from hooks, edge handlers, and custom nodes. */
|
|
193
256
|
app;
|
|
257
|
+
/**
|
|
258
|
+
* The invocation's input, carried through an interrupt pause so that resuming a
|
|
259
|
+
* run (on the same instance, or via a SessionManager) can re-enter nodes that
|
|
260
|
+
* never ran (hook-gated source/start nodes) with the original content. Cleared
|
|
261
|
+
* when the invocation terminates in any non-INTERRUPTED state.
|
|
262
|
+
*
|
|
263
|
+
* @internal — not part of the public state shape; orchestrator-owned.
|
|
264
|
+
*/
|
|
265
|
+
_pendingInput;
|
|
194
266
|
_nodes;
|
|
195
267
|
constructor(data) {
|
|
196
268
|
this.startTime = Date.now();
|
|
@@ -229,6 +301,7 @@ export class MultiAgentState {
|
|
|
229
301
|
results: this.results.map((result) => result.toJSON()),
|
|
230
302
|
app: serializeStateSerializable(this.app),
|
|
231
303
|
nodes,
|
|
304
|
+
...(this._pendingInput !== undefined && { _pendingInput: this._pendingInput }),
|
|
232
305
|
};
|
|
233
306
|
}
|
|
234
307
|
/** Loads state from a previously serialized JSON value. */
|
|
@@ -250,6 +323,12 @@ export class MultiAgentState {
|
|
|
250
323
|
this._nodes.set(id, nodeState);
|
|
251
324
|
}
|
|
252
325
|
}
|
|
326
|
+
if (data._pendingInput !== undefined) {
|
|
327
|
+
this._pendingInput = rehydratePendingInput(data._pendingInput);
|
|
328
|
+
}
|
|
329
|
+
else {
|
|
330
|
+
delete this._pendingInput;
|
|
331
|
+
}
|
|
253
332
|
}
|
|
254
333
|
}
|
|
255
334
|
//# sourceMappingURL=state.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/multiagent/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAqB,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAE9E,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAG1E,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7D,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,0BAA0B,EAC1B,qBAAqB,GAEtB,MAAM,0BAA0B,CAAA;AAEjC;;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;
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/multiagent/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAqB,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAE9E,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAG1E,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAG3C,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,0BAA0B,EAC1B,qBAAqB,GAEtB,MAAM,0BAA0B,CAAA;AAEjC;;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;IACtB,uEAAuE;IACvE,WAAW,EAAE,aAAa;CAClB,CAAA;AAgBV;;GAEG;AACH,MAAM,OAAO,UAAU;IACZ,IAAI,GAAG,YAAqB,CAAA;IAC5B,MAAM,CAAQ;IACd,MAAM,CAAc;IAC7B,sCAAsC;IAC7B,QAAQ,CAAQ;IAChB,OAAO,CAAgB;IACvB,KAAK,CAAQ;IACtB,6DAA6D;IACpD,gBAAgB,CAAsB;IAC/C,2CAA2C;IAClC,KAAK,CAAQ;IACtB,sGAAsG;IAC7F,UAAU,CAAc;IAEjC,YAAY,IASX;QACC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QACzB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAA;QACjC,IAAI,OAAO,IAAI,IAAI;YAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QAC5C,IAAI,kBAAkB,IAAI,IAAI;YAAE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAA;QAC7E,IAAI,OAAO,IAAI,IAAI;YAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QAC5C,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;IACtF,CAAC;IAED,yDAAyD;IACzD,MAAM;QACJ,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACpD,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACxD,GAAG,CAAC,IAAI,CAAC,gBAAgB,KAAK,SAAS,IAAI,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAA6B,EAAE,CAAC;YACpG,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;YAC/C,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;SAClE,CAAA;IAChB,CAAC;IAED,oEAAoE;IACpE,MAAM,CAAC,QAAQ,CAAC,IAAe;QAC7B,MAAM,IAAI,GAAG,IAAiC,CAAA;QAC9C,OAAO,IAAI,UAAU,CAAC;YACpB,MAAM,EAAE,IAAI,CAAC,MAAgB;YAC7B,MAAM,EAAE,IAAI,CAAC,MAAsB;YACnC,QAAQ,EAAE,IAAI,CAAC,QAAkB;YACjC,OAAO,EAAG,IAAI,CAAC,OAAuB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAU,CAAC,CAAC;YACnF,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACxD,GAAG,CAAC,IAAI,CAAC,gBAAgB,KAAK,SAAS,IAAI,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACvF,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAyB,EAAE,CAAC;YAC5D,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI;gBACrB,UAAU,EAAG,IAAI,CAAC,UAA0B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAU,CAAC,CAAC;aACxF,CAAC;SACH,CAAC,CAAA;IACJ,CAAC;CACF;AAWD;;GAEG;AACH,MAAM,OAAO,SAAS;IACX,IAAI,GAAG,WAAoB,CAAA;IACpC,MAAM,CAAQ;IACd,gFAAgF;IAChF,QAAQ,CAAS;IACjB,6DAA6D;IAC7D,SAAS,CAAQ;IACR,OAAO,CAAc;IAC9B,kHAAkH;IAClH,UAAU,CAAa;IACvB;;;;;OAKG;IACH,mBAAmB,CAAW;IAE9B;QACE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAA;QAC5B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAA;QACrB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC3B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;QACjB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAA;IACtB,CAAC;IAED,mEAAmE;IACnE,IAAI,OAAO;QACT,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAClD,OAAO,IAAI,EAAE,OAAO,IAAI,EAAE,CAAA;IAC5B,CAAC;IAED,oDAAoD;IACpD,CAAC,iBAAiB,CAAC;QACjB,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;YAChD,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YAClD,GAAG,CAAC,IAAI,CAAC,mBAAmB,IAAI,EAAE,mBAAmB,EAAE,EAAE,GAAG,IAAI,CAAC,mBAAmB,EAAE,EAAE,CAAC;SAC7E,CAAA;IAChB,CAAC;IAED,2DAA2D;IAC3D,CAAC,uBAAuB,CAAC,CAAC,IAAe;QACvC,MAAM,IAAI,GAAG,IAAiC,CAAA;QAC9C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAgB,CAAA;QACnC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAmB,CAAA;QACxC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAmB,CAAA;QACzC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAA;QACvB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAsB,EAAE,CAAC;YAChD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;QAC/C,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,CAAE,IAAI,CAAC,UAAsC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAU,CAAC,CAAC,CAAA;QACjH,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAA0C,CAAA;QAC5E,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,mBAAmB,CAAA;QACjC,CAAC;IACH,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAClB,IAAI,GAAG,kBAA2B,CAAA;IAClC,MAAM,CAAc;IACpB,OAAO,CAAc;IAC9B,iEAAiE;IACxD,OAAO,CAAgB;IACvB,QAAQ,CAAQ;IAChB,KAAK,CAAQ;IACtB,sDAAsD;IAC7C,KAAK,CAAO;IACrB,8FAA8F;IACrF,UAAU,CAAc;IAEjC,YAAY,IAOX;QACC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC9D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAA;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC7B,IAAI,OAAO,IAAI,IAAI;YAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QAC5C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACnD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAA;QACrF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;IACzD,CAAC;IAED,yDAAyD;IACzD,MAAM;QACJ,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACtD,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACpD,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE;YACxB,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACxD,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;SAClE,CAAA;IAChB,CAAC;IAED,0EAA0E;IAC1E,MAAM,CAAC,QAAQ,CAAC,IAAe;QAC7B,MAAM,IAAI,GAAG,IAAiC,CAAA;QAC9C,OAAO,IAAI,gBAAgB,CAAC;YAC1B,MAAM,EAAE,IAAI,CAAC,MAAsB;YACnC,OAAO,EAAG,IAAI,CAAC,OAAuB,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC;YAC/D,OAAO,EAAG,IAAI,CAAC,OAAuB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAU,CAAC,CAAC;YACnF,QAAQ,EAAE,IAAI,CAAC,QAAkB;YACjC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACxD,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI;gBACrB,UAAU,EAAG,IAAI,CAAC,UAA0B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAU,CAAC,CAAC;aACxF,CAAC;SACH,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;OAOG;IACK,cAAc,CAAC,OAAqB;QAC1C,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC,MAAM,CAAA;QACnF,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,WAAW,CAAC;YAAE,OAAO,MAAM,CAAC,WAAW,CAAA;QAC7F,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,SAAS,CAAC;YAAE,OAAO,MAAM,CAAC,SAAS,CAAA;QACzF,OAAO,MAAM,CAAC,SAAS,CAAA;IACzB,CAAC;IAED,gDAAgD;IACxC,mBAAmB,CAAC,OAAqB;QAC/C,MAAM,KAAK,GAAG,gBAAgB,EAAE,CAAA;QAChC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,KAAK;gBAAE,SAAQ;YAC3B,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;QACtC,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;CACF;AAED;;;;;GAKG;AACH,SAAS,qBAAqB,CAAC,KAAgB;IAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAQ,KAAqB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,KAAc,CAAC,CAAmB,CAAA;IACtG,CAAC;IACD,mFAAmF;IACnF,OAAO,KAAmC,CAAA;AAC5C,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,eAAe;IAC1B,wDAAwD;IAC/C,SAAS,CAAQ;IAC1B,gDAAgD;IAChD,KAAK,CAAQ;IACb,4CAA4C;IACnC,OAAO,CAAc;IAC9B,wFAAwF;IAC/E,GAAG,CAAY;IACxB;;;;;;;OAOG;IACH,aAAa,CAAkB;IACd,MAAM,CAAwB;IAE/C,YAAY,IAA6B;QACvC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC3B,IAAI,CAAC,KAAK,GAAG,CAAC,CAAA;QACd,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;QACjB,IAAI,CAAC,GAAG,GAAG,IAAI,UAAU,EAAE,CAAA;QAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,EAAE,CAAA;QACvB,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE,OAAO,IAAI,EAAE,EAAE,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,SAAS,EAAE,CAAC,CAAA;QACtC,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,EAAU;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAC5B,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED,oDAAoD;IACpD,CAAC,iBAAiB,CAAC;QACjB,MAAM,KAAK,GAA8B,EAAE,CAAA;QAC3C,KAAK,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC1C,KAAK,CAAC,EAAE,CAAC,GAAG,0BAA0B,CAAC,SAAS,CAAC,CAAA;QACnD,CAAC;QACD,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACtD,GAAG,EAAE,0BAA0B,CAAC,IAAI,CAAC,GAAG,CAAC;YACzC,KAAK;YACL,GAAG,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,aAAqC,EAAE,CAAC;SAC1F,CAAA;IAChB,CAAC;IAED,2DAA2D;IAC3D,CAAC,uBAAuB,CAAC,CAAC,IAAe;QACvC,MAAM,IAAI,GAAG,IAAiC,CAC7C;QAAC,IAA8B,CAAC,SAAS,GAAG,IAAI,CAAC,SAAmB,CAAA;QACrE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAe,CAAA;QACjC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAA;QACvB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAsB,EAAE,CAAC;YAChD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;QAC/C,CAAC;QACD,qBAAqB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAgB,CAAC,CAAA;QACtD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,KAA8C,CAAA;QACjE,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnD,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAA;gBACjC,qBAAqB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;gBAC1C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAA;YAChC,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACrC,IAAI,CAAC,aAAa,GAAG,qBAAqB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QAChE,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,aAAa,CAAA;QAC3B,CAAC;IACH,CAAC;CACF"}
|
|
@@ -88,6 +88,13 @@ export declare class Swarm implements MultiAgent {
|
|
|
88
88
|
readonly start: AgentNode;
|
|
89
89
|
readonly sessionManager?: SessionManager | undefined;
|
|
90
90
|
private _initialized;
|
|
91
|
+
/**
|
|
92
|
+
* State retained across invocations when a run ends INTERRUPTED. Lets
|
|
93
|
+
* `swarm.invoke(responses)` resume on the same instance without requiring a
|
|
94
|
+
* SessionManager, mirroring single-agent ergonomics. Cleared when a run
|
|
95
|
+
* terminates in any non-INTERRUPTED state.
|
|
96
|
+
*/
|
|
97
|
+
private _pendingInterruptState?;
|
|
91
98
|
constructor(options: SwarmOptions);
|
|
92
99
|
/**
|
|
93
100
|
* Initialize the swarm. Invokes the {@link MultiAgentInitializedEvent} callback.
|
|
@@ -120,11 +127,19 @@ export declare class Swarm implements MultiAgent {
|
|
|
120
127
|
*/
|
|
121
128
|
stream(input: MultiAgentInput, options?: MultiAgentInvokeOptions): AsyncGenerator<MultiAgentStreamEvent, MultiAgentResult, undefined>;
|
|
122
129
|
private _stream;
|
|
130
|
+
/** Invokes hook callbacks on an event, then yields it. */
|
|
131
|
+
private _emit;
|
|
123
132
|
private _streamNode;
|
|
124
133
|
private _validateConfig;
|
|
125
134
|
private _resolveNodes;
|
|
126
135
|
private _resolveStart;
|
|
127
136
|
private _resolveContent;
|
|
137
|
+
/**
|
|
138
|
+
* Builds the input for the next node after a handoff, or returns the input as-is
|
|
139
|
+
* when there is no handoff (initial or resume invocation). The caller passes the
|
|
140
|
+
* original `MultiAgentInput` through; resume responses flow through here untouched
|
|
141
|
+
* so the underlying agent sees them directly.
|
|
142
|
+
*/
|
|
128
143
|
private _resolveNodeInput;
|
|
129
144
|
/**
|
|
130
145
|
* Checks whether the swarm has exceeded its step limit with work still pending.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swarm.d.ts","sourceRoot":"","sources":["../../../src/multiagent/swarm.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAQ,MAAM,oBAAoB,CAAA;AAC9D,OAAO,KAAK,EAAmB,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"swarm.d.ts","sourceRoot":"","sources":["../../../src/multiagent/swarm.ts"],"names":[],"mappings":"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"}
|