@langchain/langgraph 1.1.4 → 1.2.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.d.cts +0 -1
- package/dist/channels/any_value.d.cts.map +1 -1
- package/dist/channels/any_value.d.ts +0 -1
- package/dist/channels/any_value.d.ts.map +1 -1
- package/dist/channels/base.d.cts.map +1 -1
- package/dist/channels/base.d.ts.map +1 -1
- package/dist/channels/binop.cjs +13 -2
- package/dist/channels/binop.cjs.map +1 -1
- package/dist/channels/binop.d.cts +4 -2
- package/dist/channels/binop.d.cts.map +1 -1
- package/dist/channels/binop.d.ts +4 -2
- package/dist/channels/binop.d.ts.map +1 -1
- package/dist/channels/binop.js +14 -3
- package/dist/channels/binop.js.map +1 -1
- package/dist/channels/dynamic_barrier_value.d.cts +0 -10
- package/dist/channels/dynamic_barrier_value.d.cts.map +1 -1
- package/dist/channels/dynamic_barrier_value.d.ts +0 -10
- package/dist/channels/dynamic_barrier_value.d.ts.map +1 -1
- package/dist/channels/ephemeral_value.d.cts +0 -1
- package/dist/channels/ephemeral_value.d.cts.map +1 -1
- package/dist/channels/ephemeral_value.d.ts +0 -1
- package/dist/channels/ephemeral_value.d.ts.map +1 -1
- package/dist/channels/last_value.d.cts +0 -1
- package/dist/channels/last_value.d.cts.map +1 -1
- package/dist/channels/last_value.d.ts +0 -1
- package/dist/channels/last_value.d.ts.map +1 -1
- package/dist/channels/named_barrier_value.d.cts +0 -1
- package/dist/channels/named_barrier_value.d.cts.map +1 -1
- package/dist/channels/named_barrier_value.d.ts +0 -1
- package/dist/channels/named_barrier_value.d.ts.map +1 -1
- package/dist/channels/topic.d.cts +0 -1
- package/dist/channels/topic.d.cts.map +1 -1
- package/dist/channels/topic.d.ts +0 -1
- package/dist/channels/topic.d.ts.map +1 -1
- package/dist/channels/untracked_value.d.cts +0 -1
- package/dist/channels/untracked_value.d.cts.map +1 -1
- package/dist/channels/untracked_value.d.ts +0 -1
- package/dist/channels/untracked_value.d.ts.map +1 -1
- package/dist/constants.cjs +78 -0
- package/dist/constants.cjs.map +1 -1
- package/dist/constants.d.cts +49 -16
- package/dist/constants.d.cts.map +1 -1
- package/dist/constants.d.ts +49 -16
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +76 -1
- package/dist/constants.js.map +1 -1
- package/dist/errors.d.cts.map +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/func/index.cjs +1 -1
- package/dist/func/index.d.cts +1 -2
- package/dist/func/index.d.cts.map +1 -1
- package/dist/func/index.d.ts +1 -2
- package/dist/func/index.d.ts.map +1 -1
- package/dist/func/index.js +1 -1
- package/dist/func/types.d.cts +0 -11
- package/dist/func/types.d.cts.map +1 -1
- package/dist/func/types.d.ts +0 -11
- package/dist/func/types.d.ts.map +1 -1
- package/dist/graph/annotation.cjs.map +1 -1
- package/dist/graph/annotation.d.cts +3 -2
- package/dist/graph/annotation.d.cts.map +1 -1
- package/dist/graph/annotation.d.ts +3 -2
- package/dist/graph/annotation.d.ts.map +1 -1
- package/dist/graph/annotation.js.map +1 -1
- package/dist/graph/graph.cjs +3 -6
- package/dist/graph/graph.cjs.map +1 -1
- package/dist/graph/graph.d.cts +2 -2
- package/dist/graph/graph.d.cts.map +1 -1
- package/dist/graph/graph.d.ts +2 -2
- package/dist/graph/graph.d.ts.map +1 -1
- package/dist/graph/graph.js +3 -6
- package/dist/graph/graph.js.map +1 -1
- package/dist/graph/index.cjs +1 -1
- package/dist/graph/index.d.ts +7 -0
- package/dist/graph/index.js +1 -1
- package/dist/graph/message.d.cts +2 -2
- package/dist/graph/message.d.cts.map +1 -1
- package/dist/graph/message.d.ts +2 -2
- package/dist/graph/message.d.ts.map +1 -1
- package/dist/graph/messages_annotation.d.cts +3 -3
- package/dist/graph/messages_annotation.d.cts.map +1 -1
- package/dist/graph/messages_annotation.d.ts +4 -3
- package/dist/graph/messages_annotation.d.ts.map +1 -1
- package/dist/graph/messages_reducer.d.cts +0 -1
- package/dist/graph/messages_reducer.d.cts.map +1 -1
- package/dist/graph/messages_reducer.d.ts +0 -1
- package/dist/graph/messages_reducer.d.ts.map +1 -1
- package/dist/graph/state.cjs +1 -1
- package/dist/graph/state.d.cts +1 -1
- package/dist/graph/state.d.cts.map +1 -1
- package/dist/graph/state.d.ts +1 -1
- package/dist/graph/state.d.ts.map +1 -1
- package/dist/graph/state.js +1 -1
- package/dist/graph/types.cjs +1 -1
- package/dist/graph/types.d.cts +3 -19
- package/dist/graph/types.d.cts.map +1 -1
- package/dist/graph/types.d.ts +3 -19
- package/dist/graph/types.d.ts.map +1 -1
- package/dist/graph/types.js +1 -1
- package/dist/graph/zod/index.d.cts +1 -0
- package/dist/graph/zod/index.d.ts +1 -0
- package/dist/graph/zod/meta.cjs.map +1 -1
- package/dist/graph/zod/meta.d.cts +3 -2
- package/dist/graph/zod/meta.d.cts.map +1 -1
- package/dist/graph/zod/meta.d.ts +3 -2
- package/dist/graph/zod/meta.d.ts.map +1 -1
- package/dist/graph/zod/meta.js.map +1 -1
- package/dist/graph/zod/plugin.d.cts +30 -0
- package/dist/graph/zod/plugin.d.cts.map +1 -0
- package/dist/graph/zod/plugin.d.ts +30 -0
- package/dist/graph/zod/plugin.d.ts.map +1 -0
- package/dist/graph/zod/schema.d.cts +0 -1
- package/dist/graph/zod/schema.d.cts.map +1 -1
- package/dist/graph/zod/schema.d.ts +0 -1
- package/dist/graph/zod/schema.d.ts.map +1 -1
- package/dist/graph/zod/zod-registry.d.cts +0 -1
- package/dist/graph/zod/zod-registry.d.cts.map +1 -1
- package/dist/graph/zod/zod-registry.d.ts +0 -1
- package/dist/graph/zod/zod-registry.d.ts.map +1 -1
- package/dist/index.cjs +2 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/interrupt.cjs +1 -1
- package/dist/interrupt.d.cts.map +1 -1
- package/dist/interrupt.d.ts.map +1 -1
- package/dist/interrupt.js +1 -1
- package/dist/prebuilt/agentName.d.cts +0 -17
- package/dist/prebuilt/agentName.d.cts.map +1 -1
- package/dist/prebuilt/agentName.d.ts +0 -17
- package/dist/prebuilt/agentName.d.ts.map +1 -1
- package/dist/prebuilt/agent_executor.d.cts +5 -5
- package/dist/prebuilt/agent_executor.d.cts.map +1 -1
- package/dist/prebuilt/agent_executor.d.ts +6 -5
- package/dist/prebuilt/agent_executor.d.ts.map +1 -1
- package/dist/prebuilt/chat_agent_executor.d.cts.map +1 -1
- package/dist/prebuilt/chat_agent_executor.d.ts.map +1 -1
- package/dist/prebuilt/interrupt.d.cts.map +1 -1
- package/dist/prebuilt/interrupt.d.ts.map +1 -1
- package/dist/prebuilt/react_agent_executor.cjs +1 -1
- package/dist/prebuilt/react_agent_executor.d.cts +11 -17
- package/dist/prebuilt/react_agent_executor.d.cts.map +1 -1
- package/dist/prebuilt/react_agent_executor.d.ts +13 -17
- package/dist/prebuilt/react_agent_executor.d.ts.map +1 -1
- package/dist/prebuilt/react_agent_executor.js +1 -1
- package/dist/prebuilt/tool_executor.d.cts.map +1 -1
- package/dist/prebuilt/tool_executor.d.ts.map +1 -1
- package/dist/prebuilt/tool_node.cjs +1 -1
- package/dist/prebuilt/tool_node.d.cts +1 -1
- package/dist/prebuilt/tool_node.d.cts.map +1 -1
- package/dist/prebuilt/tool_node.d.ts +1 -1
- package/dist/prebuilt/tool_node.d.ts.map +1 -1
- package/dist/prebuilt/tool_node.js +1 -1
- package/dist/pregel/algo.cjs +1 -1
- package/dist/pregel/algo.d.cts +0 -1
- package/dist/pregel/algo.d.cts.map +1 -1
- package/dist/pregel/algo.d.ts +5 -1
- package/dist/pregel/algo.d.ts.map +1 -1
- package/dist/pregel/algo.js +1 -1
- package/dist/pregel/index.cjs +13 -1
- package/dist/pregel/index.cjs.map +1 -1
- package/dist/pregel/index.d.cts +2 -1
- package/dist/pregel/index.d.cts.map +1 -1
- package/dist/pregel/index.d.ts +2 -1
- package/dist/pregel/index.d.ts.map +1 -1
- package/dist/pregel/index.js +14 -2
- package/dist/pregel/index.js.map +1 -1
- package/dist/pregel/io.cjs +1 -1
- package/dist/pregel/io.js +1 -1
- package/dist/pregel/loop.cjs +1 -1
- package/dist/pregel/loop.js +1 -1
- package/dist/pregel/read.cjs +4 -1
- package/dist/pregel/read.cjs.map +1 -1
- package/dist/pregel/read.d.cts +0 -1
- package/dist/pregel/read.d.cts.map +1 -1
- package/dist/pregel/read.d.ts +1 -1
- package/dist/pregel/read.d.ts.map +1 -1
- package/dist/pregel/read.js +4 -1
- package/dist/pregel/read.js.map +1 -1
- package/dist/pregel/remote.cjs +1 -1
- package/dist/pregel/remote.d.cts.map +1 -1
- package/dist/pregel/remote.d.ts +2 -0
- package/dist/pregel/remote.d.ts.map +1 -1
- package/dist/pregel/remote.js +1 -1
- package/dist/pregel/retry.cjs +1 -1
- package/dist/pregel/retry.js +1 -1
- package/dist/pregel/runnable_types.d.cts.map +1 -1
- package/dist/pregel/runnable_types.d.ts.map +1 -1
- package/dist/pregel/runner.cjs +1 -1
- package/dist/pregel/runner.js +1 -1
- package/dist/pregel/stream.cjs +81 -0
- package/dist/pregel/stream.cjs.map +1 -1
- package/dist/pregel/stream.d.ts +3 -0
- package/dist/pregel/stream.js +81 -1
- package/dist/pregel/stream.js.map +1 -1
- package/dist/pregel/types.cjs.map +1 -1
- package/dist/pregel/types.d.cts +27 -9
- package/dist/pregel/types.d.cts.map +1 -1
- package/dist/pregel/types.d.ts +27 -9
- package/dist/pregel/types.d.ts.map +1 -1
- package/dist/pregel/types.js.map +1 -1
- package/dist/pregel/utils/config.d.cts +0 -1
- package/dist/pregel/utils/config.d.cts.map +1 -1
- package/dist/pregel/utils/config.d.ts +0 -1
- package/dist/pregel/utils/config.d.ts.map +1 -1
- package/dist/pregel/utils/index.d.cts +3 -7
- package/dist/pregel/utils/index.d.cts.map +1 -1
- package/dist/pregel/utils/index.d.ts +3 -7
- package/dist/pregel/utils/index.d.ts.map +1 -1
- package/dist/pregel/write.cjs +2 -1
- package/dist/pregel/write.cjs.map +1 -1
- package/dist/pregel/write.d.cts +1 -2
- package/dist/pregel/write.d.cts.map +1 -1
- package/dist/pregel/write.d.ts +1 -2
- package/dist/pregel/write.d.ts.map +1 -1
- package/dist/pregel/write.js +2 -1
- package/dist/pregel/write.js.map +1 -1
- package/dist/state/adapter.d.cts +0 -1
- package/dist/state/adapter.d.cts.map +1 -1
- package/dist/state/adapter.d.ts +0 -1
- package/dist/state/adapter.d.ts.map +1 -1
- package/dist/state/index.d.ts +7 -0
- package/dist/state/prebuilt/index.d.ts +1 -0
- package/dist/state/prebuilt/messages.d.cts +2 -2
- package/dist/state/prebuilt/messages.d.cts.map +1 -1
- package/dist/state/prebuilt/messages.d.ts +2 -2
- package/dist/state/prebuilt/messages.d.ts.map +1 -1
- package/dist/state/schema.cjs.map +1 -1
- package/dist/state/schema.d.cts +3 -2
- package/dist/state/schema.d.cts.map +1 -1
- package/dist/state/schema.d.ts +4 -2
- package/dist/state/schema.d.ts.map +1 -1
- package/dist/state/schema.js.map +1 -1
- package/dist/state/types.d.cts +0 -20
- package/dist/state/types.d.cts.map +1 -1
- package/dist/state/types.d.ts +0 -20
- package/dist/state/types.d.ts.map +1 -1
- package/dist/state/values/reduced.d.cts +0 -1
- package/dist/state/values/reduced.d.cts.map +1 -1
- package/dist/state/values/reduced.d.ts +0 -1
- package/dist/state/values/reduced.d.ts.map +1 -1
- package/dist/state/values/untracked.d.cts +0 -1
- package/dist/state/values/untracked.d.cts.map +1 -1
- package/dist/state/values/untracked.d.ts +0 -1
- package/dist/state/values/untracked.d.ts.map +1 -1
- package/dist/utils.d.cts.map +1 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/web.cjs +2 -1
- package/dist/web.d.cts +2 -2
- package/dist/web.d.ts +5 -2
- package/dist/web.js +2 -2
- package/dist/writer.d.cts.map +1 -1
- package/dist/writer.d.ts.map +1 -1
- package/package.json +4 -4
package/dist/pregel/io.cjs
CHANGED
package/dist/pregel/io.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { EmptyChannelError, InvalidUpdateError } from "../errors.js";
|
|
2
1
|
import { Command, ERROR, INTERRUPT, NULL_TASK_ID, RESUME, RETURN, TAG_HIDDEN, TASKS, _isSend } from "../constants.js";
|
|
2
|
+
import { EmptyChannelError, InvalidUpdateError } from "../errors.js";
|
|
3
3
|
import { isXXH3 } from "../hash.js";
|
|
4
4
|
|
|
5
5
|
//#region src/pregel/io.ts
|
package/dist/pregel/loop.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
const require_constants = require('../constants.cjs');
|
|
1
2
|
const require_errors = require('../errors.cjs');
|
|
2
3
|
const require_base = require('../channels/base.cjs');
|
|
3
|
-
const require_constants = require('../constants.cjs');
|
|
4
4
|
const require_utils = require('../utils.cjs');
|
|
5
5
|
const require_hash = require('../hash.cjs');
|
|
6
6
|
const require_io = require('./io.cjs');
|
package/dist/pregel/loop.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { CHECKPOINT_NAMESPACE_END, CHECKPOINT_NAMESPACE_SEPARATOR, CONFIG_KEY_CHECKPOINT_ID, CONFIG_KEY_CHECKPOINT_MAP, CONFIG_KEY_CHECKPOINT_NS, CONFIG_KEY_READ, CONFIG_KEY_RESUME_MAP, CONFIG_KEY_RESUMING, CONFIG_KEY_SCRATCHPAD, CONFIG_KEY_STREAM, ERROR, INPUT, INTERRUPT, NULL_TASK_ID, PUSH, RESUME, START, TAG_HIDDEN, TASKS, _isSend, isCommand } from "../constants.js";
|
|
1
2
|
import { EmptyInputError, GraphInterrupt, isGraphInterrupt } from "../errors.js";
|
|
2
3
|
import { createCheckpoint, emptyChannels } from "../channels/base.js";
|
|
3
|
-
import { CHECKPOINT_NAMESPACE_END, CHECKPOINT_NAMESPACE_SEPARATOR, CONFIG_KEY_CHECKPOINT_ID, CONFIG_KEY_CHECKPOINT_MAP, CONFIG_KEY_CHECKPOINT_NS, CONFIG_KEY_READ, CONFIG_KEY_RESUME_MAP, CONFIG_KEY_RESUMING, CONFIG_KEY_SCRATCHPAD, CONFIG_KEY_STREAM, ERROR, INPUT, INTERRUPT, NULL_TASK_ID, PUSH, RESUME, START, TAG_HIDDEN, TASKS, _isSend, isCommand } from "../constants.js";
|
|
4
4
|
import { gatherIterator, gatherIteratorSync, prefixGenerator } from "../utils.js";
|
|
5
5
|
import { isXXH3 } from "../hash.js";
|
|
6
6
|
import { mapCommand, mapInput, mapOutputUpdates, mapOutputValues, readChannels } from "./io.js";
|
package/dist/pregel/read.cjs
CHANGED
|
@@ -10,7 +10,10 @@ var ChannelRead = class ChannelRead extends require_utils.RunnableCallable {
|
|
|
10
10
|
fresh = false;
|
|
11
11
|
mapper;
|
|
12
12
|
constructor(channel, mapper, fresh = false) {
|
|
13
|
-
super({
|
|
13
|
+
super({
|
|
14
|
+
trace: false,
|
|
15
|
+
func: (_, config) => ChannelRead.doRead(config, this.channel, this.fresh, this.mapper)
|
|
16
|
+
});
|
|
14
17
|
this.fresh = fresh;
|
|
15
18
|
this.mapper = mapper;
|
|
16
19
|
this.channel = channel;
|
package/dist/pregel/read.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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 } 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 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>\n extends Partial<RunnableBindingArgs<RunInput, RunOutput>> {\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 subgraphs?: Runnable[];\n ends?: 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 subgraphs?: Runnable[];\n\n ends?: 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 tags,\n subgraphs,\n ends,\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.subgraphs = subgraphs;\n this.ends = ends;\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 });\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 });\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 });\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 });\n }\n }\n}\n"],"mappings":"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"}
|
|
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 } 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>\n extends Partial<RunnableBindingArgs<RunInput, RunOutput>> {\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 subgraphs?: Runnable[];\n ends?: 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 subgraphs?: Runnable[];\n\n ends?: 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 tags,\n subgraphs,\n ends,\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.subgraphs = subgraphs;\n this.ends = ends;\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 });\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 });\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 });\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 });\n }\n }\n}\n"],"mappings":"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"}
|
package/dist/pregel/read.d.cts
CHANGED
|
@@ -2,7 +2,6 @@ import { CachePolicy, RetryPolicy } from "./utils/index.cjs";
|
|
|
2
2
|
import { Runnable, RunnableBinding, RunnableBindingArgs, RunnableConfig, RunnableLike } from "@langchain/core/runnables";
|
|
3
3
|
|
|
4
4
|
//#region src/pregel/read.d.ts
|
|
5
|
-
|
|
6
5
|
interface PregelNodeArgs<RunInput, RunOutput> extends Partial<RunnableBindingArgs<RunInput, RunOutput>> {
|
|
7
6
|
channels: Record<string, string> | string[];
|
|
8
7
|
triggers: Array<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read.d.cts","names":[
|
|
1
|
+
{"version":3,"file":"read.d.cts","names":[],"sources":["../../src/pregel/read.ts"],"mappings":";;;;UAwEU,cAAA,8BACA,OAAA,CAAQ,mBAAA,CAAoB,QAAA,EAAU,SAAA;EAC9C,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,SAAA,GAAY,QAAA;EACZ,IAAA;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,SAAA,GAAY,QAAA;EAEZ,IAAA;EAEA,WAAA,CAAY,MAAA,EAAQ,cAAA,CAAe,QAAA,EAAU,SAAA;EA6C7C,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;EAwBpD,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,8 +1,8 @@
|
|
|
1
|
+
import "../utils.js";
|
|
1
2
|
import { CachePolicy, RetryPolicy } from "./utils/index.js";
|
|
2
3
|
import { Runnable, RunnableBinding, RunnableBindingArgs, RunnableConfig, RunnableLike } from "@langchain/core/runnables";
|
|
3
4
|
|
|
4
5
|
//#region src/pregel/read.d.ts
|
|
5
|
-
|
|
6
6
|
interface PregelNodeArgs<RunInput, RunOutput> extends Partial<RunnableBindingArgs<RunInput, RunOutput>> {
|
|
7
7
|
channels: Record<string, string> | string[];
|
|
8
8
|
triggers: Array<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read.d.ts","names":[
|
|
1
|
+
{"version":3,"file":"read.d.ts","names":[],"sources":["../../src/pregel/read.ts"],"mappings":";;;;;UAwEU,cAAA,8BACA,OAAA,CAAQ,mBAAA,CAAoB,QAAA,EAAU,SAAA;EAC9C,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,SAAA,GAAY,QAAA;EACZ,IAAA;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,SAAA,GAAY,QAAA;EAEZ,IAAA;EAEA,WAAA,CAAY,MAAA,EAAQ,cAAA,CAAe,QAAA,EAAU,SAAA;EA6C7C,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;EAwBpD,IAAA,cAAA,CACE,UAAA,EAAY,YAAA,GACX,UAAA,CAAW,QAAA,EAAU,OAAA,CAAQ,YAAA,EAAc,KAAA;AAAA"}
|
package/dist/pregel/read.js
CHANGED
|
@@ -10,7 +10,10 @@ var ChannelRead = class ChannelRead extends RunnableCallable {
|
|
|
10
10
|
fresh = false;
|
|
11
11
|
mapper;
|
|
12
12
|
constructor(channel, mapper, fresh = false) {
|
|
13
|
-
super({
|
|
13
|
+
super({
|
|
14
|
+
trace: false,
|
|
15
|
+
func: (_, config) => ChannelRead.doRead(config, this.channel, this.fresh, this.mapper)
|
|
16
|
+
});
|
|
14
17
|
this.fresh = fresh;
|
|
15
18
|
this.mapper = mapper;
|
|
16
19
|
this.channel = channel;
|
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 { CachePolicy, RetryPolicy } 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 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>\n extends Partial<RunnableBindingArgs<RunInput, RunOutput>> {\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 subgraphs?: Runnable[];\n ends?: 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 subgraphs?: Runnable[];\n\n ends?: 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 tags,\n subgraphs,\n ends,\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.subgraphs = subgraphs;\n this.ends = ends;\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 });\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 });\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 });\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 });\n }\n }\n}\n"],"mappings":"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"}
|
|
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 } 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>\n extends Partial<RunnableBindingArgs<RunInput, RunOutput>> {\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 subgraphs?: Runnable[];\n ends?: 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 subgraphs?: Runnable[];\n\n ends?: 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 tags,\n subgraphs,\n ends,\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.subgraphs = subgraphs;\n this.ends = ends;\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 });\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 });\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 });\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 });\n }\n }\n}\n"],"mappings":";;;;;;AAeA,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;AA2BhE,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,YAAY,QAA6C;EACvD,MAAM,EACJ,UACA,UACA,QACA,SACA,OACA,QACA,UACA,aACA,aACA,MACA,WACA,SACE;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,YAAY;AACjB,OAAK,OAAO;;CAGd,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;AACjC,MAAI,KAAK,UAAU,wBAAwB,QAAQ,WAAW,EAC5D;WACS,KAAK,UAAU,wBAAwB,QAAQ,WAAW,EACnE,QAAO,QAAQ;WACN,KAAK,UAAU,qBACxB,QAAO,IAAI,iBAAiB;GAC1B,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,IAAI,iBAAiB;GAC1B,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;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;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;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;GACnB,CAAC"}
|
package/dist/pregel/remote.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const require_errors = require('../errors.cjs');
|
|
2
1
|
const require_constants = require('../constants.cjs');
|
|
2
|
+
const require_errors = require('../errors.cjs');
|
|
3
3
|
require('../web.cjs');
|
|
4
4
|
let _langchain_core_runnables = require("@langchain/core/runnables");
|
|
5
5
|
let _langchain_core_runnables_graph = require("@langchain/core/runnables/graph");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote.d.cts","names":[
|
|
1
|
+
{"version":3,"file":"remote.d.cts","names":[],"sources":["../../src/pregel/remote.ts"],"mappings":"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"}
|
package/dist/pregel/remote.d.ts
CHANGED
|
@@ -3,6 +3,8 @@ import { LangGraphRunnableConfig } from "./runnable_types.js";
|
|
|
3
3
|
import { PregelNode } from "./read.js";
|
|
4
4
|
import { PregelInputType, PregelInterface, PregelOptions, PregelOutputType, PregelParams, StateSnapshot } from "./types.js";
|
|
5
5
|
import { StrRecord } from "./algo.js";
|
|
6
|
+
import "./index.js";
|
|
7
|
+
import "../web.js";
|
|
6
8
|
import { All, CheckpointListOptions } from "@langchain/langgraph-checkpoint";
|
|
7
9
|
import { Runnable, RunnableConfig } from "@langchain/core/runnables";
|
|
8
10
|
import { Graph, Node } from "@langchain/core/runnables/graph";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote.d.ts","names":[
|
|
1
|
+
{"version":3,"file":"remote.d.ts","names":[],"sources":["../../src/pregel/remote.ts"],"mappings":"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"}
|
package/dist/pregel/remote.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { GraphInterrupt, RemoteException } from "../errors.js";
|
|
2
1
|
import { CHECKPOINT_NAMESPACE_SEPARATOR, CONFIG_KEY_STREAM, INTERRUPT, isCommand } from "../constants.js";
|
|
2
|
+
import { GraphInterrupt, RemoteException } from "../errors.js";
|
|
3
3
|
import "../web.js";
|
|
4
4
|
import { Runnable, mergeConfigs } from "@langchain/core/runnables";
|
|
5
5
|
import { Graph } from "@langchain/core/runnables/graph";
|
package/dist/pregel/retry.cjs
CHANGED
package/dist/pregel/retry.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { isGraphBubbleUp, isParentCommand } from "../errors.js";
|
|
2
1
|
import { CONFIG_KEY_RESUMING, Command } from "../constants.js";
|
|
2
|
+
import { isGraphBubbleUp, isParentCommand } from "../errors.js";
|
|
3
3
|
import { getParentCheckpointNamespace } from "./utils/config.js";
|
|
4
4
|
import { patchConfigurable } from "./utils/index.js";
|
|
5
5
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runnable_types.d.cts","names":[
|
|
1
|
+
{"version":3,"file":"runnable_types.d.cts","names":[],"sources":["../../src/pregel/runnable_types.ts"],"mappings":";;;;KAGK,cAAA,0CAGiB,cAAA,GAAiB,cAAA,KAErC,KAAA,EAAO,QAAA,EAEP,OAAA,EAAS,WAAA,KACN,SAAA,GAAY,OAAA,CAAQ,SAAA;AAAA,KAEpB,eAAA,sCACS,SAAA,GAAY,cAAA,CAAa,QAAA,EAAU,SAAA,CAAU,CAAA;AAAA,KAG/C,cAAA,0CAGU,cAAA,GAAiB,cAAA,IAEnC,iBAAA,CAAkB,QAAA,EAAU,SAAA,EAAW,WAAA,IACvC,cAAA,CAAa,QAAA,EAAU,SAAA,EAAW,WAAA,IAClC,eAAA,CAAgB,QAAA,EAAU,SAAA;AAAA,KAEzB,OAAA,UAAiB,CAAA,WAAY,CAAA,MAAO,CAAA,WAAY,CAAA;AAAA,UAEpC,OAAA,eACD,MAAA;EAId,YAAA,GAAe,WAAA;EAvBN;EA0BT,OAAA,GAAU,WAAA;EAzBa;EA4BvB,KAAA,GAAQ,SAAA;EA5Bc;EA+BtB,MAAA,EAAQ,OAAA,CAAQ,UAAA,2BACX,KAAA,qBACD,UAAA;EAxCJ;;;;;;;;;;;;;;AAOgC;;;;;EAsDhC,SAAA,EAAW,OAAA,CAAQ,aAAA,2BACd,KAAA,wBACD,aAAA;EArDqD;EAwDzD,MAAA,EAAQ,WAAA;AAAA;AAAA,UAGO,uBAAA,qBAEK,MAAA,gBAAsB,MAAA,uBAElC,cAAA,CAAe,WAAA,GACrB,OAAA,CAAQ,OAAA,CAAQ,WAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runnable_types.d.ts","names":[
|
|
1
|
+
{"version":3,"file":"runnable_types.d.ts","names":[],"sources":["../../src/pregel/runnable_types.ts"],"mappings":";;;;KAGK,cAAA,0CAGiB,cAAA,GAAiB,cAAA,KAErC,KAAA,EAAO,QAAA,EAEP,OAAA,EAAS,WAAA,KACN,SAAA,GAAY,OAAA,CAAQ,SAAA;AAAA,KAEpB,eAAA,sCACS,SAAA,GAAY,cAAA,CAAa,QAAA,EAAU,SAAA,CAAU,CAAA;AAAA,KAG/C,cAAA,0CAGU,cAAA,GAAiB,cAAA,IAEnC,iBAAA,CAAkB,QAAA,EAAU,SAAA,EAAW,WAAA,IACvC,cAAA,CAAa,QAAA,EAAU,SAAA,EAAW,WAAA,IAClC,eAAA,CAAgB,QAAA,EAAU,SAAA;AAAA,KAEzB,OAAA,UAAiB,CAAA,WAAY,CAAA,MAAO,CAAA,WAAY,CAAA;AAAA,UAEpC,OAAA,eACD,MAAA;EAId,YAAA,GAAe,WAAA;EAvBN;EA0BT,OAAA,GAAU,WAAA;EAzBa;EA4BvB,KAAA,GAAQ,SAAA;EA5Bc;EA+BtB,MAAA,EAAQ,OAAA,CAAQ,UAAA,2BACX,KAAA,qBACD,UAAA;EAxCJ;;;;;;;;;;;;;;AAOgC;;;;;EAsDhC,SAAA,EAAW,OAAA,CAAQ,aAAA,2BACd,KAAA,wBACD,aAAA;EArDqD;EAwDzD,MAAA,EAAQ,WAAA;AAAA;AAAA,UAGO,uBAAA,qBAEK,MAAA,gBAAsB,MAAA,uBAElC,cAAA,CAAe,WAAA,GACrB,OAAA,CAAQ,OAAA,CAAQ,WAAA"}
|
package/dist/pregel/runner.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const require_errors = require('../errors.cjs');
|
|
2
1
|
const require_constants = require('../constants.cjs');
|
|
2
|
+
const require_errors = require('../errors.cjs');
|
|
3
3
|
const require_types = require('./types.cjs');
|
|
4
4
|
const require_index = require('./utils/index.cjs');
|
|
5
5
|
const require_retry = require('./retry.cjs');
|
package/dist/pregel/runner.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { isGraphBubbleUp, isGraphInterrupt } from "../errors.js";
|
|
2
1
|
import { CONFIG_KEY_ABORT_SIGNALS, CONFIG_KEY_CALL, CONFIG_KEY_SCRATCHPAD, ERROR, INTERRUPT, NO_WRITES, RESUME, RETURN, TAG_HIDDEN } from "../constants.js";
|
|
2
|
+
import { isGraphBubbleUp, isGraphInterrupt } from "../errors.js";
|
|
3
3
|
import { Call } from "./types.js";
|
|
4
4
|
import { combineAbortSignals, patchConfigurable } from "./utils/index.js";
|
|
5
5
|
import { _runWithRetry } from "./retry.js";
|
package/dist/pregel/stream.cjs
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
const require_constants = require('../constants.cjs');
|
|
1
2
|
let _langchain_core_utils_stream = require("@langchain/core/utils/stream");
|
|
3
|
+
let _langchain_core_callbacks_base = require("@langchain/core/callbacks/base");
|
|
2
4
|
|
|
3
5
|
//#region src/pregel/stream.ts
|
|
4
6
|
/**
|
|
@@ -84,6 +86,84 @@ var IterableReadableWritableStream = class extends _langchain_core_utils_stream.
|
|
|
84
86
|
this.controller.error(e);
|
|
85
87
|
}
|
|
86
88
|
};
|
|
89
|
+
/**
|
|
90
|
+
* A callback handler that implements stream_mode=tools.
|
|
91
|
+
* Emits on_tool_start, on_tool_event, on_tool_end, on_tool_error events.
|
|
92
|
+
*/
|
|
93
|
+
var StreamToolsHandler = class extends _langchain_core_callbacks_base.BaseCallbackHandler {
|
|
94
|
+
name = "StreamToolsHandler";
|
|
95
|
+
streamFn;
|
|
96
|
+
runs = {};
|
|
97
|
+
constructor(streamFn) {
|
|
98
|
+
super();
|
|
99
|
+
this.streamFn = streamFn;
|
|
100
|
+
}
|
|
101
|
+
handleToolStart(_tool, input, runId, _parentRunId, tags, metadata, runName, toolCallId) {
|
|
102
|
+
if (!metadata || tags && tags.includes(require_constants.TAG_HIDDEN)) return;
|
|
103
|
+
const ns = metadata.langgraph_checkpoint_ns?.split("|") ?? [];
|
|
104
|
+
const info = {
|
|
105
|
+
ns,
|
|
106
|
+
toolCallId,
|
|
107
|
+
toolName: runName ?? "unknown",
|
|
108
|
+
input
|
|
109
|
+
};
|
|
110
|
+
this.runs[runId] = info;
|
|
111
|
+
this.streamFn([
|
|
112
|
+
ns,
|
|
113
|
+
"tools",
|
|
114
|
+
{
|
|
115
|
+
event: "on_tool_start",
|
|
116
|
+
toolCallId: info.toolCallId,
|
|
117
|
+
name: info.toolName,
|
|
118
|
+
input
|
|
119
|
+
}
|
|
120
|
+
]);
|
|
121
|
+
}
|
|
122
|
+
handleToolEvent(chunk, runId) {
|
|
123
|
+
const info = this.runs[runId];
|
|
124
|
+
if (!info) return;
|
|
125
|
+
this.streamFn([
|
|
126
|
+
info.ns,
|
|
127
|
+
"tools",
|
|
128
|
+
{
|
|
129
|
+
event: "on_tool_event",
|
|
130
|
+
toolCallId: info.toolCallId,
|
|
131
|
+
name: info.toolName,
|
|
132
|
+
data: chunk
|
|
133
|
+
}
|
|
134
|
+
]);
|
|
135
|
+
}
|
|
136
|
+
handleToolEnd(output, runId) {
|
|
137
|
+
const info = this.runs[runId];
|
|
138
|
+
delete this.runs[runId];
|
|
139
|
+
if (!info) return;
|
|
140
|
+
this.streamFn([
|
|
141
|
+
info.ns,
|
|
142
|
+
"tools",
|
|
143
|
+
{
|
|
144
|
+
event: "on_tool_end",
|
|
145
|
+
toolCallId: info.toolCallId,
|
|
146
|
+
name: info.toolName,
|
|
147
|
+
output
|
|
148
|
+
}
|
|
149
|
+
]);
|
|
150
|
+
}
|
|
151
|
+
handleToolError(err, runId) {
|
|
152
|
+
const info = this.runs[runId];
|
|
153
|
+
delete this.runs[runId];
|
|
154
|
+
if (!info) return;
|
|
155
|
+
this.streamFn([
|
|
156
|
+
info.ns,
|
|
157
|
+
"tools",
|
|
158
|
+
{
|
|
159
|
+
event: "on_tool_error",
|
|
160
|
+
toolCallId: info.toolCallId,
|
|
161
|
+
name: info.toolName,
|
|
162
|
+
error: err
|
|
163
|
+
}
|
|
164
|
+
]);
|
|
165
|
+
}
|
|
166
|
+
};
|
|
87
167
|
function _stringifyAsDict(obj) {
|
|
88
168
|
return JSON.stringify(obj, function(key, value) {
|
|
89
169
|
const rawValue = this[key];
|
|
@@ -193,5 +273,6 @@ function toEventStream(stream) {
|
|
|
193
273
|
//#endregion
|
|
194
274
|
exports.IterableReadableStreamWithAbortSignal = IterableReadableStreamWithAbortSignal;
|
|
195
275
|
exports.IterableReadableWritableStream = IterableReadableWritableStream;
|
|
276
|
+
exports.StreamToolsHandler = StreamToolsHandler;
|
|
196
277
|
exports.toEventStream = toEventStream;
|
|
197
278
|
//# sourceMappingURL=stream.cjs.map
|