@langchain/langgraph 1.4.15-rc.0 → 1.4.15
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/func/index.cjs +1 -1
- package/dist/func/index.js +1 -1
- package/dist/graph/state.cjs +1 -3
- package/dist/graph/state.cjs.map +1 -1
- package/dist/graph/state.d.cts +2 -4
- package/dist/graph/state.d.cts.map +1 -1
- package/dist/graph/state.d.ts +2 -4
- package/dist/graph/state.d.ts.map +1 -1
- package/dist/graph/state.js +1 -3
- package/dist/graph/state.js.map +1 -1
- package/dist/index.cjs +4 -6
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -2
- package/dist/index.js.map +1 -1
- package/dist/pregel/algo.cjs +1 -1
- package/dist/pregel/algo.js +1 -1
- package/dist/pregel/index.cjs +1 -1
- package/dist/pregel/index.js +1 -1
- package/dist/pregel/loop.cjs +1 -1
- package/dist/pregel/loop.js +1 -1
- package/dist/pregel/read.cjs +7 -18
- package/dist/pregel/read.cjs.map +1 -1
- package/dist/pregel/read.d.cts +1 -3
- package/dist/pregel/read.d.cts.map +1 -1
- package/dist/pregel/read.d.ts +1 -3
- package/dist/pregel/read.d.ts.map +1 -1
- package/dist/pregel/read.js +7 -18
- package/dist/pregel/read.js.map +1 -1
- package/dist/pregel/runner.cjs +1 -1
- package/dist/pregel/runner.js +1 -1
- package/dist/pregel/utils/index.cjs +0 -8
- package/dist/pregel/utils/index.cjs.map +1 -1
- package/dist/pregel/utils/index.d.cts +1 -37
- package/dist/pregel/utils/index.d.cts.map +1 -1
- package/dist/pregel/utils/index.d.ts +1 -37
- package/dist/pregel/utils/index.d.ts.map +1 -1
- package/dist/pregel/utils/index.js +1 -8
- package/dist/pregel/utils/index.js.map +1 -1
- package/dist/web.cjs +4 -6
- package/dist/web.d.cts +2 -2
- package/dist/web.d.ts +2 -2
- package/dist/web.js +1 -2
- package/package.json +5 -5
- package/dist/pregel/runnable.cjs +0 -103
- package/dist/pregel/runnable.cjs.map +0 -1
- package/dist/pregel/runnable.js +0 -103
- package/dist/pregel/runnable.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ import { UntrackedValueChannel } from "./channels/untracked_value.js";
|
|
|
13
13
|
import { RunControl } from "./pregel/runtime.js";
|
|
14
14
|
import { ExecutionInfo, LangGraphRunnableConfig, Runtime, ServerInfo } from "./pregel/runnable_types.js";
|
|
15
15
|
import { Annotation, AnnotationRoot, NodeType, SingleReducer, StateDefinition, StateType, UpdateType } from "./graph/annotation.js";
|
|
16
|
-
import { CachePolicy, RetryPolicy
|
|
16
|
+
import { CachePolicy, RetryPolicy } from "./pregel/utils/index.js";
|
|
17
17
|
import { PregelNode } from "./pregel/read.js";
|
|
18
18
|
import { AgentStatus, ChatModelStream, InferExtensions, InterruptPayload, LifecycleCause, LifecycleData, MessagesEventData, Namespace, NativeStreamTransformer, ProtocolEvent, StreamEmitter, StreamTransformer, ToolCallStatus, ToolCallStream, ToolsEventData, UpdatesEventData, UsageInfo, isNativeTransformer } from "./stream/types.js";
|
|
19
19
|
import { GetStateOptions, MultipleChannelSubscriptionOptions, PregelOptions, PregelParams, SingleChannelSubscriptionOptions, StateSnapshot, StreamMode, StreamOutputMap } from "./pregel/types.js";
|
|
@@ -46,4 +46,4 @@ import { getJsonSchemaFromSchema, getSchemaDefaultGetter } from "./state/adapter
|
|
|
46
46
|
import { MessagesDeltaValue, MessagesValue } from "./state/prebuilt/messages.js";
|
|
47
47
|
import { getConfig, getCurrentTaskInput, getStore, getWriter } from "./pregel/utils/config.js";
|
|
48
48
|
import { AsyncBatchedStore, BaseCheckpointSaver, BaseStore, Checkpoint, CheckpointMetadata, CheckpointTuple, GetOperation, InMemoryStore, Item, ListNamespacesOperation, MatchCondition, MemorySaver, NameSpacePath, NamespaceMatchType, Operation, OperationResults, PutOperation, SearchOperation, copyCheckpoint, emptyCheckpoint } from "./web.js";
|
|
49
|
-
export { AddNodeOptions, AgentStatus, Annotation, AnnotationRoot, AnyStateSchema, AnyValue, AsyncBatchedStore, BaseChannel, BaseCheckpointSaver, BaseLangGraphError, BaseLangGraphErrorFields, BaseStore, BinaryOperator, BinaryOperatorAggregate, COMMAND_SYMBOL, CachePolicy, ChatModelStream, ChatModelStreamImpl, Checkpoint, CheckpointMetadata, CheckpointTuple, Command, CommandInstance, CommandParams, CompiledGraph, CompiledGraphType, CompiledStateGraph, ConditionalEdgeRouter, ConditionalEdgeRouterTypes, ContextSchemaInit, ConvertToProtocolEventOptions, CreateGraphRunStreamOptions, DeltaChannel, DeltaReducer, DeltaValue, DeltaValueInit, DynamicBarrierValue, END, EmptyChannelError, EmptyInputError, EntrypointOptions, EphemeralValue, StreamChannel as EventLog, ExecutionInfo, ExtractStateType, ExtractUpdateType, GetOperation, GetStateOptions, Graph, GraphBubbleUp, GraphDrained, GraphInterrupt, GraphNode, GraphNodeReturnValue, GraphNodeTypes, GraphRecursionError, GraphRunStream, GraphValueError, INTERRUPT, InMemoryStore, InferExtensions, InferInterruptInputType, InferInterruptResumeType, InferStateSchemaUpdate, InferStateSchemaValue, InferWriterType, Interrupt, InterruptPayload, InvalidUpdateError, Item, LangGraphRunnableConfig, LastValue, LifecycleCause, LifecycleData, LifecycleEntry, LifecycleProjection, LifecycleTransformerOptions, ListNamespacesOperation, MatchCondition, MemorySaver, MessageGraph, Messages, MessagesAnnotation, MessagesDeltaValue, MessagesEventData, MessagesValue, MessagesZodMeta, MessagesZodState, MultipleChannelSubscriptionOptions, MultipleSubgraphsError, NameSpacePath, NamedBarrierValue, Namespace, NamespaceMatchType, NativeStreamTransformer, NodeError, NodeInterrupt, NodePolicyOptions, NodeSpec, NodeTimeoutError, NodeType, Operation, OperationResults, Overwrite, OverwriteValue, ParentCommand, Pregel, PregelNode, PregelOptions, PregelParams, ProtocolEvent, PutOperation, REMOVE_ALL_MESSAGES, ReducedValue, ReducedValueInit, RemoteException, RetryPolicy, RunControl, Runtime, START, STREAM_EVENTS_V3_MODES, SearchOperation, Send, SendOptions, ServerInfo, SingleChannelSubscriptionOptions, SingleReducer, StateDefinition, StateDefinitionInit, StateGraph, StateGraphAddNodeOptions, StateGraphArgs, StateGraphArgsWithInputOutputSchemas, StateGraphArgsWithStateSchema, StateGraphInit, StateGraphInputError, StateGraphNodeSpec, StateGraphOptions, StateSchema, StateSchemaField, StateSchemaFieldToChannel, StateSchemaFields, StateSchemaFieldsToStateDefinition, StateSnapshot, StateType, StreamChannel, StreamEmitter, StreamMode, StreamOutputMap, StreamTransformer, SubgraphDiscoveryProjection, SubgraphDiscoveryTransformerOptions, SubgraphRunStream, TaskOptions, TimeoutPolicy, ToStateDefinition, ToolCallStatus, ToolCallStream, ToolsEventData, Topic,
|
|
49
|
+
export { AddNodeOptions, AgentStatus, Annotation, AnnotationRoot, AnyStateSchema, AnyValue, AsyncBatchedStore, BaseChannel, BaseCheckpointSaver, BaseLangGraphError, BaseLangGraphErrorFields, BaseStore, BinaryOperator, BinaryOperatorAggregate, COMMAND_SYMBOL, CachePolicy, ChatModelStream, ChatModelStreamImpl, Checkpoint, CheckpointMetadata, CheckpointTuple, Command, CommandInstance, CommandParams, CompiledGraph, CompiledGraphType, CompiledStateGraph, ConditionalEdgeRouter, ConditionalEdgeRouterTypes, ContextSchemaInit, ConvertToProtocolEventOptions, CreateGraphRunStreamOptions, DeltaChannel, DeltaReducer, DeltaValue, DeltaValueInit, DynamicBarrierValue, END, EmptyChannelError, EmptyInputError, EntrypointOptions, EphemeralValue, StreamChannel as EventLog, ExecutionInfo, ExtractStateType, ExtractUpdateType, GetOperation, GetStateOptions, Graph, GraphBubbleUp, GraphDrained, GraphInterrupt, GraphNode, GraphNodeReturnValue, GraphNodeTypes, GraphRecursionError, GraphRunStream, GraphValueError, INTERRUPT, InMemoryStore, InferExtensions, InferInterruptInputType, InferInterruptResumeType, InferStateSchemaUpdate, InferStateSchemaValue, InferWriterType, Interrupt, InterruptPayload, InvalidUpdateError, Item, LangGraphRunnableConfig, LastValue, LifecycleCause, LifecycleData, LifecycleEntry, LifecycleProjection, LifecycleTransformerOptions, ListNamespacesOperation, MatchCondition, MemorySaver, MessageGraph, Messages, MessagesAnnotation, MessagesDeltaValue, MessagesEventData, MessagesValue, MessagesZodMeta, MessagesZodState, MultipleChannelSubscriptionOptions, MultipleSubgraphsError, NameSpacePath, NamedBarrierValue, Namespace, NamespaceMatchType, NativeStreamTransformer, NodeError, NodeInterrupt, NodePolicyOptions, NodeSpec, NodeTimeoutError, NodeType, Operation, OperationResults, Overwrite, OverwriteValue, ParentCommand, Pregel, PregelNode, PregelOptions, PregelParams, ProtocolEvent, PutOperation, REMOVE_ALL_MESSAGES, ReducedValue, ReducedValueInit, RemoteException, RetryPolicy, RunControl, Runtime, START, STREAM_EVENTS_V3_MODES, SearchOperation, Send, SendOptions, ServerInfo, SingleChannelSubscriptionOptions, SingleReducer, StateDefinition, StateDefinitionInit, StateGraph, StateGraphAddNodeOptions, StateGraphArgs, StateGraphArgsWithInputOutputSchemas, StateGraphArgsWithStateSchema, StateGraphInit, StateGraphInputError, StateGraphNodeSpec, StateGraphOptions, StateSchema, StateSchemaField, StateSchemaFieldToChannel, StateSchemaFields, StateSchemaFieldsToStateDefinition, StateSnapshot, StateType, StreamChannel, StreamEmitter, StreamMode, StreamOutputMap, StreamTransformer, SubgraphDiscoveryProjection, SubgraphDiscoveryTransformerOptions, SubgraphRunStream, TaskOptions, TimeoutPolicy, ToStateDefinition, ToolCallStatus, ToolCallStream, ToolsEventData, Topic, UnreachableNodeError, UntrackedValue, UntrackedValueChannel, UntrackedValueInit, UpdateType, UpdatesEventData, UsageInfo, WaitForNames, messagesStateReducer as addMessages, convertToProtocolEvent, copyCheckpoint, createGraphRunStream, createLifecycleTransformer, createMessagesTransformer, createSubgraphDiscoveryTransformer, createValuesTransformer, emptyCheckpoint, entrypoint, filterLifecycleEntries, filterSubgraphHandles, getConfig, getCurrentTaskInput, getJsonSchemaFromSchema, getPreviousState, getSchemaDefaultGetter, getStore, getSubgraphsSeenSet, getWriter, interrupt, isCheckpointEnvelope, isCommand, isGraphBubbleUp, isGraphDrained, isGraphInterrupt, isInterrupted, isNativeTransformer, isNodeError, isNodeTimeoutError, isParentCommand, isSerializableSchema, isStandardSchema, messagesDeltaReducer, messagesStateReducer, pushMessage, task, writer };
|
package/dist/index.js
CHANGED
|
@@ -5,7 +5,6 @@ import { BaseChannel } from "./channels/base.js";
|
|
|
5
5
|
import { BinaryOperatorAggregate } from "./channels/binop.js";
|
|
6
6
|
import { Annotation } from "./graph/annotation.js";
|
|
7
7
|
import { getConfig, getCurrentTaskInput, getStore, getWriter } from "./pregel/utils/config.js";
|
|
8
|
-
import { omitPayload } from "./pregel/utils/index.js";
|
|
9
8
|
import { RunControl } from "./pregel/runtime.js";
|
|
10
9
|
import { STREAM_EVENTS_V3_MODES, convertToProtocolEvent, isCheckpointEnvelope } from "./stream/convert.js";
|
|
11
10
|
import { StreamChannel } from "./stream/stream-channel.js";
|
|
@@ -37,6 +36,6 @@ import { AsyncBatchedStore, BaseCheckpointSaver, BaseStore, InMemoryStore, Memor
|
|
|
37
36
|
//#region src/index.ts
|
|
38
37
|
initializeAsyncLocalStorageSingleton();
|
|
39
38
|
//#endregion
|
|
40
|
-
export { Annotation, AsyncBatchedStore, BaseChannel, BaseCheckpointSaver, BaseLangGraphError, BaseStore, BinaryOperatorAggregate, COMMAND_SYMBOL, ChatModelStreamImpl, Command, CommandInstance, CompiledStateGraph, DeltaChannel, DeltaValue, END, EmptyChannelError, EmptyInputError, StreamChannel as EventLog, Graph, GraphBubbleUp, GraphDrained, GraphInterrupt, GraphRecursionError, GraphRunStream, GraphValueError, INTERRUPT, InMemoryStore, InvalidUpdateError, MemorySaver, MessageGraph, MessagesAnnotation, MessagesDeltaValue, MessagesValue, MessagesZodMeta, MessagesZodState, MultipleSubgraphsError, NodeError, NodeInterrupt, NodeTimeoutError, Overwrite, ParentCommand, REMOVE_ALL_MESSAGES, ReducedValue, RemoteException, RunControl, START, STREAM_EVENTS_V3_MODES, Send, StateGraph, StateGraphInputError, StateSchema, StreamChannel, SubgraphRunStream, UnreachableNodeError, UntrackedValue, UntrackedValueChannel, messagesStateReducer as addMessages, convertToProtocolEvent, copyCheckpoint, createGraphRunStream, createLifecycleTransformer, createMessagesTransformer, createSubgraphDiscoveryTransformer, createValuesTransformer, emptyCheckpoint, entrypoint, filterLifecycleEntries, filterSubgraphHandles, getConfig, getCurrentTaskInput, getJsonSchemaFromSchema, getPreviousState, getSchemaDefaultGetter, getStore, getSubgraphsSeenSet, getWriter, interrupt, isCheckpointEnvelope, isCommand, isGraphBubbleUp, isGraphDrained, isGraphInterrupt, isInterrupted, isNativeTransformer, isNodeError, isNodeTimeoutError, isParentCommand, isSerializableSchema, isStandardSchema, messagesDeltaReducer, messagesStateReducer,
|
|
39
|
+
export { Annotation, AsyncBatchedStore, BaseChannel, BaseCheckpointSaver, BaseLangGraphError, BaseStore, BinaryOperatorAggregate, COMMAND_SYMBOL, ChatModelStreamImpl, Command, CommandInstance, CompiledStateGraph, DeltaChannel, DeltaValue, END, EmptyChannelError, EmptyInputError, StreamChannel as EventLog, Graph, GraphBubbleUp, GraphDrained, GraphInterrupt, GraphRecursionError, GraphRunStream, GraphValueError, INTERRUPT, InMemoryStore, InvalidUpdateError, MemorySaver, MessageGraph, MessagesAnnotation, MessagesDeltaValue, MessagesValue, MessagesZodMeta, MessagesZodState, MultipleSubgraphsError, NodeError, NodeInterrupt, NodeTimeoutError, Overwrite, ParentCommand, REMOVE_ALL_MESSAGES, ReducedValue, RemoteException, RunControl, START, STREAM_EVENTS_V3_MODES, Send, StateGraph, StateGraphInputError, StateSchema, StreamChannel, SubgraphRunStream, UnreachableNodeError, UntrackedValue, UntrackedValueChannel, messagesStateReducer as addMessages, convertToProtocolEvent, copyCheckpoint, createGraphRunStream, createLifecycleTransformer, createMessagesTransformer, createSubgraphDiscoveryTransformer, createValuesTransformer, emptyCheckpoint, entrypoint, filterLifecycleEntries, filterSubgraphHandles, getConfig, getCurrentTaskInput, getJsonSchemaFromSchema, getPreviousState, getSchemaDefaultGetter, getStore, getSubgraphsSeenSet, getWriter, interrupt, isCheckpointEnvelope, isCommand, isGraphBubbleUp, isGraphDrained, isGraphInterrupt, isInterrupted, isNativeTransformer, isNodeError, isNodeTimeoutError, isParentCommand, isSerializableSchema, isStandardSchema, messagesDeltaReducer, messagesStateReducer, pushMessage, task, writer };
|
|
41
40
|
|
|
42
41
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["/* __LC_ALLOW_ENTRYPOINT_SIDE_EFFECTS__ */\n\nimport { initializeAsyncLocalStorageSingleton } from \"./node.js\";\n\n// Initialize global async local storage instance for tracing\ninitializeAsyncLocalStorageSingleton();\n\nexport * from \"./web.js\";\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["/* __LC_ALLOW_ENTRYPOINT_SIDE_EFFECTS__ */\n\nimport { initializeAsyncLocalStorageSingleton } from \"./node.js\";\n\n// Initialize global async local storage instance for tracing\ninitializeAsyncLocalStorageSingleton();\n\nexport * from \"./web.js\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,sCAAsC"}
|
package/dist/pregel/algo.cjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
const require_constants = require("../constants.cjs");
|
|
2
2
|
const require_errors = require("../errors.cjs");
|
|
3
3
|
const require_base = require("../channels/base.cjs");
|
|
4
|
-
const require_index = require("./utils/index.cjs");
|
|
5
4
|
const require_hash = require("../hash.cjs");
|
|
6
5
|
const require_io = require("./io.cjs");
|
|
7
6
|
const require_types = require("./types.cjs");
|
|
7
|
+
const require_index = require("./utils/index.cjs");
|
|
8
8
|
const require_call = require("./call.cjs");
|
|
9
9
|
let _langchain_langgraph_checkpoint = require("@langchain/langgraph-checkpoint");
|
|
10
10
|
let _langchain_core_runnables = require("@langchain/core/runnables");
|
package/dist/pregel/algo.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { CACHE_NS_WRITES, CONFIG_KEY_CHECKPOINTER, CONFIG_KEY_CHECKPOINT_MAP, CONFIG_KEY_NODE_ERROR, CONFIG_KEY_PREVIOUS_STATE, CONFIG_KEY_READ, CONFIG_KEY_RESUME_MAP, CONFIG_KEY_SCRATCHPAD, CONFIG_KEY_SEND, CONFIG_KEY_TASK_ID, ERROR, ERROR_SOURCE_NODE, INTERRUPT, NO_WRITES, PREVIOUS, PULL, PUSH, RESERVED, RESUME, RETURN, Send, TAG_HIDDEN, TASKS, _isSend, _isSendInterface } from "../constants.js";
|
|
2
2
|
import { EmptyChannelError, InvalidUpdateError, NodeError } from "../errors.js";
|
|
3
3
|
import { createCheckpoint, emptyChannels, getOnlyChannels, isDeltaChannel } from "../channels/base.js";
|
|
4
|
-
import { getNullChannelVersion } from "./utils/index.js";
|
|
5
4
|
import { XXH3 } from "../hash.js";
|
|
6
5
|
import { readChannel, readChannels } from "./io.js";
|
|
7
6
|
import { isCall } from "./types.js";
|
|
7
|
+
import { getNullChannelVersion } from "./utils/index.js";
|
|
8
8
|
import { getRunnableForFunc } from "./call.js";
|
|
9
9
|
import { copyCheckpoint, maxChannelVersion, uuid5 } from "@langchain/langgraph-checkpoint";
|
|
10
10
|
import { mergeConfigs, patchConfig } from "@langchain/core/runnables";
|
package/dist/pregel/index.cjs
CHANGED
|
@@ -5,10 +5,10 @@ const require_base = require("../channels/base.cjs");
|
|
|
5
5
|
const require_config = require("./utils/config.cjs");
|
|
6
6
|
const require_utils = require("../utils.cjs");
|
|
7
7
|
const require_write = require("./write.cjs");
|
|
8
|
-
const require_index = require("./utils/index.cjs");
|
|
9
8
|
const require_read = require("./read.cjs");
|
|
10
9
|
const require_runtime = require("./runtime.cjs");
|
|
11
10
|
const require_io = require("./io.cjs");
|
|
11
|
+
const require_index = require("./utils/index.cjs");
|
|
12
12
|
const require_algo = require("./algo.cjs");
|
|
13
13
|
const require_subgraph = require("./utils/subgraph.cjs");
|
|
14
14
|
const require_debug = require("./debug.cjs");
|
package/dist/pregel/index.js
CHANGED
|
@@ -4,10 +4,10 @@ import { channelsFromCheckpoint, createCheckpoint, getOnlyChannels } from "../ch
|
|
|
4
4
|
import { ensureLangGraphConfig, getConfig, recastCheckpointNamespace } from "./utils/config.js";
|
|
5
5
|
import { gatherIterator, patchConfigurable } from "../utils.js";
|
|
6
6
|
import { ChannelWrite, PASSTHROUGH } from "./write.js";
|
|
7
|
-
import { _coerceToDict, combineAbortSignals, getNewChannelVersions, patchCheckpointMap } from "./utils/index.js";
|
|
8
7
|
import { PregelNode } from "./read.js";
|
|
9
8
|
import { RunControl } from "./runtime.js";
|
|
10
9
|
import { mapInput, readChannels } from "./io.js";
|
|
10
|
+
import { _coerceToDict, combineAbortSignals, getNewChannelVersions, patchCheckpointMap } from "./utils/index.js";
|
|
11
11
|
import { _applyWrites, _localRead, _prepareNextTasks } from "./algo.js";
|
|
12
12
|
import { findSubgraphPregel } from "./utils/subgraph.js";
|
|
13
13
|
import { printStepCheckpoint, printStepTasks, printStepWrites, tasksWithWrites } from "./debug.js";
|
package/dist/pregel/loop.cjs
CHANGED
|
@@ -2,9 +2,9 @@ const require_constants = require("../constants.cjs");
|
|
|
2
2
|
const require_errors = require("../errors.cjs");
|
|
3
3
|
const require_base = require("../channels/base.cjs");
|
|
4
4
|
const require_utils = require("../utils.cjs");
|
|
5
|
-
const require_index = require("./utils/index.cjs");
|
|
6
5
|
const require_hash = require("../hash.cjs");
|
|
7
6
|
const require_io = require("./io.cjs");
|
|
7
|
+
const require_index = require("./utils/index.cjs");
|
|
8
8
|
const require_algo = require("./algo.cjs");
|
|
9
9
|
const require_debug = require("./debug.cjs");
|
|
10
10
|
const require_replay = require("./replay.cjs");
|
package/dist/pregel/loop.js
CHANGED
|
@@ -2,9 +2,9 @@ import { CONFIG_KEY_CHECKPOINT_ID, CONFIG_KEY_CHECKPOINT_MAP, CONFIG_KEY_CHECKPO
|
|
|
2
2
|
import { EmptyInputError, GraphInterrupt, isGraphInterrupt } from "../errors.js";
|
|
3
3
|
import { channelsFromCheckpoint, createCheckpoint, deltaChannelsToSnapshot, exitDeltaTaskId, isDeltaChannel } from "../channels/base.js";
|
|
4
4
|
import { gatherIterator, gatherIteratorSync, prefixGenerator } from "../utils.js";
|
|
5
|
-
import { getNewChannelVersions, patchConfigurable } from "./utils/index.js";
|
|
6
5
|
import { isXXH3 } from "../hash.js";
|
|
7
6
|
import { mapCommand, mapInput, mapOutputUpdates, mapOutputValues, readChannels } from "./io.js";
|
|
7
|
+
import { getNewChannelVersions, patchConfigurable } from "./utils/index.js";
|
|
8
8
|
import { _applyWrites, _prepareNextTasks, _prepareNodeErrorHandlerTask, _prepareSingleTask, increment, sanitizeUntrackedValuesInSend, shouldInterrupt } from "./algo.js";
|
|
9
9
|
import { mapDebugCheckpoint, mapDebugTaskResults, mapDebugTasks, printStepTasks } from "./debug.js";
|
|
10
10
|
import { ReplayState } from "./replay.js";
|
package/dist/pregel/read.cjs
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
const require_constants = require("../constants.cjs");
|
|
2
2
|
const require_utils = require("../utils.cjs");
|
|
3
3
|
const require_write = require("./write.cjs");
|
|
4
|
-
const require_runnable = require("./runnable.cjs");
|
|
5
4
|
let _langchain_core_runnables = require("@langchain/core/runnables");
|
|
6
5
|
//#region src/pregel/read.ts
|
|
7
6
|
var ChannelRead = class ChannelRead extends require_utils.RunnableCallable {
|
|
@@ -40,13 +39,12 @@ var PregelNode = class PregelNode extends _langchain_core_runnables.RunnableBind
|
|
|
40
39
|
retryPolicy;
|
|
41
40
|
cachePolicy;
|
|
42
41
|
timeout;
|
|
43
|
-
tracePolicy;
|
|
44
42
|
subgraphs;
|
|
45
43
|
ends;
|
|
46
44
|
isErrorHandler;
|
|
47
45
|
errorHandlerNode;
|
|
48
46
|
constructor(fields) {
|
|
49
|
-
const { channels, triggers, mapper, writers, bound, kwargs, metadata, retryPolicy, cachePolicy, timeout,
|
|
47
|
+
const { channels, triggers, mapper, writers, bound, kwargs, metadata, retryPolicy, cachePolicy, timeout, tags, subgraphs, ends, isErrorHandler, errorHandlerNode } = fields;
|
|
50
48
|
const mergedTags = [...fields.config?.tags ? fields.config.tags : [], ...tags ?? []];
|
|
51
49
|
super({
|
|
52
50
|
...fields,
|
|
@@ -67,7 +65,6 @@ var PregelNode = class PregelNode extends _langchain_core_runnables.RunnableBind
|
|
|
67
65
|
this.retryPolicy = retryPolicy;
|
|
68
66
|
this.cachePolicy = cachePolicy;
|
|
69
67
|
this.timeout = timeout;
|
|
70
|
-
this.tracePolicy = tracePolicy;
|
|
71
68
|
this.subgraphs = subgraphs;
|
|
72
69
|
this.ends = ends;
|
|
73
70
|
this.isErrorHandler = isErrorHandler;
|
|
@@ -85,19 +82,15 @@ var PregelNode = class PregelNode extends _langchain_core_runnables.RunnableBind
|
|
|
85
82
|
}
|
|
86
83
|
getNode() {
|
|
87
84
|
const writers = this.getWriters();
|
|
88
|
-
const sequence = (fields) => this.tracePolicy ? new require_runnable.RunnableSeq({
|
|
89
|
-
...fields,
|
|
90
|
-
tracePolicy: this.tracePolicy
|
|
91
|
-
}) : new _langchain_core_runnables.RunnableSequence(fields);
|
|
92
85
|
if (this.bound === defaultRunnableBound && writers.length === 0) return;
|
|
93
86
|
else if (this.bound === defaultRunnableBound && writers.length === 1) return writers[0];
|
|
94
|
-
else if (this.bound === defaultRunnableBound) return
|
|
87
|
+
else if (this.bound === defaultRunnableBound) return new _langchain_core_runnables.RunnableSequence({
|
|
95
88
|
first: writers[0],
|
|
96
89
|
middle: writers.slice(1, writers.length - 1),
|
|
97
90
|
last: writers[writers.length - 1],
|
|
98
91
|
omitSequenceTags: true
|
|
99
92
|
});
|
|
100
|
-
else if (writers.length > 0) return
|
|
93
|
+
else if (writers.length > 0) return new _langchain_core_runnables.RunnableSequence({
|
|
101
94
|
first: this.bound,
|
|
102
95
|
middle: writers.slice(0, writers.length - 1),
|
|
103
96
|
last: writers[writers.length - 1],
|
|
@@ -121,8 +114,7 @@ var PregelNode = class PregelNode extends _langchain_core_runnables.RunnableBind
|
|
|
121
114
|
config: this.config,
|
|
122
115
|
retryPolicy: this.retryPolicy,
|
|
123
116
|
cachePolicy: this.cachePolicy,
|
|
124
|
-
timeout: this.timeout
|
|
125
|
-
tracePolicy: this.tracePolicy
|
|
117
|
+
timeout: this.timeout
|
|
126
118
|
});
|
|
127
119
|
}
|
|
128
120
|
pipe(coerceable) {
|
|
@@ -136,8 +128,7 @@ var PregelNode = class PregelNode extends _langchain_core_runnables.RunnableBind
|
|
|
136
128
|
kwargs: this.kwargs,
|
|
137
129
|
retryPolicy: this.retryPolicy,
|
|
138
130
|
cachePolicy: this.cachePolicy,
|
|
139
|
-
timeout: this.timeout
|
|
140
|
-
tracePolicy: this.tracePolicy
|
|
131
|
+
timeout: this.timeout
|
|
141
132
|
});
|
|
142
133
|
else if (this.bound === defaultRunnableBound) return new PregelNode({
|
|
143
134
|
channels: this.channels,
|
|
@@ -149,8 +140,7 @@ var PregelNode = class PregelNode extends _langchain_core_runnables.RunnableBind
|
|
|
149
140
|
kwargs: this.kwargs,
|
|
150
141
|
retryPolicy: this.retryPolicy,
|
|
151
142
|
cachePolicy: this.cachePolicy,
|
|
152
|
-
timeout: this.timeout
|
|
153
|
-
tracePolicy: this.tracePolicy
|
|
143
|
+
timeout: this.timeout
|
|
154
144
|
});
|
|
155
145
|
else return new PregelNode({
|
|
156
146
|
channels: this.channels,
|
|
@@ -162,8 +152,7 @@ var PregelNode = class PregelNode extends _langchain_core_runnables.RunnableBind
|
|
|
162
152
|
kwargs: this.kwargs,
|
|
163
153
|
retryPolicy: this.retryPolicy,
|
|
164
154
|
cachePolicy: this.cachePolicy,
|
|
165
|
-
timeout: this.timeout
|
|
166
|
-
tracePolicy: this.tracePolicy
|
|
155
|
+
timeout: this.timeout
|
|
167
156
|
});
|
|
168
157
|
}
|
|
169
158
|
};
|
package/dist/pregel/read.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read.cjs","names":["RunnableCallable","CONFIG_KEY_READ","RunnablePassthrough","RunnableBinding","ChannelWrite","RunnableSeq","RunnableSequence"],"sources":["../../src/pregel/read.ts"],"sourcesContent":["import {\n Runnable,\n RunnableBinding,\n RunnableBindingArgs,\n RunnableConfig,\n RunnablePassthrough,\n RunnableSequence,\n _coerceToRunnable,\n type RunnableLike,\n} from \"@langchain/core/runnables\";\nimport { CONFIG_KEY_READ } from \"../constants.js\";\nimport { ChannelWrite } from \"./write.js\";\nimport { RunnableCallable } from \"../utils.js\";\nimport type {\n CachePolicy,\n RetryPolicy,\n TimeoutPolicy,\n TracePolicy,\n} from \"./utils/index.js\";\nimport { RunnableSeq } from \"./runnable.js\";\n\nexport class ChannelRead<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n RunInput = any,\n> extends RunnableCallable {\n lc_graph_name = \"ChannelRead\";\n\n channel: string | Array<string>;\n\n fresh: boolean = false;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n mapper?: (args: any) => any;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n constructor(\n channel: string | Array<string>,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n mapper?: (args: any) => any,\n fresh: boolean = false\n ) {\n super({\n trace: false,\n func: (_: RunInput, config: RunnableConfig) =>\n ChannelRead.doRead(config, this.channel, this.fresh, this.mapper),\n });\n this.fresh = fresh;\n this.mapper = mapper;\n this.channel = channel;\n this.name = Array.isArray(channel)\n ? `ChannelRead<${channel.join(\",\")}>`\n : `ChannelRead<${channel}>`;\n }\n\n static doRead<T = unknown>(\n config: RunnableConfig,\n channel: string | Array<string>,\n fresh: boolean,\n mapper?: (args: unknown) => unknown\n ): T {\n const read: (arg: string | string[], fresh: boolean) => unknown =\n config.configurable?.[CONFIG_KEY_READ];\n if (!read) {\n throw new Error(\n \"Runnable is not configured with a read function. Make sure to call in the context of a Pregel process\"\n );\n }\n if (mapper) {\n return mapper(read(channel, fresh)) as T;\n } else {\n return read(channel, fresh) as T;\n }\n }\n}\n\nconst defaultRunnableBound =\n /* #__PURE__ */ new RunnablePassthrough<PregelNodeInputType>();\n\ninterface PregelNodeArgs<RunInput, RunOutput> extends Partial<\n RunnableBindingArgs<RunInput, RunOutput>\n> {\n channels: Record<string, string> | string[];\n triggers: Array<string>;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n mapper?: (args: any) => any;\n writers?: Runnable<RunOutput, unknown>[];\n tags?: string[];\n bound?: Runnable<RunInput, RunOutput>;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n kwargs?: Record<string, any>;\n config?: RunnableConfig;\n metadata?: Record<string, unknown>;\n retryPolicy?: RetryPolicy;\n cachePolicy?: CachePolicy;\n timeout?: TimeoutPolicy;\n tracePolicy?: TracePolicy;\n subgraphs?: Runnable[];\n ends?: string[];\n /** Whether this node is an auto-generated node-level error handler. */\n isErrorHandler?: boolean;\n /** Name of the error handler node to run if this node's execution fails. */\n errorHandlerNode?: string;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type PregelNodeInputType = any;\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type PregelNodeOutputType = any;\n\nexport class PregelNode<\n RunInput = PregelNodeInputType,\n RunOutput = PregelNodeOutputType,\n> extends RunnableBinding<RunInput, RunOutput, RunnableConfig> {\n lc_graph_name = \"PregelNode\";\n\n channels: Record<string, string> | string[];\n\n triggers: string[] = [];\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n mapper?: (args: any) => any;\n\n writers: Runnable[] = [];\n\n bound: Runnable<RunInput, RunOutput> = defaultRunnableBound;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n kwargs: Record<string, any> = {};\n\n metadata: Record<string, unknown> = {};\n\n tags: string[] = [];\n\n retryPolicy?: RetryPolicy;\n\n cachePolicy?: CachePolicy;\n\n timeout?: TimeoutPolicy;\n\n tracePolicy?: TracePolicy;\n\n subgraphs?: Runnable[];\n\n ends?: string[];\n\n isErrorHandler?: boolean;\n\n errorHandlerNode?: string;\n\n constructor(fields: PregelNodeArgs<RunInput, RunOutput>) {\n const {\n channels,\n triggers,\n mapper,\n writers,\n bound,\n kwargs,\n metadata,\n retryPolicy,\n cachePolicy,\n timeout,\n tracePolicy,\n tags,\n subgraphs,\n ends,\n isErrorHandler,\n errorHandlerNode,\n } = fields;\n const mergedTags = [\n ...(fields.config?.tags ? fields.config.tags : []),\n ...(tags ?? []),\n ];\n\n super({\n ...fields,\n bound:\n fields.bound ??\n (defaultRunnableBound as unknown as Runnable<RunInput, RunOutput>),\n config: {\n ...(fields.config ? fields.config : {}),\n tags: mergedTags,\n },\n });\n\n this.channels = channels;\n this.triggers = triggers;\n this.mapper = mapper;\n this.writers = writers ?? this.writers;\n this.bound = bound ?? this.bound;\n this.kwargs = kwargs ?? this.kwargs;\n this.metadata = metadata ?? this.metadata;\n this.tags = mergedTags;\n this.retryPolicy = retryPolicy;\n this.cachePolicy = cachePolicy;\n this.timeout = timeout;\n this.tracePolicy = tracePolicy;\n this.subgraphs = subgraphs;\n this.ends = ends;\n this.isErrorHandler = isErrorHandler;\n this.errorHandlerNode = errorHandlerNode;\n }\n\n getWriters(): Array<Runnable> {\n const newWriters = [...this.writers];\n while (\n newWriters.length > 1 &&\n // eslint-disable-next-line no-instanceof/no-instanceof\n newWriters[newWriters.length - 1] instanceof ChannelWrite &&\n // eslint-disable-next-line no-instanceof/no-instanceof\n newWriters[newWriters.length - 2] instanceof ChannelWrite\n ) {\n // we can combine writes if they are consecutive\n // careful to not modify the original writers list or ChannelWrite\n const endWriters = newWriters.slice(-2) as ChannelWrite[];\n const combinedWrites = endWriters[0].writes.concat(endWriters[1].writes);\n newWriters[newWriters.length - 2] = new ChannelWrite(\n combinedWrites,\n endWriters[0].config?.tags\n );\n newWriters.pop();\n }\n return newWriters;\n }\n\n getNode(): Runnable<RunInput, RunOutput> | undefined {\n const writers = this.getWriters();\n const sequence = (\n fields: ConstructorParameters<\n typeof RunnableSequence<RunInput, RunOutput>\n >[0]\n ) =>\n this.tracePolicy\n ? new RunnableSeq({ ...fields, tracePolicy: this.tracePolicy })\n : new RunnableSequence(fields);\n if (this.bound === defaultRunnableBound && writers.length === 0) {\n return undefined;\n } else if (this.bound === defaultRunnableBound && writers.length === 1) {\n return writers[0];\n } else if (this.bound === defaultRunnableBound) {\n return sequence({\n first: writers[0],\n middle: writers.slice(1, writers.length - 1),\n last: writers[writers.length - 1],\n omitSequenceTags: true,\n });\n } else if (writers.length > 0) {\n return sequence({\n first: this.bound,\n middle: writers.slice(0, writers.length - 1),\n last: writers[writers.length - 1],\n omitSequenceTags: true,\n });\n } else {\n return this.bound;\n }\n }\n\n join(channels: Array<string>): PregelNode<RunInput, RunOutput> {\n if (!Array.isArray(channels)) {\n throw new Error(\"channels must be a list\");\n }\n if (typeof this.channels !== \"object\") {\n throw new Error(\"all channels must be named when using .join()\");\n }\n\n return new PregelNode<RunInput, RunOutput>({\n channels: {\n ...this.channels,\n ...Object.fromEntries(channels.map((chan) => [chan, chan])),\n },\n triggers: this.triggers,\n mapper: this.mapper,\n writers: this.writers,\n bound: this.bound,\n kwargs: this.kwargs,\n config: this.config,\n retryPolicy: this.retryPolicy,\n cachePolicy: this.cachePolicy,\n timeout: this.timeout,\n tracePolicy: this.tracePolicy,\n });\n }\n\n pipe<NewRunOutput>(\n coerceable: RunnableLike\n ): PregelNode<RunInput, Exclude<NewRunOutput, Error>> {\n if (ChannelWrite.isWriter(coerceable)) {\n return new PregelNode<RunInput, Exclude<NewRunOutput, Error>>({\n channels: this.channels,\n triggers: this.triggers,\n mapper: this.mapper,\n writers: [...this.writers, coerceable],\n bound: this.bound as unknown as PregelNode<\n RunInput,\n Exclude<NewRunOutput, Error>\n >,\n config: this.config,\n kwargs: this.kwargs,\n retryPolicy: this.retryPolicy,\n cachePolicy: this.cachePolicy,\n timeout: this.timeout,\n tracePolicy: this.tracePolicy,\n });\n } else if (this.bound === defaultRunnableBound) {\n return new PregelNode<RunInput, Exclude<NewRunOutput, Error>>({\n channels: this.channels,\n triggers: this.triggers,\n mapper: this.mapper,\n writers: this.writers,\n bound: _coerceToRunnable<RunInput, NewRunOutput>(coerceable),\n config: this.config,\n kwargs: this.kwargs,\n retryPolicy: this.retryPolicy,\n cachePolicy: this.cachePolicy,\n timeout: this.timeout,\n tracePolicy: this.tracePolicy,\n });\n } else {\n return new PregelNode<RunInput, Exclude<NewRunOutput, Error>>({\n channels: this.channels,\n triggers: this.triggers,\n mapper: this.mapper,\n writers: this.writers,\n bound: this.bound.pipe(coerceable),\n config: this.config,\n kwargs: this.kwargs,\n retryPolicy: this.retryPolicy,\n cachePolicy: this.cachePolicy,\n timeout: this.timeout,\n tracePolicy: this.tracePolicy,\n });\n }\n }\n}\n"],"mappings":";;;;;;AAqBA,IAAa,cAAb,MAAa,oBAGHA,cAAAA,iBAAiB;CACzB,gBAAgB;CAEhB;CAEA,QAAiB;CAGjB;CAGA,YACE,SAEA,QACA,QAAiB,OACjB;AACA,QAAM;GACJ,OAAO;GACP,OAAO,GAAa,WAClB,YAAY,OAAO,QAAQ,KAAK,SAAS,KAAK,OAAO,KAAK,OAAO;GACpE,CAAC;AACF,OAAK,QAAQ;AACb,OAAK,SAAS;AACd,OAAK,UAAU;AACf,OAAK,OAAO,MAAM,QAAQ,QAAQ,GAC9B,eAAe,QAAQ,KAAK,IAAI,CAAC,KACjC,eAAe,QAAQ;;CAG7B,OAAO,OACL,QACA,SACA,OACA,QACG;EACH,MAAM,OACJ,OAAO,eAAeC,kBAAAA;AACxB,MAAI,CAAC,KACH,OAAM,IAAI,MACR,wGACD;AAEH,MAAI,OACF,QAAO,OAAO,KAAK,SAAS,MAAM,CAAC;MAEnC,QAAO,KAAK,SAAS,MAAM;;;AAKjC,MAAM,uCACY,IAAIC,0BAAAA,qBAA0C;AAkChE,IAAa,aAAb,MAAa,mBAGHC,0BAAAA,gBAAqD;CAC7D,gBAAgB;CAEhB;CAEA,WAAqB,EAAE;CAGvB;CAEA,UAAsB,EAAE;CAExB,QAAuC;CAGvC,SAA8B,EAAE;CAEhC,WAAoC,EAAE;CAEtC,OAAiB,EAAE;CAEnB;CAEA;CAEA;CAEA;CAEA;CAEA;CAEA;CAEA;CAEA,YAAY,QAA6C;EACvD,MAAM,EACJ,UACA,UACA,QACA,SACA,OACA,QACA,UACA,aACA,aACA,SACA,aACA,MACA,WACA,MACA,gBACA,qBACE;EACJ,MAAM,aAAa,CACjB,GAAI,OAAO,QAAQ,OAAO,OAAO,OAAO,OAAO,EAAE,EACjD,GAAI,QAAQ,EAAE,CACf;AAED,QAAM;GACJ,GAAG;GACH,OACE,OAAO,SACN;GACH,QAAQ;IACN,GAAI,OAAO,SAAS,OAAO,SAAS,EAAE;IACtC,MAAM;IACP;GACF,CAAC;AAEF,OAAK,WAAW;AAChB,OAAK,WAAW;AAChB,OAAK,SAAS;AACd,OAAK,UAAU,WAAW,KAAK;AAC/B,OAAK,QAAQ,SAAS,KAAK;AAC3B,OAAK,SAAS,UAAU,KAAK;AAC7B,OAAK,WAAW,YAAY,KAAK;AACjC,OAAK,OAAO;AACZ,OAAK,cAAc;AACnB,OAAK,cAAc;AACnB,OAAK,UAAU;AACf,OAAK,cAAc;AACnB,OAAK,YAAY;AACjB,OAAK,OAAO;AACZ,OAAK,iBAAiB;AACtB,OAAK,mBAAmB;;CAG1B,aAA8B;EAC5B,MAAM,aAAa,CAAC,GAAG,KAAK,QAAQ;AACpC,SACE,WAAW,SAAS,KAEpB,WAAW,WAAW,SAAS,cAAcC,cAAAA,gBAE7C,WAAW,WAAW,SAAS,cAAcA,cAAAA,cAC7C;GAGA,MAAM,aAAa,WAAW,MAAM,GAAG;GACvC,MAAM,iBAAiB,WAAW,GAAG,OAAO,OAAO,WAAW,GAAG,OAAO;AACxE,cAAW,WAAW,SAAS,KAAK,IAAIA,cAAAA,aACtC,gBACA,WAAW,GAAG,QAAQ,KACvB;AACD,cAAW,KAAK;;AAElB,SAAO;;CAGT,UAAqD;EACnD,MAAM,UAAU,KAAK,YAAY;EACjC,MAAM,YACJ,WAIA,KAAK,cACD,IAAIC,iBAAAA,YAAY;GAAE,GAAG;GAAQ,aAAa,KAAK;GAAa,CAAC,GAC7D,IAAIC,0BAAAA,iBAAiB,OAAO;AAClC,MAAI,KAAK,UAAU,wBAAwB,QAAQ,WAAW,EAC5D;WACS,KAAK,UAAU,wBAAwB,QAAQ,WAAW,EACnE,QAAO,QAAQ;WACN,KAAK,UAAU,qBACxB,QAAO,SAAS;GACd,OAAO,QAAQ;GACf,QAAQ,QAAQ,MAAM,GAAG,QAAQ,SAAS,EAAE;GAC5C,MAAM,QAAQ,QAAQ,SAAS;GAC/B,kBAAkB;GACnB,CAAC;WACO,QAAQ,SAAS,EAC1B,QAAO,SAAS;GACd,OAAO,KAAK;GACZ,QAAQ,QAAQ,MAAM,GAAG,QAAQ,SAAS,EAAE;GAC5C,MAAM,QAAQ,QAAQ,SAAS;GAC/B,kBAAkB;GACnB,CAAC;MAEF,QAAO,KAAK;;CAIhB,KAAK,UAA0D;AAC7D,MAAI,CAAC,MAAM,QAAQ,SAAS,CAC1B,OAAM,IAAI,MAAM,0BAA0B;AAE5C,MAAI,OAAO,KAAK,aAAa,SAC3B,OAAM,IAAI,MAAM,gDAAgD;AAGlE,SAAO,IAAI,WAAgC;GACzC,UAAU;IACR,GAAG,KAAK;IACR,GAAG,OAAO,YAAY,SAAS,KAAK,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC;IAC5D;GACD,UAAU,KAAK;GACf,QAAQ,KAAK;GACb,SAAS,KAAK;GACd,OAAO,KAAK;GACZ,QAAQ,KAAK;GACb,QAAQ,KAAK;GACb,aAAa,KAAK;GAClB,aAAa,KAAK;GAClB,SAAS,KAAK;GACd,aAAa,KAAK;GACnB,CAAC;;CAGJ,KACE,YACoD;AACpD,MAAIF,cAAAA,aAAa,SAAS,WAAW,CACnC,QAAO,IAAI,WAAmD;GAC5D,UAAU,KAAK;GACf,UAAU,KAAK;GACf,QAAQ,KAAK;GACb,SAAS,CAAC,GAAG,KAAK,SAAS,WAAW;GACtC,OAAO,KAAK;GAIZ,QAAQ,KAAK;GACb,QAAQ,KAAK;GACb,aAAa,KAAK;GAClB,aAAa,KAAK;GAClB,SAAS,KAAK;GACd,aAAa,KAAK;GACnB,CAAC;WACO,KAAK,UAAU,qBACxB,QAAO,IAAI,WAAmD;GAC5D,UAAU,KAAK;GACf,UAAU,KAAK;GACf,QAAQ,KAAK;GACb,SAAS,KAAK;GACd,QAAA,GAAA,0BAAA,mBAAiD,WAAW;GAC5D,QAAQ,KAAK;GACb,QAAQ,KAAK;GACb,aAAa,KAAK;GAClB,aAAa,KAAK;GAClB,SAAS,KAAK;GACd,aAAa,KAAK;GACnB,CAAC;MAEF,QAAO,IAAI,WAAmD;GAC5D,UAAU,KAAK;GACf,UAAU,KAAK;GACf,QAAQ,KAAK;GACb,SAAS,KAAK;GACd,OAAO,KAAK,MAAM,KAAK,WAAW;GAClC,QAAQ,KAAK;GACb,QAAQ,KAAK;GACb,aAAa,KAAK;GAClB,aAAa,KAAK;GAClB,SAAS,KAAK;GACd,aAAa,KAAK;GACnB,CAAC"}
|
|
1
|
+
{"version":3,"file":"read.cjs","names":["RunnableCallable","CONFIG_KEY_READ","RunnablePassthrough","RunnableBinding","ChannelWrite","RunnableSequence"],"sources":["../../src/pregel/read.ts"],"sourcesContent":["import {\n Runnable,\n RunnableBinding,\n RunnableBindingArgs,\n RunnableConfig,\n RunnablePassthrough,\n RunnableSequence,\n _coerceToRunnable,\n type RunnableLike,\n} from \"@langchain/core/runnables\";\nimport { CONFIG_KEY_READ } from \"../constants.js\";\nimport { ChannelWrite } from \"./write.js\";\nimport { RunnableCallable } from \"../utils.js\";\nimport type { CachePolicy, RetryPolicy, TimeoutPolicy } from \"./utils/index.js\";\n\nexport class ChannelRead<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n RunInput = any,\n> extends RunnableCallable {\n lc_graph_name = \"ChannelRead\";\n\n channel: string | Array<string>;\n\n fresh: boolean = false;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n mapper?: (args: any) => any;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n constructor(\n channel: string | Array<string>,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n mapper?: (args: any) => any,\n fresh: boolean = false\n ) {\n super({\n trace: false,\n func: (_: RunInput, config: RunnableConfig) =>\n ChannelRead.doRead(config, this.channel, this.fresh, this.mapper),\n });\n this.fresh = fresh;\n this.mapper = mapper;\n this.channel = channel;\n this.name = Array.isArray(channel)\n ? `ChannelRead<${channel.join(\",\")}>`\n : `ChannelRead<${channel}>`;\n }\n\n static doRead<T = unknown>(\n config: RunnableConfig,\n channel: string | Array<string>,\n fresh: boolean,\n mapper?: (args: unknown) => unknown\n ): T {\n const read: (arg: string | string[], fresh: boolean) => unknown =\n config.configurable?.[CONFIG_KEY_READ];\n if (!read) {\n throw new Error(\n \"Runnable is not configured with a read function. Make sure to call in the context of a Pregel process\"\n );\n }\n if (mapper) {\n return mapper(read(channel, fresh)) as T;\n } else {\n return read(channel, fresh) as T;\n }\n }\n}\n\nconst defaultRunnableBound =\n /* #__PURE__ */ new RunnablePassthrough<PregelNodeInputType>();\n\ninterface PregelNodeArgs<RunInput, RunOutput> extends Partial<\n RunnableBindingArgs<RunInput, RunOutput>\n> {\n channels: Record<string, string> | string[];\n triggers: Array<string>;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n mapper?: (args: any) => any;\n writers?: Runnable<RunOutput, unknown>[];\n tags?: string[];\n bound?: Runnable<RunInput, RunOutput>;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n kwargs?: Record<string, any>;\n config?: RunnableConfig;\n metadata?: Record<string, unknown>;\n retryPolicy?: RetryPolicy;\n cachePolicy?: CachePolicy;\n timeout?: TimeoutPolicy;\n subgraphs?: Runnable[];\n ends?: string[];\n /** Whether this node is an auto-generated node-level error handler. */\n isErrorHandler?: boolean;\n /** Name of the error handler node to run if this node's execution fails. */\n errorHandlerNode?: string;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type PregelNodeInputType = any;\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type PregelNodeOutputType = any;\n\nexport class PregelNode<\n RunInput = PregelNodeInputType,\n RunOutput = PregelNodeOutputType,\n> extends RunnableBinding<RunInput, RunOutput, RunnableConfig> {\n lc_graph_name = \"PregelNode\";\n\n channels: Record<string, string> | string[];\n\n triggers: string[] = [];\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n mapper?: (args: any) => any;\n\n writers: Runnable[] = [];\n\n bound: Runnable<RunInput, RunOutput> = defaultRunnableBound;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n kwargs: Record<string, any> = {};\n\n metadata: Record<string, unknown> = {};\n\n tags: string[] = [];\n\n retryPolicy?: RetryPolicy;\n\n cachePolicy?: CachePolicy;\n\n timeout?: TimeoutPolicy;\n\n subgraphs?: Runnable[];\n\n ends?: string[];\n\n isErrorHandler?: boolean;\n\n errorHandlerNode?: string;\n\n constructor(fields: PregelNodeArgs<RunInput, RunOutput>) {\n const {\n channels,\n triggers,\n mapper,\n writers,\n bound,\n kwargs,\n metadata,\n retryPolicy,\n cachePolicy,\n timeout,\n tags,\n subgraphs,\n ends,\n isErrorHandler,\n errorHandlerNode,\n } = fields;\n const mergedTags = [\n ...(fields.config?.tags ? fields.config.tags : []),\n ...(tags ?? []),\n ];\n\n super({\n ...fields,\n bound:\n fields.bound ??\n (defaultRunnableBound as unknown as Runnable<RunInput, RunOutput>),\n config: {\n ...(fields.config ? fields.config : {}),\n tags: mergedTags,\n },\n });\n\n this.channels = channels;\n this.triggers = triggers;\n this.mapper = mapper;\n this.writers = writers ?? this.writers;\n this.bound = bound ?? this.bound;\n this.kwargs = kwargs ?? this.kwargs;\n this.metadata = metadata ?? this.metadata;\n this.tags = mergedTags;\n this.retryPolicy = retryPolicy;\n this.cachePolicy = cachePolicy;\n this.timeout = timeout;\n this.subgraphs = subgraphs;\n this.ends = ends;\n this.isErrorHandler = isErrorHandler;\n this.errorHandlerNode = errorHandlerNode;\n }\n\n getWriters(): Array<Runnable> {\n const newWriters = [...this.writers];\n while (\n newWriters.length > 1 &&\n // eslint-disable-next-line no-instanceof/no-instanceof\n newWriters[newWriters.length - 1] instanceof ChannelWrite &&\n // eslint-disable-next-line no-instanceof/no-instanceof\n newWriters[newWriters.length - 2] instanceof ChannelWrite\n ) {\n // we can combine writes if they are consecutive\n // careful to not modify the original writers list or ChannelWrite\n const endWriters = newWriters.slice(-2) as ChannelWrite[];\n const combinedWrites = endWriters[0].writes.concat(endWriters[1].writes);\n newWriters[newWriters.length - 2] = new ChannelWrite(\n combinedWrites,\n endWriters[0].config?.tags\n );\n newWriters.pop();\n }\n return newWriters;\n }\n\n getNode(): Runnable<RunInput, RunOutput> | undefined {\n const writers = this.getWriters();\n if (this.bound === defaultRunnableBound && writers.length === 0) {\n return undefined;\n } else if (this.bound === defaultRunnableBound && writers.length === 1) {\n return writers[0];\n } else if (this.bound === defaultRunnableBound) {\n return new RunnableSequence({\n first: writers[0],\n middle: writers.slice(1, writers.length - 1),\n last: writers[writers.length - 1],\n omitSequenceTags: true,\n });\n } else if (writers.length > 0) {\n return new RunnableSequence({\n first: this.bound,\n middle: writers.slice(0, writers.length - 1),\n last: writers[writers.length - 1],\n omitSequenceTags: true,\n });\n } else {\n return this.bound;\n }\n }\n\n join(channels: Array<string>): PregelNode<RunInput, RunOutput> {\n if (!Array.isArray(channels)) {\n throw new Error(\"channels must be a list\");\n }\n if (typeof this.channels !== \"object\") {\n throw new Error(\"all channels must be named when using .join()\");\n }\n\n return new PregelNode<RunInput, RunOutput>({\n channels: {\n ...this.channels,\n ...Object.fromEntries(channels.map((chan) => [chan, chan])),\n },\n triggers: this.triggers,\n mapper: this.mapper,\n writers: this.writers,\n bound: this.bound,\n kwargs: this.kwargs,\n config: this.config,\n retryPolicy: this.retryPolicy,\n cachePolicy: this.cachePolicy,\n timeout: this.timeout,\n });\n }\n\n pipe<NewRunOutput>(\n coerceable: RunnableLike\n ): PregelNode<RunInput, Exclude<NewRunOutput, Error>> {\n if (ChannelWrite.isWriter(coerceable)) {\n return new PregelNode<RunInput, Exclude<NewRunOutput, Error>>({\n channels: this.channels,\n triggers: this.triggers,\n mapper: this.mapper,\n writers: [...this.writers, coerceable],\n bound: this.bound as unknown as PregelNode<\n RunInput,\n Exclude<NewRunOutput, Error>\n >,\n config: this.config,\n kwargs: this.kwargs,\n retryPolicy: this.retryPolicy,\n cachePolicy: this.cachePolicy,\n timeout: this.timeout,\n });\n } else if (this.bound === defaultRunnableBound) {\n return new PregelNode<RunInput, Exclude<NewRunOutput, Error>>({\n channels: this.channels,\n triggers: this.triggers,\n mapper: this.mapper,\n writers: this.writers,\n bound: _coerceToRunnable<RunInput, NewRunOutput>(coerceable),\n config: this.config,\n kwargs: this.kwargs,\n retryPolicy: this.retryPolicy,\n cachePolicy: this.cachePolicy,\n timeout: this.timeout,\n });\n } else {\n return new PregelNode<RunInput, Exclude<NewRunOutput, Error>>({\n channels: this.channels,\n triggers: this.triggers,\n mapper: this.mapper,\n writers: this.writers,\n bound: this.bound.pipe(coerceable),\n config: this.config,\n kwargs: this.kwargs,\n retryPolicy: this.retryPolicy,\n cachePolicy: this.cachePolicy,\n timeout: this.timeout,\n });\n }\n }\n}\n"],"mappings":"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"}
|
package/dist/pregel/read.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TimeoutPolicy } from "./utils/timeout.cjs";
|
|
2
|
-
import { CachePolicy, RetryPolicy
|
|
2
|
+
import { CachePolicy, RetryPolicy } from "./utils/index.cjs";
|
|
3
3
|
import { Runnable, RunnableBinding, RunnableBindingArgs, RunnableConfig, RunnableLike } from "@langchain/core/runnables";
|
|
4
4
|
|
|
5
5
|
//#region src/pregel/read.d.ts
|
|
@@ -16,7 +16,6 @@ interface PregelNodeArgs<RunInput, RunOutput> extends Partial<RunnableBindingArg
|
|
|
16
16
|
retryPolicy?: RetryPolicy;
|
|
17
17
|
cachePolicy?: CachePolicy;
|
|
18
18
|
timeout?: TimeoutPolicy;
|
|
19
|
-
tracePolicy?: TracePolicy;
|
|
20
19
|
subgraphs?: Runnable[];
|
|
21
20
|
ends?: string[];
|
|
22
21
|
/** Whether this node is an auto-generated node-level error handler. */
|
|
@@ -39,7 +38,6 @@ declare class PregelNode<RunInput = PregelNodeInputType, RunOutput = PregelNodeO
|
|
|
39
38
|
retryPolicy?: RetryPolicy;
|
|
40
39
|
cachePolicy?: CachePolicy;
|
|
41
40
|
timeout?: TimeoutPolicy;
|
|
42
|
-
tracePolicy?: TracePolicy;
|
|
43
41
|
subgraphs?: Runnable[];
|
|
44
42
|
ends?: string[];
|
|
45
43
|
isErrorHandler?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read.d.cts","names":[],"sources":["../../src/pregel/read.ts"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"read.d.cts","names":[],"sources":["../../src/pregel/read.ts"],"mappings":";;;;;UAwEU,cAAA,8BAA4C,OAAA,CACpD,mBAAA,CAAoB,QAAA,EAAU,SAAA;EAE9B,QAAA,EAAU,MAAA;EACV,QAAA,EAAU,KAAA;EAEV,MAAA,IAAU,IAAA;EACV,OAAA,GAAU,QAAA,CAAS,SAAA;EACnB,IAAA;EACA,KAAA,GAAQ,QAAA,CAAS,QAAA,EAAU,SAAA;EAE3B,MAAA,GAAS,MAAA;EACT,MAAA,GAAS,cAAA;EACT,QAAA,GAAW,MAAA;EACX,WAAA,GAAc,WAAA;EACd,WAAA,GAAc,WAAA;EACd,OAAA,GAAU,aAAA;EACV,SAAA,GAAY,QAAA;EACZ,IAAA;EAlB2D;EAoB3D,cAAA;EApBuB;EAsBvB,gBAAA;AAAA;AAAA,KAIU,mBAAA;AAAA,KAGA,oBAAA;AAAA,cAEC,UAAA,YACA,mBAAA,cACC,oBAAA,UACJ,eAAA,CAAgB,QAAA,EAAU,SAAA,EAAW,cAAA;EAC7C,aAAA;EAEA,QAAA,EAAU,MAAA;EAEV,QAAA;EAGA,MAAA,IAAU,IAAA;EAEV,OAAA,EAAS,QAAA;EAET,KAAA,EAAO,QAAA,CAAS,QAAA,EAAU,SAAA;EAG1B,MAAA,EAAQ,MAAA;EAER,QAAA,EAAU,MAAA;EAEV,IAAA;EAEA,WAAA,GAAc,WAAA;EAEd,WAAA,GAAc,WAAA;EAEd,OAAA,GAAU,aAAA;EAEV,SAAA,GAAY,QAAA;EAEZ,IAAA;EAEA,cAAA;EAEA,gBAAA;EAEA,WAAA,CAAY,MAAA,EAAQ,cAAA,CAAe,QAAA,EAAU,SAAA;EAmD7C,UAAA,CAAA,GAAc,KAAA,CAAM,QAAA;EAsBpB,OAAA,CAAA,GAAW,QAAA,CAAS,QAAA,EAAU,SAAA;EAyB9B,IAAA,CAAK,QAAA,EAAU,KAAA,WAAgB,UAAA,CAAW,QAAA,EAAU,SAAA;EAyBpD,IAAA,cAAA,CACE,UAAA,EAAY,YAAA,GACX,UAAA,CAAW,QAAA,EAAU,OAAA,CAAQ,YAAA,EAAc,KAAA;AAAA"}
|
package/dist/pregel/read.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TimeoutPolicy } from "./utils/timeout.js";
|
|
2
|
-
import { CachePolicy, RetryPolicy
|
|
2
|
+
import { CachePolicy, RetryPolicy } from "./utils/index.js";
|
|
3
3
|
import { Runnable, RunnableBinding, RunnableBindingArgs, RunnableConfig, RunnableLike } from "@langchain/core/runnables";
|
|
4
4
|
|
|
5
5
|
//#region src/pregel/read.d.ts
|
|
@@ -16,7 +16,6 @@ interface PregelNodeArgs<RunInput, RunOutput> extends Partial<RunnableBindingArg
|
|
|
16
16
|
retryPolicy?: RetryPolicy;
|
|
17
17
|
cachePolicy?: CachePolicy;
|
|
18
18
|
timeout?: TimeoutPolicy;
|
|
19
|
-
tracePolicy?: TracePolicy;
|
|
20
19
|
subgraphs?: Runnable[];
|
|
21
20
|
ends?: string[];
|
|
22
21
|
/** Whether this node is an auto-generated node-level error handler. */
|
|
@@ -39,7 +38,6 @@ declare class PregelNode<RunInput = PregelNodeInputType, RunOutput = PregelNodeO
|
|
|
39
38
|
retryPolicy?: RetryPolicy;
|
|
40
39
|
cachePolicy?: CachePolicy;
|
|
41
40
|
timeout?: TimeoutPolicy;
|
|
42
|
-
tracePolicy?: TracePolicy;
|
|
43
41
|
subgraphs?: Runnable[];
|
|
44
42
|
ends?: string[];
|
|
45
43
|
isErrorHandler?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read.d.ts","names":[],"sources":["../../src/pregel/read.ts"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"read.d.ts","names":[],"sources":["../../src/pregel/read.ts"],"mappings":";;;;;UAwEU,cAAA,8BAA4C,OAAA,CACpD,mBAAA,CAAoB,QAAA,EAAU,SAAA;EAE9B,QAAA,EAAU,MAAA;EACV,QAAA,EAAU,KAAA;EAEV,MAAA,IAAU,IAAA;EACV,OAAA,GAAU,QAAA,CAAS,SAAA;EACnB,IAAA;EACA,KAAA,GAAQ,QAAA,CAAS,QAAA,EAAU,SAAA;EAE3B,MAAA,GAAS,MAAA;EACT,MAAA,GAAS,cAAA;EACT,QAAA,GAAW,MAAA;EACX,WAAA,GAAc,WAAA;EACd,WAAA,GAAc,WAAA;EACd,OAAA,GAAU,aAAA;EACV,SAAA,GAAY,QAAA;EACZ,IAAA;EAlBoD;EAoBpD,cAAA;EApB2D;EAsB3D,gBAAA;AAAA;AAAA,KAIU,mBAAA;AAAA,KAGA,oBAAA;AAAA,cAEC,UAAA,YACA,mBAAA,cACC,oBAAA,UACJ,eAAA,CAAgB,QAAA,EAAU,SAAA,EAAW,cAAA;EAC7C,aAAA;EAEA,QAAA,EAAU,MAAA;EAEV,QAAA;EAGA,MAAA,IAAU,IAAA;EAEV,OAAA,EAAS,QAAA;EAET,KAAA,EAAO,QAAA,CAAS,QAAA,EAAU,SAAA;EAG1B,MAAA,EAAQ,MAAA;EAER,QAAA,EAAU,MAAA;EAEV,IAAA;EAEA,WAAA,GAAc,WAAA;EAEd,WAAA,GAAc,WAAA;EAEd,OAAA,GAAU,aAAA;EAEV,SAAA,GAAY,QAAA;EAEZ,IAAA;EAEA,cAAA;EAEA,gBAAA;EAEA,WAAA,CAAY,MAAA,EAAQ,cAAA,CAAe,QAAA,EAAU,SAAA;EAmD7C,UAAA,CAAA,GAAc,KAAA,CAAM,QAAA;EAsBpB,OAAA,CAAA,GAAW,QAAA,CAAS,QAAA,EAAU,SAAA;EAyB9B,IAAA,CAAK,QAAA,EAAU,KAAA,WAAgB,UAAA,CAAW,QAAA,EAAU,SAAA;EAyBpD,IAAA,cAAA,CACE,UAAA,EAAY,YAAA,GACX,UAAA,CAAW,QAAA,EAAU,OAAA,CAAQ,YAAA,EAAc,KAAA;AAAA"}
|
package/dist/pregel/read.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { CONFIG_KEY_READ } from "../constants.js";
|
|
2
2
|
import { RunnableCallable } from "../utils.js";
|
|
3
3
|
import { ChannelWrite } from "./write.js";
|
|
4
|
-
import { RunnableSeq } from "./runnable.js";
|
|
5
4
|
import { RunnableBinding, RunnablePassthrough, RunnableSequence, _coerceToRunnable } from "@langchain/core/runnables";
|
|
6
5
|
//#region src/pregel/read.ts
|
|
7
6
|
var ChannelRead = class ChannelRead extends RunnableCallable {
|
|
@@ -40,13 +39,12 @@ var PregelNode = class PregelNode extends RunnableBinding {
|
|
|
40
39
|
retryPolicy;
|
|
41
40
|
cachePolicy;
|
|
42
41
|
timeout;
|
|
43
|
-
tracePolicy;
|
|
44
42
|
subgraphs;
|
|
45
43
|
ends;
|
|
46
44
|
isErrorHandler;
|
|
47
45
|
errorHandlerNode;
|
|
48
46
|
constructor(fields) {
|
|
49
|
-
const { channels, triggers, mapper, writers, bound, kwargs, metadata, retryPolicy, cachePolicy, timeout,
|
|
47
|
+
const { channels, triggers, mapper, writers, bound, kwargs, metadata, retryPolicy, cachePolicy, timeout, tags, subgraphs, ends, isErrorHandler, errorHandlerNode } = fields;
|
|
50
48
|
const mergedTags = [...fields.config?.tags ? fields.config.tags : [], ...tags ?? []];
|
|
51
49
|
super({
|
|
52
50
|
...fields,
|
|
@@ -67,7 +65,6 @@ var PregelNode = class PregelNode extends RunnableBinding {
|
|
|
67
65
|
this.retryPolicy = retryPolicy;
|
|
68
66
|
this.cachePolicy = cachePolicy;
|
|
69
67
|
this.timeout = timeout;
|
|
70
|
-
this.tracePolicy = tracePolicy;
|
|
71
68
|
this.subgraphs = subgraphs;
|
|
72
69
|
this.ends = ends;
|
|
73
70
|
this.isErrorHandler = isErrorHandler;
|
|
@@ -85,19 +82,15 @@ var PregelNode = class PregelNode extends RunnableBinding {
|
|
|
85
82
|
}
|
|
86
83
|
getNode() {
|
|
87
84
|
const writers = this.getWriters();
|
|
88
|
-
const sequence = (fields) => this.tracePolicy ? new RunnableSeq({
|
|
89
|
-
...fields,
|
|
90
|
-
tracePolicy: this.tracePolicy
|
|
91
|
-
}) : new RunnableSequence(fields);
|
|
92
85
|
if (this.bound === defaultRunnableBound && writers.length === 0) return;
|
|
93
86
|
else if (this.bound === defaultRunnableBound && writers.length === 1) return writers[0];
|
|
94
|
-
else if (this.bound === defaultRunnableBound) return
|
|
87
|
+
else if (this.bound === defaultRunnableBound) return new RunnableSequence({
|
|
95
88
|
first: writers[0],
|
|
96
89
|
middle: writers.slice(1, writers.length - 1),
|
|
97
90
|
last: writers[writers.length - 1],
|
|
98
91
|
omitSequenceTags: true
|
|
99
92
|
});
|
|
100
|
-
else if (writers.length > 0) return
|
|
93
|
+
else if (writers.length > 0) return new RunnableSequence({
|
|
101
94
|
first: this.bound,
|
|
102
95
|
middle: writers.slice(0, writers.length - 1),
|
|
103
96
|
last: writers[writers.length - 1],
|
|
@@ -121,8 +114,7 @@ var PregelNode = class PregelNode extends RunnableBinding {
|
|
|
121
114
|
config: this.config,
|
|
122
115
|
retryPolicy: this.retryPolicy,
|
|
123
116
|
cachePolicy: this.cachePolicy,
|
|
124
|
-
timeout: this.timeout
|
|
125
|
-
tracePolicy: this.tracePolicy
|
|
117
|
+
timeout: this.timeout
|
|
126
118
|
});
|
|
127
119
|
}
|
|
128
120
|
pipe(coerceable) {
|
|
@@ -136,8 +128,7 @@ var PregelNode = class PregelNode extends RunnableBinding {
|
|
|
136
128
|
kwargs: this.kwargs,
|
|
137
129
|
retryPolicy: this.retryPolicy,
|
|
138
130
|
cachePolicy: this.cachePolicy,
|
|
139
|
-
timeout: this.timeout
|
|
140
|
-
tracePolicy: this.tracePolicy
|
|
131
|
+
timeout: this.timeout
|
|
141
132
|
});
|
|
142
133
|
else if (this.bound === defaultRunnableBound) return new PregelNode({
|
|
143
134
|
channels: this.channels,
|
|
@@ -149,8 +140,7 @@ var PregelNode = class PregelNode extends RunnableBinding {
|
|
|
149
140
|
kwargs: this.kwargs,
|
|
150
141
|
retryPolicy: this.retryPolicy,
|
|
151
142
|
cachePolicy: this.cachePolicy,
|
|
152
|
-
timeout: this.timeout
|
|
153
|
-
tracePolicy: this.tracePolicy
|
|
143
|
+
timeout: this.timeout
|
|
154
144
|
});
|
|
155
145
|
else return new PregelNode({
|
|
156
146
|
channels: this.channels,
|
|
@@ -162,8 +152,7 @@ var PregelNode = class PregelNode extends RunnableBinding {
|
|
|
162
152
|
kwargs: this.kwargs,
|
|
163
153
|
retryPolicy: this.retryPolicy,
|
|
164
154
|
cachePolicy: this.cachePolicy,
|
|
165
|
-
timeout: this.timeout
|
|
166
|
-
tracePolicy: this.tracePolicy
|
|
155
|
+
timeout: this.timeout
|
|
167
156
|
});
|
|
168
157
|
}
|
|
169
158
|
};
|
package/dist/pregel/read.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read.js","names":[],"sources":["../../src/pregel/read.ts"],"sourcesContent":["import {\n Runnable,\n RunnableBinding,\n RunnableBindingArgs,\n RunnableConfig,\n RunnablePassthrough,\n RunnableSequence,\n _coerceToRunnable,\n type RunnableLike,\n} from \"@langchain/core/runnables\";\nimport { CONFIG_KEY_READ } from \"../constants.js\";\nimport { ChannelWrite } from \"./write.js\";\nimport { RunnableCallable } from \"../utils.js\";\nimport type {\n CachePolicy,\n RetryPolicy,\n TimeoutPolicy,\n TracePolicy,\n} from \"./utils/index.js\";\nimport { RunnableSeq } from \"./runnable.js\";\n\nexport class ChannelRead<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n RunInput = any,\n> extends RunnableCallable {\n lc_graph_name = \"ChannelRead\";\n\n channel: string | Array<string>;\n\n fresh: boolean = false;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n mapper?: (args: any) => any;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n constructor(\n channel: string | Array<string>,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n mapper?: (args: any) => any,\n fresh: boolean = false\n ) {\n super({\n trace: false,\n func: (_: RunInput, config: RunnableConfig) =>\n ChannelRead.doRead(config, this.channel, this.fresh, this.mapper),\n });\n this.fresh = fresh;\n this.mapper = mapper;\n this.channel = channel;\n this.name = Array.isArray(channel)\n ? `ChannelRead<${channel.join(\",\")}>`\n : `ChannelRead<${channel}>`;\n }\n\n static doRead<T = unknown>(\n config: RunnableConfig,\n channel: string | Array<string>,\n fresh: boolean,\n mapper?: (args: unknown) => unknown\n ): T {\n const read: (arg: string | string[], fresh: boolean) => unknown =\n config.configurable?.[CONFIG_KEY_READ];\n if (!read) {\n throw new Error(\n \"Runnable is not configured with a read function. Make sure to call in the context of a Pregel process\"\n );\n }\n if (mapper) {\n return mapper(read(channel, fresh)) as T;\n } else {\n return read(channel, fresh) as T;\n }\n }\n}\n\nconst defaultRunnableBound =\n /* #__PURE__ */ new RunnablePassthrough<PregelNodeInputType>();\n\ninterface PregelNodeArgs<RunInput, RunOutput> extends Partial<\n RunnableBindingArgs<RunInput, RunOutput>\n> {\n channels: Record<string, string> | string[];\n triggers: Array<string>;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n mapper?: (args: any) => any;\n writers?: Runnable<RunOutput, unknown>[];\n tags?: string[];\n bound?: Runnable<RunInput, RunOutput>;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n kwargs?: Record<string, any>;\n config?: RunnableConfig;\n metadata?: Record<string, unknown>;\n retryPolicy?: RetryPolicy;\n cachePolicy?: CachePolicy;\n timeout?: TimeoutPolicy;\n tracePolicy?: TracePolicy;\n subgraphs?: Runnable[];\n ends?: string[];\n /** Whether this node is an auto-generated node-level error handler. */\n isErrorHandler?: boolean;\n /** Name of the error handler node to run if this node's execution fails. */\n errorHandlerNode?: string;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type PregelNodeInputType = any;\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type PregelNodeOutputType = any;\n\nexport class PregelNode<\n RunInput = PregelNodeInputType,\n RunOutput = PregelNodeOutputType,\n> extends RunnableBinding<RunInput, RunOutput, RunnableConfig> {\n lc_graph_name = \"PregelNode\";\n\n channels: Record<string, string> | string[];\n\n triggers: string[] = [];\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n mapper?: (args: any) => any;\n\n writers: Runnable[] = [];\n\n bound: Runnable<RunInput, RunOutput> = defaultRunnableBound;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n kwargs: Record<string, any> = {};\n\n metadata: Record<string, unknown> = {};\n\n tags: string[] = [];\n\n retryPolicy?: RetryPolicy;\n\n cachePolicy?: CachePolicy;\n\n timeout?: TimeoutPolicy;\n\n tracePolicy?: TracePolicy;\n\n subgraphs?: Runnable[];\n\n ends?: string[];\n\n isErrorHandler?: boolean;\n\n errorHandlerNode?: string;\n\n constructor(fields: PregelNodeArgs<RunInput, RunOutput>) {\n const {\n channels,\n triggers,\n mapper,\n writers,\n bound,\n kwargs,\n metadata,\n retryPolicy,\n cachePolicy,\n timeout,\n tracePolicy,\n tags,\n subgraphs,\n ends,\n isErrorHandler,\n errorHandlerNode,\n } = fields;\n const mergedTags = [\n ...(fields.config?.tags ? fields.config.tags : []),\n ...(tags ?? []),\n ];\n\n super({\n ...fields,\n bound:\n fields.bound ??\n (defaultRunnableBound as unknown as Runnable<RunInput, RunOutput>),\n config: {\n ...(fields.config ? fields.config : {}),\n tags: mergedTags,\n },\n });\n\n this.channels = channels;\n this.triggers = triggers;\n this.mapper = mapper;\n this.writers = writers ?? this.writers;\n this.bound = bound ?? this.bound;\n this.kwargs = kwargs ?? this.kwargs;\n this.metadata = metadata ?? this.metadata;\n this.tags = mergedTags;\n this.retryPolicy = retryPolicy;\n this.cachePolicy = cachePolicy;\n this.timeout = timeout;\n this.tracePolicy = tracePolicy;\n this.subgraphs = subgraphs;\n this.ends = ends;\n this.isErrorHandler = isErrorHandler;\n this.errorHandlerNode = errorHandlerNode;\n }\n\n getWriters(): Array<Runnable> {\n const newWriters = [...this.writers];\n while (\n newWriters.length > 1 &&\n // eslint-disable-next-line no-instanceof/no-instanceof\n newWriters[newWriters.length - 1] instanceof ChannelWrite &&\n // eslint-disable-next-line no-instanceof/no-instanceof\n newWriters[newWriters.length - 2] instanceof ChannelWrite\n ) {\n // we can combine writes if they are consecutive\n // careful to not modify the original writers list or ChannelWrite\n const endWriters = newWriters.slice(-2) as ChannelWrite[];\n const combinedWrites = endWriters[0].writes.concat(endWriters[1].writes);\n newWriters[newWriters.length - 2] = new ChannelWrite(\n combinedWrites,\n endWriters[0].config?.tags\n );\n newWriters.pop();\n }\n return newWriters;\n }\n\n getNode(): Runnable<RunInput, RunOutput> | undefined {\n const writers = this.getWriters();\n const sequence = (\n fields: ConstructorParameters<\n typeof RunnableSequence<RunInput, RunOutput>\n >[0]\n ) =>\n this.tracePolicy\n ? new RunnableSeq({ ...fields, tracePolicy: this.tracePolicy })\n : new RunnableSequence(fields);\n if (this.bound === defaultRunnableBound && writers.length === 0) {\n return undefined;\n } else if (this.bound === defaultRunnableBound && writers.length === 1) {\n return writers[0];\n } else if (this.bound === defaultRunnableBound) {\n return sequence({\n first: writers[0],\n middle: writers.slice(1, writers.length - 1),\n last: writers[writers.length - 1],\n omitSequenceTags: true,\n });\n } else if (writers.length > 0) {\n return sequence({\n first: this.bound,\n middle: writers.slice(0, writers.length - 1),\n last: writers[writers.length - 1],\n omitSequenceTags: true,\n });\n } else {\n return this.bound;\n }\n }\n\n join(channels: Array<string>): PregelNode<RunInput, RunOutput> {\n if (!Array.isArray(channels)) {\n throw new Error(\"channels must be a list\");\n }\n if (typeof this.channels !== \"object\") {\n throw new Error(\"all channels must be named when using .join()\");\n }\n\n return new PregelNode<RunInput, RunOutput>({\n channels: {\n ...this.channels,\n ...Object.fromEntries(channels.map((chan) => [chan, chan])),\n },\n triggers: this.triggers,\n mapper: this.mapper,\n writers: this.writers,\n bound: this.bound,\n kwargs: this.kwargs,\n config: this.config,\n retryPolicy: this.retryPolicy,\n cachePolicy: this.cachePolicy,\n timeout: this.timeout,\n tracePolicy: this.tracePolicy,\n });\n }\n\n pipe<NewRunOutput>(\n coerceable: RunnableLike\n ): PregelNode<RunInput, Exclude<NewRunOutput, Error>> {\n if (ChannelWrite.isWriter(coerceable)) {\n return new PregelNode<RunInput, Exclude<NewRunOutput, Error>>({\n channels: this.channels,\n triggers: this.triggers,\n mapper: this.mapper,\n writers: [...this.writers, coerceable],\n bound: this.bound as unknown as PregelNode<\n RunInput,\n Exclude<NewRunOutput, Error>\n >,\n config: this.config,\n kwargs: this.kwargs,\n retryPolicy: this.retryPolicy,\n cachePolicy: this.cachePolicy,\n timeout: this.timeout,\n tracePolicy: this.tracePolicy,\n });\n } else if (this.bound === defaultRunnableBound) {\n return new PregelNode<RunInput, Exclude<NewRunOutput, Error>>({\n channels: this.channels,\n triggers: this.triggers,\n mapper: this.mapper,\n writers: this.writers,\n bound: _coerceToRunnable<RunInput, NewRunOutput>(coerceable),\n config: this.config,\n kwargs: this.kwargs,\n retryPolicy: this.retryPolicy,\n cachePolicy: this.cachePolicy,\n timeout: this.timeout,\n tracePolicy: this.tracePolicy,\n });\n } else {\n return new PregelNode<RunInput, Exclude<NewRunOutput, Error>>({\n channels: this.channels,\n triggers: this.triggers,\n mapper: this.mapper,\n writers: this.writers,\n bound: this.bound.pipe(coerceable),\n config: this.config,\n kwargs: this.kwargs,\n retryPolicy: this.retryPolicy,\n cachePolicy: this.cachePolicy,\n timeout: this.timeout,\n tracePolicy: this.tracePolicy,\n });\n }\n }\n}\n"],"mappings":";;;;;;AAqBA,IAAa,cAAb,MAAa,oBAGH,iBAAiB;CACzB,gBAAgB;CAEhB;CAEA,QAAiB;CAGjB;CAGA,YACE,SAEA,QACA,QAAiB,OACjB;AACA,QAAM;GACJ,OAAO;GACP,OAAO,GAAa,WAClB,YAAY,OAAO,QAAQ,KAAK,SAAS,KAAK,OAAO,KAAK,OAAO;GACpE,CAAC;AACF,OAAK,QAAQ;AACb,OAAK,SAAS;AACd,OAAK,UAAU;AACf,OAAK,OAAO,MAAM,QAAQ,QAAQ,GAC9B,eAAe,QAAQ,KAAK,IAAI,CAAC,KACjC,eAAe,QAAQ;;CAG7B,OAAO,OACL,QACA,SACA,OACA,QACG;EACH,MAAM,OACJ,OAAO,eAAe;AACxB,MAAI,CAAC,KACH,OAAM,IAAI,MACR,wGACD;AAEH,MAAI,OACF,QAAO,OAAO,KAAK,SAAS,MAAM,CAAC;MAEnC,QAAO,KAAK,SAAS,MAAM;;;AAKjC,MAAM,uCACY,IAAI,qBAA0C;AAkChE,IAAa,aAAb,MAAa,mBAGH,gBAAqD;CAC7D,gBAAgB;CAEhB;CAEA,WAAqB,EAAE;CAGvB;CAEA,UAAsB,EAAE;CAExB,QAAuC;CAGvC,SAA8B,EAAE;CAEhC,WAAoC,EAAE;CAEtC,OAAiB,EAAE;CAEnB;CAEA;CAEA;CAEA;CAEA;CAEA;CAEA;CAEA;CAEA,YAAY,QAA6C;EACvD,MAAM,EACJ,UACA,UACA,QACA,SACA,OACA,QACA,UACA,aACA,aACA,SACA,aACA,MACA,WACA,MACA,gBACA,qBACE;EACJ,MAAM,aAAa,CACjB,GAAI,OAAO,QAAQ,OAAO,OAAO,OAAO,OAAO,EAAE,EACjD,GAAI,QAAQ,EAAE,CACf;AAED,QAAM;GACJ,GAAG;GACH,OACE,OAAO,SACN;GACH,QAAQ;IACN,GAAI,OAAO,SAAS,OAAO,SAAS,EAAE;IACtC,MAAM;IACP;GACF,CAAC;AAEF,OAAK,WAAW;AAChB,OAAK,WAAW;AAChB,OAAK,SAAS;AACd,OAAK,UAAU,WAAW,KAAK;AAC/B,OAAK,QAAQ,SAAS,KAAK;AAC3B,OAAK,SAAS,UAAU,KAAK;AAC7B,OAAK,WAAW,YAAY,KAAK;AACjC,OAAK,OAAO;AACZ,OAAK,cAAc;AACnB,OAAK,cAAc;AACnB,OAAK,UAAU;AACf,OAAK,cAAc;AACnB,OAAK,YAAY;AACjB,OAAK,OAAO;AACZ,OAAK,iBAAiB;AACtB,OAAK,mBAAmB;;CAG1B,aAA8B;EAC5B,MAAM,aAAa,CAAC,GAAG,KAAK,QAAQ;AACpC,SACE,WAAW,SAAS,KAEpB,WAAW,WAAW,SAAS,cAAc,gBAE7C,WAAW,WAAW,SAAS,cAAc,cAC7C;GAGA,MAAM,aAAa,WAAW,MAAM,GAAG;GACvC,MAAM,iBAAiB,WAAW,GAAG,OAAO,OAAO,WAAW,GAAG,OAAO;AACxE,cAAW,WAAW,SAAS,KAAK,IAAI,aACtC,gBACA,WAAW,GAAG,QAAQ,KACvB;AACD,cAAW,KAAK;;AAElB,SAAO;;CAGT,UAAqD;EACnD,MAAM,UAAU,KAAK,YAAY;EACjC,MAAM,YACJ,WAIA,KAAK,cACD,IAAI,YAAY;GAAE,GAAG;GAAQ,aAAa,KAAK;GAAa,CAAC,GAC7D,IAAI,iBAAiB,OAAO;AAClC,MAAI,KAAK,UAAU,wBAAwB,QAAQ,WAAW,EAC5D;WACS,KAAK,UAAU,wBAAwB,QAAQ,WAAW,EACnE,QAAO,QAAQ;WACN,KAAK,UAAU,qBACxB,QAAO,SAAS;GACd,OAAO,QAAQ;GACf,QAAQ,QAAQ,MAAM,GAAG,QAAQ,SAAS,EAAE;GAC5C,MAAM,QAAQ,QAAQ,SAAS;GAC/B,kBAAkB;GACnB,CAAC;WACO,QAAQ,SAAS,EAC1B,QAAO,SAAS;GACd,OAAO,KAAK;GACZ,QAAQ,QAAQ,MAAM,GAAG,QAAQ,SAAS,EAAE;GAC5C,MAAM,QAAQ,QAAQ,SAAS;GAC/B,kBAAkB;GACnB,CAAC;MAEF,QAAO,KAAK;;CAIhB,KAAK,UAA0D;AAC7D,MAAI,CAAC,MAAM,QAAQ,SAAS,CAC1B,OAAM,IAAI,MAAM,0BAA0B;AAE5C,MAAI,OAAO,KAAK,aAAa,SAC3B,OAAM,IAAI,MAAM,gDAAgD;AAGlE,SAAO,IAAI,WAAgC;GACzC,UAAU;IACR,GAAG,KAAK;IACR,GAAG,OAAO,YAAY,SAAS,KAAK,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC;IAC5D;GACD,UAAU,KAAK;GACf,QAAQ,KAAK;GACb,SAAS,KAAK;GACd,OAAO,KAAK;GACZ,QAAQ,KAAK;GACb,QAAQ,KAAK;GACb,aAAa,KAAK;GAClB,aAAa,KAAK;GAClB,SAAS,KAAK;GACd,aAAa,KAAK;GACnB,CAAC;;CAGJ,KACE,YACoD;AACpD,MAAI,aAAa,SAAS,WAAW,CACnC,QAAO,IAAI,WAAmD;GAC5D,UAAU,KAAK;GACf,UAAU,KAAK;GACf,QAAQ,KAAK;GACb,SAAS,CAAC,GAAG,KAAK,SAAS,WAAW;GACtC,OAAO,KAAK;GAIZ,QAAQ,KAAK;GACb,QAAQ,KAAK;GACb,aAAa,KAAK;GAClB,aAAa,KAAK;GAClB,SAAS,KAAK;GACd,aAAa,KAAK;GACnB,CAAC;WACO,KAAK,UAAU,qBACxB,QAAO,IAAI,WAAmD;GAC5D,UAAU,KAAK;GACf,UAAU,KAAK;GACf,QAAQ,KAAK;GACb,SAAS,KAAK;GACd,OAAO,kBAA0C,WAAW;GAC5D,QAAQ,KAAK;GACb,QAAQ,KAAK;GACb,aAAa,KAAK;GAClB,aAAa,KAAK;GAClB,SAAS,KAAK;GACd,aAAa,KAAK;GACnB,CAAC;MAEF,QAAO,IAAI,WAAmD;GAC5D,UAAU,KAAK;GACf,UAAU,KAAK;GACf,QAAQ,KAAK;GACb,SAAS,KAAK;GACd,OAAO,KAAK,MAAM,KAAK,WAAW;GAClC,QAAQ,KAAK;GACb,QAAQ,KAAK;GACb,aAAa,KAAK;GAClB,aAAa,KAAK;GAClB,SAAS,KAAK;GACd,aAAa,KAAK;GACnB,CAAC"}
|
|
1
|
+
{"version":3,"file":"read.js","names":[],"sources":["../../src/pregel/read.ts"],"sourcesContent":["import {\n Runnable,\n RunnableBinding,\n RunnableBindingArgs,\n RunnableConfig,\n RunnablePassthrough,\n RunnableSequence,\n _coerceToRunnable,\n type RunnableLike,\n} from \"@langchain/core/runnables\";\nimport { CONFIG_KEY_READ } from \"../constants.js\";\nimport { ChannelWrite } from \"./write.js\";\nimport { RunnableCallable } from \"../utils.js\";\nimport type { CachePolicy, RetryPolicy, TimeoutPolicy } from \"./utils/index.js\";\n\nexport class ChannelRead<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n RunInput = any,\n> extends RunnableCallable {\n lc_graph_name = \"ChannelRead\";\n\n channel: string | Array<string>;\n\n fresh: boolean = false;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n mapper?: (args: any) => any;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n constructor(\n channel: string | Array<string>,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n mapper?: (args: any) => any,\n fresh: boolean = false\n ) {\n super({\n trace: false,\n func: (_: RunInput, config: RunnableConfig) =>\n ChannelRead.doRead(config, this.channel, this.fresh, this.mapper),\n });\n this.fresh = fresh;\n this.mapper = mapper;\n this.channel = channel;\n this.name = Array.isArray(channel)\n ? `ChannelRead<${channel.join(\",\")}>`\n : `ChannelRead<${channel}>`;\n }\n\n static doRead<T = unknown>(\n config: RunnableConfig,\n channel: string | Array<string>,\n fresh: boolean,\n mapper?: (args: unknown) => unknown\n ): T {\n const read: (arg: string | string[], fresh: boolean) => unknown =\n config.configurable?.[CONFIG_KEY_READ];\n if (!read) {\n throw new Error(\n \"Runnable is not configured with a read function. Make sure to call in the context of a Pregel process\"\n );\n }\n if (mapper) {\n return mapper(read(channel, fresh)) as T;\n } else {\n return read(channel, fresh) as T;\n }\n }\n}\n\nconst defaultRunnableBound =\n /* #__PURE__ */ new RunnablePassthrough<PregelNodeInputType>();\n\ninterface PregelNodeArgs<RunInput, RunOutput> extends Partial<\n RunnableBindingArgs<RunInput, RunOutput>\n> {\n channels: Record<string, string> | string[];\n triggers: Array<string>;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n mapper?: (args: any) => any;\n writers?: Runnable<RunOutput, unknown>[];\n tags?: string[];\n bound?: Runnable<RunInput, RunOutput>;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n kwargs?: Record<string, any>;\n config?: RunnableConfig;\n metadata?: Record<string, unknown>;\n retryPolicy?: RetryPolicy;\n cachePolicy?: CachePolicy;\n timeout?: TimeoutPolicy;\n subgraphs?: Runnable[];\n ends?: string[];\n /** Whether this node is an auto-generated node-level error handler. */\n isErrorHandler?: boolean;\n /** Name of the error handler node to run if this node's execution fails. */\n errorHandlerNode?: string;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type PregelNodeInputType = any;\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type PregelNodeOutputType = any;\n\nexport class PregelNode<\n RunInput = PregelNodeInputType,\n RunOutput = PregelNodeOutputType,\n> extends RunnableBinding<RunInput, RunOutput, RunnableConfig> {\n lc_graph_name = \"PregelNode\";\n\n channels: Record<string, string> | string[];\n\n triggers: string[] = [];\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n mapper?: (args: any) => any;\n\n writers: Runnable[] = [];\n\n bound: Runnable<RunInput, RunOutput> = defaultRunnableBound;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n kwargs: Record<string, any> = {};\n\n metadata: Record<string, unknown> = {};\n\n tags: string[] = [];\n\n retryPolicy?: RetryPolicy;\n\n cachePolicy?: CachePolicy;\n\n timeout?: TimeoutPolicy;\n\n subgraphs?: Runnable[];\n\n ends?: string[];\n\n isErrorHandler?: boolean;\n\n errorHandlerNode?: string;\n\n constructor(fields: PregelNodeArgs<RunInput, RunOutput>) {\n const {\n channels,\n triggers,\n mapper,\n writers,\n bound,\n kwargs,\n metadata,\n retryPolicy,\n cachePolicy,\n timeout,\n tags,\n subgraphs,\n ends,\n isErrorHandler,\n errorHandlerNode,\n } = fields;\n const mergedTags = [\n ...(fields.config?.tags ? fields.config.tags : []),\n ...(tags ?? []),\n ];\n\n super({\n ...fields,\n bound:\n fields.bound ??\n (defaultRunnableBound as unknown as Runnable<RunInput, RunOutput>),\n config: {\n ...(fields.config ? fields.config : {}),\n tags: mergedTags,\n },\n });\n\n this.channels = channels;\n this.triggers = triggers;\n this.mapper = mapper;\n this.writers = writers ?? this.writers;\n this.bound = bound ?? this.bound;\n this.kwargs = kwargs ?? this.kwargs;\n this.metadata = metadata ?? this.metadata;\n this.tags = mergedTags;\n this.retryPolicy = retryPolicy;\n this.cachePolicy = cachePolicy;\n this.timeout = timeout;\n this.subgraphs = subgraphs;\n this.ends = ends;\n this.isErrorHandler = isErrorHandler;\n this.errorHandlerNode = errorHandlerNode;\n }\n\n getWriters(): Array<Runnable> {\n const newWriters = [...this.writers];\n while (\n newWriters.length > 1 &&\n // eslint-disable-next-line no-instanceof/no-instanceof\n newWriters[newWriters.length - 1] instanceof ChannelWrite &&\n // eslint-disable-next-line no-instanceof/no-instanceof\n newWriters[newWriters.length - 2] instanceof ChannelWrite\n ) {\n // we can combine writes if they are consecutive\n // careful to not modify the original writers list or ChannelWrite\n const endWriters = newWriters.slice(-2) as ChannelWrite[];\n const combinedWrites = endWriters[0].writes.concat(endWriters[1].writes);\n newWriters[newWriters.length - 2] = new ChannelWrite(\n combinedWrites,\n endWriters[0].config?.tags\n );\n newWriters.pop();\n }\n return newWriters;\n }\n\n getNode(): Runnable<RunInput, RunOutput> | undefined {\n const writers = this.getWriters();\n if (this.bound === defaultRunnableBound && writers.length === 0) {\n return undefined;\n } else if (this.bound === defaultRunnableBound && writers.length === 1) {\n return writers[0];\n } else if (this.bound === defaultRunnableBound) {\n return new RunnableSequence({\n first: writers[0],\n middle: writers.slice(1, writers.length - 1),\n last: writers[writers.length - 1],\n omitSequenceTags: true,\n });\n } else if (writers.length > 0) {\n return new RunnableSequence({\n first: this.bound,\n middle: writers.slice(0, writers.length - 1),\n last: writers[writers.length - 1],\n omitSequenceTags: true,\n });\n } else {\n return this.bound;\n }\n }\n\n join(channels: Array<string>): PregelNode<RunInput, RunOutput> {\n if (!Array.isArray(channels)) {\n throw new Error(\"channels must be a list\");\n }\n if (typeof this.channels !== \"object\") {\n throw new Error(\"all channels must be named when using .join()\");\n }\n\n return new PregelNode<RunInput, RunOutput>({\n channels: {\n ...this.channels,\n ...Object.fromEntries(channels.map((chan) => [chan, chan])),\n },\n triggers: this.triggers,\n mapper: this.mapper,\n writers: this.writers,\n bound: this.bound,\n kwargs: this.kwargs,\n config: this.config,\n retryPolicy: this.retryPolicy,\n cachePolicy: this.cachePolicy,\n timeout: this.timeout,\n });\n }\n\n pipe<NewRunOutput>(\n coerceable: RunnableLike\n ): PregelNode<RunInput, Exclude<NewRunOutput, Error>> {\n if (ChannelWrite.isWriter(coerceable)) {\n return new PregelNode<RunInput, Exclude<NewRunOutput, Error>>({\n channels: this.channels,\n triggers: this.triggers,\n mapper: this.mapper,\n writers: [...this.writers, coerceable],\n bound: this.bound as unknown as PregelNode<\n RunInput,\n Exclude<NewRunOutput, Error>\n >,\n config: this.config,\n kwargs: this.kwargs,\n retryPolicy: this.retryPolicy,\n cachePolicy: this.cachePolicy,\n timeout: this.timeout,\n });\n } else if (this.bound === defaultRunnableBound) {\n return new PregelNode<RunInput, Exclude<NewRunOutput, Error>>({\n channels: this.channels,\n triggers: this.triggers,\n mapper: this.mapper,\n writers: this.writers,\n bound: _coerceToRunnable<RunInput, NewRunOutput>(coerceable),\n config: this.config,\n kwargs: this.kwargs,\n retryPolicy: this.retryPolicy,\n cachePolicy: this.cachePolicy,\n timeout: this.timeout,\n });\n } else {\n return new PregelNode<RunInput, Exclude<NewRunOutput, Error>>({\n channels: this.channels,\n triggers: this.triggers,\n mapper: this.mapper,\n writers: this.writers,\n bound: this.bound.pipe(coerceable),\n config: this.config,\n kwargs: this.kwargs,\n retryPolicy: this.retryPolicy,\n cachePolicy: this.cachePolicy,\n timeout: this.timeout,\n });\n }\n }\n}\n"],"mappings":"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"}
|
package/dist/pregel/runner.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const require_constants = require("../constants.cjs");
|
|
2
2
|
const require_errors = require("../errors.cjs");
|
|
3
|
-
const require_index = require("./utils/index.cjs");
|
|
4
3
|
const require_types = require("./types.cjs");
|
|
4
|
+
const require_index = require("./utils/index.cjs");
|
|
5
5
|
const require_retry = require("./retry.cjs");
|
|
6
6
|
//#region src/pregel/runner.ts
|
|
7
7
|
const PROMISE_ADDED_SYMBOL = Symbol.for("promiseAdded");
|
package/dist/pregel/runner.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CONFIG_KEY_ABORT_SIGNALS, CONFIG_KEY_CALL, CONFIG_KEY_SCRATCHPAD, ERROR, ERROR_SOURCE_NODE, INTERRUPT, NO_WRITES, RESUME, RETURN } from "../constants.js";
|
|
2
2
|
import { isGraphBubbleUp, isGraphDrained, isGraphInterrupt } from "../errors.js";
|
|
3
|
-
import { combineAbortSignals, patchConfigurable } from "./utils/index.js";
|
|
4
3
|
import { Call } from "./types.js";
|
|
4
|
+
import { combineAbortSignals, patchConfigurable } from "./utils/index.js";
|
|
5
5
|
import { _runWithRetry } from "./retry.js";
|
|
6
6
|
//#region src/pregel/runner.ts
|
|
7
7
|
const PROMISE_ADDED_SYMBOL = Symbol.for("promiseAdded");
|
|
@@ -22,13 +22,6 @@ function getNewChannelVersions(previousVersions, currentVersions) {
|
|
|
22
22
|
function _coerceToDict(value, defaultKey) {
|
|
23
23
|
return value && !Array.isArray(value) && !(value instanceof Date) && typeof value === "object" ? value : { [defaultKey]: value };
|
|
24
24
|
}
|
|
25
|
-
/**
|
|
26
|
-
* Record an empty trace payload while retaining the node's span and timing.
|
|
27
|
-
* Use as `processInputs` and/or `processOutputs` in a {@link TracePolicy}.
|
|
28
|
-
*/
|
|
29
|
-
function omitPayload(_value) {
|
|
30
|
-
return {};
|
|
31
|
-
}
|
|
32
25
|
function patchConfigurable(config, patch) {
|
|
33
26
|
if (config === null) return { configurable: patch };
|
|
34
27
|
else if (config?.configurable === void 0) return {
|
|
@@ -87,7 +80,6 @@ exports._coerceToDict = _coerceToDict;
|
|
|
87
80
|
exports.combineAbortSignals = combineAbortSignals;
|
|
88
81
|
exports.getNewChannelVersions = getNewChannelVersions;
|
|
89
82
|
exports.getNullChannelVersion = getNullChannelVersion;
|
|
90
|
-
exports.omitPayload = omitPayload;
|
|
91
83
|
exports.patchCheckpointMap = patchCheckpointMap;
|
|
92
84
|
exports.patchConfigurable = patchConfigurable;
|
|
93
85
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":["START","CONFIG_KEY_CHECKPOINT_MAP"],"sources":["../../../src/pregel/utils/index.ts"],"sourcesContent":["import { Callbacks } from \"@langchain/core/callbacks/manager\";\nimport { RunnableConfig } from \"@langchain/core/runnables\";\nimport type {\n ChannelVersions,\n CheckpointMetadata,\n} from \"@langchain/langgraph-checkpoint\";\nimport { CONFIG_KEY_CHECKPOINT_MAP, START } from \"../../constants.js\";\n\nexport function getNullChannelVersion(currentVersions: ChannelVersions) {\n // Short circuit for commonly used channels such as __start__\n // (used by StateGraph)\n const startVersion = typeof currentVersions[START];\n if (startVersion === \"number\") return 0;\n if (startVersion === \"string\") return \"\";\n\n // Defer back to obtaining a first key from channel versions\n for (const key in currentVersions) {\n if (!Object.prototype.hasOwnProperty.call(currentVersions, key)) continue;\n const versionType = typeof currentVersions[key];\n if (versionType === \"number\") return 0;\n if (versionType === \"string\") return \"\";\n break;\n }\n\n return undefined;\n}\n\nexport function getNewChannelVersions(\n previousVersions: ChannelVersions,\n currentVersions: ChannelVersions\n): ChannelVersions {\n // Get new channel versions\n if (Object.keys(previousVersions).length > 0) {\n const nullVersion = getNullChannelVersion(currentVersions);\n return Object.fromEntries(\n Object.entries(currentVersions).filter(\n ([k, v]) => v > (previousVersions[k] ?? nullVersion)\n )\n );\n } else {\n return currentVersions;\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function _coerceToDict(value: any, defaultKey: string) {\n return value &&\n !Array.isArray(value) &&\n // eslint-disable-next-line no-instanceof/no-instanceof\n !(value instanceof Date) &&\n typeof value === \"object\"\n ? value\n : { [defaultKey]: value };\n}\n\nexport type RetryPolicy = {\n /**\n * Amount of time that must elapse before the first retry occurs in milliseconds.\n * @default 500\n */\n initialInterval?: number;\n\n /**\n * Multiplier by which the interval increases after each retry.\n * @default 2\n */\n backoffFactor?: number;\n\n /**\n * Maximum amount of time that may elapse between retries in milliseconds.\n * @default 128000\n */\n maxInterval?: number;\n\n /**\n * Maximum amount of time that may elapse between retries.\n * @default 3\n */\n maxAttempts?: number;\n\n /**\n * Whether to add random jitter to the interval between retries.\n * @default true\n */\n jitter?: boolean;\n\n /** A function that returns True for exceptions that should trigger a retry. */\n retryOn?: (e: any) => boolean; // eslint-disable-line @typescript-eslint/no-explicit-any\n\n /** Whether to log a warning when a retry is attempted. Defaults to true. */\n logWarning?: boolean;\n};\n\nexport type { TimeoutPolicy } from \"./timeout.js\";\nexport { coerceTimeoutPolicy } from \"./timeout.js\";\n\n/**\n * Configuration for caching nodes.\n */\nexport type CachePolicy = {\n /**\n * A function used to generate a cache key from node's input.\n * @returns A key for the cache.\n */\n keyFunc?: (args: unknown[]) => string;\n\n /**\n * The time to live for the cache in seconds.\n * If not defined, the entry will never expire.\n */\n ttl?: number;\n};\n\
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["START","CONFIG_KEY_CHECKPOINT_MAP"],"sources":["../../../src/pregel/utils/index.ts"],"sourcesContent":["import { Callbacks } from \"@langchain/core/callbacks/manager\";\nimport { RunnableConfig } from \"@langchain/core/runnables\";\nimport type {\n ChannelVersions,\n CheckpointMetadata,\n} from \"@langchain/langgraph-checkpoint\";\nimport { CONFIG_KEY_CHECKPOINT_MAP, START } from \"../../constants.js\";\n\nexport function getNullChannelVersion(currentVersions: ChannelVersions) {\n // Short circuit for commonly used channels such as __start__\n // (used by StateGraph)\n const startVersion = typeof currentVersions[START];\n if (startVersion === \"number\") return 0;\n if (startVersion === \"string\") return \"\";\n\n // Defer back to obtaining a first key from channel versions\n for (const key in currentVersions) {\n if (!Object.prototype.hasOwnProperty.call(currentVersions, key)) continue;\n const versionType = typeof currentVersions[key];\n if (versionType === \"number\") return 0;\n if (versionType === \"string\") return \"\";\n break;\n }\n\n return undefined;\n}\n\nexport function getNewChannelVersions(\n previousVersions: ChannelVersions,\n currentVersions: ChannelVersions\n): ChannelVersions {\n // Get new channel versions\n if (Object.keys(previousVersions).length > 0) {\n const nullVersion = getNullChannelVersion(currentVersions);\n return Object.fromEntries(\n Object.entries(currentVersions).filter(\n ([k, v]) => v > (previousVersions[k] ?? nullVersion)\n )\n );\n } else {\n return currentVersions;\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function _coerceToDict(value: any, defaultKey: string) {\n return value &&\n !Array.isArray(value) &&\n // eslint-disable-next-line no-instanceof/no-instanceof\n !(value instanceof Date) &&\n typeof value === \"object\"\n ? value\n : { [defaultKey]: value };\n}\n\nexport type RetryPolicy = {\n /**\n * Amount of time that must elapse before the first retry occurs in milliseconds.\n * @default 500\n */\n initialInterval?: number;\n\n /**\n * Multiplier by which the interval increases after each retry.\n * @default 2\n */\n backoffFactor?: number;\n\n /**\n * Maximum amount of time that may elapse between retries in milliseconds.\n * @default 128000\n */\n maxInterval?: number;\n\n /**\n * Maximum amount of time that may elapse between retries.\n * @default 3\n */\n maxAttempts?: number;\n\n /**\n * Whether to add random jitter to the interval between retries.\n * @default true\n */\n jitter?: boolean;\n\n /** A function that returns True for exceptions that should trigger a retry. */\n retryOn?: (e: any) => boolean; // eslint-disable-line @typescript-eslint/no-explicit-any\n\n /** Whether to log a warning when a retry is attempted. Defaults to true. */\n logWarning?: boolean;\n};\n\nexport type { TimeoutPolicy } from \"./timeout.js\";\nexport { coerceTimeoutPolicy } from \"./timeout.js\";\n\n/**\n * Configuration for caching nodes.\n */\nexport type CachePolicy = {\n /**\n * A function used to generate a cache key from node's input.\n * @returns A key for the cache.\n */\n keyFunc?: (args: unknown[]) => string;\n\n /**\n * The time to live for the cache in seconds.\n * If not defined, the entry will never expire.\n */\n ttl?: number;\n};\n\nexport function patchConfigurable(\n config: RunnableConfig | undefined,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n patch: Record<string, any>\n): RunnableConfig {\n if (config === null) {\n return { configurable: patch };\n } else if (config?.configurable === undefined) {\n return { ...config, configurable: patch };\n } else {\n return {\n ...config,\n configurable: { ...config.configurable, ...patch },\n };\n }\n}\n\nexport function patchCheckpointMap(\n config: RunnableConfig,\n metadata?: CheckpointMetadata\n): RunnableConfig {\n const parents = metadata?.parents ?? {};\n\n if (Object.keys(parents).length > 0) {\n return patchConfigurable(config, {\n [CONFIG_KEY_CHECKPOINT_MAP]: {\n ...parents,\n [config.configurable?.checkpoint_ns ?? \"\"]:\n config.configurable?.checkpoint_id,\n },\n });\n } else {\n return config;\n }\n}\n\n/**\n * Combine multiple abort signals into a single abort signal.\n * @param signals - The abort signals to combine.\n * @returns A combined abort signal and a dispose function to remove the abort listener if unused.\n */\nexport function combineAbortSignals(...x: (AbortSignal | undefined)[]): {\n signal: AbortSignal | undefined;\n dispose?: () => void;\n} {\n const signals = [...new Set(x.filter(Boolean))] as AbortSignal[];\n\n if (signals.length === 0) {\n return { signal: undefined, dispose: undefined };\n }\n\n if (signals.length === 1) {\n return { signal: signals[0], dispose: undefined };\n }\n\n const combinedController = new AbortController();\n const listener = () => {\n const reason = signals.find((s) => s.aborted)?.reason;\n combinedController.abort(reason);\n signals.forEach((s) => s.removeEventListener(\"abort\", listener));\n };\n\n signals.forEach((s) => s.addEventListener(\"abort\", listener, { once: true }));\n\n const hasAlreadyAbortedSignal = signals.find((s) => s.aborted);\n if (hasAlreadyAbortedSignal) {\n combinedController.abort(hasAlreadyAbortedSignal.reason);\n }\n\n return {\n signal: combinedController.signal,\n dispose: () => {\n signals.forEach((s) => s.removeEventListener(\"abort\", listener));\n },\n };\n}\n\n/**\n * Combine multiple callbacks into a single callback.\n * @param callback1 - The first callback to combine.\n * @param callback2 - The second callback to combine.\n * @returns A single callback that is a combination of the input callbacks.\n */\nexport const combineCallbacks = (\n callback1?: Callbacks,\n callback2?: Callbacks\n): Callbacks | undefined => {\n if (!callback1 && !callback2) {\n return undefined;\n }\n\n if (!callback1) {\n return callback2;\n }\n\n if (!callback2) {\n return callback1;\n }\n if (Array.isArray(callback1) && Array.isArray(callback2)) {\n return [...callback1, ...callback2];\n }\n if (Array.isArray(callback1)) {\n return [...callback1, callback2] as Callbacks;\n }\n if (Array.isArray(callback2)) {\n return [callback1, ...callback2];\n }\n return [callback1, callback2] as Callbacks;\n};\n"],"mappings":";;;AAQA,SAAgB,sBAAsB,iBAAkC;CAGtE,MAAM,eAAe,OAAO,gBAAgBA,kBAAAA;AAC5C,KAAI,iBAAiB,SAAU,QAAO;AACtC,KAAI,iBAAiB,SAAU,QAAO;AAGtC,MAAK,MAAM,OAAO,iBAAiB;AACjC,MAAI,CAAC,OAAO,UAAU,eAAe,KAAK,iBAAiB,IAAI,CAAE;EACjE,MAAM,cAAc,OAAO,gBAAgB;AAC3C,MAAI,gBAAgB,SAAU,QAAO;AACrC,MAAI,gBAAgB,SAAU,QAAO;AACrC;;;AAMJ,SAAgB,sBACd,kBACA,iBACiB;AAEjB,KAAI,OAAO,KAAK,iBAAiB,CAAC,SAAS,GAAG;EAC5C,MAAM,cAAc,sBAAsB,gBAAgB;AAC1D,SAAO,OAAO,YACZ,OAAO,QAAQ,gBAAgB,CAAC,QAC7B,CAAC,GAAG,OAAO,KAAK,iBAAiB,MAAM,aACzC,CACF;OAED,QAAO;;AAKX,SAAgB,cAAc,OAAY,YAAoB;AAC5D,QAAO,SACL,CAAC,MAAM,QAAQ,MAAM,IAErB,EAAE,iBAAiB,SACnB,OAAO,UAAU,WACf,QACA,GAAG,aAAa,OAAO;;AA6D7B,SAAgB,kBACd,QAEA,OACgB;AAChB,KAAI,WAAW,KACb,QAAO,EAAE,cAAc,OAAO;UACrB,QAAQ,iBAAiB,KAAA,EAClC,QAAO;EAAE,GAAG;EAAQ,cAAc;EAAO;KAEzC,QAAO;EACL,GAAG;EACH,cAAc;GAAE,GAAG,OAAO;GAAc,GAAG;GAAO;EACnD;;AAIL,SAAgB,mBACd,QACA,UACgB;CAChB,MAAM,UAAU,UAAU,WAAW,EAAE;AAEvC,KAAI,OAAO,KAAK,QAAQ,CAAC,SAAS,EAChC,QAAO,kBAAkB,QAAQ,GAC9BC,kBAAAA,4BAA4B;EAC3B,GAAG;GACF,OAAO,cAAc,iBAAiB,KACrC,OAAO,cAAc;EACxB,EACF,CAAC;KAEF,QAAO;;;;;;;AASX,SAAgB,oBAAoB,GAAG,GAGrC;CACA,MAAM,UAAU,CAAC,GAAG,IAAI,IAAI,EAAE,OAAO,QAAQ,CAAC,CAAC;AAE/C,KAAI,QAAQ,WAAW,EACrB,QAAO;EAAE,QAAQ,KAAA;EAAW,SAAS,KAAA;EAAW;AAGlD,KAAI,QAAQ,WAAW,EACrB,QAAO;EAAE,QAAQ,QAAQ;EAAI,SAAS,KAAA;EAAW;CAGnD,MAAM,qBAAqB,IAAI,iBAAiB;CAChD,MAAM,iBAAiB;EACrB,MAAM,SAAS,QAAQ,MAAM,MAAM,EAAE,QAAQ,EAAE;AAC/C,qBAAmB,MAAM,OAAO;AAChC,UAAQ,SAAS,MAAM,EAAE,oBAAoB,SAAS,SAAS,CAAC;;AAGlE,SAAQ,SAAS,MAAM,EAAE,iBAAiB,SAAS,UAAU,EAAE,MAAM,MAAM,CAAC,CAAC;CAE7E,MAAM,0BAA0B,QAAQ,MAAM,MAAM,EAAE,QAAQ;AAC9D,KAAI,wBACF,oBAAmB,MAAM,wBAAwB,OAAO;AAG1D,QAAO;EACL,QAAQ,mBAAmB;EAC3B,eAAe;AACb,WAAQ,SAAS,MAAM,EAAE,oBAAoB,SAAS,SAAS,CAAC;;EAEnE"}
|