@langchain/langgraph 0.2.61 → 0.2.63
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 +14 -0
- package/dist/constants.cjs +2 -1
- package/dist/constants.d.ts +1 -0
- package/dist/constants.js +1 -0
- package/dist/constants.js.map +1 -1
- package/dist/prebuilt/react_agent_executor.cjs +34 -13
- package/dist/prebuilt/react_agent_executor.d.ts +3 -0
- package/dist/prebuilt/react_agent_executor.js +34 -15
- package/dist/prebuilt/react_agent_executor.js.map +1 -1
- package/dist/prebuilt/tool_node.cjs +26 -4
- package/dist/prebuilt/tool_node.js +27 -5
- package/dist/prebuilt/tool_node.js.map +1 -1
- package/dist/pregel/debug.cjs +9 -7
- package/dist/pregel/debug.d.ts +10 -0
- package/dist/pregel/debug.js +2 -2
- package/dist/pregel/debug.js.map +1 -1
- package/dist/pregel/debug.test.cjs +189 -0
- package/dist/pregel/debug.test.d.ts +1 -0
- package/dist/pregel/debug.test.js +187 -0
- package/dist/pregel/debug.test.js.map +1 -0
- package/dist/pregel/index.cjs +12 -4
- package/dist/pregel/index.d.ts +3 -0
- package/dist/pregel/index.js +14 -6
- package/dist/pregel/index.js.map +1 -1
- package/dist/pregel/io.mapCommand.test.cjs +151 -0
- package/dist/pregel/io.mapCommand.test.d.ts +1 -0
- package/dist/pregel/io.mapCommand.test.js +149 -0
- package/dist/pregel/io.mapCommand.test.js.map +1 -0
- package/dist/pregel/messages.test.cjs +351 -0
- package/dist/pregel/messages.test.d.ts +1 -0
- package/dist/pregel/messages.test.js +349 -0
- package/dist/pregel/messages.test.js.map +1 -0
- package/dist/pregel/read.cjs +1 -1
- package/dist/pregel/read.js +1 -1
- package/dist/pregel/read.js.map +1 -1
- package/dist/pregel/read.test.cjs +194 -0
- package/dist/pregel/read.test.d.ts +1 -0
- package/dist/pregel/read.test.js +192 -0
- package/dist/pregel/read.test.js.map +1 -0
- package/dist/pregel/retry.cjs +5 -0
- package/dist/pregel/retry.d.ts +2 -0
- package/dist/pregel/retry.js +5 -0
- package/dist/pregel/retry.js.map +1 -1
- package/dist/pregel/runner.cjs +95 -27
- package/dist/pregel/runner.d.ts +14 -0
- package/dist/pregel/runner.js +97 -29
- package/dist/pregel/runner.js.map +1 -1
- package/dist/pregel/runner.test.cjs +66 -0
- package/dist/pregel/runner.test.d.ts +1 -0
- package/dist/pregel/runner.test.js +64 -0
- package/dist/pregel/runner.test.js.map +1 -0
- package/dist/pregel/stream.cjs +62 -1
- package/dist/pregel/stream.d.ts +23 -0
- package/dist/pregel/stream.js +60 -0
- package/dist/pregel/stream.js.map +1 -1
- package/dist/pregel/types.d.ts +19 -0
- package/dist/pregel/types.js.map +1 -1
- package/dist/pregel/utils/config.test.cjs +214 -0
- package/dist/pregel/utils/config.test.d.ts +1 -0
- package/dist/pregel/utils/config.test.js +212 -0
- package/dist/pregel/utils/config.test.js.map +1 -0
- package/dist/pregel/utils/index.cjs +26 -1
- package/dist/pregel/utils/index.d.ts +6 -0
- package/dist/pregel/utils/index.js +24 -0
- package/dist/pregel/utils/index.js.map +1 -1
- package/dist/pregel/utils/subgraph.test.cjs +83 -0
- package/dist/pregel/utils/subgraph.test.d.ts +1 -0
- package/dist/pregel/utils/subgraph.test.js +81 -0
- package/dist/pregel/utils/subgraph.test.js.map +1 -0
- package/dist/pregel/validate.test.cjs +220 -0
- package/dist/pregel/validate.test.d.ts +1 -0
- package/dist/pregel/validate.test.js +218 -0
- package/dist/pregel/validate.test.js.map +1 -0
- package/dist/pregel/write.test.cjs +181 -0
- package/dist/pregel/write.test.d.ts +1 -0
- package/dist/pregel/write.test.js +179 -0
- package/dist/pregel/write.test.js.map +1 -0
- package/package.json +1 -1
package/dist/pregel/runner.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { Call } from "./types.js";
|
|
2
|
-
import {
|
|
1
|
+
import { Call, } from "./types.js";
|
|
2
|
+
import { combineAbortSignals, patchConfigurable, } from "./utils/index.js";
|
|
3
|
+
import { CONFIG_KEY_SEND, CONFIG_KEY_SCRATCHPAD, PUSH, ERROR, INTERRUPT, RESUME, NO_WRITES, TAG_HIDDEN, RETURN, CONFIG_KEY_CALL, CONFIG_KEY_ABORT_SIGNALS, } from "../constants.js";
|
|
3
4
|
import { isGraphBubbleUp, isGraphInterrupt } from "../errors.js";
|
|
4
5
|
import { _runWithRetry } from "./retry.js";
|
|
5
6
|
/**
|
|
@@ -33,18 +34,23 @@ export class PregelRunner {
|
|
|
33
34
|
* @param options - Options for the execution.
|
|
34
35
|
*/
|
|
35
36
|
async tick(options = {}) {
|
|
36
|
-
const { timeout,
|
|
37
|
+
const { timeout, retryPolicy, onStepWrite, maxConcurrency } = options;
|
|
37
38
|
const nodeErrors = new Set();
|
|
38
39
|
let graphBubbleUp;
|
|
40
|
+
const exceptionSignalController = new AbortController();
|
|
39
41
|
// Start task execution
|
|
40
42
|
const pendingTasks = Object.values(this.loop.tasks).filter((t) => t.writes.length === 0);
|
|
43
|
+
const currentSignals = this._initializeAbortSignals({
|
|
44
|
+
exceptionSignalController,
|
|
45
|
+
timeout,
|
|
46
|
+
signal: options.signal,
|
|
47
|
+
});
|
|
41
48
|
const taskStream = this._executeTasksWithRetry(pendingTasks, {
|
|
42
|
-
|
|
43
|
-
signal,
|
|
49
|
+
signals: currentSignals,
|
|
44
50
|
retryPolicy,
|
|
45
51
|
maxConcurrency,
|
|
46
52
|
});
|
|
47
|
-
for await (const { task, error } of taskStream) {
|
|
53
|
+
for await (const { task, error, signalAborted } of taskStream) {
|
|
48
54
|
this._commit(task, error);
|
|
49
55
|
if (isGraphInterrupt(error)) {
|
|
50
56
|
graphBubbleUp = error;
|
|
@@ -52,7 +58,22 @@ export class PregelRunner {
|
|
|
52
58
|
else if (isGraphBubbleUp(error) && !isGraphInterrupt(graphBubbleUp)) {
|
|
53
59
|
graphBubbleUp = error;
|
|
54
60
|
}
|
|
55
|
-
else if (error) {
|
|
61
|
+
else if (error && (nodeErrors.size === 0 || !signalAborted)) {
|
|
62
|
+
/*
|
|
63
|
+
* The goal here is to capture the exception that causes the graph to terminate early. In
|
|
64
|
+
* theory it's possible for multiple nodes to throw, so this also handles the edge case of
|
|
65
|
+
* capturing concurrent exceptions thrown before the node saw an abort. This is checked via
|
|
66
|
+
* the signalAborted flag, which records the state of the abort signal at the time the node
|
|
67
|
+
* execution finished.
|
|
68
|
+
*
|
|
69
|
+
* There is a case however where one node throws some error causing us to trigger an abort,
|
|
70
|
+
* which then causes other concurrently executing nodes to throw their own AbortErrors. In
|
|
71
|
+
* this case we don't care about reporting the abort errors thrown by the other nodes,
|
|
72
|
+
* because they don't tell the user anything about what caused the graph execution to
|
|
73
|
+
* terminate early, so we ignore them (and any other errors that occur after the node sees
|
|
74
|
+
* an abort signal).
|
|
75
|
+
*/
|
|
76
|
+
exceptionSignalController.abort();
|
|
56
77
|
nodeErrors.add(error);
|
|
57
78
|
}
|
|
58
79
|
}
|
|
@@ -72,14 +93,60 @@ export class PregelRunner {
|
|
|
72
93
|
throw graphBubbleUp;
|
|
73
94
|
}
|
|
74
95
|
}
|
|
96
|
+
/**
|
|
97
|
+
* Initializes the current AbortSignals for the PregelRunner, handling the various ways that
|
|
98
|
+
* AbortSignals must be chained together so that the PregelLoop can be interrupted if necessary
|
|
99
|
+
* while still allowing nodes to gracefully exit.
|
|
100
|
+
*
|
|
101
|
+
* This method must only be called once per PregelRunner#tick. It has the side effect of updating
|
|
102
|
+
* the PregelLoop#config with the new AbortSignals so they may be propagated correctly to future
|
|
103
|
+
* ticks and subgraph calls.
|
|
104
|
+
*
|
|
105
|
+
* @param options - Options for the initialization.
|
|
106
|
+
* @returns The current abort signals.
|
|
107
|
+
* @internal
|
|
108
|
+
*/
|
|
109
|
+
_initializeAbortSignals({ exceptionSignalController, timeout, signal, }) {
|
|
110
|
+
const previousSignals = this.loop.config.configurable?.[CONFIG_KEY_ABORT_SIGNALS] ?? {};
|
|
111
|
+
// This is true when a node calls a subgraph and, rather than forwarding its own AbortSignal,
|
|
112
|
+
// it creates a new AbortSignal and passes that along instead.
|
|
113
|
+
const subgraphCalledWithSignalCreatedByNode = signal &&
|
|
114
|
+
previousSignals.composedAbortSignal &&
|
|
115
|
+
signal !== previousSignals.composedAbortSignal;
|
|
116
|
+
const externalAbortSignal = subgraphCalledWithSignalCreatedByNode
|
|
117
|
+
? // Chain the signals here to make sure that the subgraph receives the external abort signal in
|
|
118
|
+
// addition to the signal created by the node.
|
|
119
|
+
combineAbortSignals(previousSignals.externalAbortSignal, signal)
|
|
120
|
+
: // Otherwise, just keep using the external abort signal, or initialize it if it hasn't been
|
|
121
|
+
// assigned yet
|
|
122
|
+
previousSignals.externalAbortSignal ?? signal;
|
|
123
|
+
const errorAbortSignal = previousSignals.errorAbortSignal
|
|
124
|
+
? // Chaining here rather than always using a fresh one handles the case where a subgraph is
|
|
125
|
+
// called in a parallel branch to some other node in the parent graph.
|
|
126
|
+
combineAbortSignals(previousSignals.errorAbortSignal, exceptionSignalController.signal)
|
|
127
|
+
: exceptionSignalController.signal;
|
|
128
|
+
const timeoutAbortSignal = timeout
|
|
129
|
+
? AbortSignal.timeout(timeout)
|
|
130
|
+
: undefined;
|
|
131
|
+
const composedAbortSignal = combineAbortSignals(...(externalAbortSignal ? [externalAbortSignal] : []), ...(timeoutAbortSignal ? [timeoutAbortSignal] : []), errorAbortSignal);
|
|
132
|
+
const currentSignals = {
|
|
133
|
+
externalAbortSignal,
|
|
134
|
+
errorAbortSignal,
|
|
135
|
+
timeoutAbortSignal,
|
|
136
|
+
composedAbortSignal,
|
|
137
|
+
};
|
|
138
|
+
this.loop.config = patchConfigurable(this.loop.config, {
|
|
139
|
+
[CONFIG_KEY_ABORT_SIGNALS]: currentSignals,
|
|
140
|
+
});
|
|
141
|
+
return currentSignals;
|
|
142
|
+
}
|
|
75
143
|
/**
|
|
76
144
|
* Concurrently executes tasks with the requested retry policy, yielding a {@link SettledPregelTask} for each task as it completes.
|
|
77
145
|
* @param tasks - The tasks to execute.
|
|
78
146
|
* @param options - Options for the execution.
|
|
79
147
|
*/
|
|
80
148
|
async *_executeTasksWithRetry(tasks, options) {
|
|
81
|
-
const {
|
|
82
|
-
let signal = options?.signal;
|
|
149
|
+
const { retryPolicy, maxConcurrency, signals } = options ?? {};
|
|
83
150
|
const promiseAddedSymbol = Symbol.for("promiseAdded");
|
|
84
151
|
let addedPromiseSignal;
|
|
85
152
|
let addedPromiseWait;
|
|
@@ -193,29 +260,26 @@ export class PregelRunner {
|
|
|
193
260
|
}
|
|
194
261
|
return Promise.resolve();
|
|
195
262
|
}
|
|
196
|
-
if (
|
|
197
|
-
if ("any" in AbortSignal) {
|
|
198
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
199
|
-
signal = AbortSignal.any([
|
|
200
|
-
signal,
|
|
201
|
-
AbortSignal.timeout(stepTimeout),
|
|
202
|
-
]);
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
else if (stepTimeout) {
|
|
206
|
-
signal = AbortSignal.timeout(stepTimeout);
|
|
207
|
-
}
|
|
208
|
-
if (signal?.aborted) {
|
|
263
|
+
if (signals?.composedAbortSignal?.aborted) {
|
|
209
264
|
// note: don't use throwIfAborted here because it throws a DOMException,
|
|
210
265
|
// which isn't consistent with how we throw on abort below.
|
|
211
266
|
throw new Error("Abort");
|
|
212
267
|
}
|
|
213
268
|
let startedTasksCount = 0;
|
|
214
269
|
let listener;
|
|
215
|
-
const
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
270
|
+
const timeoutOrCancelSignal = signals?.externalAbortSignal || signals?.timeoutAbortSignal
|
|
271
|
+
? combineAbortSignals(...(signals.externalAbortSignal
|
|
272
|
+
? [signals.externalAbortSignal]
|
|
273
|
+
: []), ...(signals.timeoutAbortSignal ? [signals.timeoutAbortSignal] : []))
|
|
274
|
+
: undefined;
|
|
275
|
+
const abortPromise = timeoutOrCancelSignal
|
|
276
|
+
? new Promise((_resolve, reject) => {
|
|
277
|
+
listener = () => reject(new Error("Abort"));
|
|
278
|
+
timeoutOrCancelSignal.addEventListener("abort", listener, {
|
|
279
|
+
once: true,
|
|
280
|
+
});
|
|
281
|
+
})
|
|
282
|
+
: undefined;
|
|
219
283
|
while ((startedTasksCount === 0 || Object.keys(executingTasksMap).length > 0) &&
|
|
220
284
|
tasks.length) {
|
|
221
285
|
for (; Object.values(executingTasksMap).length <
|
|
@@ -224,13 +288,17 @@ export class PregelRunner {
|
|
|
224
288
|
executingTasksMap[task.id] = _runWithRetry(task, retryPolicy, {
|
|
225
289
|
[CONFIG_KEY_SEND]: writer?.bind(null, this, task),
|
|
226
290
|
[CONFIG_KEY_CALL]: call?.bind(null, this, task),
|
|
227
|
-
}).catch((error) => {
|
|
228
|
-
return {
|
|
291
|
+
}, signals?.composedAbortSignal).catch((error) => {
|
|
292
|
+
return {
|
|
293
|
+
task,
|
|
294
|
+
error,
|
|
295
|
+
signalAborted: signals?.composedAbortSignal?.aborted,
|
|
296
|
+
};
|
|
229
297
|
});
|
|
230
298
|
}
|
|
231
299
|
const settledTask = await Promise.race([
|
|
232
300
|
...Object.values(executingTasksMap),
|
|
233
|
-
|
|
301
|
+
...(abortPromise ? [abortPromise] : []),
|
|
234
302
|
addedPromiseWait,
|
|
235
303
|
]);
|
|
236
304
|
if (settledTask === promiseAddedSymbol) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/pregel/runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/pregel/runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const globals_1 = require("@jest/globals");
|
|
4
|
+
const runner_js_1 = require("./runner.cjs");
|
|
5
|
+
(0, globals_1.describe)("PregelRunner", () => {
|
|
6
|
+
// Basic structure test
|
|
7
|
+
(0, globals_1.describe)("constructor", () => {
|
|
8
|
+
(0, globals_1.it)("should initialize without errors", () => {
|
|
9
|
+
const mockLoop = {};
|
|
10
|
+
const runner = new runner_js_1.PregelRunner({ loop: mockLoop });
|
|
11
|
+
(0, globals_1.expect)(runner).toBeInstanceOf(runner_js_1.PregelRunner);
|
|
12
|
+
});
|
|
13
|
+
});
|
|
14
|
+
// Simple behavior test with limited mocking
|
|
15
|
+
(0, globals_1.describe)("timeout option", () => {
|
|
16
|
+
(0, globals_1.it)("should pass timeout option to AbortSignal.timeout", async () => {
|
|
17
|
+
const mockLoop = {
|
|
18
|
+
config: {
|
|
19
|
+
configurable: {
|
|
20
|
+
thread_id: "1",
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
tasks: {},
|
|
24
|
+
step: 1,
|
|
25
|
+
isNested: false,
|
|
26
|
+
};
|
|
27
|
+
const timeoutSpy = globals_1.jest.spyOn(AbortSignal, "timeout");
|
|
28
|
+
const runner = new runner_js_1.PregelRunner({ loop: mockLoop });
|
|
29
|
+
try {
|
|
30
|
+
await runner.tick({ timeout: 5000 });
|
|
31
|
+
}
|
|
32
|
+
catch (e) {
|
|
33
|
+
// Ignore errors
|
|
34
|
+
}
|
|
35
|
+
(0, globals_1.expect)(timeoutSpy).toHaveBeenCalledWith(5000);
|
|
36
|
+
timeoutSpy.mockRestore();
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
// Testing the onStepWrite callback behavior
|
|
40
|
+
(0, globals_1.describe)("onStepWrite callback", () => {
|
|
41
|
+
(0, globals_1.it)("should call onStepWrite with the step number and writes", async () => {
|
|
42
|
+
// Create a minimal implementation
|
|
43
|
+
const mockOnStepWrite = globals_1.jest.fn();
|
|
44
|
+
const mockLoop = {
|
|
45
|
+
config: {
|
|
46
|
+
configurable: {
|
|
47
|
+
thread_id: "1",
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
tasks: {},
|
|
51
|
+
step: 42,
|
|
52
|
+
isNested: false,
|
|
53
|
+
};
|
|
54
|
+
const runner = new runner_js_1.PregelRunner({ loop: mockLoop });
|
|
55
|
+
try {
|
|
56
|
+
await runner.tick({ onStepWrite: mockOnStepWrite });
|
|
57
|
+
}
|
|
58
|
+
catch (e) {
|
|
59
|
+
// Ignore any errors from other parts of the code
|
|
60
|
+
}
|
|
61
|
+
// Verify the callback was called with the correct step number (42)
|
|
62
|
+
(0, globals_1.expect)(mockOnStepWrite).toHaveBeenCalledWith(42, globals_1.expect.any(Array));
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
//# sourceMappingURL=runner.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { describe, expect, it, jest } from "@jest/globals";
|
|
2
|
+
import { PregelRunner } from "./runner.js";
|
|
3
|
+
describe("PregelRunner", () => {
|
|
4
|
+
// Basic structure test
|
|
5
|
+
describe("constructor", () => {
|
|
6
|
+
it("should initialize without errors", () => {
|
|
7
|
+
const mockLoop = {};
|
|
8
|
+
const runner = new PregelRunner({ loop: mockLoop });
|
|
9
|
+
expect(runner).toBeInstanceOf(PregelRunner);
|
|
10
|
+
});
|
|
11
|
+
});
|
|
12
|
+
// Simple behavior test with limited mocking
|
|
13
|
+
describe("timeout option", () => {
|
|
14
|
+
it("should pass timeout option to AbortSignal.timeout", async () => {
|
|
15
|
+
const mockLoop = {
|
|
16
|
+
config: {
|
|
17
|
+
configurable: {
|
|
18
|
+
thread_id: "1",
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
tasks: {},
|
|
22
|
+
step: 1,
|
|
23
|
+
isNested: false,
|
|
24
|
+
};
|
|
25
|
+
const timeoutSpy = jest.spyOn(AbortSignal, "timeout");
|
|
26
|
+
const runner = new PregelRunner({ loop: mockLoop });
|
|
27
|
+
try {
|
|
28
|
+
await runner.tick({ timeout: 5000 });
|
|
29
|
+
}
|
|
30
|
+
catch (e) {
|
|
31
|
+
// Ignore errors
|
|
32
|
+
}
|
|
33
|
+
expect(timeoutSpy).toHaveBeenCalledWith(5000);
|
|
34
|
+
timeoutSpy.mockRestore();
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
// Testing the onStepWrite callback behavior
|
|
38
|
+
describe("onStepWrite callback", () => {
|
|
39
|
+
it("should call onStepWrite with the step number and writes", async () => {
|
|
40
|
+
// Create a minimal implementation
|
|
41
|
+
const mockOnStepWrite = jest.fn();
|
|
42
|
+
const mockLoop = {
|
|
43
|
+
config: {
|
|
44
|
+
configurable: {
|
|
45
|
+
thread_id: "1",
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
tasks: {},
|
|
49
|
+
step: 42,
|
|
50
|
+
isNested: false,
|
|
51
|
+
};
|
|
52
|
+
const runner = new PregelRunner({ loop: mockLoop });
|
|
53
|
+
try {
|
|
54
|
+
await runner.tick({ onStepWrite: mockOnStepWrite });
|
|
55
|
+
}
|
|
56
|
+
catch (e) {
|
|
57
|
+
// Ignore any errors from other parts of the code
|
|
58
|
+
}
|
|
59
|
+
// Verify the callback was called with the correct step number (42)
|
|
60
|
+
expect(mockOnStepWrite).toHaveBeenCalledWith(42, expect.any(Array));
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
//# sourceMappingURL=runner.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runner.test.js","sourceRoot":"","sources":["../../src/pregel/runner.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,uBAAuB;IACvB,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC1C,MAAM,QAAQ,GAAG,EAAgB,CAAC;YAClC,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;YACpD,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,4CAA4C;IAC5C,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;YACjE,MAAM,QAAQ,GAAG;gBACf,MAAM,EAAE;oBACN,YAAY,EAAE;wBACZ,SAAS,EAAE,GAAG;qBACf;iBACF;gBACD,KAAK,EAAE,EAAE;gBACT,IAAI,EAAE,CAAC;gBACP,QAAQ,EAAE,KAAK;aACS,CAAC;YAE3B,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;YACtD,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;YAEpD,IAAI;gBACF,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;aACtC;YAAC,OAAO,CAAC,EAAE;gBACV,gBAAgB;aACjB;YAED,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAC9C,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,4CAA4C;IAC5C,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACpC,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;YACvE,kCAAkC;YAClC,MAAM,eAAe,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG;gBACf,MAAM,EAAE;oBACN,YAAY,EAAE;wBACZ,SAAS,EAAE,GAAG;qBACf;iBACF;gBACD,KAAK,EAAE,EAAE;gBACT,IAAI,EAAE,EAAE;gBACR,QAAQ,EAAE,KAAK;aACS,CAAC;YAE3B,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;YAEpD,IAAI;gBACF,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC,CAAC;aACrD;YAAC,OAAO,CAAC,EAAE;gBACV,iDAAiD;aAClD;YAED,mEAAmE;YACnE,MAAM,CAAC,eAAe,CAAC,CAAC,oBAAoB,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/dist/pregel/stream.cjs
CHANGED
|
@@ -1,7 +1,68 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.IterableReadableWritableStream = void 0;
|
|
3
|
+
exports.IterableReadableWritableStream = exports.IterableReadableStreamWithAbortSignal = void 0;
|
|
4
4
|
const stream_1 = require("@langchain/core/utils/stream");
|
|
5
|
+
/**
|
|
6
|
+
* A wrapper around an IterableReadableStream that allows for aborting the stream when
|
|
7
|
+
* {@link cancel} is called.
|
|
8
|
+
*/
|
|
9
|
+
class IterableReadableStreamWithAbortSignal extends stream_1.IterableReadableStream {
|
|
10
|
+
/**
|
|
11
|
+
* @param readableStream - The stream to wrap.
|
|
12
|
+
* @param abortController - The abort controller to use. Optional. One will be created if not provided.
|
|
13
|
+
*/
|
|
14
|
+
constructor(readableStream, abortController) {
|
|
15
|
+
const reader = readableStream.getReader();
|
|
16
|
+
const ac = abortController ?? new AbortController();
|
|
17
|
+
super({
|
|
18
|
+
start(controller) {
|
|
19
|
+
return pump();
|
|
20
|
+
function pump() {
|
|
21
|
+
return reader.read().then(({ done, value }) => {
|
|
22
|
+
// When no more data needs to be consumed, close the stream
|
|
23
|
+
if (done) {
|
|
24
|
+
controller.close();
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
// Enqueue the next data chunk into our target stream
|
|
28
|
+
controller.enqueue(value);
|
|
29
|
+
return pump();
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
|
+
Object.defineProperty(this, "_abortController", {
|
|
35
|
+
enumerable: true,
|
|
36
|
+
configurable: true,
|
|
37
|
+
writable: true,
|
|
38
|
+
value: void 0
|
|
39
|
+
});
|
|
40
|
+
Object.defineProperty(this, "_reader", {
|
|
41
|
+
enumerable: true,
|
|
42
|
+
configurable: true,
|
|
43
|
+
writable: true,
|
|
44
|
+
value: void 0
|
|
45
|
+
});
|
|
46
|
+
this._abortController = ac;
|
|
47
|
+
this._reader = reader;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Aborts the stream, abandoning any pending operations in progress. Calling this triggers an
|
|
51
|
+
* {@link AbortSignal} that is propagated to the tasks that are producing the data for this stream.
|
|
52
|
+
* @param reason - The reason for aborting the stream. Optional.
|
|
53
|
+
*/
|
|
54
|
+
async cancel(reason) {
|
|
55
|
+
this._abortController.abort(reason);
|
|
56
|
+
this._reader.releaseLock();
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* The {@link AbortSignal} for the stream. Aborted when {@link cancel} is called.
|
|
60
|
+
*/
|
|
61
|
+
get signal() {
|
|
62
|
+
return this._abortController.signal;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
exports.IterableReadableStreamWithAbortSignal = IterableReadableStreamWithAbortSignal;
|
|
5
66
|
class IterableReadableWritableStream extends stream_1.IterableReadableStream {
|
|
6
67
|
get closed() {
|
|
7
68
|
return this._closed;
|
package/dist/pregel/stream.d.ts
CHANGED
|
@@ -1,6 +1,29 @@
|
|
|
1
1
|
import { IterableReadableStream } from "@langchain/core/utils/stream";
|
|
2
2
|
import { StreamMode } from "./types.js";
|
|
3
3
|
export type StreamChunk = [string[], StreamMode, unknown];
|
|
4
|
+
/**
|
|
5
|
+
* A wrapper around an IterableReadableStream that allows for aborting the stream when
|
|
6
|
+
* {@link cancel} is called.
|
|
7
|
+
*/
|
|
8
|
+
export declare class IterableReadableStreamWithAbortSignal<T> extends IterableReadableStream<T> {
|
|
9
|
+
protected _abortController: AbortController;
|
|
10
|
+
protected _reader: ReadableStreamDefaultReader<T>;
|
|
11
|
+
/**
|
|
12
|
+
* @param readableStream - The stream to wrap.
|
|
13
|
+
* @param abortController - The abort controller to use. Optional. One will be created if not provided.
|
|
14
|
+
*/
|
|
15
|
+
constructor(readableStream: ReadableStream<T>, abortController?: AbortController);
|
|
16
|
+
/**
|
|
17
|
+
* Aborts the stream, abandoning any pending operations in progress. Calling this triggers an
|
|
18
|
+
* {@link AbortSignal} that is propagated to the tasks that are producing the data for this stream.
|
|
19
|
+
* @param reason - The reason for aborting the stream. Optional.
|
|
20
|
+
*/
|
|
21
|
+
cancel(reason?: unknown): Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
* The {@link AbortSignal} for the stream. Aborted when {@link cancel} is called.
|
|
24
|
+
*/
|
|
25
|
+
get signal(): AbortSignal;
|
|
26
|
+
}
|
|
4
27
|
export declare class IterableReadableWritableStream extends IterableReadableStream<StreamChunk> {
|
|
5
28
|
modes: Set<StreamMode>;
|
|
6
29
|
private controller;
|
package/dist/pregel/stream.js
CHANGED
|
@@ -1,4 +1,64 @@
|
|
|
1
1
|
import { IterableReadableStream } from "@langchain/core/utils/stream";
|
|
2
|
+
/**
|
|
3
|
+
* A wrapper around an IterableReadableStream that allows for aborting the stream when
|
|
4
|
+
* {@link cancel} is called.
|
|
5
|
+
*/
|
|
6
|
+
export class IterableReadableStreamWithAbortSignal extends IterableReadableStream {
|
|
7
|
+
/**
|
|
8
|
+
* @param readableStream - The stream to wrap.
|
|
9
|
+
* @param abortController - The abort controller to use. Optional. One will be created if not provided.
|
|
10
|
+
*/
|
|
11
|
+
constructor(readableStream, abortController) {
|
|
12
|
+
const reader = readableStream.getReader();
|
|
13
|
+
const ac = abortController ?? new AbortController();
|
|
14
|
+
super({
|
|
15
|
+
start(controller) {
|
|
16
|
+
return pump();
|
|
17
|
+
function pump() {
|
|
18
|
+
return reader.read().then(({ done, value }) => {
|
|
19
|
+
// When no more data needs to be consumed, close the stream
|
|
20
|
+
if (done) {
|
|
21
|
+
controller.close();
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
// Enqueue the next data chunk into our target stream
|
|
25
|
+
controller.enqueue(value);
|
|
26
|
+
return pump();
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
});
|
|
31
|
+
Object.defineProperty(this, "_abortController", {
|
|
32
|
+
enumerable: true,
|
|
33
|
+
configurable: true,
|
|
34
|
+
writable: true,
|
|
35
|
+
value: void 0
|
|
36
|
+
});
|
|
37
|
+
Object.defineProperty(this, "_reader", {
|
|
38
|
+
enumerable: true,
|
|
39
|
+
configurable: true,
|
|
40
|
+
writable: true,
|
|
41
|
+
value: void 0
|
|
42
|
+
});
|
|
43
|
+
this._abortController = ac;
|
|
44
|
+
this._reader = reader;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Aborts the stream, abandoning any pending operations in progress. Calling this triggers an
|
|
48
|
+
* {@link AbortSignal} that is propagated to the tasks that are producing the data for this stream.
|
|
49
|
+
* @param reason - The reason for aborting the stream. Optional.
|
|
50
|
+
*/
|
|
51
|
+
async cancel(reason) {
|
|
52
|
+
this._abortController.abort(reason);
|
|
53
|
+
this._reader.releaseLock();
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* The {@link AbortSignal} for the stream. Aborted when {@link cancel} is called.
|
|
57
|
+
*/
|
|
58
|
+
get signal() {
|
|
59
|
+
return this._abortController.signal;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
2
62
|
export class IterableReadableWritableStream extends IterableReadableStream {
|
|
3
63
|
get closed() {
|
|
4
64
|
return this._closed;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/pregel/stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAMtE,MAAM,OAAO,8BAA+B,SAAQ,sBAAmC;IASrF,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,YAAY,MAGX;QACC,IAAI,+BAEK,CAAC;QACV,MAAM,uBAAuB,GAC3B,IAAI,OAAO,CAAkC,CAAC,OAAO,EAAE,EAAE;YACvD,+BAA+B,GAAG,OAAO,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEL,KAAK,CAAC;YACJ,KAAK,EAAE,CAAC,UAAU,EAAE,EAAE;gBACpB,+BAAgC,CAAC,UAAU,CAAC,CAAC;YAC/C,CAAC;SACF,CAAC,CAAC;QA5BL;;;;;WAAuB;QAEvB;;;;;WAAoD;QAEpD;;;;;WAAqD;QAErD;;;;mBAA2B,KAAK;WAAC;QAwB/B,qEAAqE;QACrE,cAAc;QACd,KAAK,uBAAuB,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE;YAC/C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAC1C,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC5B,CAAC;IAED,IAAI,CAAC,KAAkB;QACrB,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,KAAK;QACH,IAAI;YACF,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;SACzB;QAAC,OAAO,CAAC,EAAE;YACV,OAAO;SACR;gBAAS;YACR,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;SACrB;IACH,CAAC;IAED,8DAA8D;IAC9D,KAAK,CAAC,CAAM;QACV,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/pregel/stream.ts"],"names":[],"mappings":"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"}
|
package/dist/pregel/types.d.ts
CHANGED
|
@@ -329,6 +329,25 @@ export type PregelScratchpad<Resume = unknown> = {
|
|
|
329
329
|
/** The input to the currently executing task */
|
|
330
330
|
currentTaskInput: unknown;
|
|
331
331
|
};
|
|
332
|
+
/**
|
|
333
|
+
* @internal
|
|
334
|
+
*/
|
|
335
|
+
export type PregelAbortSignals = {
|
|
336
|
+
/** Aborts when the user calls `stream.cancel()` or aborts the {@link AbortSignal} that they passed in via the `signal` option */
|
|
337
|
+
externalAbortSignal?: AbortSignal;
|
|
338
|
+
/**
|
|
339
|
+
* Aborts when the currently executing task throws any error other than a {@link GraphBubbleUp}
|
|
340
|
+
*/
|
|
341
|
+
errorAbortSignal?: AbortSignal;
|
|
342
|
+
/**
|
|
343
|
+
* Aborts when the currently executing task throws any error other than a {@link GraphBubbleUp}
|
|
344
|
+
*/
|
|
345
|
+
timeoutAbortSignal?: AbortSignal;
|
|
346
|
+
/**
|
|
347
|
+
* A reference to the AbortSignal that is passed to the node. Aborts on step timeout, stream cancel, or when an error is thrown.
|
|
348
|
+
*/
|
|
349
|
+
composedAbortSignal?: AbortSignal;
|
|
350
|
+
};
|
|
332
351
|
export type CallOptions = {
|
|
333
352
|
func: (...args: unknown[]) => unknown | Promise<unknown>;
|
|
334
353
|
name: string;
|
package/dist/pregel/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/pregel/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/pregel/types.ts"],"names":[],"mappings":"AA2cA,MAAM,OAAO,IAAI;IAaf,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAe;QAZhE;;;;;WAAyD;QAEzD;;;;;WAAa;QAEb;;;;;WAAe;QAEf;;;;;WAAoB;QAEpB;;;;;WAAoB;QAEpB;;;;mBAAqB,MAAM;WAAC;QAG1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,UAAU,MAAM,CAAC,KAAc;IACnC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,WAAW,IAAI,KAAK;QACpB,KAAK,CAAC,SAAS,KAAK,MAAM,CAC3B,CAAC;AACJ,CAAC"}
|