@langchain/langgraph 1.2.2 → 1.2.3
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 -48
- package/dist/pregel/index.cjs.map +1 -1
- package/dist/pregel/index.js +28 -29
- 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,10 +503,10 @@ 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
512
|
throw new Error(`Subgraph with namespace "${recastNamespace}" not found.`);
|
|
@@ -535,10 +534,10 @@ var Pregel = class extends PartialRunnable {
|
|
|
535
534
|
* @throws {Error} If no checkpointer is configured
|
|
536
535
|
*/
|
|
537
536
|
async *getStateHistory(config, options) {
|
|
538
|
-
const checkpointer = config.configurable?.[
|
|
537
|
+
const checkpointer = config.configurable?.["__pregel_checkpointer"] ?? this.checkpointer;
|
|
539
538
|
if (!checkpointer) throw new GraphValueError("No checkpointer set", { lc_error_code: "MISSING_CHECKPOINTER" });
|
|
540
539
|
const checkpointNamespace = config.configurable?.checkpoint_ns ?? "";
|
|
541
|
-
if (checkpointNamespace !== "" && config.configurable?.[
|
|
540
|
+
if (checkpointNamespace !== "" && config.configurable?.["__pregel_checkpointer"] === void 0) {
|
|
542
541
|
const recastNamespace = recastCheckpointNamespace(checkpointNamespace);
|
|
543
542
|
for await (const [name, pregel] of this.getSubgraphsAsync(recastNamespace, true)) if (name === recastNamespace) {
|
|
544
543
|
yield* pregel.getStateHistory(patchConfigurable(config, { [CONFIG_KEY_CHECKPOINTER]: checkpointer }), options);
|
|
@@ -569,12 +568,12 @@ var Pregel = class extends PartialRunnable {
|
|
|
569
568
|
* @throws {InvalidUpdateError} If the update cannot be attributed to a node or an update can be only applied in sequence.
|
|
570
569
|
*/
|
|
571
570
|
async bulkUpdateState(startConfig, supersteps) {
|
|
572
|
-
const checkpointer = startConfig.configurable?.[
|
|
571
|
+
const checkpointer = startConfig.configurable?.["__pregel_checkpointer"] ?? this.checkpointer;
|
|
573
572
|
if (!checkpointer) throw new GraphValueError("No checkpointer set", { lc_error_code: "MISSING_CHECKPOINTER" });
|
|
574
573
|
if (supersteps.length === 0) throw new Error("No supersteps provided");
|
|
575
574
|
if (supersteps.some((s) => s.updates.length === 0)) throw new Error("No updates provided");
|
|
576
575
|
const checkpointNamespace = startConfig.configurable?.checkpoint_ns ?? "";
|
|
577
|
-
if (checkpointNamespace !== "" && startConfig.configurable?.[
|
|
576
|
+
if (checkpointNamespace !== "" && startConfig.configurable?.["__pregel_checkpointer"] === void 0) {
|
|
578
577
|
const recastNamespace = recastCheckpointNamespace(checkpointNamespace);
|
|
579
578
|
for await (const [, pregel] of this.getSubgraphsAsync(recastNamespace, true)) return await pregel.bulkUpdateState(patchConfigurable(startConfig, { [CONFIG_KEY_CHECKPOINTER]: checkpointer }), supersteps);
|
|
580
579
|
throw new Error(`Subgraph "${recastNamespace}" not found`);
|
|
@@ -604,7 +603,7 @@ var Pregel = class extends PartialRunnable {
|
|
|
604
603
|
}, {}), saved ? saved.metadata : void 0);
|
|
605
604
|
}
|
|
606
605
|
const channels = emptyChannels(this.channels, checkpoint);
|
|
607
|
-
if (values === null && asNode ===
|
|
606
|
+
if (values === null && asNode === "__end__") {
|
|
608
607
|
if (updates.length > 1) throw new InvalidUpdateError(`Cannot apply multiple updates when clearing state`);
|
|
609
608
|
if (saved) {
|
|
610
609
|
const nextTasks = _prepareNextTasks(checkpoint, saved.pendingWrites || [], this.nodes, channels, saved.config, true, {
|
|
@@ -620,8 +619,8 @@ var Pregel = class extends PartialRunnable {
|
|
|
620
619
|
}], checkpointer.getNextVersion.bind(checkpointer), this.triggerToNodes);
|
|
621
620
|
for (const [taskId, k, v] of saved.pendingWrites || []) {
|
|
622
621
|
if ([
|
|
623
|
-
|
|
624
|
-
|
|
622
|
+
"__error__",
|
|
623
|
+
"__interrupt__",
|
|
625
624
|
SCHEDULED
|
|
626
625
|
].includes(k)) continue;
|
|
627
626
|
if (!(taskId in nextTasks)) continue;
|
|
@@ -636,7 +635,7 @@ var Pregel = class extends PartialRunnable {
|
|
|
636
635
|
parents: saved?.metadata?.parents ?? {}
|
|
637
636
|
}, getNewChannelVersions(checkpointPreviousVersions, checkpoint.channel_versions)), saved ? saved.metadata : void 0);
|
|
638
637
|
}
|
|
639
|
-
if (asNode ===
|
|
638
|
+
if (asNode === "__copy__") {
|
|
640
639
|
if (updates.length > 1) throw new InvalidUpdateError(`Cannot copy checkpoint with multiple updates`);
|
|
641
640
|
if (saved == null) throw new InvalidUpdateError(`Cannot copy a non-existent checkpoint`);
|
|
642
641
|
const isCopyWithUpdates = (values) => {
|
|
@@ -673,7 +672,7 @@ var Pregel = class extends PartialRunnable {
|
|
|
673
672
|
}
|
|
674
673
|
return patchCheckpointMap(nextConfig, saved.metadata);
|
|
675
674
|
}
|
|
676
|
-
if (asNode ===
|
|
675
|
+
if (asNode === "__input__") {
|
|
677
676
|
if (updates.length > 1) throw new InvalidUpdateError(`Cannot apply multiple updates when updating as input`);
|
|
678
677
|
const inputWrites = await gatherIterator(mapInput(this.inputChannels, values));
|
|
679
678
|
if (inputWrites.length === 0) throw new InvalidUpdateError(`Received no input writes for ${JSON.stringify(this.inputChannels, null, 2)}`);
|
|
@@ -705,8 +704,8 @@ var Pregel = class extends PartialRunnable {
|
|
|
705
704
|
}], void 0, this.triggerToNodes);
|
|
706
705
|
for (const [tid, k, v] of saved.pendingWrites) {
|
|
707
706
|
if ([
|
|
708
|
-
|
|
709
|
-
|
|
707
|
+
"__error__",
|
|
708
|
+
"__interrupt__",
|
|
710
709
|
SCHEDULED
|
|
711
710
|
].includes(k) || nextTasks[tid] === void 0) continue;
|
|
712
711
|
nextTasks[tid].writes.push([k, v]);
|
|
@@ -761,7 +760,7 @@ var Pregel = class extends PartialRunnable {
|
|
|
761
760
|
proc: writers.length > 1 ? RunnableSequence.from(writers, { omitSequenceTags: true }) : writers[0],
|
|
762
761
|
writes: [],
|
|
763
762
|
triggers: [INTERRUPT],
|
|
764
|
-
id: taskId ?? uuid5(
|
|
763
|
+
id: taskId ?? uuid5("__interrupt__", checkpoint.id),
|
|
765
764
|
writers: []
|
|
766
765
|
});
|
|
767
766
|
}
|
|
@@ -855,13 +854,13 @@ var Pregel = class extends PartialRunnable {
|
|
|
855
854
|
defaultStreamMode = Array.isArray(streamMode) ? streamMode : [streamMode];
|
|
856
855
|
streamModeSingle = typeof streamMode === "string";
|
|
857
856
|
} else {
|
|
858
|
-
if (config.configurable?.[
|
|
857
|
+
if (config.configurable?.["__pregel_task_id"] !== void 0) defaultStreamMode = ["values"];
|
|
859
858
|
else defaultStreamMode = this.streamMode;
|
|
860
859
|
streamModeSingle = true;
|
|
861
860
|
}
|
|
862
861
|
let defaultCheckpointer;
|
|
863
862
|
if (this.checkpointer === false) defaultCheckpointer = void 0;
|
|
864
|
-
else if (config !== void 0 && config.configurable?.[
|
|
863
|
+
else if (config !== void 0 && config.configurable?.["__pregel_checkpointer"] !== void 0) defaultCheckpointer = config.configurable[CONFIG_KEY_CHECKPOINTER];
|
|
865
864
|
else if (this.checkpointer === true) throw new Error("checkpointer: true cannot be used for root graphs.");
|
|
866
865
|
else defaultCheckpointer = this.checkpointer;
|
|
867
866
|
const defaultStore = config.store ?? this.store;
|
|
@@ -872,7 +871,7 @@ var Pregel = class extends PartialRunnable {
|
|
|
872
871
|
if (config.checkpointDuring === false) return "exit";
|
|
873
872
|
return "async";
|
|
874
873
|
})();
|
|
875
|
-
const defaultDurability = config.durability ?? checkpointDuringDurability ?? config?.configurable?.[
|
|
874
|
+
const defaultDurability = config.durability ?? checkpointDuringDurability ?? config?.configurable?.["__pregel_durability"] ?? "async";
|
|
876
875
|
return [
|
|
877
876
|
defaultDebug,
|
|
878
877
|
defaultStreamMode,
|
|
@@ -966,8 +965,8 @@ var Pregel = class extends PartialRunnable {
|
|
|
966
965
|
const stream = new IterableReadableWritableStream({ modes: new Set(streamMode) });
|
|
967
966
|
if (this.checkpointer === true) {
|
|
968
967
|
config.configurable ??= {};
|
|
969
|
-
const ns = config.configurable[
|
|
970
|
-
config.configurable[CONFIG_KEY_CHECKPOINT_NS] = ns.split(
|
|
968
|
+
const ns = config.configurable["checkpoint_ns"] ?? "";
|
|
969
|
+
config.configurable[CONFIG_KEY_CHECKPOINT_NS] = ns.split("|").map((part) => part.split(":")[0]).join("|");
|
|
971
970
|
}
|
|
972
971
|
if (streamMode.includes("messages")) {
|
|
973
972
|
const messageStreamer = new StreamMessagesHandler((chunk) => stream.push(chunk));
|
|
@@ -993,7 +992,7 @@ var Pregel = class extends PartialRunnable {
|
|
|
993
992
|
}
|
|
994
993
|
config.writer ??= (chunk) => {
|
|
995
994
|
if (!streamMode.includes("custom")) return;
|
|
996
|
-
const ns = (getConfig()?.configurable?.[CONFIG_KEY_CHECKPOINT_NS])?.split(
|
|
995
|
+
const ns = (getConfig()?.configurable?.[CONFIG_KEY_CHECKPOINT_NS])?.split("|").slice(0, -1);
|
|
997
996
|
stream.push([
|
|
998
997
|
ns ?? [],
|
|
999
998
|
"custom",
|
|
@@ -1168,7 +1167,7 @@ var Pregel = class extends PartialRunnable {
|
|
|
1168
1167
|
await this.cache?.clear([]);
|
|
1169
1168
|
}
|
|
1170
1169
|
};
|
|
1171
|
-
|
|
1172
1170
|
//#endregion
|
|
1173
1171
|
export { Channel, Pregel };
|
|
1172
|
+
|
|
1174
1173
|
//# sourceMappingURL=index.js.map
|