@langchain/langgraph 0.2.74 → 0.3.1
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 -0
- package/dist/channels/any_value.d.ts +1 -0
- package/dist/channels/any_value.js +3 -0
- package/dist/channels/any_value.js.map +1 -1
- package/dist/channels/base.cjs +31 -2
- package/dist/channels/base.d.ts +17 -2
- package/dist/channels/base.js +31 -2
- package/dist/channels/base.js.map +1 -1
- package/dist/channels/binop.cjs +3 -0
- package/dist/channels/binop.d.ts +1 -0
- package/dist/channels/binop.js +3 -0
- package/dist/channels/binop.js.map +1 -1
- package/dist/channels/dynamic_barrier_value.cjs +119 -9
- package/dist/channels/dynamic_barrier_value.d.ts +29 -0
- package/dist/channels/dynamic_barrier_value.js +117 -8
- package/dist/channels/dynamic_barrier_value.js.map +1 -1
- package/dist/channels/ephemeral_value.cjs +3 -0
- package/dist/channels/ephemeral_value.d.ts +1 -0
- package/dist/channels/ephemeral_value.js +3 -0
- package/dist/channels/ephemeral_value.js.map +1 -1
- package/dist/channels/last_value.cjs +82 -4
- package/dist/channels/last_value.d.ts +21 -0
- package/dist/channels/last_value.js +80 -3
- package/dist/channels/last_value.js.map +1 -1
- package/dist/channels/named_barrier_value.cjs +94 -1
- package/dist/channels/named_barrier_value.d.ts +23 -0
- package/dist/channels/named_barrier_value.js +92 -0
- package/dist/channels/named_barrier_value.js.map +1 -1
- package/dist/channels/topic.cjs +3 -0
- package/dist/channels/topic.d.ts +1 -0
- package/dist/channels/topic.js +3 -0
- package/dist/channels/topic.js.map +1 -1
- package/dist/constants.cjs +29 -8
- package/dist/constants.d.ts +47 -26
- package/dist/constants.js +27 -7
- package/dist/constants.js.map +1 -1
- package/dist/func/index.cjs +17 -4
- package/dist/func/index.d.ts +14 -5
- package/dist/func/index.js +17 -4
- package/dist/func/index.js.map +1 -1
- package/dist/func/types.d.ts +1 -1
- package/dist/graph/graph.d.ts +4 -2
- package/dist/graph/graph.js.map +1 -1
- package/dist/graph/index.cjs +2 -1
- package/dist/graph/index.d.ts +1 -1
- package/dist/graph/index.js +1 -1
- package/dist/graph/index.js.map +1 -1
- package/dist/graph/messages_annotation.cjs +3 -0
- package/dist/graph/messages_annotation.js +3 -0
- package/dist/graph/messages_annotation.js.map +1 -1
- package/dist/graph/state.cjs +67 -22
- package/dist/graph/state.d.ts +22 -8
- package/dist/graph/state.js +68 -24
- package/dist/graph/state.js.map +1 -1
- package/dist/graph/zod/schema.cjs +12 -61
- package/dist/graph/zod/schema.js +12 -61
- package/dist/graph/zod/schema.js.map +1 -1
- package/dist/graph/zod/state.cjs +63 -0
- package/dist/graph/zod/state.d.ts +10 -1
- package/dist/graph/zod/state.js +61 -0
- package/dist/graph/zod/state.js.map +1 -1
- package/dist/prebuilt/react_agent_executor.cjs +99 -45
- package/dist/prebuilt/react_agent_executor.d.ts +20 -4
- package/dist/prebuilt/react_agent_executor.js +99 -45
- package/dist/prebuilt/react_agent_executor.js.map +1 -1
- package/dist/pregel/algo.cjs +60 -20
- package/dist/pregel/algo.d.ts +1 -1
- package/dist/pregel/algo.js +61 -21
- package/dist/pregel/algo.js.map +1 -1
- package/dist/pregel/call.cjs +2 -1
- package/dist/pregel/call.d.ts +3 -2
- package/dist/pregel/call.js +2 -1
- package/dist/pregel/call.js.map +1 -1
- package/dist/pregel/debug.test.cjs +6 -0
- package/dist/pregel/debug.test.js +6 -0
- package/dist/pregel/debug.test.js.map +1 -1
- package/dist/pregel/index.cjs +99 -29
- package/dist/pregel/index.d.ts +19 -6
- package/dist/pregel/index.js +100 -30
- package/dist/pregel/index.js.map +1 -1
- package/dist/pregel/loop.cjs +126 -26
- package/dist/pregel/loop.d.ts +29 -2
- package/dist/pregel/loop.js +127 -27
- package/dist/pregel/loop.js.map +1 -1
- package/dist/pregel/read.cjs +12 -1
- package/dist/pregel/read.d.ts +3 -1
- package/dist/pregel/read.js +12 -1
- package/dist/pregel/read.js.map +1 -1
- package/dist/pregel/retry.cjs +2 -6
- package/dist/pregel/retry.js +2 -6
- package/dist/pregel/retry.js.map +1 -1
- package/dist/pregel/runner.cjs +1 -0
- package/dist/pregel/runner.js +1 -0
- package/dist/pregel/runner.js.map +1 -1
- package/dist/pregel/types.cjs +8 -1
- package/dist/pregel/types.d.ts +64 -8
- package/dist/pregel/types.js +8 -1
- package/dist/pregel/types.js.map +1 -1
- package/dist/pregel/utils/index.d.ts +15 -0
- package/dist/pregel/utils/index.js.map +1 -1
- package/dist/web.cjs +4 -1
- package/dist/web.d.ts +3 -3
- package/dist/web.js +2 -2
- package/dist/web.js.map +1 -1
- package/package.json +5 -5
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { BaseChatModel } from "@langchain/core/language_models/chat_models";
|
|
2
2
|
import { LanguageModelLike } from "@langchain/core/language_models/base";
|
|
3
3
|
import { BaseMessage, BaseMessageLike, SystemMessage } from "@langchain/core/messages";
|
|
4
|
-
import { Runnable, RunnableToolLike } from "@langchain/core/runnables";
|
|
4
|
+
import { Runnable, RunnableToolLike, type RunnableLike } from "@langchain/core/runnables";
|
|
5
5
|
import { DynamicTool, StructuredToolInterface } from "@langchain/core/tools";
|
|
6
6
|
import { All, BaseCheckpointSaver, BaseStore } from "@langchain/langgraph-checkpoint";
|
|
7
7
|
import { z } from "zod";
|
|
8
|
-
import { CompiledStateGraph, AnnotationRoot } from "../graph/index.js";
|
|
8
|
+
import { type CompiledStateGraph, AnnotationRoot } from "../graph/index.js";
|
|
9
9
|
import { MessagesAnnotation } from "../graph/messages_annotation.js";
|
|
10
10
|
import { ToolNode } from "./tool_node.js";
|
|
11
11
|
import { LangGraphRunnableConfig } from "../pregel/runnable_types.js";
|
|
@@ -20,11 +20,13 @@ export type StructuredResponseSchemaAndPrompt<StructuredResponseType> = {
|
|
|
20
20
|
prompt: string;
|
|
21
21
|
schema: z.ZodType<StructuredResponseType> | Record<string, any>;
|
|
22
22
|
};
|
|
23
|
+
type ServerTool = Record<string, unknown>;
|
|
24
|
+
type ClientTool = StructuredToolInterface | DynamicTool | RunnableToolLike;
|
|
23
25
|
interface ConfigurableModelInterface {
|
|
24
26
|
_queuedMethodOperations: Record<string, any>;
|
|
25
27
|
_model: () => Promise<BaseChatModel>;
|
|
26
28
|
}
|
|
27
|
-
export declare function _shouldBindTools(llm: LanguageModelLike, tools: (
|
|
29
|
+
export declare function _shouldBindTools(llm: LanguageModelLike, tools: (ClientTool | ServerTool)[]): Promise<boolean>;
|
|
28
30
|
export declare function _getModel(llm: LanguageModelLike | ConfigurableModelInterface): Promise<BaseChatModel>;
|
|
29
31
|
export type Prompt = SystemMessage | string | ((state: typeof MessagesAnnotation.State, config: LangGraphRunnableConfig) => BaseMessageLike[]) | ((state: typeof MessagesAnnotation.State, config: LangGraphRunnableConfig) => Promise<BaseMessageLike[]>) | Runnable;
|
|
30
32
|
/** @deprecated Use Prompt instead. */
|
|
@@ -39,11 +41,15 @@ export declare const createReactAgentAnnotation: <T extends Record<string, any>
|
|
|
39
41
|
Root: <S extends import("../web.js").StateDefinition>(sd: S) => AnnotationRoot<S>;
|
|
40
42
|
};
|
|
41
43
|
}>;
|
|
44
|
+
declare const PreHookAnnotation: AnnotationRoot<{
|
|
45
|
+
llmInputMessages: import("../web.js").BinaryOperatorAggregate<BaseMessage[], Messages>;
|
|
46
|
+
}>;
|
|
47
|
+
type PreHookAnnotation = typeof PreHookAnnotation;
|
|
42
48
|
export type CreateReactAgentParams<A extends AnnotationRoot<any> = AnnotationRoot<any>, StructuredResponseType = Record<string, any>> = {
|
|
43
49
|
/** The chat model that can utilize OpenAI-style tool calling. */
|
|
44
50
|
llm: LanguageModelLike;
|
|
45
51
|
/** A list of tools or a ToolNode. */
|
|
46
|
-
tools: ToolNode | (
|
|
52
|
+
tools: ToolNode | (ServerTool | ClientTool)[];
|
|
47
53
|
/**
|
|
48
54
|
* @deprecated Use prompt instead.
|
|
49
55
|
*/
|
|
@@ -108,6 +114,16 @@ export type CreateReactAgentParams<A extends AnnotationRoot<any> = AnnotationRoo
|
|
|
108
114
|
Example: `"How can I help you"` -> `"<name>agent_name</name><content>How can I help you?</content>"`
|
|
109
115
|
*/
|
|
110
116
|
includeAgentName?: "inline" | undefined;
|
|
117
|
+
/**
|
|
118
|
+
* An optional node to add before the `agent` node (i.e., the node that calls the LLM).
|
|
119
|
+
* Useful for managing long message histories (e.g., message trimming, summarization, etc.).
|
|
120
|
+
*/
|
|
121
|
+
preModelHook?: RunnableLike<A["State"] & PreHookAnnotation["State"], A["Update"] & PreHookAnnotation["Update"], LangGraphRunnableConfig>;
|
|
122
|
+
/**
|
|
123
|
+
* An optional node to add after the `agent` node (i.e., the node that calls the LLM).
|
|
124
|
+
* Useful for implementing human-in-the-loop, guardrails, validation, or other post-processing.
|
|
125
|
+
*/
|
|
126
|
+
postModelHook?: RunnableLike<A["State"], A["Update"], LangGraphRunnableConfig>;
|
|
111
127
|
};
|
|
112
128
|
/**
|
|
113
129
|
* Creates a StateGraph agent that relies on a chat model utilizing tool calling.
|
|
@@ -50,6 +50,9 @@ function _getPromptRunnable(prompt) {
|
|
|
50
50
|
}
|
|
51
51
|
return promptRunnable;
|
|
52
52
|
}
|
|
53
|
+
function isClientTool(tool) {
|
|
54
|
+
return Runnable.isRunnable(tool);
|
|
55
|
+
}
|
|
53
56
|
function _getPrompt(prompt, stateModifier, messageModifier) {
|
|
54
57
|
// Check if multiple modifiers exist
|
|
55
58
|
const definedCount = [prompt, stateModifier, messageModifier].filter((x) => x != null).length;
|
|
@@ -107,7 +110,7 @@ export async function _shouldBindTools(llm, tools) {
|
|
|
107
110
|
if (tools.length !== boundTools.length) {
|
|
108
111
|
throw new Error("Number of tools in the model.bindTools() and tools passed to createReactAgent must match");
|
|
109
112
|
}
|
|
110
|
-
const toolNames = new Set(tools.
|
|
113
|
+
const toolNames = new Set(tools.flatMap((tool) => (isClientTool(tool) ? tool.name : [])));
|
|
111
114
|
const boundToolNames = new Set();
|
|
112
115
|
for (const boundTool of boundTools) {
|
|
113
116
|
let boundToolName;
|
|
@@ -115,7 +118,7 @@ export async function _shouldBindTools(llm, tools) {
|
|
|
115
118
|
if ("type" in boundTool && boundTool.type === "function") {
|
|
116
119
|
boundToolName = boundTool.function.name;
|
|
117
120
|
}
|
|
118
|
-
// Anthropic
|
|
121
|
+
// Anthropic or Google-style tool
|
|
119
122
|
else if ("name" in boundTool) {
|
|
120
123
|
boundToolName = boundTool.name;
|
|
121
124
|
}
|
|
@@ -166,6 +169,12 @@ export const createReactAgentAnnotation = () => Annotation.Root({
|
|
|
166
169
|
}),
|
|
167
170
|
structuredResponse: (Annotation),
|
|
168
171
|
});
|
|
172
|
+
const PreHookAnnotation = Annotation.Root({
|
|
173
|
+
llmInputMessages: Annotation({
|
|
174
|
+
reducer: messagesStateReducer,
|
|
175
|
+
default: () => [],
|
|
176
|
+
}),
|
|
177
|
+
});
|
|
169
178
|
/**
|
|
170
179
|
* Creates a StateGraph agent that relies on a chat model utilizing tool calling.
|
|
171
180
|
*
|
|
@@ -209,7 +218,7 @@ export const createReactAgentAnnotation = () => Annotation.Root({
|
|
|
209
218
|
* ```
|
|
210
219
|
*/
|
|
211
220
|
export function createReactAgent(params) {
|
|
212
|
-
const { llm, tools, messageModifier, stateModifier, prompt, stateSchema, checkpointSaver, checkpointer, interruptBefore, interruptAfter, store, responseFormat, name, includeAgentName, } = params;
|
|
221
|
+
const { llm, tools, messageModifier, stateModifier, prompt, stateSchema, checkpointSaver, checkpointer, interruptBefore, interruptAfter, store, responseFormat, preModelHook, postModelHook, name, includeAgentName, } = params;
|
|
213
222
|
let toolClasses;
|
|
214
223
|
let toolNode;
|
|
215
224
|
if (!Array.isArray(tools)) {
|
|
@@ -218,7 +227,7 @@ export function createReactAgent(params) {
|
|
|
218
227
|
}
|
|
219
228
|
else {
|
|
220
229
|
toolClasses = tools;
|
|
221
|
-
toolNode = new ToolNode(
|
|
230
|
+
toolNode = new ToolNode(toolClasses.filter(isClientTool));
|
|
222
231
|
}
|
|
223
232
|
let cachedModelRunnable = null;
|
|
224
233
|
const getModelRunnable = async (llm) => {
|
|
@@ -245,19 +254,16 @@ export function createReactAgent(params) {
|
|
|
245
254
|
// If any of the tools are configured to return_directly after running,
|
|
246
255
|
// our graph needs to check if these were called
|
|
247
256
|
const shouldReturnDirect = new Set(toolClasses
|
|
257
|
+
.filter(isClientTool)
|
|
248
258
|
.filter((tool) => "returnDirect" in tool && tool.returnDirect)
|
|
249
259
|
.map((tool) => tool.name));
|
|
250
|
-
|
|
251
|
-
const { messages } = state;
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
(!lastMessage.tool_calls || lastMessage.tool_calls.length === 0)) {
|
|
255
|
-
return responseFormat != null ? "generate_structured_response" : END;
|
|
256
|
-
}
|
|
257
|
-
else {
|
|
258
|
-
return "continue";
|
|
260
|
+
function getModelInputState(state) {
|
|
261
|
+
const { messages, llmInputMessages, ...rest } = state;
|
|
262
|
+
if (llmInputMessages != null && llmInputMessages.length > 0) {
|
|
263
|
+
return { messages: llmInputMessages, ...rest };
|
|
259
264
|
}
|
|
260
|
-
|
|
265
|
+
return { messages, ...rest };
|
|
266
|
+
}
|
|
261
267
|
const generateStructuredResponse = async (state, config) => {
|
|
262
268
|
if (responseFormat == null) {
|
|
263
269
|
throw new Error("Attempted to generate structured output with no passed response schema. Please contact us for help.");
|
|
@@ -282,54 +288,102 @@ export function createReactAgent(params) {
|
|
|
282
288
|
// to ensure that we can validate ConfigurableModel properly
|
|
283
289
|
const modelRunnable = await getModelRunnable(llm);
|
|
284
290
|
// TODO: Auto-promote streaming.
|
|
285
|
-
const response = (await modelRunnable.invoke(state, config));
|
|
291
|
+
const response = (await modelRunnable.invoke(getModelInputState(state), config));
|
|
286
292
|
// add agent name to the AIMessage
|
|
287
293
|
// TODO: figure out if we can avoid mutating the message directly
|
|
288
294
|
response.name = name;
|
|
289
295
|
response.lc_kwargs.name = name;
|
|
290
296
|
return { messages: [response] };
|
|
291
297
|
};
|
|
292
|
-
const
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
298
|
+
const schema = stateSchema ?? createReactAgentAnnotation();
|
|
299
|
+
const workflow = new StateGraph(schema).addNode("tools", toolNode);
|
|
300
|
+
const allNodeWorkflows = workflow;
|
|
301
|
+
const conditionalMap = (map) => {
|
|
302
|
+
return Object.fromEntries(Object.entries(map).filter(([_, v]) => v != null));
|
|
303
|
+
};
|
|
304
|
+
let entrypoint = "agent";
|
|
305
|
+
let inputSchema;
|
|
306
|
+
if (preModelHook != null) {
|
|
307
|
+
allNodeWorkflows
|
|
308
|
+
.addNode("pre_model_hook", preModelHook)
|
|
309
|
+
.addEdge("pre_model_hook", "agent");
|
|
310
|
+
entrypoint = "pre_model_hook";
|
|
311
|
+
inputSchema = Annotation.Root({
|
|
312
|
+
...schema.spec,
|
|
313
|
+
...PreHookAnnotation.spec,
|
|
304
314
|
});
|
|
305
315
|
}
|
|
306
316
|
else {
|
|
307
|
-
|
|
308
|
-
continue: "tools",
|
|
309
|
-
[END]: END,
|
|
310
|
-
});
|
|
317
|
+
entrypoint = "agent";
|
|
311
318
|
}
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
319
|
+
allNodeWorkflows
|
|
320
|
+
.addNode("agent", callModel, { input: inputSchema })
|
|
321
|
+
.addEdge(START, entrypoint);
|
|
322
|
+
if (postModelHook != null) {
|
|
323
|
+
allNodeWorkflows
|
|
324
|
+
.addNode("post_model_hook", postModelHook)
|
|
325
|
+
.addEdge("agent", "post_model_hook")
|
|
326
|
+
.addConditionalEdges("post_model_hook", (state) => {
|
|
327
|
+
const { messages } = state;
|
|
328
|
+
const lastMessage = messages[messages.length - 1];
|
|
329
|
+
if (isAIMessage(lastMessage) && lastMessage.tool_calls?.length) {
|
|
330
|
+
return "tools";
|
|
318
331
|
}
|
|
319
|
-
|
|
320
|
-
|
|
332
|
+
if (isToolMessage(lastMessage))
|
|
333
|
+
return entrypoint;
|
|
334
|
+
if (responseFormat != null)
|
|
335
|
+
return "generate_structured_response";
|
|
336
|
+
return END;
|
|
337
|
+
}, conditionalMap({
|
|
338
|
+
tools: "tools",
|
|
339
|
+
[entrypoint]: entrypoint,
|
|
340
|
+
generate_structured_response: responseFormat != null ? "generate_structured_response" : null,
|
|
341
|
+
[END]: responseFormat != null ? null : END,
|
|
342
|
+
}));
|
|
343
|
+
}
|
|
344
|
+
if (responseFormat !== undefined) {
|
|
345
|
+
workflow
|
|
346
|
+
.addNode("generate_structured_response", generateStructuredResponse)
|
|
347
|
+
.addEdge("generate_structured_response", END);
|
|
348
|
+
}
|
|
349
|
+
if (postModelHook == null) {
|
|
350
|
+
allNodeWorkflows.addConditionalEdges("agent", (state) => {
|
|
351
|
+
const { messages } = state;
|
|
352
|
+
const lastMessage = messages[messages.length - 1];
|
|
353
|
+
// if there's no function call, we finish
|
|
354
|
+
if (!isAIMessage(lastMessage) || !lastMessage.tool_calls?.length) {
|
|
355
|
+
if (responseFormat != null)
|
|
356
|
+
return "generate_structured_response";
|
|
321
357
|
return END;
|
|
322
358
|
}
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
359
|
+
// there are function calls, we continue
|
|
360
|
+
return "tools";
|
|
361
|
+
}, conditionalMap({
|
|
362
|
+
tools: "tools",
|
|
363
|
+
generate_structured_response: responseFormat != null ? "generate_structured_response" : null,
|
|
364
|
+
[END]: responseFormat != null ? null : END,
|
|
365
|
+
}));
|
|
366
|
+
}
|
|
326
367
|
if (shouldReturnDirect.size > 0) {
|
|
327
|
-
|
|
368
|
+
allNodeWorkflows.addConditionalEdges("tools", (state) => {
|
|
369
|
+
// Check the last consecutive tool calls
|
|
370
|
+
for (let i = state.messages.length - 1; i >= 0; i -= 1) {
|
|
371
|
+
const message = state.messages[i];
|
|
372
|
+
if (!isToolMessage(message))
|
|
373
|
+
break;
|
|
374
|
+
// Check if this tool is configured to return directly
|
|
375
|
+
if (message.name !== undefined &&
|
|
376
|
+
shouldReturnDirect.has(message.name)) {
|
|
377
|
+
return END;
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
return entrypoint;
|
|
381
|
+
}, conditionalMap({ [entrypoint]: entrypoint, [END]: END }));
|
|
328
382
|
}
|
|
329
383
|
else {
|
|
330
|
-
|
|
384
|
+
allNodeWorkflows.addEdge("tools", entrypoint);
|
|
331
385
|
}
|
|
332
|
-
return
|
|
386
|
+
return allNodeWorkflows.compile({
|
|
333
387
|
checkpointer: checkpointer ?? checkpointSaver,
|
|
334
388
|
interruptBefore,
|
|
335
389
|
interruptAfter,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react_agent_executor.js","sourceRoot":"","sources":["../../src/prebuilt/react_agent_executor.ts"],"names":[],"mappings":"AAKA,OAAO,EAGL,WAAW,EACX,aAAa,EACb,aAAa,EACb,aAAa,GACd,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,QAAQ,EAGR,cAAc,EAEd,gBAAgB,EAChB,eAAe,GAChB,MAAM,2BAA2B,CAAC;AASnC,OAAO,EACL,UAAU,GAGX,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAY,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAuB/C,SAAS,+BAA+B,CACtC,eAAgC;IAEhC,iCAAiC;IACjC,IACE,OAAO,eAAe,KAAK,QAAQ;QACnC,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,eAAe,CAAC,QAAQ,EAAE,KAAK,QAAQ,CAAC,EAC3E,CAAC;QACD,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,2BAA2B;IAC3B,IAAI,OAAO,eAAe,KAAK,UAAU,EAAE,CAAC;QAC1C,OAAO,KAAK,EAAE,KAAsC,EAAE,EAAE,CACtD,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED,kBAAkB;IAClB,IAAI,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACzC,OAAO,cAAc,CAAC,IAAI,CACxB,CAAC,KAAsC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAC3D,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,IAAI,KAAK,CACb,wCAAwC,OAAO,eAAe,EAAE,CACjE,CAAC;AACJ,CAAC;AAED,MAAM,oBAAoB,GAAG,QAAQ,CAAC;AAEtC,SAAS,kBAAkB,CAAC,MAAe;IACzC,IAAI,cAAiC,CAAC;IAEtC,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;QACnB,cAAc,GAAG,cAAc,CAAC,IAAI,CAClC,CAAC,KAAsC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAC3D,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC,CAAC;IAClD,CAAC;SAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QACtC,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;QAChD,cAAc,GAAG,cAAc,CAAC,IAAI,CAClC,CAAC,KAAsC,EAAE,EAAE;YACzC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC;QACpD,CAAC,CACF,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC,CAAC;IAClD,CAAC;SAAM,IAAI,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,KAAK,QAAQ,EAAE,CAAC;QACnE,cAAc,GAAG,cAAc,CAAC,IAAI,CAClC,CAAC,KAAsC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,CACxE,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC,CAAC;IAClD,CAAC;SAAM,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;QACxC,cAAc,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC;YACtD,OAAO,EAAE,oBAAoB;SAC9B,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACvC,cAAc,GAAG,MAAM,CAAC;IAC1B,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,qCAAqC,OAAO,MAAM,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAS,UAAU,CACjB,MAAe,EACf,aAAuD,EACvD,eAA2D;IAE3D,oCAAoC;IACpC,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC,MAAM,CAClE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CACjB,CAAC,MAAM,CAAC;IACT,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CACb,qFAAqF,CACtF,CAAC;IACJ,CAAC;IAED,IAAI,WAAW,GAAG,MAAM,CAAC;IACzB,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;QAC1B,WAAW,GAAG,aAAa,CAAC;IAC9B,CAAC;SAAM,IAAI,eAAe,IAAI,IAAI,EAAE,CAAC;QACnC,WAAW,GAAG,+BAA+B,CAAC,eAAe,CAAC,CAAC;IACjE,CAAC;IAED,OAAO,kBAAkB,CAAC,WAAW,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAwB;IAChD,OAAO,CACL,QAAQ,IAAI,KAAK;QACjB,OAAO,KAAK,CAAC,MAAM,KAAK,UAAU;QAClC,YAAY,IAAI,KAAK,CACtB,CAAC;AACJ,CAAC;AAQD,8DAA8D;AAC9D,SAAS,oBAAoB,CAAC,KAAU;IACtC,OAAO,CACL,yBAAyB,IAAI,KAAK;QAClC,QAAQ,IAAI,KAAK;QACjB,OAAO,KAAK,CAAC,MAAM,KAAK,UAAU,CACnC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,GAAsB,EACtB,KAAmE;IAEnE,uFAAuF;IACvF,IAAI,KAAK,GAAG,GAAG,CAAC;IAChB,IAAI,gBAAgB,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/C,KAAK;YACH,KAAK,CAAC,KAAK,CAAC,IAAI,CACd,CAAC,IAAI,EAAE,EAAE,CACP,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC;gBACvC,gBAAgB,CAAC,IAAI,CAAC;gBACtB,oBAAoB,CAAC,IAAI,CAAC,CAC7B,IAAI,KAAK,CAAC;IACf,CAAC;IAED,IAAI,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,KAAK,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;IAC/B,CAAC;IAED,iDAAiD;IACjD,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,8CAA8C;IAC9C,IACE,CAAC,KAAK,CAAC,MAAM;QACb,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;QAChC,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,EAC1B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,KAAyB,CAAC;IACxD,eAAe;IACf,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,sBAAsB,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;IAClD,CAAC;IAED,+BAA+B;IAC/B,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CACb,0FAA0F,CAC3F,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1D,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IAEzC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,aAAiC,CAAC;QAEtC,oBAAoB;QACpB,IAAI,MAAM,IAAI,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACzD,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC1C,CAAC;QACD,kCAAkC;aAC7B,IAAI,MAAM,IAAI,SAAS,EAAE,CAAC;YAC7B,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC;QACjC,CAAC;QACD,qBAAqB;aAChB,IAAI,UAAU,IAAI,SAAS,IAAI,MAAM,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;YACjE,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC1C,CAAC;QACD,uCAAuC;aAClC,CAAC;YACJ,SAAS;QACX,CAAC;QAED,IAAI,aAAa,EAAE,CAAC;YAClB,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACb,kBAAkB,YAAY,6BAA6B;YACzD,iFAAiF,CACpF,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,GAAmD;IAEnD,uFAAuF;IACvF,IAAI,KAAK,GAAG,GAAG,CAAC;IAChB,IAAI,gBAAgB,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/C,KAAK;YACH,KAAK,CAAC,KAAK,CAAC,IAAI,CACd,CAAC,IAAI,EAAE,EAAE,CACP,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC;gBACvC,gBAAgB,CAAC,IAAI,CAAC;gBACtB,oBAAoB,CAAC,IAAI,CAAC,CAC7B,IAAI,KAAK,CAAC;IACf,CAAC;IAED,IAAI,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,KAAK,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;IAC/B,CAAC;IAED,kDAAkD;IAClD,IAAI,eAAe,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7C,KAAK,GAAG,KAAK,CAAC,KAAsB,CAAC;IACvC,CAAC;IAED,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACb,8HAA8H,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CACvJ,CAAC;IACJ,CAAC;IAED,OAAO,KAAsB,CAAC;AAChC,CAAC;AA0BD,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAGtC,EAAE,CACJ,UAAU,CAAC,IAAI,CAAC;IACd,QAAQ,EAAE,UAAU,CAA0B;QAC5C,OAAO,EAAE,oBAAoB;QAC7B,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;KAClB,CAAC;IACF,kBAAkB,EAAE,CAAA,UAAa,CAAA;CAClC,CAAC,CAAC;AAoFL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,MAAM,UAAU,gBAAgB,CAM9B,MAA2D;IAY3D,MAAM,EACJ,GAAG,EACH,KAAK,EACL,eAAe,EACf,aAAa,EACb,MAAM,EACN,WAAW,EACX,eAAe,EACf,YAAY,EACZ,eAAe,EACf,cAAc,EACd,KAAK,EACL,cAAc,EACd,IAAI,EACJ,gBAAgB,GACjB,GAAG,MAAM,CAAC;IAEX,IAAI,WAAyE,CAAC;IAC9E,IAAI,QAAkB,CAAC;IACvB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,QAAQ,GAAG,KAAK,CAAC;IACnB,CAAC;SAAM,CAAC;QACN,WAAW,GAAG,KAAK,CAAC;QACpB,QAAQ,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,mBAAmB,GAAoB,IAAI,CAAC;IAEhD,MAAM,gBAAgB,GAAG,KAAK,EAAE,GAAsB,EAAE,EAAE;QACxD,IAAI,mBAAmB,EAAE,CAAC;YACxB,OAAO,mBAAmB,CAAC;QAC7B,CAAC;QAED,IAAI,cAAiC,CAAC;QACtC,IAAI,MAAM,gBAAgB,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,CAAC;YAC7C,IAAI,CAAC,CAAC,WAAW,IAAI,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;gBACjE,MAAM,IAAI,KAAK,CAAC,OAAO,GAAG,gCAAgC,CAAC,CAAC;YAC9D,CAAC;YACD,cAAc,GAAG,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,cAAc,GAAG,GAAG,CAAC;QACvB,CAAC;QAED,MAAM,cAAc,GAAG,UAAU,CAC/B,MAAM,EACN,aAAa,EACb,eAAe,CACJ,CAAC;QAEd,MAAM,aAAa,GACjB,gBAAgB,KAAK,QAAQ;YAC3B,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;YACtE,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAE1C,mBAAmB,GAAG,aAAa,CAAC;QACpC,OAAO,aAAa,CAAC;IACvB,CAAC,CAAC;IAEF,uEAAuE;IACvE,gDAAgD;IAChD,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAChC,WAAW;SACR,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC;SAC7D,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAC5B,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,KAA2C,EAAE,EAAE;QACrE,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;QAC3B,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAClD,IACE,WAAW,CAAC,WAAW,CAAC;YACxB,CAAC,CAAC,WAAW,CAAC,UAAU,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,EAChE,CAAC;YACD,OAAO,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,GAAG,CAAC;QACvE,CAAC;aAAM,CAAC;YACN,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,0BAA0B,GAAG,KAAK,EACtC,KAA2C,EAC3C,MAAuB,EACvB,EAAE;QACF,IAAI,cAAc,IAAI,IAAI,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CACb,qGAAqG,CACtG,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;QACrC,IAAI,yBAAyB,CAAC;QAE9B,IACE,OAAO,cAAc,KAAK,QAAQ;YAClC,QAAQ,IAAI,cAAc;YAC1B,QAAQ,IAAI,cAAc,EAC1B,CAAC;YACD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC;YAC1C,yBAAyB,GAAG,CAAC,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,oBAAoB,CACrE,MAAM,CACP,CAAC;YACF,QAAQ,CAAC,OAAO,CAAC,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,yBAAyB,GAAG,CAAC,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,oBAAoB,CACrE,cAAc,CACf,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,yBAAyB,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC1E,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,CAAC;IAC1C,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,KAAK,EACrB,KAA2C,EAC3C,MAAuB,EACvB,EAAE;QACF,2DAA2D;QAC3D,4DAA4D;QAC5D,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAClD,gCAAgC;QAChC,MAAM,QAAQ,GAAG,CAAC,MAAM,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAgB,CAAC;QAC5E,kCAAkC;QAClC,iEAAiE;QACjE,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;QACrB,QAAQ,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC;QAC/B,OAAO,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;IAClC,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,IAAI,UAAU,CAC7B,WAAW,IAAI,0BAA0B,EAA4B,CACtE;SACE,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC;SAC3B,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC;SAC1B,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAE3B,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,QAAQ;aACL,OAAO,CAAC,8BAA8B,EAAE,0BAA0B,CAAC;aACnE,OAAO,CAAC,8BAA8B,EAAE,GAAG,CAAC;aAC5C,mBAAmB,CAAC,OAAO,EAAE,cAAc,EAAE;YAC5C,QAAQ,EAAE,OAAO;YACjB,CAAC,GAAG,CAAC,EAAE,GAAG;YACV,4BAA4B,EAAE,8BAA8B;SAC7D,CAAC,CAAC;IACP,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,cAAc,EAAE;YACpD,QAAQ,EAAE,OAAO;YACjB,CAAC,GAAG,CAAC,EAAE,GAAG;SACX,CAAC,CAAC;IACL,CAAC;IAED,MAAM,kBAAkB,GAAG,CAAC,KAA2C,EAAE,EAAE;QACzE,wCAAwC;QACxC,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACvD,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAClC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC5B,MAAM;YACR,CAAC;YACD,sDAAsD;YACtD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvE,OAAO,GAAG,CAAC;YACb,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,IAAI,kBAAkB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAChC,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,kBAAkB,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IAC5E,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,QAAQ,CAAC,OAAO,CAAC;QACtB,YAAY,EAAE,YAAY,IAAI,eAAe;QAC7C,eAAe;QACf,cAAc;QACd,KAAK;QACL,IAAI;KACL,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"react_agent_executor.js","sourceRoot":"","sources":["../../src/prebuilt/react_agent_executor.ts"],"names":[],"mappings":"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"}
|
package/dist/pregel/algo.cjs
CHANGED
|
@@ -62,7 +62,7 @@ function _localRead(step, checkpoint, channels, managed, task, select, fresh = f
|
|
|
62
62
|
const localChannels = Object.fromEntries(Object.entries(channels).filter(([k, _]) => updated.has(k)));
|
|
63
63
|
const newCheckpoint = (0, base_js_1.createCheckpoint)(checkpoint, localChannels, -1);
|
|
64
64
|
const newChannels = (0, base_js_1.emptyChannels)(localChannels, newCheckpoint);
|
|
65
|
-
_applyWrites((0, langgraph_checkpoint_1.copyCheckpoint)(newCheckpoint), newChannels, [task]);
|
|
65
|
+
_applyWrites((0, langgraph_checkpoint_1.copyCheckpoint)(newCheckpoint), newChannels, [task], undefined, undefined);
|
|
66
66
|
values = (0, io_js_1.readChannels)({ ...channels, ...newChannels }, select);
|
|
67
67
|
}
|
|
68
68
|
else {
|
|
@@ -108,7 +108,7 @@ const IGNORE = new Set([
|
|
|
108
108
|
]);
|
|
109
109
|
function _applyWrites(checkpoint, channels, tasks,
|
|
110
110
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
111
|
-
getNextVersion) {
|
|
111
|
+
getNextVersion, triggerToNodes) {
|
|
112
112
|
// Sort tasks by first 3 path elements for deterministic order
|
|
113
113
|
// Later path parts (like task IDs) are ignored for sorting
|
|
114
114
|
tasks.sort((a, b) => {
|
|
@@ -131,9 +131,7 @@ getNextVersion) {
|
|
|
131
131
|
const onlyChannels = Object.fromEntries(Object.entries(channels).filter(([_, value]) => (0, base_js_1.isBaseChannel)(value)));
|
|
132
132
|
// Update seen versions
|
|
133
133
|
for (const task of tasks) {
|
|
134
|
-
|
|
135
|
-
checkpoint.versions_seen[task.name] = {};
|
|
136
|
-
}
|
|
134
|
+
checkpoint.versions_seen[task.name] ??= {};
|
|
137
135
|
for (const chan of task.triggers) {
|
|
138
136
|
if (chan in checkpoint.channel_versions) {
|
|
139
137
|
checkpoint.versions_seen[task.name][chan] =
|
|
@@ -177,20 +175,12 @@ getNextVersion) {
|
|
|
177
175
|
});
|
|
178
176
|
}
|
|
179
177
|
else if (chan in onlyChannels) {
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
}
|
|
183
|
-
else {
|
|
184
|
-
pendingWriteValuesByChannel[chan] = [val];
|
|
185
|
-
}
|
|
178
|
+
pendingWriteValuesByChannel[chan] ??= [];
|
|
179
|
+
pendingWriteValuesByChannel[chan].push(val);
|
|
186
180
|
}
|
|
187
181
|
else {
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
}
|
|
191
|
-
else {
|
|
192
|
-
pendingWritesByManaged[chan] = [val];
|
|
193
|
-
}
|
|
182
|
+
pendingWritesByManaged[chan] ??= [];
|
|
183
|
+
pendingWritesByManaged[chan].push(val);
|
|
194
184
|
}
|
|
195
185
|
}
|
|
196
186
|
}
|
|
@@ -220,17 +210,38 @@ getNextVersion) {
|
|
|
220
210
|
}
|
|
221
211
|
if (updated && getNextVersion !== undefined) {
|
|
222
212
|
checkpoint.channel_versions[chan] = getNextVersion(maxVersion, onlyChannels[chan]);
|
|
213
|
+
// unavailable channels can't trigger tasks, so don't add them
|
|
214
|
+
if (onlyChannels[chan].isAvailable()) {
|
|
215
|
+
updatedChannels.add(chan);
|
|
216
|
+
}
|
|
223
217
|
}
|
|
224
|
-
updatedChannels.add(chan);
|
|
225
218
|
}
|
|
226
219
|
}
|
|
227
220
|
// Channels that weren't updated in this step are notified of a new step
|
|
228
221
|
if (bumpStep) {
|
|
229
222
|
for (const chan of Object.keys(onlyChannels)) {
|
|
230
|
-
if (!updatedChannels.has(chan)) {
|
|
223
|
+
if (onlyChannels[chan].isAvailable() && !updatedChannels.has(chan)) {
|
|
231
224
|
const updated = onlyChannels[chan].update([]);
|
|
232
225
|
if (updated && getNextVersion !== undefined) {
|
|
233
226
|
checkpoint.channel_versions[chan] = getNextVersion(maxVersion, onlyChannels[chan]);
|
|
227
|
+
// unavailable channels can't trigger tasks, so don't add them
|
|
228
|
+
if (onlyChannels[chan].isAvailable()) {
|
|
229
|
+
updatedChannels.add(chan);
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
// If this is (tentatively) the last superstep, notify all channels of finish
|
|
236
|
+
if (bumpStep &&
|
|
237
|
+
checkpoint.pending_sends.length === 0 &&
|
|
238
|
+
!Object.keys(triggerToNodes ?? {}).some((channel) => updatedChannels.has(channel))) {
|
|
239
|
+
for (const chan of Object.keys(onlyChannels)) {
|
|
240
|
+
if (onlyChannels[chan].finish() && getNextVersion !== undefined) {
|
|
241
|
+
checkpoint.channel_versions[chan] = getNextVersion(maxVersion, onlyChannels[chan]);
|
|
242
|
+
// unavailable channels can't trigger tasks, so don't add them
|
|
243
|
+
if (onlyChannels[chan].isAvailable()) {
|
|
244
|
+
updatedChannels.add(chan);
|
|
234
245
|
}
|
|
235
246
|
}
|
|
236
247
|
}
|
|
@@ -333,6 +344,14 @@ function _prepareSingleTask(taskPath, checkpoint, pendingWrites, processes, chan
|
|
|
333
344
|
}),
|
|
334
345
|
triggers,
|
|
335
346
|
retry_policy: call.retry,
|
|
347
|
+
cache_key: call.cache
|
|
348
|
+
? {
|
|
349
|
+
// TODO: add xxh3_128 hex digest
|
|
350
|
+
key: (call.cache.keyFunc ?? JSON.stringify)([call.input]),
|
|
351
|
+
ns: [constants_js_1.CACHE_NS_WRITES, call.name ?? "__dynamic__"],
|
|
352
|
+
ttl: call.cache.ttl,
|
|
353
|
+
}
|
|
354
|
+
: undefined,
|
|
336
355
|
id,
|
|
337
356
|
path: taskPath.slice(0, 3),
|
|
338
357
|
writers: [],
|
|
@@ -435,6 +454,15 @@ function _prepareSingleTask(taskPath, checkpoint, pendingWrites, processes, chan
|
|
|
435
454
|
}),
|
|
436
455
|
triggers,
|
|
437
456
|
retry_policy: proc.retryPolicy,
|
|
457
|
+
cache_key: proc.cachePolicy
|
|
458
|
+
? {
|
|
459
|
+
key: (proc.cachePolicy.keyFunc ?? JSON.stringify)([
|
|
460
|
+
packet.args,
|
|
461
|
+
]),
|
|
462
|
+
ns: [constants_js_1.CACHE_NS_WRITES, proc.name ?? "__dynamic__", packet.node],
|
|
463
|
+
ttl: proc.cachePolicy.ttl,
|
|
464
|
+
}
|
|
465
|
+
: undefined,
|
|
438
466
|
id: taskId,
|
|
439
467
|
path: taskPath,
|
|
440
468
|
writers: proc.getWriters(),
|
|
@@ -566,6 +594,13 @@ function _prepareSingleTask(taskPath, checkpoint, pendingWrites, processes, chan
|
|
|
566
594
|
}),
|
|
567
595
|
triggers,
|
|
568
596
|
retry_policy: proc.retryPolicy,
|
|
597
|
+
cache_key: proc.cachePolicy
|
|
598
|
+
? {
|
|
599
|
+
key: (proc.cachePolicy.keyFunc ?? JSON.stringify)([val]),
|
|
600
|
+
ns: [constants_js_1.CACHE_NS_WRITES, proc.name ?? "__dynamic__", name],
|
|
601
|
+
ttl: proc.cachePolicy.ttl,
|
|
602
|
+
}
|
|
603
|
+
: undefined,
|
|
569
604
|
id: taskId,
|
|
570
605
|
path: taskPath,
|
|
571
606
|
writers: proc.getWriters(),
|
|
@@ -573,7 +608,12 @@ function _prepareSingleTask(taskPath, checkpoint, pendingWrites, processes, chan
|
|
|
573
608
|
}
|
|
574
609
|
}
|
|
575
610
|
else {
|
|
576
|
-
return {
|
|
611
|
+
return {
|
|
612
|
+
id: taskId,
|
|
613
|
+
name,
|
|
614
|
+
interrupts: [],
|
|
615
|
+
path: taskPath,
|
|
616
|
+
};
|
|
577
617
|
}
|
|
578
618
|
}
|
|
579
619
|
}
|
package/dist/pregel/algo.d.ts
CHANGED
|
@@ -22,7 +22,7 @@ export declare const increment: (current?: number) => number;
|
|
|
22
22
|
export declare function shouldInterrupt<N extends PropertyKey, C extends PropertyKey>(checkpoint: Checkpoint, interruptNodes: All | N[], tasks: PregelExecutableTask<N, C>[]): boolean;
|
|
23
23
|
export declare function _localRead<Cc extends Record<string, BaseChannel>>(step: number, checkpoint: ReadonlyCheckpoint, channels: Cc, managed: ManagedValueMapping, task: WritesProtocol<keyof Cc>, select: Array<keyof Cc> | keyof Cc, fresh?: boolean): Record<string, unknown> | unknown;
|
|
24
24
|
export declare function _localWrite(step: number, commit: (writes: [string, any][]) => any, processes: Record<string, PregelNode>, managed: ManagedValueMapping, writes: [string, any][]): void;
|
|
25
|
-
export declare function _applyWrites<Cc extends Record<string, BaseChannel>>(checkpoint: Checkpoint, channels: Cc, tasks: WritesProtocol<keyof Cc>[], getNextVersion
|
|
25
|
+
export declare function _applyWrites<Cc extends Record<string, BaseChannel>>(checkpoint: Checkpoint, channels: Cc, tasks: WritesProtocol<keyof Cc>[], getNextVersion: ((version: any, channel: BaseChannel) => any) | undefined, triggerToNodes: Record<string, string[]> | undefined): Record<string, PendingWriteValue[]>;
|
|
26
26
|
export type NextTaskExtraFields = {
|
|
27
27
|
step: number;
|
|
28
28
|
isResuming?: boolean;
|