@langchain/langgraph 0.2.73 → 0.3.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/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 +35 -6
- 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 +33 -12
- package/dist/constants.d.ts +48 -27
- package/dist/constants.js +27 -7
- package/dist/constants.js.map +1 -1
- package/dist/errors.cjs +4 -4
- package/dist/errors.js.map +1 -1
- package/dist/func/index.cjs +15 -7
- package/dist/func/index.d.ts +12 -3
- package/dist/func/index.js +12 -4
- package/dist/func/index.js.map +1 -1
- package/dist/func/types.cjs +1 -2
- package/dist/func/types.d.ts +1 -1
- package/dist/graph/annotation.cjs +2 -2
- package/dist/graph/annotation.js.map +1 -1
- package/dist/graph/graph.cjs +46 -40
- package/dist/graph/graph.d.ts +14 -4
- package/dist/graph/graph.js +46 -40
- package/dist/graph/graph.js.map +1 -1
- package/dist/graph/index.cjs +3 -1
- package/dist/graph/index.d.ts +2 -2
- package/dist/graph/index.js +2 -2
- package/dist/graph/index.js.map +1 -1
- package/dist/graph/message.cjs +43 -5
- package/dist/graph/message.d.ts +5 -0
- package/dist/graph/message.js +40 -3
- package/dist/graph/message.js.map +1 -1
- package/dist/graph/message.test.cjs +196 -0
- package/dist/graph/message.test.d.ts +1 -0
- package/dist/graph/message.test.js +194 -0
- package/dist/graph/message.test.js.map +1 -0
- package/dist/graph/messages_annotation.cjs +54 -1
- package/dist/graph/messages_annotation.d.ts +47 -0
- package/dist/graph/messages_annotation.js +53 -0
- package/dist/graph/messages_annotation.js.map +1 -1
- package/dist/graph/state.cjs +162 -104
- package/dist/graph/state.d.ts +36 -11
- package/dist/graph/state.js +163 -106
- package/dist/graph/state.js.map +1 -1
- package/dist/graph/zod/plugin.js.map +1 -1
- package/dist/graph/zod/schema.cjs +17 -67
- package/dist/graph/zod/schema.js +12 -61
- package/dist/graph/zod/schema.js.map +1 -1
- package/dist/graph/zod/state.cjs +69 -7
- 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/interrupt.cjs +1 -2
- package/dist/interrupt.js.map +1 -1
- package/dist/managed/base.cjs +3 -3
- package/dist/managed/base.js.map +1 -1
- package/dist/managed/shared_value.js.map +1 -1
- package/dist/prebuilt/agentName.cjs +3 -4
- package/dist/prebuilt/agentName.js.map +1 -1
- package/dist/prebuilt/agent_executor.cjs +1 -2
- package/dist/prebuilt/agent_executor.d.ts +1 -1
- package/dist/prebuilt/agent_executor.js.map +1 -1
- package/dist/prebuilt/chat_agent_executor.cjs +1 -2
- package/dist/prebuilt/chat_agent_executor.js.map +1 -1
- package/dist/prebuilt/react_agent_executor.cjs +103 -49
- package/dist/prebuilt/react_agent_executor.d.ts +22 -6
- package/dist/prebuilt/react_agent_executor.js +99 -45
- package/dist/prebuilt/react_agent_executor.js.map +1 -1
- package/dist/prebuilt/tool_executor.js.map +1 -1
- package/dist/prebuilt/tool_node.cjs +2 -2
- package/dist/prebuilt/tool_node.js.map +1 -1
- package/dist/pregel/algo.cjs +68 -27
- package/dist/pregel/algo.d.ts +1 -1
- package/dist/pregel/algo.js +62 -21
- package/dist/pregel/algo.js.map +1 -1
- package/dist/pregel/call.cjs +5 -5
- 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.cjs +10 -10
- package/dist/pregel/debug.d.ts +3 -3
- package/dist/pregel/debug.js.map +1 -1
- package/dist/pregel/debug.test.cjs +37 -31
- package/dist/pregel/debug.test.js +18 -12
- 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/io.cjs +8 -9
- package/dist/pregel/io.js +2 -2
- package/dist/pregel/io.js.map +1 -1
- package/dist/pregel/io.mapCommand.test.cjs +29 -29
- package/dist/pregel/io.mapCommand.test.js +5 -5
- package/dist/pregel/io.mapCommand.test.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/messages.cjs +15 -13
- package/dist/pregel/messages.d.ts +1 -1
- package/dist/pregel/messages.js +15 -13
- package/dist/pregel/messages.js.map +1 -1
- package/dist/pregel/messages.test.cjs +105 -105
- package/dist/pregel/messages.test.js +31 -31
- package/dist/pregel/messages.test.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/read.test.cjs +35 -35
- package/dist/pregel/read.test.js +4 -4
- package/dist/pregel/read.test.js.map +1 -1
- package/dist/pregel/remote.js.map +1 -1
- package/dist/pregel/retry.cjs +12 -16
- package/dist/pregel/retry.js +10 -14
- package/dist/pregel/retry.js.map +1 -1
- package/dist/pregel/runner.cjs +92 -118
- package/dist/pregel/runner.js +93 -119
- package/dist/pregel/runner.js.map +1 -1
- package/dist/pregel/runner.test.cjs +14 -14
- package/dist/pregel/runner.test.js +4 -4
- package/dist/pregel/runner.test.js.map +1 -1
- package/dist/pregel/stream.js.map +1 -1
- package/dist/pregel/types.cjs +10 -3
- 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/config.cjs +40 -22
- package/dist/pregel/utils/config.d.ts +8 -5
- package/dist/pregel/utils/config.js +33 -14
- package/dist/pregel/utils/config.js.map +1 -1
- package/dist/pregel/utils/config.test.cjs +58 -58
- package/dist/pregel/utils/config.test.js +12 -12
- package/dist/pregel/utils/config.test.js.map +1 -1
- package/dist/pregel/utils/index.cjs +12 -11
- package/dist/pregel/utils/index.d.ts +15 -0
- package/dist/pregel/utils/index.js +6 -4
- package/dist/pregel/utils/index.js.map +1 -1
- package/dist/pregel/utils/subgraph.cjs +2 -3
- package/dist/pregel/utils/subgraph.js.map +1 -1
- package/dist/pregel/utils/subgraph.test.cjs +18 -18
- package/dist/pregel/utils/subgraph.test.js +1 -1
- package/dist/pregel/utils/subgraph.test.js.map +1 -1
- package/dist/pregel/validate.cjs +3 -3
- package/dist/pregel/validate.js.map +1 -1
- package/dist/pregel/validate.test.cjs +43 -43
- package/dist/pregel/validate.test.js +3 -3
- package/dist/pregel/validate.test.js.map +1 -1
- package/dist/pregel/write.js.map +1 -1
- package/dist/pregel/write.test.cjs +30 -30
- package/dist/pregel/write.test.js +8 -8
- package/dist/pregel/write.test.js.map +1 -1
- package/dist/setup/async_local_storage.cjs +1 -2
- package/dist/utils.cjs +7 -7
- package/dist/utils.js.map +1 -1
- package/dist/web.cjs +6 -1
- package/dist/web.d.ts +3 -3
- package/dist/web.js +3 -3
- package/dist/web.js.map +1 -1
- package/package.json +15 -15
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/pregel/stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAMtE;;;GAGG;AACH,MAAM,OAAO,qCAEX,SAAQ,sBAAyB;IAKjC;;;OAGG;IACH,YACE,cAAiC,EACjC,eAAiC;QAEjC,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,EAAE,CAAC;QAC1C,MAAM,EAAE,GAAG,eAAe,IAAI,IAAI,eAAe,EAAE,CAAC;QACpD,KAAK,CAAC;YACJ,KAAK,CAAC,UAA8C;gBAClD,OAAO,IAAI,EAAE,CAAC;gBACd,SAAS,IAAI;oBACX,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;wBAC5C,2DAA2D;wBAC3D,IAAI,IAAI,EAAE;
|
|
1
|
+
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/pregel/stream.ts"],"names":[],"mappings":"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"}
|
package/dist/pregel/types.cjs
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.Call = void 0;
|
|
4
|
+
exports.isCall = isCall;
|
|
4
5
|
class Call {
|
|
5
|
-
constructor({ func, name, input, retry, callbacks }) {
|
|
6
|
+
constructor({ func, name, input, retry, cache, callbacks }) {
|
|
6
7
|
Object.defineProperty(this, "func", {
|
|
7
8
|
enumerable: true,
|
|
8
9
|
configurable: true,
|
|
@@ -27,6 +28,12 @@ class Call {
|
|
|
27
28
|
writable: true,
|
|
28
29
|
value: void 0
|
|
29
30
|
});
|
|
31
|
+
Object.defineProperty(this, "cache", {
|
|
32
|
+
enumerable: true,
|
|
33
|
+
configurable: true,
|
|
34
|
+
writable: true,
|
|
35
|
+
value: void 0
|
|
36
|
+
});
|
|
30
37
|
Object.defineProperty(this, "callbacks", {
|
|
31
38
|
enumerable: true,
|
|
32
39
|
configurable: true,
|
|
@@ -43,6 +50,7 @@ class Call {
|
|
|
43
50
|
this.name = name;
|
|
44
51
|
this.input = input;
|
|
45
52
|
this.retry = retry;
|
|
53
|
+
this.cache = cache;
|
|
46
54
|
this.callbacks = callbacks;
|
|
47
55
|
}
|
|
48
56
|
}
|
|
@@ -53,5 +61,4 @@ function isCall(value) {
|
|
|
53
61
|
"__lg_type" in value &&
|
|
54
62
|
value.__lg_type === "call");
|
|
55
63
|
}
|
|
56
|
-
exports.isCall = isCall;
|
|
57
64
|
//# sourceMappingURL=types.js.map
|
package/dist/pregel/types.d.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import type { Runnable, RunnableConfig } from "@langchain/core/runnables";
|
|
2
|
-
import type { All, PendingWrite, CheckpointMetadata, BaseCheckpointSaver, BaseStore, CheckpointListOptions } from "@langchain/langgraph-checkpoint";
|
|
2
|
+
import type { All, PendingWrite, CheckpointMetadata, BaseCheckpointSaver, BaseStore, CheckpointListOptions, BaseCache } from "@langchain/langgraph-checkpoint";
|
|
3
3
|
import { Graph as DrawableGraph } from "@langchain/core/runnables/graph";
|
|
4
4
|
import { IterableReadableStream } from "@langchain/core/utils/stream";
|
|
5
|
+
import type { BaseMessage } from "@langchain/core/messages";
|
|
5
6
|
import type { BaseChannel } from "../channels/base.js";
|
|
6
7
|
import type { PregelNode } from "./read.js";
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
8
|
+
import type { Interrupt } from "../constants.js";
|
|
9
|
+
import type { ManagedValueSpec } from "../managed/base.js";
|
|
10
|
+
import { CachePolicy, RetryPolicy } from "./utils/index.js";
|
|
10
11
|
import { LangGraphRunnableConfig } from "./runnable_types.js";
|
|
11
12
|
/**
|
|
12
13
|
* Selects the type of output you'll receive when streaming from the graph. See [Streaming](/langgraphjs/how-tos/#streaming) for more details.
|
|
@@ -14,6 +15,45 @@ import { LangGraphRunnableConfig } from "./runnable_types.js";
|
|
|
14
15
|
export type StreamMode = "values" | "updates" | "debug" | "messages" | "custom";
|
|
15
16
|
export type PregelInputType = any;
|
|
16
17
|
export type PregelOutputType = any;
|
|
18
|
+
type StreamMessageOutput = [BaseMessage, Record<string, any>];
|
|
19
|
+
type StreamCustomOutput = any;
|
|
20
|
+
type StreamDebugOutput = Record<string, any>;
|
|
21
|
+
type DefaultStreamMode = "updates";
|
|
22
|
+
export type StreamOutputMap<TStreamMode extends StreamMode | StreamMode[] | undefined, TStreamSubgraphs extends boolean, StreamUpdates, StreamValues, Nodes> = (undefined extends TStreamMode ? [] : StreamMode | StreamMode[] extends TStreamMode ? TStreamMode extends StreamMode[] ? TStreamMode[number] : TStreamMode : TStreamMode extends StreamMode[] ? TStreamMode[number] : []) extends infer Multiple extends StreamMode ? [TStreamSubgraphs] extends [true] ? {
|
|
23
|
+
values: [string[], "values", StreamValues];
|
|
24
|
+
updates: [
|
|
25
|
+
string[],
|
|
26
|
+
"updates",
|
|
27
|
+
Record<Nodes extends string ? Nodes : string, StreamUpdates>
|
|
28
|
+
];
|
|
29
|
+
messages: [string[], "messages", StreamMessageOutput];
|
|
30
|
+
custom: [string[], "custom", StreamCustomOutput];
|
|
31
|
+
debug: [string[], "debug", StreamDebugOutput];
|
|
32
|
+
}[Multiple] : {
|
|
33
|
+
values: ["values", StreamValues];
|
|
34
|
+
updates: [
|
|
35
|
+
"updates",
|
|
36
|
+
Record<Nodes extends string ? Nodes : string, StreamUpdates>
|
|
37
|
+
];
|
|
38
|
+
messages: ["messages", StreamMessageOutput];
|
|
39
|
+
custom: ["custom", StreamCustomOutput];
|
|
40
|
+
debug: ["debug", StreamDebugOutput];
|
|
41
|
+
}[Multiple] : (undefined extends TStreamMode ? DefaultStreamMode : TStreamMode) extends infer Single extends StreamMode ? [TStreamSubgraphs] extends [true] ? {
|
|
42
|
+
values: [string[], StreamValues];
|
|
43
|
+
updates: [
|
|
44
|
+
string[],
|
|
45
|
+
Record<Nodes extends string ? Nodes : string, StreamUpdates>
|
|
46
|
+
];
|
|
47
|
+
messages: [string[], StreamMessageOutput];
|
|
48
|
+
custom: [string[], StreamCustomOutput];
|
|
49
|
+
debug: [string[], StreamDebugOutput];
|
|
50
|
+
}[Single] : {
|
|
51
|
+
values: StreamValues;
|
|
52
|
+
updates: Record<Nodes extends string ? Nodes : string, StreamUpdates>;
|
|
53
|
+
messages: StreamMessageOutput;
|
|
54
|
+
custom: StreamCustomOutput;
|
|
55
|
+
debug: StreamDebugOutput;
|
|
56
|
+
}[Single] : never;
|
|
17
57
|
/**
|
|
18
58
|
* Configuration options for executing a Pregel graph.
|
|
19
59
|
* These options control how the graph executes, what data is streamed, and how interrupts are handled.
|
|
@@ -22,7 +62,7 @@ export type PregelOutputType = any;
|
|
|
22
62
|
* @typeParam Channels - Mapping of channel names to their {@link BaseChannel} or {@link ManagedValueSpec} implementations
|
|
23
63
|
* @typeParam ConfigurableFieldType - Type of configurable fields in the {@link RunnableConfig} that is passed to the graph
|
|
24
64
|
*/
|
|
25
|
-
export interface PregelOptions<Nodes extends StrRecord<string, PregelNode>, Channels extends StrRecord<string, BaseChannel | ManagedValueSpec>, ConfigurableFieldType extends Record<string, any> = Record<string, any
|
|
65
|
+
export interface PregelOptions<Nodes extends StrRecord<string, PregelNode>, Channels extends StrRecord<string, BaseChannel | ManagedValueSpec>, ConfigurableFieldType extends Record<string, any> = Record<string, any>, TStreamMode extends StreamMode | StreamMode[] | undefined = StreamMode | StreamMode[] | undefined, TSubgraphs extends boolean = boolean> extends RunnableConfig<ConfigurableFieldType> {
|
|
26
66
|
/**
|
|
27
67
|
* Controls what information is streamed during graph execution.
|
|
28
68
|
* Multiple modes can be enabled simultaneously.
|
|
@@ -45,7 +85,7 @@ export interface PregelOptions<Nodes extends StrRecord<string, PregelNode>, Chan
|
|
|
45
85
|
*
|
|
46
86
|
* @default ["values"]
|
|
47
87
|
*/
|
|
48
|
-
streamMode?:
|
|
88
|
+
streamMode?: TStreamMode;
|
|
49
89
|
/**
|
|
50
90
|
* Specifies which channel keys to retrieve from the checkpoint when resuming execution.
|
|
51
91
|
* This is an advanced option that you generally don't need to set manually.
|
|
@@ -116,12 +156,16 @@ export interface PregelOptions<Nodes extends StrRecord<string, PregelNode>, Chan
|
|
|
116
156
|
*
|
|
117
157
|
* @default false
|
|
118
158
|
*/
|
|
119
|
-
subgraphs?:
|
|
159
|
+
subgraphs?: TSubgraphs;
|
|
120
160
|
/**
|
|
121
161
|
* A shared value store that allows you to store and retrieve state across
|
|
122
162
|
* threads. Useful for implementing long-term memory patterns.
|
|
123
163
|
*/
|
|
124
164
|
store?: BaseStore;
|
|
165
|
+
/**
|
|
166
|
+
* Optional cache for the graph, useful for caching tasks.
|
|
167
|
+
*/
|
|
168
|
+
cache?: BaseCache;
|
|
125
169
|
}
|
|
126
170
|
/**
|
|
127
171
|
* Construct a type with a set of properties K of type T
|
|
@@ -222,6 +266,10 @@ export type PregelParams<Nodes extends StrRecord<string, PregelNode>, Channels e
|
|
|
222
266
|
* Memory store to use for SharedValues.
|
|
223
267
|
*/
|
|
224
268
|
store?: BaseStore;
|
|
269
|
+
/**
|
|
270
|
+
* Memory store to use for SharedValues.
|
|
271
|
+
*/
|
|
272
|
+
cache?: BaseCache;
|
|
225
273
|
};
|
|
226
274
|
export interface PregelTaskDescription {
|
|
227
275
|
readonly id: string;
|
|
@@ -231,6 +279,11 @@ export interface PregelTaskDescription {
|
|
|
231
279
|
readonly state?: LangGraphRunnableConfig | StateSnapshot;
|
|
232
280
|
readonly path?: TaskPath;
|
|
233
281
|
}
|
|
282
|
+
interface CacheKey {
|
|
283
|
+
ns: string[];
|
|
284
|
+
key: string;
|
|
285
|
+
ttl?: number;
|
|
286
|
+
}
|
|
234
287
|
export interface PregelExecutableTask<NodeKey extends PropertyKey, ChannelKey extends PropertyKey> {
|
|
235
288
|
readonly name: NodeKey;
|
|
236
289
|
readonly input: unknown;
|
|
@@ -239,6 +292,7 @@ export interface PregelExecutableTask<NodeKey extends PropertyKey, ChannelKey ex
|
|
|
239
292
|
readonly config?: LangGraphRunnableConfig;
|
|
240
293
|
readonly triggers: Array<string>;
|
|
241
294
|
readonly retry_policy?: RetryPolicy;
|
|
295
|
+
readonly cache_key?: CacheKey;
|
|
242
296
|
readonly id: string;
|
|
243
297
|
readonly path?: TaskPath;
|
|
244
298
|
readonly subgraphs?: Runnable[];
|
|
@@ -352,6 +406,7 @@ export type CallOptions = {
|
|
|
352
406
|
func: (...args: unknown[]) => unknown | Promise<unknown>;
|
|
353
407
|
name: string;
|
|
354
408
|
input: unknown;
|
|
409
|
+
cache?: CachePolicy;
|
|
355
410
|
retry?: RetryPolicy;
|
|
356
411
|
callbacks?: unknown;
|
|
357
412
|
};
|
|
@@ -360,9 +415,10 @@ export declare class Call {
|
|
|
360
415
|
name: string;
|
|
361
416
|
input: unknown;
|
|
362
417
|
retry?: RetryPolicy;
|
|
418
|
+
cache?: CachePolicy;
|
|
363
419
|
callbacks?: unknown;
|
|
364
420
|
readonly __lg_type = "call";
|
|
365
|
-
constructor({ func, name, input, retry, callbacks }: CallOptions);
|
|
421
|
+
constructor({ func, name, input, retry, cache, callbacks }: CallOptions);
|
|
366
422
|
}
|
|
367
423
|
export declare function isCall(value: unknown): value is Call;
|
|
368
424
|
export type SimpleTaskPath = [string, string | number];
|
package/dist/pregel/types.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export class Call {
|
|
2
|
-
constructor({ func, name, input, retry, callbacks }) {
|
|
2
|
+
constructor({ func, name, input, retry, cache, callbacks }) {
|
|
3
3
|
Object.defineProperty(this, "func", {
|
|
4
4
|
enumerable: true,
|
|
5
5
|
configurable: true,
|
|
@@ -24,6 +24,12 @@ export class Call {
|
|
|
24
24
|
writable: true,
|
|
25
25
|
value: void 0
|
|
26
26
|
});
|
|
27
|
+
Object.defineProperty(this, "cache", {
|
|
28
|
+
enumerable: true,
|
|
29
|
+
configurable: true,
|
|
30
|
+
writable: true,
|
|
31
|
+
value: void 0
|
|
32
|
+
});
|
|
27
33
|
Object.defineProperty(this, "callbacks", {
|
|
28
34
|
enumerable: true,
|
|
29
35
|
configurable: true,
|
|
@@ -40,6 +46,7 @@ export class Call {
|
|
|
40
46
|
this.name = name;
|
|
41
47
|
this.input = input;
|
|
42
48
|
this.retry = retry;
|
|
49
|
+
this.cache = cache;
|
|
43
50
|
this.callbacks = callbacks;
|
|
44
51
|
}
|
|
45
52
|
}
|
package/dist/pregel/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/pregel/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/pregel/types.ts"],"names":[],"mappings":"AA6iBA,MAAM,OAAO,IAAI;IAef,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAe;QAdvE;;;;;WAAyD;QAEzD;;;;;WAAa;QAEb;;;;;WAAe;QAEf;;;;;WAAoB;QAEpB;;;;;WAAoB;QAEpB;;;;;WAAoB;QAEX;;;;mBAAY,MAAM;WAAC;QAG1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,UAAU,MAAM,CAAC,KAAc;IACnC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,WAAW,IAAI,KAAK;QACpB,KAAK,CAAC,SAAS,KAAK,MAAM,CAC3B,CAAC;AACJ,CAAC"}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.ensureLangGraphConfig = ensureLangGraphConfig;
|
|
4
|
+
exports.getStore = getStore;
|
|
5
|
+
exports.getWriter = getWriter;
|
|
6
|
+
exports.getConfig = getConfig;
|
|
7
|
+
exports.getCurrentTaskInput = getCurrentTaskInput;
|
|
8
|
+
exports.recastCheckpointNamespace = recastCheckpointNamespace;
|
|
9
|
+
exports.getParentCheckpointNamespace = getParentCheckpointNamespace;
|
|
4
10
|
const singletons_1 = require("@langchain/core/singletons");
|
|
5
11
|
const constants_js_1 = require("../../constants.cjs");
|
|
6
12
|
const COPIABLE_KEYS = ["tags", "metadata", "callbacks", "configurable"];
|
|
@@ -82,52 +88,66 @@ function ensureLangGraphConfig(...configs) {
|
|
|
82
88
|
}
|
|
83
89
|
return empty;
|
|
84
90
|
}
|
|
85
|
-
exports.ensureLangGraphConfig = ensureLangGraphConfig;
|
|
86
91
|
/**
|
|
87
92
|
* A helper utility function that returns the {@link BaseStore} that was set when the graph was initialized
|
|
88
93
|
*
|
|
89
94
|
* @returns a reference to the {@link BaseStore} that was set when the graph was initialized
|
|
90
95
|
*/
|
|
91
|
-
function getStore() {
|
|
92
|
-
const
|
|
93
|
-
|
|
96
|
+
function getStore(config) {
|
|
97
|
+
const runConfig = config ?? singletons_1.AsyncLocalStorageProviderSingleton.getRunnableConfig();
|
|
98
|
+
if (runConfig === undefined) {
|
|
99
|
+
throw new Error([
|
|
100
|
+
"Config not retrievable. This is likely because you are running in an environment without support for AsyncLocalStorage.",
|
|
101
|
+
"If you're running `getStore` in such environment, pass the `config` from the node function directly.",
|
|
102
|
+
].join("\n"));
|
|
103
|
+
}
|
|
104
|
+
return runConfig?.store;
|
|
94
105
|
}
|
|
95
|
-
exports.getStore = getStore;
|
|
96
106
|
/**
|
|
97
|
-
* A helper utility function that returns the {@link LangGraphRunnableConfig#writer} if "custom" stream mode is enabled, otherwise undefined
|
|
107
|
+
* A helper utility function that returns the {@link LangGraphRunnableConfig#writer} if "custom" stream mode is enabled, otherwise undefined.
|
|
98
108
|
*
|
|
99
109
|
* @returns a reference to the {@link LangGraphRunnableConfig#writer} if "custom" stream mode is enabled, otherwise undefined
|
|
100
110
|
*/
|
|
101
|
-
function getWriter() {
|
|
102
|
-
const
|
|
103
|
-
|
|
111
|
+
function getWriter(config) {
|
|
112
|
+
const runConfig = config ?? singletons_1.AsyncLocalStorageProviderSingleton.getRunnableConfig();
|
|
113
|
+
if (runConfig === undefined) {
|
|
114
|
+
throw new Error([
|
|
115
|
+
"Config not retrievable. This is likely because you are running in an environment without support for AsyncLocalStorage.",
|
|
116
|
+
"If you're running `getWriter` in such environment, pass the `config` from the node function directly.",
|
|
117
|
+
].join("\n"));
|
|
118
|
+
}
|
|
119
|
+
return runConfig?.configurable?.writer;
|
|
104
120
|
}
|
|
105
|
-
exports.getWriter = getWriter;
|
|
106
121
|
/**
|
|
107
|
-
* A helper utility function that returns the {@link LangGraphRunnableConfig} that was set when the graph was initialized
|
|
122
|
+
* A helper utility function that returns the {@link LangGraphRunnableConfig} that was set when the graph was initialized.
|
|
123
|
+
*
|
|
124
|
+
* Note: This only works when running in an environment that supports node:async_hooks and AsyncLocalStorage. If you're running this in a
|
|
125
|
+
* web environment, access the LangGraphRunnableConfig from the node function directly.
|
|
108
126
|
*
|
|
109
127
|
* @returns the {@link LangGraphRunnableConfig} that was set when the graph was initialized
|
|
110
128
|
*/
|
|
111
129
|
function getConfig() {
|
|
112
130
|
return singletons_1.AsyncLocalStorageProviderSingleton.getRunnableConfig();
|
|
113
131
|
}
|
|
114
|
-
exports.getConfig = getConfig;
|
|
115
132
|
/**
|
|
116
133
|
* A helper utility function that returns the input for the currently executing task
|
|
117
134
|
*
|
|
118
135
|
* @returns the input for the currently executing task
|
|
119
136
|
*/
|
|
120
|
-
function getCurrentTaskInput() {
|
|
121
|
-
const
|
|
122
|
-
if (
|
|
123
|
-
throw new Error(
|
|
137
|
+
function getCurrentTaskInput(config) {
|
|
138
|
+
const runConfig = config ?? singletons_1.AsyncLocalStorageProviderSingleton.getRunnableConfig();
|
|
139
|
+
if (runConfig === undefined) {
|
|
140
|
+
throw new Error([
|
|
141
|
+
"Config not retrievable. This is likely because you are running in an environment without support for AsyncLocalStorage.",
|
|
142
|
+
"If you're running `getCurrentTaskInput` in such environment, pass the `config` from the node function directly.",
|
|
143
|
+
].join("\n"));
|
|
124
144
|
}
|
|
125
|
-
if (
|
|
145
|
+
if (runConfig.configurable?.[constants_js_1.CONFIG_KEY_SCRATCHPAD]?.currentTaskInput ===
|
|
146
|
+
undefined) {
|
|
126
147
|
throw new Error("BUG: internal scratchpad not initialized.");
|
|
127
148
|
}
|
|
128
|
-
return
|
|
149
|
+
return runConfig.configurable[constants_js_1.CONFIG_KEY_SCRATCHPAD].currentTaskInput;
|
|
129
150
|
}
|
|
130
|
-
exports.getCurrentTaskInput = getCurrentTaskInput;
|
|
131
151
|
function recastCheckpointNamespace(namespace) {
|
|
132
152
|
return namespace
|
|
133
153
|
.split(constants_js_1.CHECKPOINT_NAMESPACE_SEPARATOR)
|
|
@@ -135,7 +155,6 @@ function recastCheckpointNamespace(namespace) {
|
|
|
135
155
|
.map((part) => part.split(constants_js_1.CHECKPOINT_NAMESPACE_END)[0])
|
|
136
156
|
.join(constants_js_1.CHECKPOINT_NAMESPACE_SEPARATOR);
|
|
137
157
|
}
|
|
138
|
-
exports.recastCheckpointNamespace = recastCheckpointNamespace;
|
|
139
158
|
function getParentCheckpointNamespace(namespace) {
|
|
140
159
|
const parts = namespace.split(constants_js_1.CHECKPOINT_NAMESPACE_SEPARATOR);
|
|
141
160
|
while (parts.length > 1 && parts[parts.length - 1].match(/^\d+$/)) {
|
|
@@ -143,5 +162,4 @@ function getParentCheckpointNamespace(namespace) {
|
|
|
143
162
|
}
|
|
144
163
|
return parts.slice(0, -1).join(constants_js_1.CHECKPOINT_NAMESPACE_SEPARATOR);
|
|
145
164
|
}
|
|
146
|
-
exports.getParentCheckpointNamespace = getParentCheckpointNamespace;
|
|
147
165
|
//# sourceMappingURL=config.js.map
|
|
@@ -7,15 +7,18 @@ export declare function ensureLangGraphConfig(...configs: (LangGraphRunnableConf
|
|
|
7
7
|
*
|
|
8
8
|
* @returns a reference to the {@link BaseStore} that was set when the graph was initialized
|
|
9
9
|
*/
|
|
10
|
-
export declare function getStore(): BaseStore | undefined;
|
|
10
|
+
export declare function getStore(config?: LangGraphRunnableConfig): BaseStore | undefined;
|
|
11
11
|
/**
|
|
12
|
-
* A helper utility function that returns the {@link LangGraphRunnableConfig#writer} if "custom" stream mode is enabled, otherwise undefined
|
|
12
|
+
* A helper utility function that returns the {@link LangGraphRunnableConfig#writer} if "custom" stream mode is enabled, otherwise undefined.
|
|
13
13
|
*
|
|
14
14
|
* @returns a reference to the {@link LangGraphRunnableConfig#writer} if "custom" stream mode is enabled, otherwise undefined
|
|
15
15
|
*/
|
|
16
|
-
export declare function getWriter(): ((chunk: unknown) => void) | undefined;
|
|
16
|
+
export declare function getWriter(config?: LangGraphRunnableConfig): ((chunk: unknown) => void) | undefined;
|
|
17
17
|
/**
|
|
18
|
-
* A helper utility function that returns the {@link LangGraphRunnableConfig} that was set when the graph was initialized
|
|
18
|
+
* A helper utility function that returns the {@link LangGraphRunnableConfig} that was set when the graph was initialized.
|
|
19
|
+
*
|
|
20
|
+
* Note: This only works when running in an environment that supports node:async_hooks and AsyncLocalStorage. If you're running this in a
|
|
21
|
+
* web environment, access the LangGraphRunnableConfig from the node function directly.
|
|
19
22
|
*
|
|
20
23
|
* @returns the {@link LangGraphRunnableConfig} that was set when the graph was initialized
|
|
21
24
|
*/
|
|
@@ -25,6 +28,6 @@ export declare function getConfig(): LangGraphRunnableConfig;
|
|
|
25
28
|
*
|
|
26
29
|
* @returns the input for the currently executing task
|
|
27
30
|
*/
|
|
28
|
-
export declare function getCurrentTaskInput<T = unknown>(): T;
|
|
31
|
+
export declare function getCurrentTaskInput<T = unknown>(config?: LangGraphRunnableConfig): T;
|
|
29
32
|
export declare function recastCheckpointNamespace(namespace: string): string;
|
|
30
33
|
export declare function getParentCheckpointNamespace(namespace: string): string;
|
|
@@ -84,21 +84,36 @@ export function ensureLangGraphConfig(...configs) {
|
|
|
84
84
|
*
|
|
85
85
|
* @returns a reference to the {@link BaseStore} that was set when the graph was initialized
|
|
86
86
|
*/
|
|
87
|
-
export function getStore() {
|
|
88
|
-
const
|
|
89
|
-
|
|
87
|
+
export function getStore(config) {
|
|
88
|
+
const runConfig = config ?? AsyncLocalStorageProviderSingleton.getRunnableConfig();
|
|
89
|
+
if (runConfig === undefined) {
|
|
90
|
+
throw new Error([
|
|
91
|
+
"Config not retrievable. This is likely because you are running in an environment without support for AsyncLocalStorage.",
|
|
92
|
+
"If you're running `getStore` in such environment, pass the `config` from the node function directly.",
|
|
93
|
+
].join("\n"));
|
|
94
|
+
}
|
|
95
|
+
return runConfig?.store;
|
|
90
96
|
}
|
|
91
97
|
/**
|
|
92
|
-
* A helper utility function that returns the {@link LangGraphRunnableConfig#writer} if "custom" stream mode is enabled, otherwise undefined
|
|
98
|
+
* A helper utility function that returns the {@link LangGraphRunnableConfig#writer} if "custom" stream mode is enabled, otherwise undefined.
|
|
93
99
|
*
|
|
94
100
|
* @returns a reference to the {@link LangGraphRunnableConfig#writer} if "custom" stream mode is enabled, otherwise undefined
|
|
95
101
|
*/
|
|
96
|
-
export function getWriter() {
|
|
97
|
-
const
|
|
98
|
-
|
|
102
|
+
export function getWriter(config) {
|
|
103
|
+
const runConfig = config ?? AsyncLocalStorageProviderSingleton.getRunnableConfig();
|
|
104
|
+
if (runConfig === undefined) {
|
|
105
|
+
throw new Error([
|
|
106
|
+
"Config not retrievable. This is likely because you are running in an environment without support for AsyncLocalStorage.",
|
|
107
|
+
"If you're running `getWriter` in such environment, pass the `config` from the node function directly.",
|
|
108
|
+
].join("\n"));
|
|
109
|
+
}
|
|
110
|
+
return runConfig?.configurable?.writer;
|
|
99
111
|
}
|
|
100
112
|
/**
|
|
101
|
-
* A helper utility function that returns the {@link LangGraphRunnableConfig} that was set when the graph was initialized
|
|
113
|
+
* A helper utility function that returns the {@link LangGraphRunnableConfig} that was set when the graph was initialized.
|
|
114
|
+
*
|
|
115
|
+
* Note: This only works when running in an environment that supports node:async_hooks and AsyncLocalStorage. If you're running this in a
|
|
116
|
+
* web environment, access the LangGraphRunnableConfig from the node function directly.
|
|
102
117
|
*
|
|
103
118
|
* @returns the {@link LangGraphRunnableConfig} that was set when the graph was initialized
|
|
104
119
|
*/
|
|
@@ -110,15 +125,19 @@ export function getConfig() {
|
|
|
110
125
|
*
|
|
111
126
|
* @returns the input for the currently executing task
|
|
112
127
|
*/
|
|
113
|
-
export function getCurrentTaskInput() {
|
|
114
|
-
const
|
|
115
|
-
if (
|
|
116
|
-
throw new Error(
|
|
128
|
+
export function getCurrentTaskInput(config) {
|
|
129
|
+
const runConfig = config ?? AsyncLocalStorageProviderSingleton.getRunnableConfig();
|
|
130
|
+
if (runConfig === undefined) {
|
|
131
|
+
throw new Error([
|
|
132
|
+
"Config not retrievable. This is likely because you are running in an environment without support for AsyncLocalStorage.",
|
|
133
|
+
"If you're running `getCurrentTaskInput` in such environment, pass the `config` from the node function directly.",
|
|
134
|
+
].join("\n"));
|
|
117
135
|
}
|
|
118
|
-
if (
|
|
136
|
+
if (runConfig.configurable?.[CONFIG_KEY_SCRATCHPAD]?.currentTaskInput ===
|
|
137
|
+
undefined) {
|
|
119
138
|
throw new Error("BUG: internal scratchpad not initialized.");
|
|
120
139
|
}
|
|
121
|
-
return
|
|
140
|
+
return runConfig.configurable[CONFIG_KEY_SCRATCHPAD].currentTaskInput;
|
|
122
141
|
}
|
|
123
142
|
export function recastCheckpointNamespace(namespace) {
|
|
124
143
|
return namespace
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/pregel/utils/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kCAAkC,EAAE,MAAM,4BAA4B,CAAC;AAGhF,OAAO,EACL,wBAAwB,EACxB,8BAA8B,EAC9B,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;AAExE,MAAM,WAAW,GAAG;IAClB,MAAM;IACN,UAAU;IACV,WAAW;IACX,SAAS;IACT,gBAAgB;IAChB,gBAAgB;IAChB,cAAc;IACd,OAAO;IACP,YAAY;IACZ,YAAY;IACZ,OAAO;IACP,QAAQ;IACR,iBAAiB;IACjB,gBAAgB;IAChB,QAAQ;CACT,CAAC;AAEF,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAEnC,MAAM,UAAU,qBAAqB,CACnC,GAAG,OAAgD;IAEnD,MAAM,KAAK,GAA4B;QACrC,IAAI,EAAE,EAAE;QACR,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,SAAS;QACpB,cAAc,EAAE,uBAAuB;QACvC,YAAY,EAAE,EAAE;KACjB,CAAC;IAEF,MAAM,cAAc,GAClB,kCAAkC,CAAC,iBAAiB,EAAE,CAAC;IACzD,IAAI,cAAc,KAAK,SAAS,EAAE;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/pregel/utils/config.ts"],"names":[],"mappings":"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"}
|