@langchain/langgraph 0.3.12 → 0.4.0
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 +21 -0
- package/dist/channels/base.cjs +1 -2
- package/dist/channels/base.js +1 -2
- package/dist/channels/base.js.map +1 -1
- package/dist/channels/topic.cjs +5 -5
- package/dist/channels/topic.js +5 -5
- package/dist/channels/topic.js.map +1 -1
- package/dist/constants.cjs +3 -3
- package/dist/constants.d.ts +2 -5
- package/dist/constants.js +2 -2
- package/dist/constants.js.map +1 -1
- package/dist/errors.cjs +1 -1
- package/dist/errors.js +1 -1
- package/dist/errors.js.map +1 -1
- package/dist/graph/annotation.cjs +1 -5
- package/dist/graph/annotation.d.ts +4 -5
- package/dist/graph/annotation.js +1 -5
- package/dist/graph/annotation.js.map +1 -1
- package/dist/graph/graph.cjs +1 -3
- package/dist/graph/graph.d.ts +3 -3
- package/dist/graph/graph.js +1 -3
- package/dist/graph/graph.js.map +1 -1
- package/dist/graph/state.cjs +6 -10
- package/dist/graph/state.d.ts +8 -8
- package/dist/graph/state.js +7 -11
- package/dist/graph/state.js.map +1 -1
- package/dist/interrupt.cjs +2 -13
- package/dist/interrupt.js +2 -13
- package/dist/interrupt.js.map +1 -1
- package/dist/prebuilt/agent_executor.d.ts +22 -1
- package/dist/prebuilt/agent_executor.js.map +1 -1
- package/dist/pregel/algo.cjs +42 -71
- package/dist/pregel/algo.d.ts +9 -10
- package/dist/pregel/algo.js +42 -71
- package/dist/pregel/algo.js.map +1 -1
- package/dist/pregel/index.cjs +56 -92
- package/dist/pregel/index.d.ts +12 -30
- package/dist/pregel/index.js +57 -93
- package/dist/pregel/index.js.map +1 -1
- package/dist/pregel/loop.cjs +25 -86
- package/dist/pregel/loop.d.ts +5 -11
- package/dist/pregel/loop.js +25 -86
- package/dist/pregel/loop.js.map +1 -1
- package/dist/pregel/remote.d.ts +9 -12
- package/dist/pregel/remote.js.map +1 -1
- package/dist/pregel/runnable_types.d.ts +15 -2
- package/dist/pregel/types.d.ts +23 -10
- package/dist/pregel/types.js.map +1 -1
- package/dist/pregel/utils/config.cjs +2 -0
- package/dist/pregel/utils/config.js +2 -0
- package/dist/pregel/utils/config.js.map +1 -1
- package/dist/pregel/validate.d.ts +2 -3
- package/dist/pregel/validate.js.map +1 -1
- package/dist/web.cjs +0 -1
- package/dist/web.d.ts +1 -2
- package/dist/web.js +0 -1
- package/dist/web.js.map +1 -1
- package/package.json +7 -6
- package/dist/managed/base.cjs +0 -177
- package/dist/managed/base.d.ts +0 -38
- package/dist/managed/base.js +0 -168
- package/dist/managed/base.js.map +0 -1
- package/dist/managed/index.cjs +0 -20
- package/dist/managed/index.d.ts +0 -3
- package/dist/managed/index.js +0 -4
- package/dist/managed/index.js.map +0 -1
- package/dist/managed/is_last_step.cjs +0 -12
- package/dist/managed/is_last_step.d.ts +0 -4
- package/dist/managed/is_last_step.js +0 -8
- package/dist/managed/is_last_step.js.map +0 -1
- package/dist/managed/shared_value.cjs +0 -112
- package/dist/managed/shared_value.d.ts +0 -24
- package/dist/managed/shared_value.js +0 -108
- package/dist/managed/shared_value.js.map +0 -1
package/dist/pregel/algo.d.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { RunnableConfig } from "@langchain/core/runnables";
|
|
2
2
|
import { CallbackManagerForChainRun } from "@langchain/core/callbacks/manager";
|
|
3
|
-
import { All, BaseCheckpointSaver, Checkpoint, ReadonlyCheckpoint, type PendingWrite,
|
|
3
|
+
import { All, BaseCheckpointSaver, Checkpoint, ReadonlyCheckpoint, type PendingWrite, BaseStore, CheckpointPendingWrite } from "@langchain/langgraph-checkpoint";
|
|
4
4
|
import { BaseChannel } from "../channels/base.js";
|
|
5
5
|
import { PregelNode } from "./read.js";
|
|
6
6
|
import { PregelExecutableTask, PregelTaskDescription, SimpleTaskPath, TaskPath } from "./types.js";
|
|
7
|
-
import { ManagedValueMapping } from "../managed/base.js";
|
|
8
7
|
import { IterableReadableWritableStream } from "./stream.js";
|
|
9
8
|
/**
|
|
10
9
|
* Construct a type with a set of properties K of type T
|
|
@@ -20,9 +19,9 @@ export type WritesProtocol<C = string> = {
|
|
|
20
19
|
};
|
|
21
20
|
export declare const increment: (current?: number) => number;
|
|
22
21
|
export declare function shouldInterrupt<N extends PropertyKey, C extends PropertyKey>(checkpoint: Checkpoint, interruptNodes: All | N[], tasks: PregelExecutableTask<N, C>[]): boolean;
|
|
23
|
-
export declare function _localRead<Cc extends Record<string, BaseChannel>>(
|
|
24
|
-
export declare function _localWrite(
|
|
25
|
-
export declare function _applyWrites<Cc extends Record<string, BaseChannel>>(checkpoint: Checkpoint, channels: Cc, tasks: WritesProtocol<keyof Cc>[], getNextVersion: ((version: any
|
|
22
|
+
export declare function _localRead<Cc extends Record<string, BaseChannel>>(checkpoint: ReadonlyCheckpoint, channels: Cc, task: WritesProtocol<keyof Cc>, select: Array<keyof Cc> | keyof Cc, fresh?: boolean): Record<string, unknown> | unknown;
|
|
23
|
+
export declare function _localWrite(commit: (writes: [string, any][]) => any, processes: Record<string, PregelNode>, writes: [string, any][]): void;
|
|
24
|
+
export declare function _applyWrites<Cc extends Record<string, BaseChannel>>(checkpoint: Checkpoint, channels: Cc, tasks: WritesProtocol<keyof Cc>[], getNextVersion: ((version: any) => any) | undefined, triggerToNodes: Record<string, string[]> | undefined): void;
|
|
26
25
|
export type NextTaskExtraFields = {
|
|
27
26
|
step: number;
|
|
28
27
|
isResuming?: boolean;
|
|
@@ -37,8 +36,8 @@ export type NextTaskExtraFieldsWithStore = NextTaskExtraFields & {
|
|
|
37
36
|
export type NextTaskExtraFieldsWithoutStore = NextTaskExtraFields & {
|
|
38
37
|
store?: never;
|
|
39
38
|
};
|
|
40
|
-
export declare function _prepareNextTasks<Nn extends StrRecord<string, PregelNode>, Cc extends StrRecord<string, BaseChannel>>(checkpoint: ReadonlyCheckpoint, pendingWrites: [string, string, unknown][] | undefined, processes: Nn, channels: Cc,
|
|
41
|
-
export declare function _prepareNextTasks<Nn extends StrRecord<string, PregelNode>, Cc extends StrRecord<string, BaseChannel>>(checkpoint: ReadonlyCheckpoint, pendingWrites: [string, string, unknown][] | undefined, processes: Nn, channels: Cc,
|
|
42
|
-
export declare function _prepareSingleTask<Nn extends StrRecord<string, PregelNode>, Cc extends StrRecord<string, BaseChannel>>(taskPath: SimpleTaskPath, checkpoint: ReadonlyCheckpoint, pendingWrites: CheckpointPendingWrite[] | undefined, processes: Nn, channels: Cc,
|
|
43
|
-
export declare function _prepareSingleTask<Nn extends StrRecord<string, PregelNode>, Cc extends StrRecord<string, BaseChannel>>(taskPath: TaskPath, checkpoint: ReadonlyCheckpoint, pendingWrites: CheckpointPendingWrite[] | undefined, processes: Nn, channels: Cc,
|
|
44
|
-
export declare function _prepareSingleTask<Nn extends StrRecord<string, PregelNode>, Cc extends StrRecord<string, BaseChannel>>(taskPath: TaskPath, checkpoint: ReadonlyCheckpoint, pendingWrites: CheckpointPendingWrite[] | undefined, processes: Nn, channels: Cc,
|
|
39
|
+
export declare function _prepareNextTasks<Nn extends StrRecord<string, PregelNode>, Cc extends StrRecord<string, BaseChannel>>(checkpoint: ReadonlyCheckpoint, pendingWrites: [string, string, unknown][] | undefined, processes: Nn, channels: Cc, config: RunnableConfig, forExecution: false, extra: NextTaskExtraFieldsWithoutStore): Record<string, PregelTaskDescription>;
|
|
40
|
+
export declare function _prepareNextTasks<Nn extends StrRecord<string, PregelNode>, Cc extends StrRecord<string, BaseChannel>>(checkpoint: ReadonlyCheckpoint, pendingWrites: [string, string, unknown][] | undefined, processes: Nn, channels: Cc, config: RunnableConfig, forExecution: true, extra: NextTaskExtraFieldsWithStore): Record<string, PregelExecutableTask<keyof Nn, keyof Cc>>;
|
|
41
|
+
export declare function _prepareSingleTask<Nn extends StrRecord<string, PregelNode>, Cc extends StrRecord<string, BaseChannel>>(taskPath: SimpleTaskPath, checkpoint: ReadonlyCheckpoint, pendingWrites: CheckpointPendingWrite[] | undefined, processes: Nn, channels: Cc, config: RunnableConfig, forExecution: false, extra: NextTaskExtraFields): PregelTaskDescription | undefined;
|
|
42
|
+
export declare function _prepareSingleTask<Nn extends StrRecord<string, PregelNode>, Cc extends StrRecord<string, BaseChannel>>(taskPath: TaskPath, checkpoint: ReadonlyCheckpoint, pendingWrites: CheckpointPendingWrite[] | undefined, processes: Nn, channels: Cc, config: RunnableConfig, forExecution: true, extra: NextTaskExtraFields): PregelExecutableTask<keyof Nn, keyof Cc> | undefined;
|
|
43
|
+
export declare function _prepareSingleTask<Nn extends StrRecord<string, PregelNode>, Cc extends StrRecord<string, BaseChannel>>(taskPath: TaskPath, checkpoint: ReadonlyCheckpoint, pendingWrites: CheckpointPendingWrite[] | undefined, processes: Nn, channels: Cc, config: RunnableConfig, forExecution: boolean, extra: NextTaskExtraFieldsWithStore): PregelTaskDescription | PregelExecutableTask<keyof Nn, keyof Cc> | undefined;
|
package/dist/pregel/algo.js
CHANGED
|
@@ -31,8 +31,7 @@ export function shouldInterrupt(checkpoint, interruptNodes, tasks) {
|
|
|
31
31
|
: interruptNodes.includes(task.name));
|
|
32
32
|
return anyChannelUpdated && anyTriggeredNodeInInterruptNodes;
|
|
33
33
|
}
|
|
34
|
-
export function _localRead(
|
|
35
|
-
let managedKeys = [];
|
|
34
|
+
export function _localRead(checkpoint, channels, task, select, fresh = false) {
|
|
36
35
|
let updated = new Set();
|
|
37
36
|
if (!Array.isArray(select)) {
|
|
38
37
|
for (const [c] of task.writes) {
|
|
@@ -44,8 +43,6 @@ export function _localRead(step, checkpoint, channels, managed, task, select, fr
|
|
|
44
43
|
updated = updated || new Set();
|
|
45
44
|
}
|
|
46
45
|
else {
|
|
47
|
-
managedKeys = select.filter((k) => managed.get(k));
|
|
48
|
-
select = select.filter((k) => !managed.get(k));
|
|
49
46
|
updated = new Set(select.filter((c) => task.writes.some(([key, _]) => key === c)));
|
|
50
47
|
}
|
|
51
48
|
let values;
|
|
@@ -59,20 +56,11 @@ export function _localRead(step, checkpoint, channels, managed, task, select, fr
|
|
|
59
56
|
else {
|
|
60
57
|
values = readChannels(channels, select);
|
|
61
58
|
}
|
|
62
|
-
if (managedKeys.length > 0) {
|
|
63
|
-
for (const k of managedKeys) {
|
|
64
|
-
const managedValue = managed.get(k);
|
|
65
|
-
if (managedValue) {
|
|
66
|
-
const resultOfManagedCall = managedValue.call(step);
|
|
67
|
-
values[k] = resultOfManagedCall;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
59
|
return values;
|
|
72
60
|
}
|
|
73
|
-
export function _localWrite(
|
|
61
|
+
export function _localWrite(
|
|
74
62
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
75
|
-
commit, processes,
|
|
63
|
+
commit, processes,
|
|
76
64
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
77
65
|
writes) {
|
|
78
66
|
for (const [chan, value] of writes) {
|
|
@@ -83,8 +71,6 @@ writes) {
|
|
|
83
71
|
if (!(value.node in processes)) {
|
|
84
72
|
throw new InvalidUpdateError(`Invalid node name "${value.node}" in Send packet`);
|
|
85
73
|
}
|
|
86
|
-
// replace any runtime values with placeholders
|
|
87
|
-
managed.replaceRuntimeValues(step, value.args);
|
|
88
74
|
}
|
|
89
75
|
}
|
|
90
76
|
commit(writes);
|
|
@@ -142,47 +128,32 @@ getNextVersion, triggerToNodes) {
|
|
|
142
128
|
for (const chan of channelsToConsume) {
|
|
143
129
|
if (chan in onlyChannels && onlyChannels[chan].consume()) {
|
|
144
130
|
if (getNextVersion !== undefined) {
|
|
145
|
-
checkpoint.channel_versions[chan] = getNextVersion(maxVersion
|
|
131
|
+
checkpoint.channel_versions[chan] = getNextVersion(maxVersion);
|
|
146
132
|
}
|
|
147
133
|
}
|
|
148
134
|
}
|
|
149
|
-
// Clear pending sends
|
|
150
|
-
if (checkpoint.pending_sends?.length && bumpStep) {
|
|
151
|
-
checkpoint.pending_sends = [];
|
|
152
|
-
}
|
|
153
135
|
// Group writes by channel
|
|
154
|
-
const
|
|
155
|
-
const pendingWritesByManaged = {};
|
|
136
|
+
const pendingWritesByChannel = {};
|
|
156
137
|
for (const task of tasks) {
|
|
157
138
|
for (const [chan, val] of task.writes) {
|
|
158
139
|
if (IGNORE.has(chan)) {
|
|
159
140
|
// do nothing
|
|
160
141
|
}
|
|
161
|
-
else if (chan === TASKS) {
|
|
162
|
-
// TODO: remove branch in 1.0
|
|
163
|
-
checkpoint.pending_sends.push({
|
|
164
|
-
node: val.node,
|
|
165
|
-
args: val.args,
|
|
166
|
-
});
|
|
167
|
-
}
|
|
168
142
|
else if (chan in onlyChannels) {
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
}
|
|
172
|
-
else {
|
|
173
|
-
pendingWritesByManaged[chan] ??= [];
|
|
174
|
-
pendingWritesByManaged[chan].push(val);
|
|
143
|
+
pendingWritesByChannel[chan] ??= [];
|
|
144
|
+
pendingWritesByChannel[chan].push(val);
|
|
175
145
|
}
|
|
176
146
|
}
|
|
177
147
|
}
|
|
178
|
-
//
|
|
148
|
+
// Find the highest version of all channels
|
|
149
|
+
// TODO: figure out why we need to do this twice (Python only does this once)
|
|
179
150
|
maxVersion = undefined;
|
|
180
151
|
if (Object.keys(checkpoint.channel_versions).length > 0) {
|
|
181
152
|
maxVersion = maxChannelVersion(...Object.values(checkpoint.channel_versions));
|
|
182
153
|
}
|
|
183
154
|
const updatedChannels = new Set();
|
|
184
155
|
// Apply writes to channels
|
|
185
|
-
for (const [chan, vals] of Object.entries(
|
|
156
|
+
for (const [chan, vals] of Object.entries(pendingWritesByChannel)) {
|
|
186
157
|
if (chan in onlyChannels) {
|
|
187
158
|
let updated;
|
|
188
159
|
try {
|
|
@@ -200,7 +171,7 @@ getNextVersion, triggerToNodes) {
|
|
|
200
171
|
}
|
|
201
172
|
}
|
|
202
173
|
if (updated && getNextVersion !== undefined) {
|
|
203
|
-
checkpoint.channel_versions[chan] = getNextVersion(maxVersion
|
|
174
|
+
checkpoint.channel_versions[chan] = getNextVersion(maxVersion);
|
|
204
175
|
// unavailable channels can't trigger tasks, so don't add them
|
|
205
176
|
if (onlyChannels[chan].isAvailable()) {
|
|
206
177
|
updatedChannels.add(chan);
|
|
@@ -214,7 +185,7 @@ getNextVersion, triggerToNodes) {
|
|
|
214
185
|
if (onlyChannels[chan].isAvailable() && !updatedChannels.has(chan)) {
|
|
215
186
|
const updated = onlyChannels[chan].update([]);
|
|
216
187
|
if (updated && getNextVersion !== undefined) {
|
|
217
|
-
checkpoint.channel_versions[chan] = getNextVersion(maxVersion
|
|
188
|
+
checkpoint.channel_versions[chan] = getNextVersion(maxVersion);
|
|
218
189
|
// unavailable channels can't trigger tasks, so don't add them
|
|
219
190
|
if (onlyChannels[chan].isAvailable()) {
|
|
220
191
|
updatedChannels.add(chan);
|
|
@@ -225,11 +196,10 @@ getNextVersion, triggerToNodes) {
|
|
|
225
196
|
}
|
|
226
197
|
// If this is (tentatively) the last superstep, notify all channels of finish
|
|
227
198
|
if (bumpStep &&
|
|
228
|
-
checkpoint.pending_sends.length === 0 &&
|
|
229
199
|
!Object.keys(triggerToNodes ?? {}).some((channel) => updatedChannels.has(channel))) {
|
|
230
200
|
for (const chan of Object.keys(onlyChannels)) {
|
|
231
201
|
if (onlyChannels[chan].finish() && getNextVersion !== undefined) {
|
|
232
|
-
checkpoint.channel_versions[chan] = getNextVersion(maxVersion
|
|
202
|
+
checkpoint.channel_versions[chan] = getNextVersion(maxVersion);
|
|
233
203
|
// unavailable channels can't trigger tasks, so don't add them
|
|
234
204
|
if (onlyChannels[chan].isAvailable()) {
|
|
235
205
|
updatedChannels.add(chan);
|
|
@@ -237,27 +207,29 @@ getNextVersion, triggerToNodes) {
|
|
|
237
207
|
}
|
|
238
208
|
}
|
|
239
209
|
}
|
|
240
|
-
// Return managed values writes to be applied externally
|
|
241
|
-
return pendingWritesByManaged;
|
|
242
210
|
}
|
|
243
211
|
/**
|
|
244
212
|
* Prepare the set of tasks that will make up the next Pregel step.
|
|
245
213
|
* This is the union of all PUSH tasks (Sends) and PULL tasks (nodes triggered
|
|
246
214
|
* by edges).
|
|
247
215
|
*/
|
|
248
|
-
export function _prepareNextTasks(checkpoint, pendingWrites, processes, channels,
|
|
216
|
+
export function _prepareNextTasks(checkpoint, pendingWrites, processes, channels, config, forExecution, extra) {
|
|
249
217
|
const tasks = {};
|
|
250
|
-
// Consume pending
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
218
|
+
// Consume pending tasks
|
|
219
|
+
const tasksChannel = channels[TASKS];
|
|
220
|
+
if (tasksChannel?.isAvailable()) {
|
|
221
|
+
const len = tasksChannel.get().length;
|
|
222
|
+
for (let i = 0; i < len; i += 1) {
|
|
223
|
+
const task = _prepareSingleTask([PUSH, i], checkpoint, pendingWrites, processes, channels, config, forExecution, extra);
|
|
224
|
+
if (task !== undefined) {
|
|
225
|
+
tasks[task.id] = task;
|
|
226
|
+
}
|
|
255
227
|
}
|
|
256
228
|
}
|
|
257
229
|
// Check if any processes should be run in next step
|
|
258
230
|
// If so, prepare the values to be passed to them
|
|
259
231
|
for (const name of Object.keys(processes)) {
|
|
260
|
-
const task = _prepareSingleTask([PULL, name], checkpoint, pendingWrites, processes, channels,
|
|
232
|
+
const task = _prepareSingleTask([PULL, name], checkpoint, pendingWrites, processes, channels, config, forExecution, extra);
|
|
261
233
|
if (task !== undefined) {
|
|
262
234
|
tasks[task.id] = task;
|
|
263
235
|
}
|
|
@@ -268,7 +240,7 @@ export function _prepareNextTasks(checkpoint, pendingWrites, processes, channels
|
|
|
268
240
|
* Prepares a single task for the next Pregel step, given a task path, which
|
|
269
241
|
* uniquely identifies a PUSH or PULL task within the graph.
|
|
270
242
|
*/
|
|
271
|
-
export function _prepareSingleTask(taskPath, checkpoint, pendingWrites, processes, channels,
|
|
243
|
+
export function _prepareSingleTask(taskPath, checkpoint, pendingWrites, processes, channels, config, forExecution, extra) {
|
|
272
244
|
const { step, checkpointer, manager } = extra;
|
|
273
245
|
const configurable = config.configurable ?? {};
|
|
274
246
|
const parentNamespace = configurable.checkpoint_ns ?? "";
|
|
@@ -314,8 +286,8 @@ export function _prepareSingleTask(taskPath, checkpoint, pendingWrites, processe
|
|
|
314
286
|
configurable: {
|
|
315
287
|
[CONFIG_KEY_TASK_ID]: id,
|
|
316
288
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
317
|
-
[CONFIG_KEY_SEND]: (writes_) => _localWrite(
|
|
318
|
-
[CONFIG_KEY_READ]: (select_, fresh_ = false) => _localRead(
|
|
289
|
+
[CONFIG_KEY_SEND]: (writes_) => _localWrite((items) => writes.push(...items), processes, writes_),
|
|
290
|
+
[CONFIG_KEY_READ]: (select_, fresh_ = false) => _localRead(checkpoint, channels, {
|
|
319
291
|
name: call.name,
|
|
320
292
|
writes: writes,
|
|
321
293
|
triggers,
|
|
@@ -366,13 +338,16 @@ export function _prepareSingleTask(taskPath, checkpoint, pendingWrites, processe
|
|
|
366
338
|
const index = typeof taskPath[1] === "number"
|
|
367
339
|
? taskPath[1]
|
|
368
340
|
: parseInt(taskPath[1], 10);
|
|
369
|
-
if (
|
|
341
|
+
if (!channels[TASKS]?.isAvailable()) {
|
|
370
342
|
return undefined;
|
|
371
343
|
}
|
|
372
|
-
const
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
344
|
+
const sends = channels[TASKS].get();
|
|
345
|
+
if (index < 0 || index >= sends.length) {
|
|
346
|
+
return undefined;
|
|
347
|
+
}
|
|
348
|
+
const packet = _isSendInterface(sends[index]) && !_isSend(sends[index])
|
|
349
|
+
? new Send(sends[index].node, sends[index].args)
|
|
350
|
+
: sends[index];
|
|
376
351
|
if (!_isSendInterface(packet)) {
|
|
377
352
|
console.warn(`Ignoring invalid packet ${JSON.stringify(packet)} in pending sends.`);
|
|
378
353
|
return undefined;
|
|
@@ -404,7 +379,6 @@ export function _prepareSingleTask(taskPath, checkpoint, pendingWrites, processe
|
|
|
404
379
|
const proc = processes[packet.node];
|
|
405
380
|
const node = proc.getNode();
|
|
406
381
|
if (node !== undefined) {
|
|
407
|
-
managed.replaceRuntimePlaceholders(step, packet.args);
|
|
408
382
|
if (proc.metadata !== undefined) {
|
|
409
383
|
metadata = { ...metadata, ...proc.metadata };
|
|
410
384
|
}
|
|
@@ -425,8 +399,8 @@ export function _prepareSingleTask(taskPath, checkpoint, pendingWrites, processe
|
|
|
425
399
|
configurable: {
|
|
426
400
|
[CONFIG_KEY_TASK_ID]: taskId,
|
|
427
401
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
428
|
-
[CONFIG_KEY_SEND]: (writes_) => _localWrite(
|
|
429
|
-
[CONFIG_KEY_READ]: (select_, fresh_ = false) => _localRead(
|
|
402
|
+
[CONFIG_KEY_SEND]: (writes_) => _localWrite((items) => writes.push(...items), processes, writes_),
|
|
403
|
+
[CONFIG_KEY_READ]: (select_, fresh_ = false) => _localRead(checkpoint, channels, {
|
|
430
404
|
name: packet.node,
|
|
431
405
|
writes: writes,
|
|
432
406
|
triggers,
|
|
@@ -518,7 +492,7 @@ export function _prepareSingleTask(taskPath, checkpoint, pendingWrites, processe
|
|
|
518
492
|
.sort();
|
|
519
493
|
// If any of the channels read by this process were updated
|
|
520
494
|
if (triggers.length > 0) {
|
|
521
|
-
const val = _procInput(
|
|
495
|
+
const val = _procInput(proc, channels, forExecution);
|
|
522
496
|
if (val === undefined) {
|
|
523
497
|
return undefined;
|
|
524
498
|
}
|
|
@@ -563,10 +537,10 @@ export function _prepareSingleTask(taskPath, checkpoint, pendingWrites, processe
|
|
|
563
537
|
configurable: {
|
|
564
538
|
[CONFIG_KEY_TASK_ID]: taskId,
|
|
565
539
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
566
|
-
[CONFIG_KEY_SEND]: (writes_) => _localWrite(
|
|
540
|
+
[CONFIG_KEY_SEND]: (writes_) => _localWrite((items) => {
|
|
567
541
|
writes.push(...items);
|
|
568
|
-
}, processes,
|
|
569
|
-
[CONFIG_KEY_READ]: (select_, fresh_ = false) => _localRead(
|
|
542
|
+
}, processes, writes_),
|
|
543
|
+
[CONFIG_KEY_READ]: (select_, fresh_ = false) => _localRead(checkpoint, channels, {
|
|
570
544
|
name,
|
|
571
545
|
writes: writes,
|
|
572
546
|
triggers,
|
|
@@ -623,7 +597,7 @@ export function _prepareSingleTask(taskPath, checkpoint, pendingWrites, processe
|
|
|
623
597
|
*
|
|
624
598
|
* @internal
|
|
625
599
|
*/
|
|
626
|
-
function _procInput(
|
|
600
|
+
function _procInput(proc, channels, forExecution) {
|
|
627
601
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
628
602
|
let val;
|
|
629
603
|
if (typeof proc.channels === "object" && !Array.isArray(proc.channels)) {
|
|
@@ -657,9 +631,6 @@ function _procInput(step, proc, managed, channels, forExecution) {
|
|
|
657
631
|
}
|
|
658
632
|
}
|
|
659
633
|
}
|
|
660
|
-
else {
|
|
661
|
-
val[k] = managed.get(k)?.call(step);
|
|
662
|
-
}
|
|
663
634
|
}
|
|
664
635
|
}
|
|
665
636
|
else if (Array.isArray(proc.channels)) {
|
package/dist/pregel/algo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"algo.js","sourceRoot":"","sources":["../../src/pregel/algo.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"algo.js","sourceRoot":"","sources":["../../src/pregel/algo.ts"],"names":[],"mappings":"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"}
|