@langchain/langgraph 0.4.5 → 0.4.7
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/CHANGELOG.md +20 -0
- package/dist/channels/base.cjs +33 -7
- package/dist/channels/base.d.ts +1 -0
- package/dist/channels/base.js +33 -8
- package/dist/channels/base.js.map +1 -1
- package/dist/graph/zod/meta.d.ts +0 -1
- package/dist/graph/zod/meta.js.map +1 -1
- package/dist/graph/zod/zod-registry.d.ts +10 -2
- package/dist/graph/zod/zod-registry.js.map +1 -1
- package/dist/pregel/algo.cjs +59 -49
- package/dist/pregel/algo.js +60 -50
- package/dist/pregel/algo.js.map +1 -1
- package/dist/pregel/debug.cjs +25 -3
- package/dist/pregel/debug.d.ts +1 -1
- package/dist/pregel/debug.js +25 -3
- package/dist/pregel/debug.js.map +1 -1
- package/dist/pregel/index.cjs +2 -6
- package/dist/pregel/index.d.ts +1 -1
- package/dist/pregel/index.js +3 -7
- package/dist/pregel/index.js.map +1 -1
- package/dist/pregel/loop.cjs +16 -2
- package/dist/pregel/loop.js +17 -3
- package/dist/pregel/loop.js.map +1 -1
- package/package.json +3 -3
package/dist/pregel/algo.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* eslint-disable no-param-reassign */
|
|
2
2
|
import { mergeConfigs, patchConfig, } from "@langchain/core/runnables";
|
|
3
3
|
import { copyCheckpoint, uuid5, maxChannelVersion, } from "@langchain/langgraph-checkpoint";
|
|
4
|
-
import { createCheckpoint, emptyChannels,
|
|
4
|
+
import { createCheckpoint, emptyChannels, getOnlyChannels, } from "../channels/base.js";
|
|
5
5
|
import { readChannel, readChannels } from "./io.js";
|
|
6
6
|
import { _isSend, _isSendInterface, CONFIG_KEY_CHECKPOINT_MAP, CHECKPOINT_NAMESPACE_SEPARATOR, CONFIG_KEY_CHECKPOINTER, CONFIG_KEY_READ, CONFIG_KEY_TASK_ID, CONFIG_KEY_SEND, INTERRUPT, RESERVED, Send, TAG_HIDDEN, TASKS, CHECKPOINT_NAMESPACE_END, PUSH, PULL, RESUME, NULL_TASK_ID, CONFIG_KEY_SCRATCHPAD, RETURN, ERROR, NO_WRITES, CONFIG_KEY_PREVIOUS_STATE, PREVIOUS, CACHE_NS_WRITES, CONFIG_KEY_RESUME_MAP, } from "../constants.js";
|
|
7
7
|
import { isCall, } from "./types.js";
|
|
@@ -12,20 +12,33 @@ import { XXH3 } from "../hash.js";
|
|
|
12
12
|
export const increment = (current) => {
|
|
13
13
|
return current !== undefined ? current + 1 : 1;
|
|
14
14
|
};
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
15
|
+
// Avoids unnecessary double iteration
|
|
16
|
+
function maxChannelMapVersion(channelVersions) {
|
|
17
|
+
let maxVersion;
|
|
18
|
+
for (const chan in channelVersions) {
|
|
19
|
+
if (!Object.prototype.hasOwnProperty.call(channelVersions, chan))
|
|
20
|
+
continue;
|
|
21
|
+
if (maxVersion == null) {
|
|
22
|
+
maxVersion = channelVersions[chan];
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
maxVersion = maxChannelVersion(maxVersion, channelVersions[chan]);
|
|
26
|
+
}
|
|
24
27
|
}
|
|
28
|
+
return maxVersion;
|
|
29
|
+
}
|
|
30
|
+
export function shouldInterrupt(checkpoint, interruptNodes, tasks) {
|
|
31
|
+
const nullVersion = getNullChannelVersion(checkpoint.channel_versions);
|
|
25
32
|
const seen = checkpoint.versions_seen[INTERRUPT] ?? {};
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
33
|
+
let anyChannelUpdated = false;
|
|
34
|
+
for (const chan in checkpoint.channel_versions) {
|
|
35
|
+
if (!Object.prototype.hasOwnProperty.call(checkpoint.channel_versions, chan))
|
|
36
|
+
continue;
|
|
37
|
+
if (checkpoint.channel_versions[chan] > (seen[chan] ?? nullVersion)) {
|
|
38
|
+
anyChannelUpdated = true;
|
|
39
|
+
break;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
29
42
|
const anyTriggeredNodeInInterruptNodes = tasks.some((task) => interruptNodes === "*"
|
|
30
43
|
? !task.config?.tags?.includes(TAG_HIDDEN)
|
|
31
44
|
: interruptNodes.includes(task.name));
|
|
@@ -105,7 +118,7 @@ getNextVersion, triggerToNodes) {
|
|
|
105
118
|
// so we don't do anything other than update the channels written to
|
|
106
119
|
const bumpStep = tasks.some((task) => task.triggers.length > 0);
|
|
107
120
|
// Filter out non instances of BaseChannel
|
|
108
|
-
const onlyChannels =
|
|
121
|
+
const onlyChannels = getOnlyChannels(channels);
|
|
109
122
|
// Update seen versions
|
|
110
123
|
for (const task of tasks) {
|
|
111
124
|
checkpoint.versions_seen[task.name] ??= {};
|
|
@@ -117,10 +130,7 @@ getNextVersion, triggerToNodes) {
|
|
|
117
130
|
}
|
|
118
131
|
}
|
|
119
132
|
// Find the highest version of all channels
|
|
120
|
-
let maxVersion;
|
|
121
|
-
if (Object.keys(checkpoint.channel_versions).length > 0) {
|
|
122
|
-
maxVersion = maxChannelVersion(...Object.values(checkpoint.channel_versions));
|
|
123
|
-
}
|
|
133
|
+
let maxVersion = maxChannelMapVersion(checkpoint.channel_versions);
|
|
124
134
|
// Consume all channels that were read
|
|
125
135
|
const channelsToConsume = new Set(tasks
|
|
126
136
|
.flatMap((task) => task.triggers)
|
|
@@ -146,18 +156,15 @@ getNextVersion, triggerToNodes) {
|
|
|
146
156
|
}
|
|
147
157
|
}
|
|
148
158
|
// Find the highest version of all channels
|
|
149
|
-
|
|
150
|
-
maxVersion = undefined;
|
|
151
|
-
if (Object.keys(checkpoint.channel_versions).length > 0) {
|
|
152
|
-
maxVersion = maxChannelVersion(...Object.values(checkpoint.channel_versions));
|
|
153
|
-
}
|
|
159
|
+
maxVersion = maxChannelMapVersion(checkpoint.channel_versions);
|
|
154
160
|
const updatedChannels = new Set();
|
|
155
161
|
// Apply writes to channels
|
|
156
162
|
for (const [chan, vals] of Object.entries(pendingWritesByChannel)) {
|
|
157
163
|
if (chan in onlyChannels) {
|
|
164
|
+
const channel = onlyChannels[chan];
|
|
158
165
|
let updated;
|
|
159
166
|
try {
|
|
160
|
-
updated =
|
|
167
|
+
updated = channel.update(vals);
|
|
161
168
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
162
169
|
}
|
|
163
170
|
catch (e) {
|
|
@@ -173,23 +180,24 @@ getNextVersion, triggerToNodes) {
|
|
|
173
180
|
if (updated && getNextVersion !== undefined) {
|
|
174
181
|
checkpoint.channel_versions[chan] = getNextVersion(maxVersion);
|
|
175
182
|
// unavailable channels can't trigger tasks, so don't add them
|
|
176
|
-
if (
|
|
183
|
+
if (channel.isAvailable())
|
|
177
184
|
updatedChannels.add(chan);
|
|
178
|
-
}
|
|
179
185
|
}
|
|
180
186
|
}
|
|
181
187
|
}
|
|
182
188
|
// Channels that weren't updated in this step are notified of a new step
|
|
183
189
|
if (bumpStep) {
|
|
184
|
-
for (const chan
|
|
185
|
-
if (
|
|
186
|
-
|
|
190
|
+
for (const chan in onlyChannels) {
|
|
191
|
+
if (!Object.prototype.hasOwnProperty.call(onlyChannels, chan))
|
|
192
|
+
continue;
|
|
193
|
+
const channel = onlyChannels[chan];
|
|
194
|
+
if (channel.isAvailable() && !updatedChannels.has(chan)) {
|
|
195
|
+
const updated = channel.update([]);
|
|
187
196
|
if (updated && getNextVersion !== undefined) {
|
|
188
197
|
checkpoint.channel_versions[chan] = getNextVersion(maxVersion);
|
|
189
198
|
// unavailable channels can't trigger tasks, so don't add them
|
|
190
|
-
if (
|
|
199
|
+
if (channel.isAvailable())
|
|
191
200
|
updatedChannels.add(chan);
|
|
192
|
-
}
|
|
193
201
|
}
|
|
194
202
|
}
|
|
195
203
|
}
|
|
@@ -197,13 +205,15 @@ getNextVersion, triggerToNodes) {
|
|
|
197
205
|
// If this is (tentatively) the last superstep, notify all channels of finish
|
|
198
206
|
if (bumpStep &&
|
|
199
207
|
!Object.keys(triggerToNodes ?? {}).some((channel) => updatedChannels.has(channel))) {
|
|
200
|
-
for (const chan
|
|
201
|
-
if (
|
|
208
|
+
for (const chan in onlyChannels) {
|
|
209
|
+
if (!Object.prototype.hasOwnProperty.call(onlyChannels, chan))
|
|
210
|
+
continue;
|
|
211
|
+
const channel = onlyChannels[chan];
|
|
212
|
+
if (channel.finish() && getNextVersion !== undefined) {
|
|
202
213
|
checkpoint.channel_versions[chan] = getNextVersion(maxVersion);
|
|
203
214
|
// unavailable channels can't trigger tasks, so don't add them
|
|
204
|
-
if (
|
|
215
|
+
if (channel.isAvailable())
|
|
205
216
|
updatedChannels.add(chan);
|
|
206
|
-
}
|
|
207
217
|
}
|
|
208
218
|
}
|
|
209
219
|
}
|
|
@@ -228,7 +238,9 @@ export function _prepareNextTasks(checkpoint, pendingWrites, processes, channels
|
|
|
228
238
|
}
|
|
229
239
|
// Check if any processes should be run in next step
|
|
230
240
|
// If so, prepare the values to be passed to them
|
|
231
|
-
for (const name
|
|
241
|
+
for (const name in processes) {
|
|
242
|
+
if (!Object.prototype.hasOwnProperty.call(processes, name))
|
|
243
|
+
continue;
|
|
232
244
|
const task = _prepareSingleTask([PULL, name], checkpoint, pendingWrites, processes, channels, config, forExecution, extra);
|
|
233
245
|
if (task !== undefined) {
|
|
234
246
|
tasks[task.id] = task;
|
|
@@ -478,17 +490,15 @@ export function _prepareSingleTask(taskPath, checkpoint, pendingWrites, processe
|
|
|
478
490
|
return undefined;
|
|
479
491
|
}
|
|
480
492
|
const seen = checkpoint.versions_seen[name] ?? {};
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
return (
|
|
486
|
-
(
|
|
487
|
-
|
|
488
|
-
})
|
|
489
|
-
.sort();
|
|
493
|
+
// Find the first trigger that is available and has a new version
|
|
494
|
+
const trigger = proc.triggers.find((chan) => {
|
|
495
|
+
if (!channels[chan].isAvailable())
|
|
496
|
+
return false;
|
|
497
|
+
return ((checkpoint.channel_versions[chan] ?? nullVersion) >
|
|
498
|
+
(seen[chan] ?? nullVersion));
|
|
499
|
+
});
|
|
490
500
|
// If any of the channels read by this process were updated
|
|
491
|
-
if (
|
|
501
|
+
if (trigger !== undefined) {
|
|
492
502
|
const val = _procInput(proc, channels, forExecution);
|
|
493
503
|
if (val === undefined) {
|
|
494
504
|
return undefined;
|
|
@@ -501,13 +511,13 @@ export function _prepareSingleTask(taskPath, checkpoint, pendingWrites, processe
|
|
|
501
511
|
step.toString(),
|
|
502
512
|
name,
|
|
503
513
|
PULL,
|
|
504
|
-
|
|
514
|
+
[trigger],
|
|
505
515
|
]), checkpoint.id);
|
|
506
516
|
const taskCheckpointNamespace = `${checkpointNamespace}${CHECKPOINT_NAMESPACE_END}${taskId}`;
|
|
507
517
|
let metadata = {
|
|
508
518
|
langgraph_step: step,
|
|
509
519
|
langgraph_node: name,
|
|
510
|
-
langgraph_triggers:
|
|
520
|
+
langgraph_triggers: [trigger],
|
|
511
521
|
langgraph_path: taskPath,
|
|
512
522
|
langgraph_checkpoint_ns: taskCheckpointNamespace,
|
|
513
523
|
};
|
|
@@ -540,7 +550,7 @@ export function _prepareSingleTask(taskPath, checkpoint, pendingWrites, processe
|
|
|
540
550
|
[CONFIG_KEY_READ]: (select_, fresh_ = false) => _localRead(checkpoint, channels, {
|
|
541
551
|
name,
|
|
542
552
|
writes: writes,
|
|
543
|
-
triggers,
|
|
553
|
+
triggers: [trigger],
|
|
544
554
|
path: taskPath,
|
|
545
555
|
}, select_, fresh_),
|
|
546
556
|
[CONFIG_KEY_CHECKPOINTER]: checkpointer ?? configurable[CONFIG_KEY_CHECKPOINTER],
|
|
@@ -560,7 +570,7 @@ export function _prepareSingleTask(taskPath, checkpoint, pendingWrites, processe
|
|
|
560
570
|
checkpoint_ns: taskCheckpointNamespace,
|
|
561
571
|
},
|
|
562
572
|
}),
|
|
563
|
-
triggers,
|
|
573
|
+
triggers: [trigger],
|
|
564
574
|
retry_policy: proc.retryPolicy,
|
|
565
575
|
cache_key: proc.cachePolicy
|
|
566
576
|
? {
|
package/dist/pregel/algo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"algo.js","sourceRoot":"","sources":["../../src/pregel/algo.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"algo.js","sourceRoot":"","sources":["../../src/pregel/algo.ts"],"names":[],"mappings":"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"}
|
package/dist/pregel/debug.cjs
CHANGED
|
@@ -73,6 +73,28 @@ function* mapDebugTasks(tasks) {
|
|
|
73
73
|
yield { id, name, input, triggers, interrupts };
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
|
+
function isMultipleChannelWrite(value) {
|
|
77
|
+
if (typeof value !== "object" || value === null)
|
|
78
|
+
return false;
|
|
79
|
+
return "$writes" in value && Array.isArray(value.$writes);
|
|
80
|
+
}
|
|
81
|
+
function mapTaskResultWrites(writes) {
|
|
82
|
+
const result = {};
|
|
83
|
+
for (const [channel, value] of writes) {
|
|
84
|
+
const strChannel = String(channel);
|
|
85
|
+
if (strChannel in result) {
|
|
86
|
+
const channelWrites = isMultipleChannelWrite(result[strChannel])
|
|
87
|
+
? result[strChannel].$writes
|
|
88
|
+
: [result[strChannel]];
|
|
89
|
+
channelWrites.push(value);
|
|
90
|
+
result[strChannel] = { $writes: channelWrites };
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
result[strChannel] = value;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
return result;
|
|
97
|
+
}
|
|
76
98
|
function* mapDebugTaskResults(tasks, streamChannels) {
|
|
77
99
|
for (const [{ id, name, config }, writes] of tasks) {
|
|
78
100
|
if (config?.tags?.includes(constants_js_1.TAG_HIDDEN))
|
|
@@ -80,11 +102,11 @@ function* mapDebugTaskResults(tasks, streamChannels) {
|
|
|
80
102
|
yield {
|
|
81
103
|
id,
|
|
82
104
|
name,
|
|
83
|
-
result: writes.filter(([channel]) => {
|
|
105
|
+
result: mapTaskResultWrites(writes.filter(([channel]) => {
|
|
84
106
|
return Array.isArray(streamChannels)
|
|
85
107
|
? streamChannels.includes(channel)
|
|
86
108
|
: channel === streamChannels;
|
|
87
|
-
}),
|
|
109
|
+
})),
|
|
88
110
|
interrupts: writes.filter((w) => w[0] === constants_js_1.INTERRUPT).map((w) => w[1]),
|
|
89
111
|
};
|
|
90
112
|
}
|
|
@@ -157,7 +179,7 @@ function tasksWithWrites(tasks, pendingWrites, states, outputKeys) {
|
|
|
157
179
|
.map(([, n, v]) => [n, v]);
|
|
158
180
|
if (!results.length)
|
|
159
181
|
return undefined;
|
|
160
|
-
return
|
|
182
|
+
return mapTaskResultWrites(results);
|
|
161
183
|
}
|
|
162
184
|
return undefined;
|
|
163
185
|
})();
|
package/dist/pregel/debug.d.ts
CHANGED
|
@@ -22,7 +22,7 @@ export declare function mapDebugTasks<N extends PropertyKey, C extends PropertyK
|
|
|
22
22
|
export declare function mapDebugTaskResults<N extends PropertyKey, C extends PropertyKey>(tasks: readonly [PregelExecutableTask<N, C>, PendingWrite<C>[]][], streamChannels: PropertyKey | Array<PropertyKey>): Generator<{
|
|
23
23
|
id: string;
|
|
24
24
|
name: N;
|
|
25
|
-
result:
|
|
25
|
+
result: Record<string, unknown>;
|
|
26
26
|
interrupts: unknown[];
|
|
27
27
|
}, void, unknown>;
|
|
28
28
|
type ChannelKey = string | number | symbol;
|
package/dist/pregel/debug.js
CHANGED
|
@@ -60,6 +60,28 @@ export function* mapDebugTasks(tasks) {
|
|
|
60
60
|
yield { id, name, input, triggers, interrupts };
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
|
+
function isMultipleChannelWrite(value) {
|
|
64
|
+
if (typeof value !== "object" || value === null)
|
|
65
|
+
return false;
|
|
66
|
+
return "$writes" in value && Array.isArray(value.$writes);
|
|
67
|
+
}
|
|
68
|
+
function mapTaskResultWrites(writes) {
|
|
69
|
+
const result = {};
|
|
70
|
+
for (const [channel, value] of writes) {
|
|
71
|
+
const strChannel = String(channel);
|
|
72
|
+
if (strChannel in result) {
|
|
73
|
+
const channelWrites = isMultipleChannelWrite(result[strChannel])
|
|
74
|
+
? result[strChannel].$writes
|
|
75
|
+
: [result[strChannel]];
|
|
76
|
+
channelWrites.push(value);
|
|
77
|
+
result[strChannel] = { $writes: channelWrites };
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
result[strChannel] = value;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return result;
|
|
84
|
+
}
|
|
63
85
|
export function* mapDebugTaskResults(tasks, streamChannels) {
|
|
64
86
|
for (const [{ id, name, config }, writes] of tasks) {
|
|
65
87
|
if (config?.tags?.includes(TAG_HIDDEN))
|
|
@@ -67,11 +89,11 @@ export function* mapDebugTaskResults(tasks, streamChannels) {
|
|
|
67
89
|
yield {
|
|
68
90
|
id,
|
|
69
91
|
name,
|
|
70
|
-
result: writes.filter(([channel]) => {
|
|
92
|
+
result: mapTaskResultWrites(writes.filter(([channel]) => {
|
|
71
93
|
return Array.isArray(streamChannels)
|
|
72
94
|
? streamChannels.includes(channel)
|
|
73
95
|
: channel === streamChannels;
|
|
74
|
-
}),
|
|
96
|
+
})),
|
|
75
97
|
interrupts: writes.filter((w) => w[0] === INTERRUPT).map((w) => w[1]),
|
|
76
98
|
};
|
|
77
99
|
}
|
|
@@ -144,7 +166,7 @@ export function tasksWithWrites(tasks, pendingWrites, states, outputKeys) {
|
|
|
144
166
|
.map(([, n, v]) => [n, v]);
|
|
145
167
|
if (!results.length)
|
|
146
168
|
return undefined;
|
|
147
|
-
return
|
|
169
|
+
return mapTaskResultWrites(results);
|
|
148
170
|
}
|
|
149
171
|
return undefined;
|
|
150
172
|
})();
|
package/dist/pregel/debug.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug.js","sourceRoot":"","sources":["../../src/pregel/debug.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"debug.js","sourceRoot":"","sources":["../../src/pregel/debug.ts"],"names":[],"mappings":"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"}
|
package/dist/pregel/index.cjs
CHANGED
|
@@ -1032,6 +1032,7 @@ class Pregel extends PartialRunnable {
|
|
|
1032
1032
|
});
|
|
1033
1033
|
})
|
|
1034
1034
|
.flat()
|
|
1035
|
+
.filter(([_, v]) => v !== constants_js_1.INTERRUPT)
|
|
1035
1036
|
.sort(([aNumber], [bNumber]) => (0, langgraph_checkpoint_1.compareChannelVersions)(aNumber, bNumber));
|
|
1036
1037
|
// if two nodes updated the state at the same time, it's ambiguous
|
|
1037
1038
|
if (lastSeenByNode) {
|
|
@@ -1394,12 +1395,7 @@ class Pregel extends PartialRunnable {
|
|
|
1394
1395
|
undefined, // metadata
|
|
1395
1396
|
config?.runName ?? this.getName() // run_name
|
|
1396
1397
|
);
|
|
1397
|
-
const channelSpecs =
|
|
1398
|
-
for (const [name, spec] of Object.entries(this.channels)) {
|
|
1399
|
-
if ((0, base_js_1.isBaseChannel)(spec)) {
|
|
1400
|
-
channelSpecs[name] = spec;
|
|
1401
|
-
}
|
|
1402
|
-
}
|
|
1398
|
+
const channelSpecs = (0, base_js_1.getOnlyChannels)(this.channels);
|
|
1403
1399
|
let loop;
|
|
1404
1400
|
let loopError;
|
|
1405
1401
|
/**
|
package/dist/pregel/index.d.ts
CHANGED
|
@@ -260,7 +260,7 @@ export declare class Pregel<Nodes extends StrRecord<string, PregelNode>, Channel
|
|
|
260
260
|
* @param config - The configuration to merge with the current configuration
|
|
261
261
|
* @returns A new Pregel instance with the merged configuration
|
|
262
262
|
*/
|
|
263
|
-
withConfig(config:
|
|
263
|
+
withConfig(config: Omit<LangGraphRunnableConfig, "store" | "writer">): typeof this;
|
|
264
264
|
/**
|
|
265
265
|
* Validates the graph structure to ensure it is well-formed.
|
|
266
266
|
* Checks for:
|
package/dist/pregel/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* eslint-disable no-param-reassign */
|
|
2
2
|
import { _coerceToRunnable, getCallbackManagerForConfig, mergeConfigs, patchConfig, Runnable, RunnableSequence, } from "@langchain/core/runnables";
|
|
3
3
|
import { compareChannelVersions, copyCheckpoint, emptyCheckpoint, SCHEDULED, uuid5, } from "@langchain/langgraph-checkpoint";
|
|
4
|
-
import { createCheckpoint, emptyChannels,
|
|
4
|
+
import { createCheckpoint, emptyChannels, getOnlyChannels, } from "../channels/base.js";
|
|
5
5
|
import { CHECKPOINT_NAMESPACE_END, CHECKPOINT_NAMESPACE_SEPARATOR, CONFIG_KEY_CHECKPOINTER, CONFIG_KEY_NODE_FINISHED, CONFIG_KEY_READ, CONFIG_KEY_SEND, CONFIG_KEY_STREAM, CONFIG_KEY_TASK_ID, COPY, END, ERROR, INPUT, INTERRUPT, isInterrupted, NULL_TASK_ID, PUSH, CONFIG_KEY_DURABILITY, CONFIG_KEY_CHECKPOINT_NS, TASKS, } from "../constants.js";
|
|
6
6
|
import { GraphRecursionError, GraphValueError, InvalidUpdateError, } from "../errors.js";
|
|
7
7
|
import { gatherIterator, patchConfigurable } from "../utils.js";
|
|
@@ -1028,6 +1028,7 @@ export class Pregel extends PartialRunnable {
|
|
|
1028
1028
|
});
|
|
1029
1029
|
})
|
|
1030
1030
|
.flat()
|
|
1031
|
+
.filter(([_, v]) => v !== INTERRUPT)
|
|
1031
1032
|
.sort(([aNumber], [bNumber]) => compareChannelVersions(aNumber, bNumber));
|
|
1032
1033
|
// if two nodes updated the state at the same time, it's ambiguous
|
|
1033
1034
|
if (lastSeenByNode) {
|
|
@@ -1390,12 +1391,7 @@ export class Pregel extends PartialRunnable {
|
|
|
1390
1391
|
undefined, // metadata
|
|
1391
1392
|
config?.runName ?? this.getName() // run_name
|
|
1392
1393
|
);
|
|
1393
|
-
const channelSpecs =
|
|
1394
|
-
for (const [name, spec] of Object.entries(this.channels)) {
|
|
1395
|
-
if (isBaseChannel(spec)) {
|
|
1396
|
-
channelSpecs[name] = spec;
|
|
1397
|
-
}
|
|
1398
|
-
}
|
|
1394
|
+
const channelSpecs = getOnlyChannels(this.channels);
|
|
1399
1395
|
let loop;
|
|
1400
1396
|
let loopError;
|
|
1401
1397
|
/**
|