@langchain/langgraph 1.2.2 → 1.2.4
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/dist/channels/any_value.cjs +3 -4
- package/dist/channels/any_value.cjs.map +1 -1
- package/dist/channels/any_value.js +1 -2
- package/dist/channels/any_value.js.map +1 -1
- package/dist/channels/base.cjs +2 -3
- package/dist/channels/base.cjs.map +1 -1
- package/dist/channels/base.js +1 -2
- package/dist/channels/base.js.map +1 -1
- package/dist/channels/binop.cjs +4 -5
- package/dist/channels/binop.cjs.map +1 -1
- package/dist/channels/binop.js +1 -2
- package/dist/channels/binop.js.map +1 -1
- package/dist/channels/dynamic_barrier_value.cjs +4 -5
- package/dist/channels/dynamic_barrier_value.cjs.map +1 -1
- package/dist/channels/dynamic_barrier_value.js +1 -2
- package/dist/channels/dynamic_barrier_value.js.map +1 -1
- package/dist/channels/ephemeral_value.cjs +3 -4
- package/dist/channels/ephemeral_value.cjs.map +1 -1
- package/dist/channels/ephemeral_value.js +1 -2
- package/dist/channels/ephemeral_value.js.map +1 -1
- package/dist/channels/index.cjs +11 -12
- package/dist/channels/index.js +1 -2
- package/dist/channels/last_value.cjs +3 -4
- package/dist/channels/last_value.cjs.map +1 -1
- package/dist/channels/last_value.js +1 -2
- package/dist/channels/last_value.js.map +1 -1
- package/dist/channels/named_barrier_value.cjs +3 -4
- package/dist/channels/named_barrier_value.cjs.map +1 -1
- package/dist/channels/named_barrier_value.js +1 -2
- package/dist/channels/named_barrier_value.js.map +1 -1
- package/dist/channels/topic.cjs +3 -4
- package/dist/channels/topic.cjs.map +1 -1
- package/dist/channels/topic.js +1 -2
- package/dist/channels/topic.js.map +1 -1
- package/dist/channels/untracked_value.cjs +3 -4
- package/dist/channels/untracked_value.cjs.map +1 -1
- package/dist/channels/untracked_value.js +1 -2
- package/dist/channels/untracked_value.js.map +1 -1
- package/dist/constants.cjs +4 -9
- package/dist/constants.cjs.map +1 -1
- package/dist/constants.js +5 -7
- package/dist/constants.js.map +1 -1
- package/dist/errors.cjs +1 -2
- package/dist/errors.cjs.map +1 -1
- package/dist/errors.js +1 -1
- package/dist/errors.js.map +1 -1
- package/dist/func/index.cjs +9 -10
- package/dist/func/index.cjs.map +1 -1
- package/dist/func/index.js +1 -2
- package/dist/func/index.js.map +1 -1
- package/dist/graph/annotation.cjs +3 -4
- package/dist/graph/annotation.cjs.map +1 -1
- package/dist/graph/annotation.js +1 -2
- package/dist/graph/annotation.js.map +1 -1
- package/dist/graph/graph.cjs +23 -24
- package/dist/graph/graph.cjs.map +1 -1
- package/dist/graph/graph.js +16 -17
- package/dist/graph/graph.js.map +1 -1
- package/dist/graph/index.cjs +6 -6
- package/dist/graph/index.js +7 -8
- package/dist/graph/message.cjs +4 -5
- package/dist/graph/message.cjs.map +1 -1
- package/dist/graph/message.js +1 -2
- package/dist/graph/message.js.map +1 -1
- package/dist/graph/messages_annotation.cjs +4 -5
- package/dist/graph/messages_annotation.cjs.map +1 -1
- package/dist/graph/messages_annotation.js +1 -2
- package/dist/graph/messages_annotation.js.map +1 -1
- package/dist/graph/messages_reducer.cjs +2 -3
- package/dist/graph/messages_reducer.cjs.map +1 -1
- package/dist/graph/messages_reducer.js +2 -3
- package/dist/graph/messages_reducer.js.map +1 -1
- package/dist/graph/state.cjs +24 -25
- package/dist/graph/state.cjs.map +1 -1
- package/dist/graph/state.js +10 -11
- package/dist/graph/state.js.map +1 -1
- package/dist/graph/types.cjs +4 -5
- package/dist/graph/types.cjs.map +1 -1
- package/dist/graph/types.js +2 -3
- package/dist/graph/types.js.map +1 -1
- package/dist/graph/zod/index.cjs +5 -6
- package/dist/graph/zod/index.js +1 -2
- package/dist/graph/zod/meta.cjs +4 -5
- package/dist/graph/zod/meta.cjs.map +1 -1
- package/dist/graph/zod/meta.js +2 -3
- package/dist/graph/zod/meta.js.map +1 -1
- package/dist/graph/zod/plugin.cjs +2 -3
- package/dist/graph/zod/plugin.cjs.map +1 -1
- package/dist/graph/zod/plugin.js +2 -3
- package/dist/graph/zod/plugin.js.map +1 -1
- package/dist/graph/zod/schema.cjs +5 -6
- package/dist/graph/zod/schema.cjs.map +1 -1
- package/dist/graph/zod/schema.js +4 -5
- package/dist/graph/zod/schema.js.map +1 -1
- package/dist/graph/zod/zod-registry.cjs +2 -3
- package/dist/graph/zod/zod-registry.cjs.map +1 -1
- package/dist/graph/zod/zod-registry.js +1 -2
- package/dist/graph/zod/zod-registry.js.map +1 -1
- package/dist/hash.cjs +1 -2
- package/dist/hash.cjs.map +1 -1
- package/dist/hash.js +1 -1
- package/dist/index.cjs +60 -61
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +1 -2
- package/dist/index.js.map +1 -1
- package/dist/interrupt.cjs +7 -8
- package/dist/interrupt.cjs.map +1 -1
- package/dist/interrupt.js +5 -6
- package/dist/interrupt.js.map +1 -1
- package/dist/prebuilt/agentName.cjs +1 -2
- package/dist/prebuilt/agentName.cjs.map +1 -1
- package/dist/prebuilt/agentName.js +1 -2
- package/dist/prebuilt/agentName.js.map +1 -1
- package/dist/prebuilt/agent_executor.cjs +4 -5
- package/dist/prebuilt/agent_executor.cjs.map +1 -1
- package/dist/prebuilt/agent_executor.js +1 -2
- package/dist/prebuilt/agent_executor.js.map +1 -1
- package/dist/prebuilt/chat_agent_executor.cjs +4 -5
- package/dist/prebuilt/chat_agent_executor.cjs.map +1 -1
- package/dist/prebuilt/chat_agent_executor.js +1 -2
- package/dist/prebuilt/chat_agent_executor.js.map +1 -1
- package/dist/prebuilt/index.cjs +8 -9
- package/dist/prebuilt/index.js +1 -2
- package/dist/prebuilt/react_agent_executor.cjs +8 -9
- package/dist/prebuilt/react_agent_executor.cjs.map +1 -1
- package/dist/prebuilt/react_agent_executor.js +1 -2
- package/dist/prebuilt/react_agent_executor.js.map +1 -1
- package/dist/prebuilt/tool_executor.cjs +1 -2
- package/dist/prebuilt/tool_executor.cjs.map +1 -1
- package/dist/prebuilt/tool_executor.js +1 -2
- package/dist/prebuilt/tool_executor.js.map +1 -1
- package/dist/prebuilt/tool_node.cjs +4 -5
- package/dist/prebuilt/tool_node.cjs.map +1 -1
- package/dist/prebuilt/tool_node.js +1 -2
- package/dist/prebuilt/tool_node.js.map +1 -1
- package/dist/pregel/algo.cjs +30 -31
- package/dist/pregel/algo.cjs.map +1 -1
- package/dist/pregel/algo.js +23 -24
- package/dist/pregel/algo.js.map +1 -1
- package/dist/pregel/call.cjs +5 -6
- package/dist/pregel/call.cjs.map +1 -1
- package/dist/pregel/call.js +2 -3
- package/dist/pregel/call.js.map +1 -1
- package/dist/pregel/debug.cjs +10 -11
- package/dist/pregel/debug.cjs.map +1 -1
- package/dist/pregel/debug.js +8 -9
- package/dist/pregel/debug.js.map +1 -1
- package/dist/pregel/index.cjs +47 -50
- package/dist/pregel/index.cjs.map +1 -1
- package/dist/pregel/index.d.cts.map +1 -1
- package/dist/pregel/index.d.ts.map +1 -1
- package/dist/pregel/index.js +28 -31
- package/dist/pregel/index.js.map +1 -1
- package/dist/pregel/io.cjs +7 -8
- package/dist/pregel/io.cjs.map +1 -1
- package/dist/pregel/io.js +5 -6
- package/dist/pregel/io.js.map +1 -1
- package/dist/pregel/loop.cjs +29 -30
- package/dist/pregel/loop.cjs.map +1 -1
- package/dist/pregel/loop.js +20 -21
- package/dist/pregel/loop.js.map +1 -1
- package/dist/pregel/messages.cjs +4 -5
- package/dist/pregel/messages.cjs.map +1 -1
- package/dist/pregel/messages.js +4 -5
- package/dist/pregel/messages.js.map +1 -1
- package/dist/pregel/read.cjs +4 -5
- package/dist/pregel/read.cjs.map +1 -1
- package/dist/pregel/read.js +1 -2
- package/dist/pregel/read.js.map +1 -1
- package/dist/pregel/remote.cjs +9 -10
- package/dist/pregel/remote.cjs.map +1 -1
- package/dist/pregel/remote.js +7 -8
- package/dist/pregel/remote.js.map +1 -1
- package/dist/pregel/retry.cjs +8 -14
- package/dist/pregel/retry.cjs.map +1 -1
- package/dist/pregel/retry.js +4 -10
- package/dist/pregel/retry.js.map +1 -1
- package/dist/pregel/runner.cjs +8 -9
- package/dist/pregel/runner.cjs.map +1 -1
- package/dist/pregel/runner.js +4 -5
- package/dist/pregel/runner.js.map +1 -1
- package/dist/pregel/stream.cjs +3 -4
- package/dist/pregel/stream.cjs.map +1 -1
- package/dist/pregel/stream.js +3 -4
- package/dist/pregel/stream.js.map +1 -1
- package/dist/pregel/types.cjs +1 -2
- package/dist/pregel/types.cjs.map +1 -1
- package/dist/pregel/types.js +1 -1
- package/dist/pregel/types.js.map +1 -1
- package/dist/pregel/utils/config.cjs +6 -7
- package/dist/pregel/utils/config.cjs.map +1 -1
- package/dist/pregel/utils/config.js +6 -7
- package/dist/pregel/utils/config.js.map +1 -1
- package/dist/pregel/utils/index.cjs +2 -3
- package/dist/pregel/utils/index.cjs.map +1 -1
- package/dist/pregel/utils/index.js +1 -2
- package/dist/pregel/utils/index.js.map +1 -1
- package/dist/pregel/utils/subgraph.cjs +1 -2
- package/dist/pregel/utils/subgraph.cjs.map +1 -1
- package/dist/pregel/utils/subgraph.js +1 -1
- package/dist/pregel/validate.cjs +4 -5
- package/dist/pregel/validate.cjs.map +1 -1
- package/dist/pregel/validate.js +2 -3
- package/dist/pregel/validate.js.map +1 -1
- package/dist/pregel/write.cjs +5 -8
- package/dist/pregel/write.cjs.map +1 -1
- package/dist/pregel/write.js +2 -5
- package/dist/pregel/write.js.map +1 -1
- package/dist/remote.cjs +3 -4
- package/dist/remote.js +1 -2
- package/dist/setup/async_local_storage.cjs +1 -2
- package/dist/setup/async_local_storage.cjs.map +1 -1
- package/dist/setup/async_local_storage.js +1 -2
- package/dist/setup/async_local_storage.js.map +1 -1
- package/dist/state/adapter.cjs +2 -3
- package/dist/state/adapter.cjs.map +1 -1
- package/dist/state/adapter.js +1 -2
- package/dist/state/adapter.js.map +1 -1
- package/dist/state/index.cjs +8 -8
- package/dist/state/index.js +7 -8
- package/dist/state/prebuilt/index.cjs +1 -1
- package/dist/state/prebuilt/index.js +2 -3
- package/dist/state/prebuilt/messages.cjs +3 -4
- package/dist/state/prebuilt/messages.cjs.map +1 -1
- package/dist/state/prebuilt/messages.js +3 -7
- package/dist/state/prebuilt/messages.js.map +1 -1
- package/dist/state/schema.cjs +16 -12
- package/dist/state/schema.cjs.map +1 -1
- package/dist/state/schema.d.cts.map +1 -1
- package/dist/state/schema.d.ts.map +1 -1
- package/dist/state/schema.js +8 -4
- package/dist/state/schema.js.map +1 -1
- package/dist/state/types.cjs +1 -2
- package/dist/state/types.cjs.map +1 -1
- package/dist/state/types.js +1 -1
- package/dist/state/values/index.cjs +2 -2
- package/dist/state/values/index.js +3 -4
- package/dist/state/values/reduced.cjs +1 -2
- package/dist/state/values/reduced.cjs.map +1 -1
- package/dist/state/values/reduced.js +1 -1
- package/dist/state/values/reduced.js.map +1 -1
- package/dist/state/values/untracked.cjs +1 -2
- package/dist/state/values/untracked.cjs.map +1 -1
- package/dist/state/values/untracked.js +1 -1
- package/dist/state/values/untracked.js.map +1 -1
- package/dist/utils.cjs +2 -3
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.js +1 -2
- package/dist/utils.js.map +1 -1
- package/dist/web.cjs +58 -59
- package/dist/web.js +1 -2
- package/dist/writer.cjs +1 -2
- package/dist/writer.cjs.map +1 -1
- package/dist/writer.js +1 -2
- package/dist/writer.js.map +1 -1
- package/package.json +3 -3
package/dist/pregel/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CONFIG_KEY_CHECKPOINTER, CONFIG_KEY_CHECKPOINT_NS, CONFIG_KEY_NODE_FINISHED, CONFIG_KEY_READ, CONFIG_KEY_SEND, CONFIG_KEY_STREAM, INPUT, INTERRUPT, NULL_TASK_ID, PUSH, TASKS, isInterrupted } from "../constants.js";
|
|
2
2
|
import { GraphRecursionError, GraphValueError, InvalidUpdateError } from "../errors.js";
|
|
3
3
|
import { createCheckpoint, emptyChannels, getOnlyChannels } from "../channels/base.js";
|
|
4
4
|
import { ensureLangGraphConfig, getConfig, recastCheckpointNamespace } from "./utils/config.js";
|
|
@@ -19,7 +19,6 @@ import { Topic } from "../channels/topic.js";
|
|
|
19
19
|
import { interrupt } from "../interrupt.js";
|
|
20
20
|
import { SCHEDULED, compareChannelVersions, copyCheckpoint, emptyCheckpoint, uuid5 } from "@langchain/langgraph-checkpoint";
|
|
21
21
|
import { Runnable, RunnableSequence, _coerceToRunnable, getCallbackManagerForConfig, mergeConfigs, patchConfig } from "@langchain/core/runnables";
|
|
22
|
-
|
|
23
22
|
//#region src/pregel/index.ts
|
|
24
23
|
/**
|
|
25
24
|
* Utility class for working with channels in the Pregel system.
|
|
@@ -260,7 +259,7 @@ var Pregel = class extends PartialRunnable {
|
|
|
260
259
|
if (streamMode != null && !Array.isArray(streamMode)) streamMode = [streamMode];
|
|
261
260
|
this.nodes = fields.nodes;
|
|
262
261
|
this.channels = fields.channels;
|
|
263
|
-
if (
|
|
262
|
+
if ("__pregel_tasks" in this.channels && "lc_graph_name" in this.channels["__pregel_tasks"] && this.channels["__pregel_tasks"].lc_graph_name !== "Topic") throw new Error(`Channel '${TASKS}' is reserved and cannot be used in the graph.`);
|
|
264
263
|
else this.channels[TASKS] = new Topic({ accumulate: false });
|
|
265
264
|
this.autoValidate = fields.autoValidate ?? this.autoValidate;
|
|
266
265
|
this.streamMode = streamMode ?? this.streamMode;
|
|
@@ -392,7 +391,7 @@ var Pregel = class extends PartialRunnable {
|
|
|
392
391
|
if (recurse) {
|
|
393
392
|
let newNamespace = namespace;
|
|
394
393
|
if (namespace !== void 0) newNamespace = namespace.slice(name.length + 1);
|
|
395
|
-
for (const [subgraphName, subgraph] of graph.getSubgraphs(newNamespace, recurse)) yield [`${name}
|
|
394
|
+
for (const [subgraphName, subgraph] of graph.getSubgraphs(newNamespace, recurse)) yield [`${name}|${subgraphName}`, subgraph];
|
|
396
395
|
}
|
|
397
396
|
}
|
|
398
397
|
}
|
|
@@ -446,8 +445,8 @@ var Pregel = class extends PartialRunnable {
|
|
|
446
445
|
for (const task of nextTasks) {
|
|
447
446
|
const matchingSubgraph = subgraphs.find(([name]) => name === task.name);
|
|
448
447
|
if (!matchingSubgraph) continue;
|
|
449
|
-
let taskNs = `${String(task.name)}
|
|
450
|
-
if (parentNamespace) taskNs = `${parentNamespace}
|
|
448
|
+
let taskNs = `${String(task.name)}:${task.id}`;
|
|
449
|
+
if (parentNamespace) taskNs = `${parentNamespace}|${taskNs}`;
|
|
451
450
|
if (subgraphCheckpointer === void 0) {
|
|
452
451
|
const config = { configurable: {
|
|
453
452
|
thread_id: saved.config.configurable?.thread_id,
|
|
@@ -468,8 +467,8 @@ var Pregel = class extends PartialRunnable {
|
|
|
468
467
|
const nextTaskById = Object.fromEntries(nextTasks.map((task) => [task.id, task]));
|
|
469
468
|
for (const [taskId, channel, value] of saved.pendingWrites) {
|
|
470
469
|
if ([
|
|
471
|
-
|
|
472
|
-
|
|
470
|
+
"__error__",
|
|
471
|
+
"__interrupt__",
|
|
473
472
|
SCHEDULED
|
|
474
473
|
].includes(channel)) continue;
|
|
475
474
|
if (!(taskId in nextTaskById)) continue;
|
|
@@ -504,13 +503,12 @@ var Pregel = class extends PartialRunnable {
|
|
|
504
503
|
* @throws {GraphValueError} If no checkpointer is configured
|
|
505
504
|
*/
|
|
506
505
|
async getState(config, options) {
|
|
507
|
-
const checkpointer = config.configurable?.[
|
|
506
|
+
const checkpointer = config.configurable?.["__pregel_checkpointer"] ?? this.checkpointer;
|
|
508
507
|
if (!checkpointer) throw new GraphValueError("No checkpointer set", { lc_error_code: "MISSING_CHECKPOINTER" });
|
|
509
508
|
const checkpointNamespace = config.configurable?.checkpoint_ns ?? "";
|
|
510
|
-
if (checkpointNamespace !== "" && config.configurable?.[
|
|
509
|
+
if (checkpointNamespace !== "" && config.configurable?.["__pregel_checkpointer"] === void 0) {
|
|
511
510
|
const recastNamespace = recastCheckpointNamespace(checkpointNamespace);
|
|
512
511
|
for await (const [name, subgraph] of this.getSubgraphsAsync(recastNamespace, true)) if (name === recastNamespace) return await subgraph.getState(patchConfigurable(config, { [CONFIG_KEY_CHECKPOINTER]: checkpointer }), { subgraphs: options?.subgraphs });
|
|
513
|
-
throw new Error(`Subgraph with namespace "${recastNamespace}" not found.`);
|
|
514
512
|
}
|
|
515
513
|
const mergedConfig = mergeConfigs(this.config, config);
|
|
516
514
|
const saved = await checkpointer.getTuple(config);
|
|
@@ -535,16 +533,15 @@ var Pregel = class extends PartialRunnable {
|
|
|
535
533
|
* @throws {Error} If no checkpointer is configured
|
|
536
534
|
*/
|
|
537
535
|
async *getStateHistory(config, options) {
|
|
538
|
-
const checkpointer = config.configurable?.[
|
|
536
|
+
const checkpointer = config.configurable?.["__pregel_checkpointer"] ?? this.checkpointer;
|
|
539
537
|
if (!checkpointer) throw new GraphValueError("No checkpointer set", { lc_error_code: "MISSING_CHECKPOINTER" });
|
|
540
538
|
const checkpointNamespace = config.configurable?.checkpoint_ns ?? "";
|
|
541
|
-
if (checkpointNamespace !== "" && config.configurable?.[
|
|
539
|
+
if (checkpointNamespace !== "" && config.configurable?.["__pregel_checkpointer"] === void 0) {
|
|
542
540
|
const recastNamespace = recastCheckpointNamespace(checkpointNamespace);
|
|
543
541
|
for await (const [name, pregel] of this.getSubgraphsAsync(recastNamespace, true)) if (name === recastNamespace) {
|
|
544
542
|
yield* pregel.getStateHistory(patchConfigurable(config, { [CONFIG_KEY_CHECKPOINTER]: checkpointer }), options);
|
|
545
543
|
return;
|
|
546
544
|
}
|
|
547
|
-
throw new Error(`Subgraph with namespace "${recastNamespace}" not found.`);
|
|
548
545
|
}
|
|
549
546
|
const mergedConfig = mergeConfigs(this.config, config, { configurable: { checkpoint_ns: checkpointNamespace } });
|
|
550
547
|
for await (const checkpointTuple of checkpointer.list(mergedConfig, options)) yield this._prepareStateSnapshot({
|
|
@@ -569,12 +566,12 @@ var Pregel = class extends PartialRunnable {
|
|
|
569
566
|
* @throws {InvalidUpdateError} If the update cannot be attributed to a node or an update can be only applied in sequence.
|
|
570
567
|
*/
|
|
571
568
|
async bulkUpdateState(startConfig, supersteps) {
|
|
572
|
-
const checkpointer = startConfig.configurable?.[
|
|
569
|
+
const checkpointer = startConfig.configurable?.["__pregel_checkpointer"] ?? this.checkpointer;
|
|
573
570
|
if (!checkpointer) throw new GraphValueError("No checkpointer set", { lc_error_code: "MISSING_CHECKPOINTER" });
|
|
574
571
|
if (supersteps.length === 0) throw new Error("No supersteps provided");
|
|
575
572
|
if (supersteps.some((s) => s.updates.length === 0)) throw new Error("No updates provided");
|
|
576
573
|
const checkpointNamespace = startConfig.configurable?.checkpoint_ns ?? "";
|
|
577
|
-
if (checkpointNamespace !== "" && startConfig.configurable?.[
|
|
574
|
+
if (checkpointNamespace !== "" && startConfig.configurable?.["__pregel_checkpointer"] === void 0) {
|
|
578
575
|
const recastNamespace = recastCheckpointNamespace(checkpointNamespace);
|
|
579
576
|
for await (const [, pregel] of this.getSubgraphsAsync(recastNamespace, true)) return await pregel.bulkUpdateState(patchConfigurable(startConfig, { [CONFIG_KEY_CHECKPOINTER]: checkpointer }), supersteps);
|
|
580
577
|
throw new Error(`Subgraph "${recastNamespace}" not found`);
|
|
@@ -604,7 +601,7 @@ var Pregel = class extends PartialRunnable {
|
|
|
604
601
|
}, {}), saved ? saved.metadata : void 0);
|
|
605
602
|
}
|
|
606
603
|
const channels = emptyChannels(this.channels, checkpoint);
|
|
607
|
-
if (values === null && asNode ===
|
|
604
|
+
if (values === null && asNode === "__end__") {
|
|
608
605
|
if (updates.length > 1) throw new InvalidUpdateError(`Cannot apply multiple updates when clearing state`);
|
|
609
606
|
if (saved) {
|
|
610
607
|
const nextTasks = _prepareNextTasks(checkpoint, saved.pendingWrites || [], this.nodes, channels, saved.config, true, {
|
|
@@ -620,8 +617,8 @@ var Pregel = class extends PartialRunnable {
|
|
|
620
617
|
}], checkpointer.getNextVersion.bind(checkpointer), this.triggerToNodes);
|
|
621
618
|
for (const [taskId, k, v] of saved.pendingWrites || []) {
|
|
622
619
|
if ([
|
|
623
|
-
|
|
624
|
-
|
|
620
|
+
"__error__",
|
|
621
|
+
"__interrupt__",
|
|
625
622
|
SCHEDULED
|
|
626
623
|
].includes(k)) continue;
|
|
627
624
|
if (!(taskId in nextTasks)) continue;
|
|
@@ -636,7 +633,7 @@ var Pregel = class extends PartialRunnable {
|
|
|
636
633
|
parents: saved?.metadata?.parents ?? {}
|
|
637
634
|
}, getNewChannelVersions(checkpointPreviousVersions, checkpoint.channel_versions)), saved ? saved.metadata : void 0);
|
|
638
635
|
}
|
|
639
|
-
if (asNode ===
|
|
636
|
+
if (asNode === "__copy__") {
|
|
640
637
|
if (updates.length > 1) throw new InvalidUpdateError(`Cannot copy checkpoint with multiple updates`);
|
|
641
638
|
if (saved == null) throw new InvalidUpdateError(`Cannot copy a non-existent checkpoint`);
|
|
642
639
|
const isCopyWithUpdates = (values) => {
|
|
@@ -673,7 +670,7 @@ var Pregel = class extends PartialRunnable {
|
|
|
673
670
|
}
|
|
674
671
|
return patchCheckpointMap(nextConfig, saved.metadata);
|
|
675
672
|
}
|
|
676
|
-
if (asNode ===
|
|
673
|
+
if (asNode === "__input__") {
|
|
677
674
|
if (updates.length > 1) throw new InvalidUpdateError(`Cannot apply multiple updates when updating as input`);
|
|
678
675
|
const inputWrites = await gatherIterator(mapInput(this.inputChannels, values));
|
|
679
676
|
if (inputWrites.length === 0) throw new InvalidUpdateError(`Received no input writes for ${JSON.stringify(this.inputChannels, null, 2)}`);
|
|
@@ -705,8 +702,8 @@ var Pregel = class extends PartialRunnable {
|
|
|
705
702
|
}], void 0, this.triggerToNodes);
|
|
706
703
|
for (const [tid, k, v] of saved.pendingWrites) {
|
|
707
704
|
if ([
|
|
708
|
-
|
|
709
|
-
|
|
705
|
+
"__error__",
|
|
706
|
+
"__interrupt__",
|
|
710
707
|
SCHEDULED
|
|
711
708
|
].includes(k) || nextTasks[tid] === void 0) continue;
|
|
712
709
|
nextTasks[tid].writes.push([k, v]);
|
|
@@ -761,7 +758,7 @@ var Pregel = class extends PartialRunnable {
|
|
|
761
758
|
proc: writers.length > 1 ? RunnableSequence.from(writers, { omitSequenceTags: true }) : writers[0],
|
|
762
759
|
writes: [],
|
|
763
760
|
triggers: [INTERRUPT],
|
|
764
|
-
id: taskId ?? uuid5(
|
|
761
|
+
id: taskId ?? uuid5("__interrupt__", checkpoint.id),
|
|
765
762
|
writers: []
|
|
766
763
|
});
|
|
767
764
|
}
|
|
@@ -855,13 +852,13 @@ var Pregel = class extends PartialRunnable {
|
|
|
855
852
|
defaultStreamMode = Array.isArray(streamMode) ? streamMode : [streamMode];
|
|
856
853
|
streamModeSingle = typeof streamMode === "string";
|
|
857
854
|
} else {
|
|
858
|
-
if (config.configurable?.[
|
|
855
|
+
if (config.configurable?.["__pregel_task_id"] !== void 0) defaultStreamMode = ["values"];
|
|
859
856
|
else defaultStreamMode = this.streamMode;
|
|
860
857
|
streamModeSingle = true;
|
|
861
858
|
}
|
|
862
859
|
let defaultCheckpointer;
|
|
863
860
|
if (this.checkpointer === false) defaultCheckpointer = void 0;
|
|
864
|
-
else if (config !== void 0 && config.configurable?.[
|
|
861
|
+
else if (config !== void 0 && config.configurable?.["__pregel_checkpointer"] !== void 0) defaultCheckpointer = config.configurable[CONFIG_KEY_CHECKPOINTER];
|
|
865
862
|
else if (this.checkpointer === true) throw new Error("checkpointer: true cannot be used for root graphs.");
|
|
866
863
|
else defaultCheckpointer = this.checkpointer;
|
|
867
864
|
const defaultStore = config.store ?? this.store;
|
|
@@ -872,7 +869,7 @@ var Pregel = class extends PartialRunnable {
|
|
|
872
869
|
if (config.checkpointDuring === false) return "exit";
|
|
873
870
|
return "async";
|
|
874
871
|
})();
|
|
875
|
-
const defaultDurability = config.durability ?? checkpointDuringDurability ?? config?.configurable?.[
|
|
872
|
+
const defaultDurability = config.durability ?? checkpointDuringDurability ?? config?.configurable?.["__pregel_durability"] ?? "async";
|
|
876
873
|
return [
|
|
877
874
|
defaultDebug,
|
|
878
875
|
defaultStreamMode,
|
|
@@ -966,8 +963,8 @@ var Pregel = class extends PartialRunnable {
|
|
|
966
963
|
const stream = new IterableReadableWritableStream({ modes: new Set(streamMode) });
|
|
967
964
|
if (this.checkpointer === true) {
|
|
968
965
|
config.configurable ??= {};
|
|
969
|
-
const ns = config.configurable[
|
|
970
|
-
config.configurable[CONFIG_KEY_CHECKPOINT_NS] = ns.split(
|
|
966
|
+
const ns = config.configurable["checkpoint_ns"] ?? "";
|
|
967
|
+
config.configurable[CONFIG_KEY_CHECKPOINT_NS] = ns.split("|").map((part) => part.split(":")[0]).join("|");
|
|
971
968
|
}
|
|
972
969
|
if (streamMode.includes("messages")) {
|
|
973
970
|
const messageStreamer = new StreamMessagesHandler((chunk) => stream.push(chunk));
|
|
@@ -993,7 +990,7 @@ var Pregel = class extends PartialRunnable {
|
|
|
993
990
|
}
|
|
994
991
|
config.writer ??= (chunk) => {
|
|
995
992
|
if (!streamMode.includes("custom")) return;
|
|
996
|
-
const ns = (getConfig()?.configurable?.[CONFIG_KEY_CHECKPOINT_NS])?.split(
|
|
993
|
+
const ns = (getConfig()?.configurable?.[CONFIG_KEY_CHECKPOINT_NS])?.split("|").slice(0, -1);
|
|
997
994
|
stream.push([
|
|
998
995
|
ns ?? [],
|
|
999
996
|
"custom",
|
|
@@ -1168,7 +1165,7 @@ var Pregel = class extends PartialRunnable {
|
|
|
1168
1165
|
await this.cache?.clear([]);
|
|
1169
1166
|
}
|
|
1170
1167
|
};
|
|
1171
|
-
|
|
1172
1168
|
//#endregion
|
|
1173
1169
|
export { Channel, Pregel };
|
|
1170
|
+
|
|
1174
1171
|
//# sourceMappingURL=index.js.map
|