@langchain/langgraph 1.1.0 → 1.1.2

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.
Files changed (104) hide show
  1. package/dist/errors.d.cts.map +1 -1
  2. package/dist/graph/annotation.cjs +3 -0
  3. package/dist/graph/annotation.cjs.map +1 -1
  4. package/dist/graph/annotation.d.cts +1 -0
  5. package/dist/graph/annotation.d.cts.map +1 -1
  6. package/dist/graph/annotation.d.ts +1 -0
  7. package/dist/graph/annotation.d.ts.map +1 -1
  8. package/dist/graph/annotation.js +3 -0
  9. package/dist/graph/annotation.js.map +1 -1
  10. package/dist/graph/graph.cjs +3 -3
  11. package/dist/graph/graph.cjs.map +1 -1
  12. package/dist/graph/graph.js +3 -3
  13. package/dist/graph/graph.js.map +1 -1
  14. package/dist/graph/message.d.cts +2 -2
  15. package/dist/graph/message.d.cts.map +1 -1
  16. package/dist/graph/message.d.ts +2 -2
  17. package/dist/graph/message.d.ts.map +1 -1
  18. package/dist/graph/messages_annotation.d.cts +5 -5
  19. package/dist/graph/messages_annotation.d.cts.map +1 -1
  20. package/dist/graph/messages_annotation.d.ts +5 -5
  21. package/dist/graph/messages_annotation.d.ts.map +1 -1
  22. package/dist/graph/state.cjs +98 -78
  23. package/dist/graph/state.cjs.map +1 -1
  24. package/dist/graph/state.d.cts +68 -35
  25. package/dist/graph/state.d.cts.map +1 -1
  26. package/dist/graph/state.d.ts +68 -35
  27. package/dist/graph/state.d.ts.map +1 -1
  28. package/dist/graph/state.js +99 -79
  29. package/dist/graph/state.js.map +1 -1
  30. package/dist/graph/types.cjs +41 -0
  31. package/dist/graph/types.cjs.map +1 -0
  32. package/dist/graph/types.d.cts +247 -18
  33. package/dist/graph/types.d.cts.map +1 -1
  34. package/dist/graph/types.d.ts +247 -18
  35. package/dist/graph/types.d.ts.map +1 -1
  36. package/dist/graph/types.js +40 -0
  37. package/dist/graph/types.js.map +1 -0
  38. package/dist/graph/zod/meta.cjs +4 -4
  39. package/dist/graph/zod/meta.cjs.map +1 -1
  40. package/dist/graph/zod/meta.js +4 -4
  41. package/dist/graph/zod/meta.js.map +1 -1
  42. package/dist/graph/zod/zod-registry.d.cts.map +1 -1
  43. package/dist/graph/zod/zod-registry.d.ts.map +1 -1
  44. package/dist/hash.cjs +1 -1
  45. package/dist/hash.cjs.map +1 -1
  46. package/dist/hash.js +1 -1
  47. package/dist/hash.js.map +1 -1
  48. package/dist/index.d.cts +3 -3
  49. package/dist/index.d.ts +3 -3
  50. package/dist/prebuilt/agent_executor.d.cts +5 -5
  51. package/dist/prebuilt/agent_executor.d.cts.map +1 -1
  52. package/dist/prebuilt/agent_executor.d.ts +5 -5
  53. package/dist/prebuilt/agent_executor.d.ts.map +1 -1
  54. package/dist/prebuilt/react_agent_executor.cjs +12 -12
  55. package/dist/prebuilt/react_agent_executor.cjs.map +1 -1
  56. package/dist/prebuilt/react_agent_executor.d.cts +3 -3
  57. package/dist/prebuilt/react_agent_executor.d.cts.map +1 -1
  58. package/dist/prebuilt/react_agent_executor.d.ts +3 -3
  59. package/dist/prebuilt/react_agent_executor.d.ts.map +1 -1
  60. package/dist/prebuilt/react_agent_executor.js +12 -12
  61. package/dist/prebuilt/react_agent_executor.js.map +1 -1
  62. package/dist/prebuilt/tool_node.cjs +1 -1
  63. package/dist/prebuilt/tool_node.cjs.map +1 -1
  64. package/dist/prebuilt/tool_node.js +1 -1
  65. package/dist/prebuilt/tool_node.js.map +1 -1
  66. package/dist/pregel/debug.cjs +9 -9
  67. package/dist/pregel/debug.cjs.map +1 -1
  68. package/dist/pregel/debug.js +9 -9
  69. package/dist/pregel/debug.js.map +1 -1
  70. package/dist/pregel/index.cjs +44 -44
  71. package/dist/pregel/index.cjs.map +1 -1
  72. package/dist/pregel/index.js +44 -44
  73. package/dist/pregel/index.js.map +1 -1
  74. package/dist/pregel/loop.cjs +1 -1
  75. package/dist/pregel/loop.cjs.map +1 -1
  76. package/dist/pregel/loop.js +1 -1
  77. package/dist/pregel/loop.js.map +1 -1
  78. package/dist/pregel/utils/subgraph.cjs +2 -2
  79. package/dist/pregel/utils/subgraph.cjs.map +1 -1
  80. package/dist/pregel/utils/subgraph.js +2 -2
  81. package/dist/pregel/utils/subgraph.js.map +1 -1
  82. package/dist/state/schema.cjs +8 -9
  83. package/dist/state/schema.cjs.map +1 -1
  84. package/dist/state/schema.d.cts +18 -22
  85. package/dist/state/schema.d.cts.map +1 -1
  86. package/dist/state/schema.d.ts +18 -22
  87. package/dist/state/schema.d.ts.map +1 -1
  88. package/dist/state/schema.js +8 -9
  89. package/dist/state/schema.js.map +1 -1
  90. package/dist/state/values/reduced.cjs.map +1 -1
  91. package/dist/state/values/reduced.d.cts +1 -1
  92. package/dist/state/values/reduced.d.cts.map +1 -1
  93. package/dist/state/values/reduced.d.ts +1 -1
  94. package/dist/state/values/reduced.d.ts.map +1 -1
  95. package/dist/state/values/reduced.js.map +1 -1
  96. package/dist/state/values/untracked.cjs.map +1 -1
  97. package/dist/state/values/untracked.d.cts +4 -0
  98. package/dist/state/values/untracked.d.cts.map +1 -1
  99. package/dist/state/values/untracked.d.ts +4 -0
  100. package/dist/state/values/untracked.d.ts.map +1 -1
  101. package/dist/state/values/untracked.js.map +1 -1
  102. package/dist/web.d.cts +3 -3
  103. package/dist/web.d.ts +3 -3
  104. package/package.json +6 -6
