@langchain/langgraph 0.4.5 → 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 CHANGED
@@ -1,5 +1,16 @@
1
1
  # @langchain/langgraph
2
2
 
3
+ ## 0.4.6
4
+
5
+ ### Patch Changes
6
+
7
+ - 5f1db81: fix(langgraph): `withConfig` should accept `context`
8
+ - c53ca47: Avoid iterating on channels if no managed values are present
9
+ - a3707fb: fix(langgraph): allow `updateState` after resuming from an interrupt
10
+ - Updated dependencies [e8b4540]
11
+ - Updated dependencies [9c57526]
12
+ - @langchain/langgraph-sdk@0.0.109
13
+
3
14
  ## 0.4.5
4
15
 
5
16
  ### Patch Changes
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BaseChannel = void 0;
4
4
  exports.isBaseChannel = isBaseChannel;
5
+ exports.getOnlyChannels = getOnlyChannels;
5
6
  exports.emptyChannels = emptyChannels;
6
7
  exports.createCheckpoint = createCheckpoint;
7
8
  const langgraph_checkpoint_1 = require("@langchain/langgraph-checkpoint");
@@ -70,15 +71,32 @@ class BaseChannel {
70
71
  }
71
72
  }
72
73
  exports.BaseChannel = BaseChannel;
74
+ const IS_ONLY_BASE_CHANNEL = Symbol.for("LG_IS_ONLY_BASE_CHANNEL");
75
+ function getOnlyChannels(channels) {
76
+ // @ts-expect-error - we know it's a record of base channels
77
+ if (channels[IS_ONLY_BASE_CHANNEL] === true)
78
+ return channels;
79
+ const newChannels = {};
80
+ for (const k in channels) {
81
+ if (!Object.prototype.hasOwnProperty.call(channels, k))
82
+ continue;
83
+ const value = channels[k];
84
+ if (isBaseChannel(value))
85
+ newChannels[k] = value;
86
+ }
87
+ Object.assign(newChannels, { [IS_ONLY_BASE_CHANNEL]: true });
88
+ return newChannels;
89
+ }
73
90
  function emptyChannels(channels, checkpoint) {
74
- const filteredChannels = Object.fromEntries(Object.entries(channels).filter(([, value]) => isBaseChannel(value)));
91
+ const filteredChannels = getOnlyChannels(channels);
75
92
  const newChannels = {};
76
93
  for (const k in filteredChannels) {
77
- if (Object.prototype.hasOwnProperty.call(filteredChannels, k)) {
78
- const channelValue = checkpoint.channel_values[k];
79
- newChannels[k] = filteredChannels[k].fromCheckpoint(channelValue);
80
- }
94
+ if (!Object.prototype.hasOwnProperty.call(filteredChannels, k))
95
+ continue;
96
+ const channelValue = checkpoint.channel_values[k];
97
+ newChannels[k] = filteredChannels[k].fromCheckpoint(channelValue);
81
98
  }
99
+ Object.assign(newChannels, { [IS_ONLY_BASE_CHANNEL]: true });
82
100
  return newChannels;
83
101
  }
