@langchain/langgraph 0.4.4 → 0.4.6
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 +19 -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/interrupt.cjs +2 -4
- package/dist/interrupt.js +2 -4
- package/dist/interrupt.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/index.cjs +8 -7
- package/dist/pregel/index.d.ts +1 -1
- package/dist/pregel/index.js +10 -9
- package/dist/pregel/index.js.map +1 -1
- package/dist/pregel/io.cjs +2 -2
- package/dist/pregel/io.js +2 -2
- package/dist/pregel/io.js.map +1 -1
- package/dist/pregel/io.mapCommand.test.cjs +5 -6
- package/dist/pregel/io.mapCommand.test.js +5 -6
- package/dist/pregel/io.mapCommand.test.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/dist/pregel/utils/index.cjs +6 -4
- package/dist/pregel/utils/index.js +6 -4
- package/dist/pregel/utils/index.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/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) {
|
|
@@ -1378,7 +1379,12 @@ class Pregel extends PartialRunnable {
|
|
|
1378
1379
|
}
|
|
1379
1380
|
// setup custom stream mode
|
|
1380
1381
|
if (streamMode.includes("custom")) {
|
|
1381
|
-
config.writer = (chunk) =>
|
|
1382
|
+
config.writer = (chunk) => {
|
|
1383
|
+
const ns = (0, config_js_1.getConfig)()?.configurable?.[constants_js_1.CONFIG_KEY_CHECKPOINT_NS]
|
|
1384
|
+
?.split(constants_js_1.CHECKPOINT_NAMESPACE_SEPARATOR)
|
|
1385
|
+
.slice(0, -1);
|
|
1386
|
+
stream.push([ns ?? [], "custom", chunk]);
|
|
1387
|
+
};
|
|
1382
1388
|
}
|
|
1383
1389
|
const callbackManager = await (0, runnables_1.getCallbackManagerForConfig)(config);
|
|
1384
1390
|
const runManager = await callbackManager?.handleChainStart(this.toJSON(), // chain
|
|
@@ -1389,12 +1395,7 @@ class Pregel extends PartialRunnable {
|
|
|
1389
1395
|
undefined, // metadata
|
|
1390
1396
|
config?.runName ?? this.getName() // run_name
|
|
1391
1397
|
);
|
|
1392
|
-
const channelSpecs =
|
|
1393
|
-
for (const [name, spec] of Object.entries(this.channels)) {
|
|
1394
|
-
if ((0, base_js_1.isBaseChannel)(spec)) {
|
|
1395
|
-
channelSpecs[name] = spec;
|
|
1396
|
-
}
|
|
1397
|
-
}
|
|
1398
|
+
const channelSpecs = (0, base_js_1.getOnlyChannels)(this.channels);
|
|
1398
1399
|
let loop;
|
|
1399
1400
|
let loopError;
|
|
1400
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";
|
|
@@ -13,7 +13,7 @@ import { StreamMessagesHandler } from "./messages.js";
|
|
|
13
13
|
import { PregelNode } from "./read.js";
|
|
14
14
|
import { PregelRunner } from "./runner.js";
|
|
15
15
|
import { IterableReadableStreamWithAbortSignal, IterableReadableWritableStream, } from "./stream.js";
|
|
16
|
-
import { ensureLangGraphConfig, recastCheckpointNamespace, } from "./utils/config.js";
|
|
16
|
+
import { ensureLangGraphConfig, getConfig, recastCheckpointNamespace, } from "./utils/config.js";
|
|
17
17
|
import { _coerceToDict, combineAbortSignals, combineCallbacks, getNewChannelVersions, patchCheckpointMap, } from "./utils/index.js";
|
|
18
18
|
import { findSubgraphPregel } from "./utils/subgraph.js";
|
|
19
19
|
import { validateGraph, validateKeys } from "./validate.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) {
|
|
@@ -1374,7 +1375,12 @@ export class Pregel extends PartialRunnable {
|
|
|
1374
1375
|
}
|
|
1375
1376
|
// setup custom stream mode
|
|
1376
1377
|
if (streamMode.includes("custom")) {
|
|
1377
|
-
config.writer = (chunk) =>
|
|
1378
|
+
config.writer = (chunk) => {
|
|
1379
|
+
const ns = getConfig()?.configurable?.[CONFIG_KEY_CHECKPOINT_NS]
|
|
1380
|
+
?.split(CHECKPOINT_NAMESPACE_SEPARATOR)
|
|
1381
|
+
.slice(0, -1);
|
|
1382
|
+
stream.push([ns ?? [], "custom", chunk]);
|
|
1383
|
+
};
|
|
1378
1384
|
}
|
|
1379
1385
|
const callbackManager = await getCallbackManagerForConfig(config);
|
|
1380
1386
|
const runManager = await callbackManager?.handleChainStart(this.toJSON(), // chain
|
|
@@ -1385,12 +1391,7 @@ export class Pregel extends PartialRunnable {
|
|
|
1385
1391
|
undefined, // metadata
|
|
1386
1392
|
config?.runName ?? this.getName() // run_name
|
|
1387
1393
|
);
|
|
1388
|
-
const channelSpecs =
|
|
1389
|
-
for (const [name, spec] of Object.entries(this.channels)) {
|
|
1390
|
-
if (isBaseChannel(spec)) {
|
|
1391
|
-
channelSpecs[name] = spec;
|
|
1392
|
-
}
|
|
1393
|
-
}
|
|
1394
|
+
const channelSpecs = getOnlyChannels(this.channels);
|
|
1394
1395
|
let loop;
|
|
1395
1396
|
let loopError;
|
|
1396
1397
|
/**
|