@@ -448,11 +448,11 @@ var Pregel = class extends PartialRunnable {
448
448
  let taskNs = `${String(task.name)}${require_constants.CHECKPOINT_NAMESPACE_END}${task.id}`;
449
449
  if (parentNamespace) taskNs = `${parentNamespace}${require_constants.CHECKPOINT_NAMESPACE_SEPARATOR}${taskNs}`;
450
450
  if (subgraphCheckpointer === void 0) {
451
- const config$1 = { configurable: {
451
+ const config = { configurable: {
452
452
  thread_id: saved.config.configurable?.thread_id,
453
453
  checkpoint_ns: taskNs
454
454
  } };
455
- taskStates[task.id] = config$1;
455
+ taskStates[task.id] = config;
456
456
  } else {
457
457
  const subgraphConfig = { configurable: {
458
458
  [require_constants.CONFIG_KEY_CHECKPOINTER]: subgraphCheckpointer,
@@ -474,8 +474,8 @@ var Pregel = class extends PartialRunnable {
474
474
  if (!(taskId in nextTaskById)) continue;
475
475
  nextTaskById[taskId].writes.push([String(channel), value]);
476
476
  }
477
- const tasksWithWrites$1 = nextTasks.filter((task) => task.writes.length > 0);
478
- if (tasksWithWrites$1.length > 0) require_algo._applyWrites(saved.checkpoint, channels, tasksWithWrites$1, void 0, this.triggerToNodes);
477
+ const tasksWithWrites = nextTasks.filter((task) => task.writes.length > 0);
478
+ if (tasksWithWrites.length > 0) require_algo._applyWrites(saved.checkpoint, channels, tasksWithWrites, void 0, this.triggerToNodes);
479
479
  }
480
480
  let metadata = saved?.metadata;
481
481
  if (metadata && saved?.config?.configurable?.thread_id) metadata = {
@@ -638,39 +638,39 @@ var Pregel = class extends PartialRunnable {
638
638
  if (asNode === require_constants.COPY) {
639
639
  if (updates.length > 1) throw new require_errors.InvalidUpdateError(`Cannot copy checkpoint with multiple updates`);
640
640
  if (saved == null) throw new require_errors.InvalidUpdateError(`Cannot copy a non-existent checkpoint`);
641
- const isCopyWithUpdates = (values$1) => {
642
- if (!Array.isArray(values$1)) return false;
643
- if (values$1.length === 0) return false;
644
- return values$1.every((v) => Array.isArray(v) && v.length === 2);
641
+ const isCopyWithUpdates = (values) => {
642
+ if (!Array.isArray(values)) return false;
643
+ if (values.length === 0) return false;
644
+ return values.every((v) => Array.isArray(v) && v.length === 2);
645
645
  };
646
646
  const nextCheckpoint = require_base.createCheckpoint(checkpoint, void 0, step);
647
- const nextConfig$1 = await checkpointer.put(saved.parentConfig ?? require_utils.patchConfigurable(saved.config, { checkpoint_id: void 0 }), nextCheckpoint, {
647
+ const nextConfig = await checkpointer.put(saved.parentConfig ?? require_utils.patchConfigurable(saved.config, { checkpoint_id: void 0 }), nextCheckpoint, {
648
648
  source: "fork",
649
649
  step: step + 1,
650
650
  parents: saved.metadata?.parents ?? {}
651
651
  }, {});
652
652
  if (isCopyWithUpdates(values)) {
653
- const nextTasks = require_algo._prepareNextTasks(nextCheckpoint, saved.pendingWrites, this.nodes, channels, nextConfig$1, false, { step: step + 2 });
653
+ const nextTasks = require_algo._prepareNextTasks(nextCheckpoint, saved.pendingWrites, this.nodes, channels, nextConfig, false, { step: step + 2 });
654
654
  const tasksGroupBy = Object.values(nextTasks).reduce((acc, { name, id }) => {
655
655
  acc[name] ??= [];
656
656
  acc[name].push({ id });
657
657
  return acc;
658
658
  }, {});
659
659
  const userGroupBy = values.reduce((acc, item) => {
660
- const [values$1, asNode$1] = item;
661
- acc[asNode$1] ??= [];
662
- const targetIdx = acc[asNode$1].length;
663
- const taskId = tasksGroupBy[asNode$1]?.[targetIdx]?.id;
664
- acc[asNode$1].push({
665
- values: values$1,
666
- asNode: asNode$1,
660
+ const [values, asNode] = item;
661
+ acc[asNode] ??= [];
662
+ const targetIdx = acc[asNode].length;
663
+ const taskId = tasksGroupBy[asNode]?.[targetIdx]?.id;
664
+ acc[asNode].push({
665
+ values,
666
+ asNode,
667
667
  taskId
668
668
  });
669
669
  return acc;
670
670
  }, {});
671
- return updateSuperStep(require_index.patchCheckpointMap(nextConfig$1, saved.metadata), Object.values(userGroupBy).flat());
671
+ return updateSuperStep(require_index.patchCheckpointMap(nextConfig, saved.metadata), Object.values(userGroupBy).flat());
672
672
  }
673
- return require_index.patchCheckpointMap(nextConfig$1, saved.metadata);
673
+ return require_index.patchCheckpointMap(nextConfig, saved.metadata);
674
674
  }
675
675
  if (asNode === require_constants.INPUT) {
676
676
  if (updates.length > 1) throw new require_errors.InvalidUpdateError(`Cannot apply multiple updates when updating as input`);
@@ -682,13 +682,13 @@ var Pregel = class extends PartialRunnable {
682
682
  triggers: []
683
683
  }], checkpointer.getNextVersion.bind(this.checkpointer), this.triggerToNodes);
684
684
  const nextStep = saved?.metadata?.step != null ? saved.metadata.step + 1 : -1;
685
- const nextConfig$1 = await checkpointer.put(checkpointConfig, require_base.createCheckpoint(checkpoint, channels, nextStep), {
685
+ const nextConfig = await checkpointer.put(checkpointConfig, require_base.createCheckpoint(checkpoint, channels, nextStep), {
686
686
  source: "input",
687
687
  step: nextStep,
688
688
  parents: saved?.metadata?.parents ?? {}
689
689
  }, require_index.getNewChannelVersions(checkpointPreviousVersions, checkpoint.channel_versions));
690
- await checkpointer.putWrites(nextConfig$1, inputWrites, (0, _langchain_langgraph_checkpoint.uuid5)(require_constants.INPUT, checkpoint.id));
691
- return require_index.patchCheckpointMap(nextConfig$1, saved ? saved.metadata : void 0);
690
+ await checkpointer.putWrites(nextConfig, inputWrites, (0, _langchain_langgraph_checkpoint.uuid5)(require_constants.INPUT, checkpoint.id));
691
+ return require_index.patchCheckpointMap(nextConfig, saved ? saved.metadata : void 0);
692
692
  }
693
693
  if (config.configurable?.checkpoint_id === void 0 && saved?.pendingWrites !== void 0 && saved.pendingWrites.length > 0) {
694
694
  const nextTasks = require_algo._prepareNextTasks(checkpoint, saved.pendingWrites, this.nodes, channels, saved.config, true, {
@@ -710,53 +710,53 @@ var Pregel = class extends PartialRunnable {
710
710
  ].includes(k) || nextTasks[tid] === void 0) continue;
711
711
  nextTasks[tid].writes.push([k, v]);
712
712
  }
713
- const tasks$1 = Object.values(nextTasks).filter((task) => {
713
+ const tasks = Object.values(nextTasks).filter((task) => {
714
714
  return task.writes.length > 0;
715
715
  });
716
- if (tasks$1.length > 0) require_algo._applyWrites(checkpoint, channels, tasks$1, void 0, this.triggerToNodes);
716
+ if (tasks.length > 0) require_algo._applyWrites(checkpoint, channels, tasks, void 0, this.triggerToNodes);
717
717
  }
718
718
  const nonNullVersion = Object.values(checkpoint.versions_seen).map((seenVersions) => {
719
719
  return Object.values(seenVersions);
720
720
  }).flat().find((v) => !!v);
721
721
  const validUpdates = [];
722
722
  if (updates.length === 1) {
723
- let { values: values$1, asNode: asNode$1, taskId } = updates[0];
724
- if (asNode$1 === void 0 && Object.keys(this.nodes).length === 1) [asNode$1] = Object.keys(this.nodes);
725
- else if (asNode$1 === void 0 && nonNullVersion === void 0) {
726
- if (typeof this.inputChannels === "string" && this.nodes[this.inputChannels] !== void 0) asNode$1 = this.inputChannels;
727
- } else if (asNode$1 === void 0) {
723
+ let { values, asNode, taskId } = updates[0];
724
+ if (asNode === void 0 && Object.keys(this.nodes).length === 1) [asNode] = Object.keys(this.nodes);
725
+ else if (asNode === void 0 && nonNullVersion === void 0) {
726
+ if (typeof this.inputChannels === "string" && this.nodes[this.inputChannels] !== void 0) asNode = this.inputChannels;
727
+ } else if (asNode === void 0) {
728
728
  const lastSeenByNode = Object.entries(checkpoint.versions_seen).map(([n, seen]) => {
729
729
  return Object.values(seen).map((v) => {
730
730
  return [v, n];
731
731
  });
732
732
  }).flat().filter(([_, v]) => v !== require_constants.INTERRUPT).sort(([aNumber], [bNumber]) => (0, _langchain_langgraph_checkpoint.compareChannelVersions)(aNumber, bNumber));
733
733
  if (lastSeenByNode) {
734
- if (lastSeenByNode.length === 1) asNode$1 = lastSeenByNode[0][1];
735
- else if (lastSeenByNode[lastSeenByNode.length - 1][0] !== lastSeenByNode[lastSeenByNode.length - 2][0]) asNode$1 = lastSeenByNode[lastSeenByNode.length - 1][1];
734
+ if (lastSeenByNode.length === 1) asNode = lastSeenByNode[0][1];
735
+ else if (lastSeenByNode[lastSeenByNode.length - 1][0] !== lastSeenByNode[lastSeenByNode.length - 2][0]) asNode = lastSeenByNode[lastSeenByNode.length - 1][1];
736
736
  }
737
737
  }
738
- if (asNode$1 === void 0) throw new require_errors.InvalidUpdateError(`Ambiguous update, specify "asNode"`);
738
+ if (asNode === void 0) throw new require_errors.InvalidUpdateError(`Ambiguous update, specify "asNode"`);
739
739
  validUpdates.push({
740
- values: values$1,
741
- asNode: asNode$1,
740
+ values,
741
+ asNode,
742
742
  taskId
743
743
  });
744
- } else for (const { asNode: asNode$1, values: values$1, taskId } of updates) {
745
- if (asNode$1 == null) throw new require_errors.InvalidUpdateError(`"asNode" is required when applying multiple updates`);
744
+ } else for (const { asNode, values, taskId } of updates) {
745
+ if (asNode == null) throw new require_errors.InvalidUpdateError(`"asNode" is required when applying multiple updates`);
746
746
  validUpdates.push({
747
- values: values$1,
748
- asNode: asNode$1,
747
+ values,
748
+ asNode,
749
749
  taskId
750
750
  });
751
751
  }
752
752
  const tasks = [];
753
- for (const { asNode: asNode$1, values: values$1, taskId } of validUpdates) {
754
- if (this.nodes[asNode$1] === void 0) throw new require_errors.InvalidUpdateError(`Node "${asNode$1.toString()}" does not exist`);
755
- const writers = this.nodes[asNode$1].getWriters();
756
- if (!writers.length) throw new require_errors.InvalidUpdateError(`No writers found for node "${asNode$1.toString()}"`);
753
+ for (const { asNode, values, taskId } of validUpdates) {
754
+ if (this.nodes[asNode] === void 0) throw new require_errors.InvalidUpdateError(`Node "${asNode.toString()}" does not exist`);
755
+ const writers = this.nodes[asNode].getWriters();
756
+ if (!writers.length) throw new require_errors.InvalidUpdateError(`No writers found for node "${asNode.toString()}"`);
757
757
  tasks.push({
758
- name: asNode$1,
759
- input: values$1,
758
+ name: asNode,
759
+ input: values,
760
760
  proc: writers.length > 1 ? _langchain_core_runnables.RunnableSequence.from(writers, { omitSequenceTags: true }) : writers[0],
761
761
  writes: [],
762
762
  triggers: [require_constants.INTERRUPT],