84
102
  function createCheckpoint(checkpoint, channels, step, options) {
@@ -89,7 +107,9 @@ function createCheckpoint(checkpoint, channels, step, options) {
89
107
  }
90
108
  else {
91
109
  values = {};
92
- for (const k of Object.keys(channels)) {
110
+ for (const k in channels) {
111
+ if (!Object.prototype.hasOwnProperty.call(channels, k))
112
+ continue;
93
113
  try {
94
114
  values[k] = channels[k].checkpoint();
95
115
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -104,13 +124,19 @@ function createCheckpoint(checkpoint, channels, step, options) {
104
124
  }
105
125
  }
106
126
  }
127
+ const newVersionsSeen = {};
128
+ for (const k in checkpoint.versions_seen) {
129
+ if (!Object.prototype.hasOwnProperty.call(checkpoint.versions_seen, k))
130
+ continue;
131
+ newVersionsSeen[k] = { ...checkpoint.versions_seen[k] };
132
+ }
107
133
  return {
108
134
  v: 4,
109
135
  id: options?.id ?? (0, langgraph_checkpoint_1.uuid6)(step),
110
136
  ts: new Date().toISOString(),
111
137
  channel_values: values,
112
138
  channel_versions: { ...checkpoint.channel_versions },
113
- versions_seen: (0, langgraph_checkpoint_1.deepCopy)(checkpoint.versions_seen),
139
+ versions_seen: newVersionsSeen,
114
140
  };
115
141
  }
116
142
  //# sourceMappingURL=base.js.map
@@ -68,6 +68,7 @@ export declare abstract class BaseChannel<ValueType = unknown, UpdateType = unkn
68
68
  */
69
69
  isAvailable(): boolean;
70
70
  }
71
+ export declare function getOnlyChannels(channels: Record<string, BaseChannel>): Record<string, BaseChannel>;
71
72
  export declare function emptyChannels<Cc extends Record<string, BaseChannel>>(channels: Cc, checkpoint: ReadonlyCheckpoint): Cc;
72
73
  export declare function createCheckpoint<ValueType>(checkpoint: ReadonlyCheckpoint, channels: Record<string, BaseChannel<ValueType>> | undefined, step: number, options?: {
73
74
  id?: string;
@@ -1,4 +1,4 @@
1
- import { deepCopy, uuid6, } from "@langchain/langgraph-checkpoint";
1
+ import { uuid6, } from "@langchain/langgraph-checkpoint";
2
2
  import { EmptyChannelError } from "../errors.js";
3
3
  export function isBaseChannel(obj) {
4
4
  return obj != null && obj.lg_is_channel === true;
@@ -63,15 +63,32 @@ export class BaseChannel {
63
63
  }
64
64
  }
65
65
  }
66
+ const IS_ONLY_BASE_CHANNEL = Symbol.for("LG_IS_ONLY_BASE_CHANNEL");
67
+ export function getOnlyChannels(channels) {
68
+ // @ts-expect-error - we know it's a record of base channels
69
+ if (channels[IS_ONLY_BASE_CHANNEL] === true)
70
+ return channels;
71
+ const newChannels = {};
72
+ for (const k in channels) {
73
+ if (!Object.prototype.hasOwnProperty.call(channels, k))
74
+ continue;
75
+ const value = channels[k];
76
+ if (isBaseChannel(value))
77
+ newChannels[k] = value;
78
+ }
79
+ Object.assign(newChannels, { [IS_ONLY_BASE_CHANNEL]: true });
80
+ return newChannels;
81
+ }
66
82
  export function emptyChannels(channels, checkpoint) {
67
- const filteredChannels = Object.fromEntries(Object.entries(channels).filter(([, value]) => isBaseChannel(value)));
83
+ const filteredChannels = getOnlyChannels(channels);
68
84
  const newChannels = {};
69
85
  for (const k in filteredChannels) {
70
- if (Object.prototype.hasOwnProperty.call(filteredChannels, k)) {
71
- const channelValue = checkpoint.channel_values[k];
72
- newChannels[k] = filteredChannels[k].fromCheckpoint(channelValue);
73
- }
86
+ if (!Object.prototype.hasOwnProperty.call(filteredChannels, k))
87
+ continue;
88
+ const channelValue = checkpoint.channel_values[k];
89
+ newChannels[k] = filteredChannels[k].fromCheckpoint(channelValue);
74
90
  }
91
+ Object.assign(newChannels, { [IS_ONLY_BASE_CHANNEL]: true });
75
92
  return newChannels;
76
93
  }
77
94
  export function createCheckpoint(checkpoint, channels, step, options) {
@@ -82,7 +99,9 @@ export function createCheckpoint(checkpoint, channels, step, options) {
82
99
  }
83
100
  else {
84
101
  values = {};
85
- for (const k of Object.keys(channels)) {
102
+ for (const k in channels) {
103
+ if (!Object.prototype.hasOwnProperty.call(channels, k))
104
+ continue;
86
105
  try {
87
106
  values[k] = channels[k].checkpoint();
88
107
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -97,13 +116,19 @@ export function createCheckpoint(checkpoint, channels, step, options) {
97
116
  }
98
117
  }
99
118
  }
119
+ const newVersionsSeen = {};
120
+ for (const k in checkpoint.versions_seen) {
121
+ if (!Object.prototype.hasOwnProperty.call(checkpoint.versions_seen, k))
122
+ continue;
123
+ newVersionsSeen[k] = { ...checkpoint.versions_seen[k] };
124
+ }
100
125
  return {
101
126
  v: 4,
102
127
  id: options?.id ?? uuid6(step),
103
128
  ts: new Date().toISOString(),
104
129
  channel_values: values,
105
130
  channel_versions: { ...checkpoint.channel_versions },
106
- versions_seen: deepCopy(checkpoint.versions_seen),
131
+ versions_seen: newVersionsSeen,
107
132
  };
108
133
  }
109
134
  //# sourceMappingURL=base.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/channels/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/channels/base.ts"],"names":[],"mappings":"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"}
@@ -22,20 +22,33 @@ const increment = (current) => {
22
22
  return current !== undefined ? current + 1 : 1;
23
23
  };
24
24
  exports.increment = increment;
25
- function shouldInterrupt(checkpoint, interruptNodes, tasks) {
26
- const versionValues = Object.values(checkpoint.channel_versions);
27
- const versionType = versionValues.length > 0 ? typeof versionValues[0] : undefined;
28
- let nullVersion;
29
- if (versionType === "number") {
30
- nullVersion = 0;
31
- }
32
- else if (versionType === "string") {
33
- nullVersion = "";
25
+ // Avoids unnecessary double iteration
26
+ function maxChannelMapVersion(channelVersions) {
27
+ let maxVersion;
28
+ for (const chan in channelVersions) {
29
+ if (!Object.prototype.hasOwnProperty.call(channelVersions, chan))
30
+ continue;
31
+ if (maxVersion == null) {
32
+ maxVersion = channelVersions[chan];
33
+ }
34
+ else {
35
+ maxVersion = (0, langgraph_checkpoint_1.maxChannelVersion)(maxVersion, channelVersions[chan]);
36
+ }
34
37
  }
38
+ return maxVersion;
39
+ }
40
+ function shouldInterrupt(checkpoint, interruptNodes, tasks) {
41
+ const nullVersion = (0, index_js_1.getNullChannelVersion)(checkpoint.channel_versions);
35
42
  const seen = checkpoint.versions_seen[constants_js_1.INTERRUPT] ?? {};
36
- const anyChannelUpdated = Object.entries(checkpoint.channel_versions).some(([chan, version]) => {
37
- return version > (seen[chan] ?? nullVersion);
38
- });
43
+ let anyChannelUpdated = false;
44
+ for (const chan in checkpoint.channel_versions) {
45
+ if (!Object.prototype.hasOwnProperty.call(checkpoint.channel_versions, chan))
46
+ continue;
47
+ if (checkpoint.channel_versions[chan] > (seen[chan] ?? nullVersion)) {
48
+ anyChannelUpdated = true;
49
+ break;
50
+ }
51
+ }
39
52
  const anyTriggeredNodeInInterruptNodes = tasks.some((task) => interruptNodes === "*"
40
53
  ? !task.config?.tags?.includes(constants_js_1.TAG_HIDDEN)
41
54
  : interruptNodes.includes(task.name));
@@ -115,7 +128,7 @@ getNextVersion, triggerToNodes) {
115
128
  // so we don't do anything other than update the channels written to
116
129
  const bumpStep = tasks.some((task) => task.triggers.length > 0);
117
130
  // Filter out non instances of BaseChannel
118
- const onlyChannels = Object.fromEntries(Object.entries(channels).filter(([_, value]) => (0, base_js_1.isBaseChannel)(value)));
131
+ const onlyChannels = (0, base_js_1.getOnlyChannels)(channels);
119
132
  // Update seen versions
120
133
  for (const task of tasks) {
121
134
  checkpoint.versions_seen[task.name] ??= {};
@@ -127,10 +140,7 @@ getNextVersion, triggerToNodes) {
127
140
  }
128
141
  }
129
142
  // Find the highest version of all channels
130
- let maxVersion;
131
- if (Object.keys(checkpoint.channel_versions).length > 0) {
132
- maxVersion = (0, langgraph_checkpoint_1.maxChannelVersion)(...Object.values(checkpoint.channel_versions));
133
- }
143
+ let maxVersion = maxChannelMapVersion(checkpoint.channel_versions);
134
144
  // Consume all channels that were read
135
145
  const channelsToConsume = new Set(tasks
136
146
  .flatMap((task) => task.triggers)
@@ -156,18 +166,15 @@ getNextVersion, triggerToNodes) {
156
166
  }
157
167
  }
158
168
  // Find the highest version of all channels
159
- // TODO: figure out why we need to do this twice (Python only does this once)
160
- maxVersion = undefined;
161
- if (Object.keys(checkpoint.channel_versions).length > 0) {
162
- maxVersion = (0, langgraph_checkpoint_1.maxChannelVersion)(...Object.values(checkpoint.channel_versions));
163
- }
169
+ maxVersion = maxChannelMapVersion(checkpoint.channel_versions);
164
170
  const updatedChannels = new Set();
165
171
  // Apply writes to channels
166
172
  for (const [chan, vals] of Object.entries(pendingWritesByChannel)) {
167
173
  if (chan in onlyChannels) {
174
+ const channel = onlyChannels[chan];
168
175
  let updated;
169
176
  try {
170
- updated = onlyChannels[chan].update(vals);
177
+ updated = channel.update(vals);
171
178
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
172
179
  }
173
180
  catch (e) {
@@ -183,23 +190,24 @@ getNextVersion, triggerToNodes) {
183
190
  if (updated && getNextVersion !== undefined) {
184
191
  checkpoint.channel_versions[chan] = getNextVersion(maxVersion);
185
192
  // unavailable channels can't trigger tasks, so don't add them
186
- if (onlyChannels[chan].isAvailable()) {
193
+ if (channel.isAvailable())
187
194
  updatedChannels.add(chan);
188
- }
189
195
  }
190
196
  }
191
197
  }
192
198
  // Channels that weren't updated in this step are notified of a new step
193
199
  if (bumpStep) {
194
- for (const chan of Object.keys(onlyChannels)) {
195
- if (onlyChannels[chan].isAvailable() && !updatedChannels.has(chan)) {
196
- const updated = onlyChannels[chan].update([]);
200
+ for (const chan in onlyChannels) {
201
+ if (!Object.prototype.hasOwnProperty.call(onlyChannels, chan))
202
+ continue;
203
+ const channel = onlyChannels[chan];
204
+ if (channel.isAvailable() && !updatedChannels.has(chan)) {
205
+ const updated = channel.update([]);
197
206
  if (updated && getNextVersion !== undefined) {
198
207
  checkpoint.channel_versions[chan] = getNextVersion(maxVersion);
199
208
  // unavailable channels can't trigger tasks, so don't add them
200
- if (onlyChannels[chan].isAvailable()) {
209
+ if (channel.isAvailable())
201
210
  updatedChannels.add(chan);
202
- }
203
211
  }
204
212
  }
205
213
  }
@@ -207,13 +215,15 @@ getNextVersion, triggerToNodes) {
207
215
  // If this is (tentatively) the last superstep, notify all channels of finish
208
216
  if (bumpStep &&
209
217
  !Object.keys(triggerToNodes ?? {}).some((channel) => updatedChannels.has(channel))) {
210
- for (const chan of Object.keys(onlyChannels)) {
211
- if (onlyChannels[chan].finish() && getNextVersion !== undefined) {
218
+ for (const chan in onlyChannels) {
219
+ if (!Object.prototype.hasOwnProperty.call(onlyChannels, chan))
220
+ continue;
221
+ const channel = onlyChannels[chan];
222
+ if (channel.finish() && getNextVersion !== undefined) {
212
223
  checkpoint.channel_versions[chan] = getNextVersion(maxVersion);
213
224
  // unavailable channels can't trigger tasks, so don't add them
214
- if (onlyChannels[chan].isAvailable()) {
225
+ if (channel.isAvailable())
215
226
  updatedChannels.add(chan);
216
- }
217
227
  }
218
228
  }
219
229
  }
@@ -238,7 +248,9 @@ function _prepareNextTasks(checkpoint, pendingWrites, processes, channels, confi
238
248
  }
239
249
  // Check if any processes should be run in next step
240
250
  // If so, prepare the values to be passed to them
241
- for (const name of Object.keys(processes)) {
251
+ for (const name in processes) {
252
+ if (!Object.prototype.hasOwnProperty.call(processes, name))
253
+ continue;
242
254
  const task = _prepareSingleTask([constants_js_1.PULL, name], checkpoint, pendingWrites, processes, channels, config, forExecution, extra);
243
255
  if (task !== undefined) {
244
256
  tasks[task.id] = task;
@@ -488,17 +500,15 @@ function _prepareSingleTask(taskPath, checkpoint, pendingWrites, processes, chan
488
500
  return undefined;
489
501
  }
490
502
  const seen = checkpoint.versions_seen[name] ?? {};
491
- const triggers = proc.triggers
492
- .filter((chan) => {
493
- // here we're only checking if the channel is not empty
494
- const isEmptyChannelError = !channels[chan].isAvailable();
495
- return (!isEmptyChannelError &&
496
- (checkpoint.channel_versions[chan] ?? nullVersion) >
497
- (seen[chan] ?? nullVersion));
498
- })
499
- .sort();
503
+ // Find the first trigger that is available and has a new version
504
+ const trigger = proc.triggers.find((chan) => {
505
+ if (!channels[chan].isAvailable())
506
+ return false;
507
+ return ((checkpoint.channel_versions[chan] ?? nullVersion) >
508
+ (seen[chan] ?? nullVersion));
509
+ });
500
510
  // If any of the channels read by this process were updated
501
- if (triggers.length > 0) {
511
+ if (trigger !== undefined) {
502
512
  const val = _procInput(proc, channels, forExecution);
503
513
  if (val === undefined) {
504
514
  return undefined;
@@ -511,13 +521,13 @@ function _prepareSingleTask(taskPath, checkpoint, pendingWrites, processes, chan
511
521
  step.toString(),
512
522
  name,
513
523
  constants_js_1.PULL,
514
- triggers,
524
+ [trigger],
515
525
  ]), checkpoint.id);
516
526
  const taskCheckpointNamespace = `${checkpointNamespace}${constants_js_1.CHECKPOINT_NAMESPACE_END}${taskId}`;
517
527
  let metadata = {
518
528
  langgraph_step: step,
519
529
  langgraph_node: name,
520
- langgraph_triggers: triggers,
530
+ langgraph_triggers: [trigger],
521
531
  langgraph_path: taskPath,
522
532
  langgraph_checkpoint_ns: taskCheckpointNamespace,
523
533
  };
@@ -550,7 +560,7 @@ function _prepareSingleTask(taskPath, checkpoint, pendingWrites, processes, chan
550
560
  [constants_js_1.CONFIG_KEY_READ]: (select_, fresh_ = false) => _localRead(checkpoint, channels, {
551
561
  name,
552
562
  writes: writes,
553
- triggers,
563
+ triggers: [trigger],
554
564
  path: taskPath,
555
565
  }, select_, fresh_),
556
566
  [constants_js_1.CONFIG_KEY_CHECKPOINTER]: checkpointer ?? configurable[constants_js_1.CONFIG_KEY_CHECKPOINTER],
@@ -570,7 +580,7 @@ function _prepareSingleTask(taskPath, checkpoint, pendingWrites, processes, chan
570
580
  checkpoint_ns: taskCheckpointNamespace,
571
581
  },
572
582
  }),
573
- triggers,
583
+ triggers: [trigger],
574
584
  retry_policy: proc.retryPolicy,
575
585
  cache_key: proc.cachePolicy
576
586
  ? {
@@ -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, isBaseChannel, } from "../channels/base.js";
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
- export function shouldInterrupt(checkpoint, interruptNodes, tasks) {
16
- const versionValues = Object.values(checkpoint.channel_versions);
17
- const versionType = versionValues.length > 0 ? typeof versionValues[0] : undefined;
18
- let nullVersion;
19
- if (versionType === "number") {
20
- nullVersion = 0;
21
- }
22
- else if (versionType === "string") {
23
- nullVersion = "";
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
- const anyChannelUpdated = Object.entries(checkpoint.channel_versions).some(([chan, version]) => {
27
- return version > (seen[chan] ?? nullVersion);
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 = Object.fromEntries(Object.entries(channels).filter(([_, value]) => isBaseChannel(value)));
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
- // TODO: figure out why we need to do this twice (Python only does this once)
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 = onlyChannels[chan].update(vals);
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 (onlyChannels[chan].isAvailable()) {
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 of Object.keys(onlyChannels)) {
185
- if (onlyChannels[chan].isAvailable() && !updatedChannels.has(chan)) {
186
- const updated = onlyChannels[chan].update([]);
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 (onlyChannels[chan].isAvailable()) {
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 of Object.keys(onlyChannels)) {
201
- if (onlyChannels[chan].finish() && getNextVersion !== undefined) {
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 (onlyChannels[chan].isAvailable()) {
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 of Object.keys(processes)) {
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
- const triggers = proc.triggers
482
- .filter((chan) => {
483
- // here we're only checking if the channel is not empty
484
- const isEmptyChannelError = !channels[chan].isAvailable();
485
- return (!isEmptyChannelError &&
486
- (checkpoint.channel_versions[chan] ?? nullVersion) >
487
- (seen[chan] ?? nullVersion));
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 (triggers.length > 0) {
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
- triggers,
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: 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
  ? {
@@ -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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"}
@@ -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
  /**
@@ -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: RunnableConfig): typeof this;
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:
@@ -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, isBaseChannel, } from "../channels/base.js";
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
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pregel/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pregel/index.ts"],"names":[],"mappings":"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"}
@@ -67,7 +67,19 @@ class AsyncBatchedCache extends langgraph_checkpoint_1.BaseCache {
67
67
  }
68
68
  class PregelLoop {
69
69
  get isResuming() {
70
- const hasChannelVersions = Object.keys(this.checkpoint.channel_versions).length !== 0;
70
+ let hasChannelVersions = false;
71
+ if (constants_js_1.START in this.checkpoint.channel_versions) {
72
+ // For common channels, we can short-circuit the check
73
+ hasChannelVersions = true;
74
+ }
75
+ else {
76
+ for (const chan in this.checkpoint.channel_versions) {
77
+ if (Object.prototype.hasOwnProperty.call(this.checkpoint.channel_versions, chan)) {
78
+ hasChannelVersions = true;
79
+ break;
80
+ }
81
+ }
82
+ }
71
83
  const configHasResumingFlag = this.config.configurable?.[constants_js_1.CONFIG_KEY_RESUMING] !== undefined;
72
84
  const configIsResuming = configHasResumingFlag && this.config.configurable?.[constants_js_1.CONFIG_KEY_RESUMING];
73
85
  const inputIsNullOrUndefined = this.input === null || this.input === undefined;
@@ -766,7 +778,9 @@ class PregelLoop {
766
778
  }
767
779
  const isCommandUpdateOrGoto = (0, constants_js_1.isCommand)(this.input) && nullWrites.length > 0;
768
780
  if (this.isResuming || isCommandUpdateOrGoto) {
769
- for (const channelName of Object.keys(this.channels)) {
781
+ for (const channelName in this.channels) {
782
+ if (!Object.prototype.hasOwnProperty.call(this.channels, channelName))
783
+ continue;
770
784
  if (this.checkpoint.channel_versions[channelName] !== undefined) {
771
785
  const version = this.checkpoint.channel_versions[channelName];
772
786
  this.checkpoint.versions_seen[constants_js_1.INTERRUPT] = {
@@ -1,6 +1,6 @@
1
1
  import { copyCheckpoint, emptyCheckpoint, AsyncBatchedStore, WRITES_IDX_MAP, BaseCache, } from "@langchain/langgraph-checkpoint";
2
2
  import { createCheckpoint, emptyChannels, } from "../channels/base.js";
3
- import { isCommand, CHECKPOINT_NAMESPACE_SEPARATOR, CONFIG_KEY_CHECKPOINT_MAP, CONFIG_KEY_READ, CONFIG_KEY_RESUMING, CONFIG_KEY_STREAM, ERROR, INPUT, INTERRUPT, NULL_TASK_ID, RESUME, TAG_HIDDEN, PUSH, CONFIG_KEY_SCRATCHPAD, CONFIG_KEY_CHECKPOINT_NS, CHECKPOINT_NAMESPACE_END, CONFIG_KEY_CHECKPOINT_ID, CONFIG_KEY_RESUME_MAP, } from "../constants.js";
3
+ import { isCommand, CHECKPOINT_NAMESPACE_SEPARATOR, CONFIG_KEY_CHECKPOINT_MAP, CONFIG_KEY_READ, CONFIG_KEY_RESUMING, CONFIG_KEY_STREAM, ERROR, INPUT, INTERRUPT, NULL_TASK_ID, RESUME, TAG_HIDDEN, PUSH, CONFIG_KEY_SCRATCHPAD, CONFIG_KEY_CHECKPOINT_NS, CHECKPOINT_NAMESPACE_END, CONFIG_KEY_CHECKPOINT_ID, CONFIG_KEY_RESUME_MAP, START, } from "../constants.js";
4
4
  import { _applyWrites, _prepareNextTasks, _prepareSingleTask, increment, shouldInterrupt, } from "./algo.js";
5
5
  import { gatherIterator, gatherIteratorSync, prefixGenerator, } from "../utils.js";
6
6
  import { mapCommand, mapInput, mapOutputUpdates, mapOutputValues, readChannels, } from "./io.js";
@@ -64,7 +64,19 @@ class AsyncBatchedCache extends BaseCache {
64
64
  }
65
65
  export class PregelLoop {
66
66
  get isResuming() {
67
- const hasChannelVersions = Object.keys(this.checkpoint.channel_versions).length !== 0;
67
+ let hasChannelVersions = false;
68
+ if (START in this.checkpoint.channel_versions) {
69
+ // For common channels, we can short-circuit the check
70
+ hasChannelVersions = true;
71
+ }
72
+ else {
73
+ for (const chan in this.checkpoint.channel_versions) {
74
+ if (Object.prototype.hasOwnProperty.call(this.checkpoint.channel_versions, chan)) {
75
+ hasChannelVersions = true;
76
+ break;
77
+ }
78
+ }
79
+ }
68
80
  const configHasResumingFlag = this.config.configurable?.[CONFIG_KEY_RESUMING] !== undefined;
69
81
  const configIsResuming = configHasResumingFlag && this.config.configurable?.[CONFIG_KEY_RESUMING];
70
82
  const inputIsNullOrUndefined = this.input === null || this.input === undefined;
@@ -763,7 +775,9 @@ export class PregelLoop {
763
775
  }
764
776
  const isCommandUpdateOrGoto = isCommand(this.input) && nullWrites.length > 0;
765
777
  if (this.isResuming || isCommandUpdateOrGoto) {
766
- for (const channelName of Object.keys(this.channels)) {
778
+ for (const channelName in this.channels) {
779
+ if (!Object.prototype.hasOwnProperty.call(this.channels, channelName))
780
+ continue;
767
781
  if (this.checkpoint.channel_versions[channelName] !== undefined) {
768
782
  const version = this.checkpoint.channel_versions[channelName];
769
783
  this.checkpoint.versions_seen[INTERRUPT] = {
@@ -1 +1 @@
1
- {"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/pregel/loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/pregel/loop.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@langchain/langgraph",
3
- "version": "0.4.5",
3
+ "version": "0.4.6",
4
4
  "description": "LangGraph",
5
5
  "type": "module",
6
6
  "engines": {
@@ -33,7 +33,7 @@
33
33
  "license": "MIT",
34
34
  "dependencies": {
35
35
  "@langchain/langgraph-checkpoint": "^0.1.0",
36
- "@langchain/langgraph-sdk": "~0.0.107",
36
+ "@langchain/langgraph-sdk": "~0.0.109",
37
37
  "uuid": "^10.0.0",
38
38
  "zod": "^3.25.32"
39
39
  },
@@ -53,7 +53,7 @@
53
53
  "@langchain/langgraph-checkpoint": "0.1.0",
54
54
  "@langchain/langgraph-checkpoint-postgres": "0.1.1",
55
55
  "@langchain/langgraph-checkpoint-sqlite": "0.2.0",
56
- "@langchain/langgraph-sdk": "0.0.107",
56
+ "@langchain/langgraph-sdk": "0.0.109",
57
57
  "@langchain/openai": "^0.4.0",
58
58
  "@langchain/scripts": ">=0.1.3 <0.2.0",
59
59
  "@swc/core": "^1.3.90",