@langchain/langgraph 1.0.7 → 1.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/channels/any_value.cjs.map +1 -1
- 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/any_value.js.map +1 -1
- package/dist/channels/base.cjs +2 -3
- package/dist/channels/base.cjs.map +1 -1
- package/dist/channels/base.d.cts.map +1 -1
- package/dist/channels/base.d.ts.map +1 -1
- package/dist/channels/base.js.map +1 -1
- package/dist/channels/binop.cjs.map +1 -1
- package/dist/channels/binop.d.cts.map +1 -1
- package/dist/channels/binop.d.ts.map +1 -1
- package/dist/channels/binop.js.map +1 -1
- package/dist/channels/dynamic_barrier_value.cjs +0 -1
- package/dist/channels/dynamic_barrier_value.cjs.map +1 -1
- package/dist/channels/dynamic_barrier_value.d.cts +1 -3
- package/dist/channels/dynamic_barrier_value.d.cts.map +1 -1
- package/dist/channels/dynamic_barrier_value.d.ts +1 -3
- package/dist/channels/dynamic_barrier_value.d.ts.map +1 -1
- package/dist/channels/dynamic_barrier_value.js +0 -1
- package/dist/channels/dynamic_barrier_value.js.map +1 -1
- package/dist/channels/ephemeral_value.cjs.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/ephemeral_value.js.map +1 -1
- package/dist/channels/last_value.cjs.map +1 -1
- package/dist/channels/last_value.d.cts +0 -2
- package/dist/channels/last_value.d.cts.map +1 -1
- package/dist/channels/last_value.d.ts +0 -2
- package/dist/channels/last_value.d.ts.map +1 -1
- package/dist/channels/last_value.js.map +1 -1
- package/dist/channels/named_barrier_value.cjs +0 -2
- package/dist/channels/named_barrier_value.cjs.map +1 -1
- package/dist/channels/named_barrier_value.d.cts +2 -4
- package/dist/channels/named_barrier_value.d.cts.map +1 -1
- package/dist/channels/named_barrier_value.d.ts +2 -4
- package/dist/channels/named_barrier_value.d.ts.map +1 -1
- package/dist/channels/named_barrier_value.js +0 -2
- package/dist/channels/named_barrier_value.js.map +1 -1
- package/dist/channels/topic.cjs.map +1 -1
- package/dist/channels/topic.d.cts.map +1 -1
- package/dist/channels/topic.d.ts.map +1 -1
- package/dist/channels/topic.js.map +1 -1
- package/dist/constants.cjs.map +1 -1
- package/dist/constants.d.cts +2 -6
- package/dist/constants.d.cts.map +1 -1
- package/dist/constants.d.ts +2 -6
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js.map +1 -1
- package/dist/errors.cjs.map +1 -1
- package/dist/errors.d.cts +0 -4
- package/dist/errors.d.cts.map +1 -1
- package/dist/errors.d.ts +0 -4
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js.map +1 -1
- package/dist/func/index.cjs +2 -4
- package/dist/func/index.cjs.map +1 -1
- package/dist/func/index.d.cts +1 -6
- package/dist/func/index.d.cts.map +1 -1
- package/dist/func/index.d.ts +1 -6
- package/dist/func/index.d.ts.map +1 -1
- package/dist/func/index.js +1 -2
- package/dist/func/index.js.map +1 -1
- package/dist/func/types.d.cts +2 -4
- package/dist/func/types.d.cts.map +1 -1
- package/dist/func/types.d.ts +2 -4
- package/dist/func/types.d.ts.map +1 -1
- package/dist/graph/annotation.cjs.map +1 -1
- package/dist/graph/annotation.d.cts.map +1 -1
- package/dist/graph/annotation.d.ts.map +1 -1
- package/dist/graph/annotation.js.map +1 -1
- package/dist/graph/graph.cjs +15 -18
- package/dist/graph/graph.cjs.map +1 -1
- package/dist/graph/graph.d.cts +4 -28
- package/dist/graph/graph.d.cts.map +1 -1
- package/dist/graph/graph.d.ts +4 -28
- package/dist/graph/graph.d.ts.map +1 -1
- package/dist/graph/graph.js +4 -6
- package/dist/graph/graph.js.map +1 -1
- package/dist/graph/message.cjs +8 -10
- package/dist/graph/message.cjs.map +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/message.js +3 -4
- package/dist/graph/message.js.map +1 -1
- package/dist/graph/messages_annotation.cjs +1 -2
- package/dist/graph/messages_annotation.cjs.map +1 -1
- package/dist/graph/messages_annotation.d.cts +5 -5
- package/dist/graph/messages_annotation.d.cts.map +1 -1
- package/dist/graph/messages_annotation.d.ts +5 -5
- package/dist/graph/messages_annotation.d.ts.map +1 -1
- package/dist/graph/messages_annotation.js.map +1 -1
- package/dist/graph/state.cjs +23 -30
- package/dist/graph/state.cjs.map +1 -1
- package/dist/graph/state.d.cts +2 -9
- package/dist/graph/state.d.cts.map +1 -1
- package/dist/graph/state.d.ts +2 -9
- package/dist/graph/state.d.ts.map +1 -1
- package/dist/graph/state.js +6 -12
- package/dist/graph/state.js.map +1 -1
- package/dist/graph/zod/meta.cjs +8 -9
- package/dist/graph/zod/meta.cjs.map +1 -1
- package/dist/graph/zod/meta.d.cts +0 -1
- package/dist/graph/zod/meta.d.cts.map +1 -1
- package/dist/graph/zod/meta.d.ts +0 -1
- package/dist/graph/zod/meta.d.ts.map +1 -1
- package/dist/graph/zod/meta.js.map +1 -1
- package/dist/graph/zod/plugin.cjs +4 -6
- package/dist/graph/zod/plugin.cjs.map +1 -1
- package/dist/graph/zod/plugin.js +1 -2
- package/dist/graph/zod/plugin.js.map +1 -1
- package/dist/graph/zod/schema.cjs +2 -3
- package/dist/graph/zod/schema.cjs.map +1 -1
- package/dist/graph/zod/schema.d.cts.map +1 -1
- package/dist/graph/zod/schema.d.ts.map +1 -1
- package/dist/graph/zod/schema.js.map +1 -1
- package/dist/graph/zod/zod-registry.cjs +3 -4
- package/dist/graph/zod/zod-registry.cjs.map +1 -1
- package/dist/graph/zod/zod-registry.d.cts +0 -2
- package/dist/graph/zod/zod-registry.d.cts.map +1 -1
- package/dist/graph/zod/zod-registry.d.ts +0 -2
- package/dist/graph/zod/zod-registry.d.ts.map +1 -1
- package/dist/graph/zod/zod-registry.js.map +1 -1
- package/dist/hash.cjs +4 -10
- package/dist/hash.cjs.map +1 -1
- package/dist/hash.js +4 -10
- package/dist/hash.js.map +1 -1
- package/dist/index.cjs +8 -9
- package/dist/index.cjs.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/interrupt.cjs +4 -7
- package/dist/interrupt.cjs.map +1 -1
- package/dist/interrupt.d.cts +1 -4
- package/dist/interrupt.d.cts.map +1 -1
- package/dist/interrupt.d.ts +1 -4
- package/dist/interrupt.d.ts.map +1 -1
- package/dist/interrupt.js +2 -4
- package/dist/interrupt.js.map +1 -1
- package/dist/prebuilt/agentName.cjs +14 -19
- package/dist/prebuilt/agentName.cjs.map +1 -1
- package/dist/prebuilt/agentName.js +6 -10
- package/dist/prebuilt/agentName.js.map +1 -1
- package/dist/prebuilt/agent_executor.cjs +4 -7
- package/dist/prebuilt/agent_executor.cjs.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 +5 -5
- package/dist/prebuilt/agent_executor.d.ts.map +1 -1
- package/dist/prebuilt/agent_executor.js +4 -7
- package/dist/prebuilt/agent_executor.js.map +1 -1
- package/dist/prebuilt/chat_agent_executor.cjs +11 -17
- package/dist/prebuilt/chat_agent_executor.cjs.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/chat_agent_executor.js +7 -12
- package/dist/prebuilt/chat_agent_executor.js.map +1 -1
- package/dist/prebuilt/interrupt.d.cts +0 -1
- package/dist/prebuilt/interrupt.d.cts.map +1 -1
- package/dist/prebuilt/interrupt.d.ts +0 -1
- package/dist/prebuilt/interrupt.d.ts.map +1 -1
- package/dist/prebuilt/react_agent_executor.cjs +35 -40
- package/dist/prebuilt/react_agent_executor.cjs.map +1 -1
- package/dist/prebuilt/react_agent_executor.d.cts +8 -27
- package/dist/prebuilt/react_agent_executor.d.cts.map +1 -1
- package/dist/prebuilt/react_agent_executor.d.ts +8 -27
- package/dist/prebuilt/react_agent_executor.d.ts.map +1 -1
- package/dist/prebuilt/react_agent_executor.js +8 -12
- package/dist/prebuilt/react_agent_executor.js.map +1 -1
- package/dist/prebuilt/tool_executor.cjs +4 -9
- package/dist/prebuilt/tool_executor.cjs.map +1 -1
- package/dist/prebuilt/tool_executor.d.cts +0 -2
- package/dist/prebuilt/tool_executor.d.cts.map +1 -1
- package/dist/prebuilt/tool_executor.d.ts +0 -2
- package/dist/prebuilt/tool_executor.d.ts.map +1 -1
- package/dist/prebuilt/tool_executor.js +1 -5
- package/dist/prebuilt/tool_executor.js.map +1 -1
- package/dist/prebuilt/tool_node.cjs +7 -8
- package/dist/prebuilt/tool_node.cjs.map +1 -1
- package/dist/prebuilt/tool_node.d.cts +0 -2
- package/dist/prebuilt/tool_node.d.cts.map +1 -1
- package/dist/prebuilt/tool_node.d.ts +0 -2
- package/dist/prebuilt/tool_node.d.ts.map +1 -1
- package/dist/prebuilt/tool_node.js.map +1 -1
- package/dist/pregel/algo.cjs +33 -41
- package/dist/pregel/algo.cjs.map +1 -1
- package/dist/pregel/algo.d.cts.map +1 -1
- package/dist/pregel/algo.d.ts.map +1 -1
- package/dist/pregel/algo.js +22 -29
- package/dist/pregel/algo.js.map +1 -1
- package/dist/pregel/call.cjs +11 -14
- package/dist/pregel/call.cjs.map +1 -1
- package/dist/pregel/call.js +7 -9
- package/dist/pregel/call.js.map +1 -1
- package/dist/pregel/debug.cjs +6 -9
- package/dist/pregel/debug.cjs.map +1 -1
- package/dist/pregel/debug.js +6 -9
- package/dist/pregel/debug.js.map +1 -1
- package/dist/pregel/index.cjs +28 -35
- package/dist/pregel/index.cjs.map +1 -1
- package/dist/pregel/index.d.cts +6 -54
- package/dist/pregel/index.d.cts.map +1 -1
- package/dist/pregel/index.d.ts +6 -54
- package/dist/pregel/index.d.ts.map +1 -1
- package/dist/pregel/index.js +10 -16
- package/dist/pregel/index.js.map +1 -1
- package/dist/pregel/io.cjs.map +1 -1
- package/dist/pregel/io.js.map +1 -1
- package/dist/pregel/loop.cjs +9 -12
- package/dist/pregel/loop.cjs.map +1 -1
- package/dist/pregel/loop.js +2 -4
- package/dist/pregel/loop.js.map +1 -1
- package/dist/pregel/messages.cjs +13 -14
- package/dist/pregel/messages.cjs.map +1 -1
- package/dist/pregel/messages.js.map +1 -1
- package/dist/pregel/read.cjs +7 -8
- package/dist/pregel/read.cjs.map +1 -1
- package/dist/pregel/read.d.cts +0 -6
- package/dist/pregel/read.d.cts.map +1 -1
- package/dist/pregel/read.d.ts +0 -6
- package/dist/pregel/read.d.ts.map +1 -1
- package/dist/pregel/read.js +1 -1
- package/dist/pregel/read.js.map +1 -1
- package/dist/pregel/remote.cjs +24 -32
- package/dist/pregel/remote.cjs.map +1 -1
- package/dist/pregel/remote.d.cts +1 -6
- package/dist/pregel/remote.d.cts.map +1 -1
- package/dist/pregel/remote.d.ts +1 -6
- package/dist/pregel/remote.d.ts.map +1 -1
- package/dist/pregel/remote.js +12 -19
- package/dist/pregel/remote.js.map +1 -1
- package/dist/pregel/retry.cjs +1 -2
- package/dist/pregel/retry.cjs.map +1 -1
- package/dist/pregel/retry.js +1 -2
- package/dist/pregel/retry.js.map +1 -1
- package/dist/pregel/runnable_types.d.cts +2 -8
- package/dist/pregel/runnable_types.d.cts.map +1 -1
- package/dist/pregel/runnable_types.d.ts +2 -8
- package/dist/pregel/runnable_types.d.ts.map +1 -1
- package/dist/pregel/runner.cjs +1 -1
- package/dist/pregel/runner.cjs.map +1 -1
- package/dist/pregel/runner.js +1 -1
- package/dist/pregel/runner.js.map +1 -1
- package/dist/pregel/stream.cjs +4 -6
- package/dist/pregel/stream.cjs.map +1 -1
- package/dist/pregel/stream.js +1 -2
- package/dist/pregel/stream.js.map +1 -1
- package/dist/pregel/types.d.cts +5 -18
- package/dist/pregel/types.d.cts.map +1 -1
- package/dist/pregel/types.d.ts +5 -18
- package/dist/pregel/types.d.ts.map +1 -1
- package/dist/pregel/utils/config.cjs +6 -7
- package/dist/pregel/utils/config.cjs.map +1 -1
- package/dist/pregel/utils/config.d.cts.map +1 -1
- package/dist/pregel/utils/config.d.ts.map +1 -1
- package/dist/pregel/utils/config.js.map +1 -1
- package/dist/pregel/utils/index.cjs +1 -2
- package/dist/pregel/utils/index.cjs.map +1 -1
- package/dist/pregel/utils/index.d.cts +1 -1
- package/dist/pregel/utils/index.d.cts.map +1 -1
- package/dist/pregel/utils/index.d.ts +1 -1
- package/dist/pregel/utils/index.d.ts.map +1 -1
- package/dist/pregel/utils/index.js +1 -2
- package/dist/pregel/utils/index.js.map +1 -1
- package/dist/pregel/utils/subgraph.cjs +0 -1
- package/dist/pregel/utils/subgraph.cjs.map +1 -1
- package/dist/pregel/utils/subgraph.js +0 -1
- package/dist/pregel/utils/subgraph.js.map +1 -1
- package/dist/pregel/validate.cjs.map +1 -1
- package/dist/pregel/validate.js.map +1 -1
- package/dist/pregel/write.cjs +2 -3
- package/dist/pregel/write.cjs.map +1 -1
- package/dist/pregel/write.d.cts +1 -5
- package/dist/pregel/write.d.cts.map +1 -1
- package/dist/pregel/write.d.ts +1 -5
- package/dist/pregel/write.d.ts.map +1 -1
- package/dist/pregel/write.js.map +1 -1
- package/dist/setup/async_local_storage.cjs +3 -4
- package/dist/setup/async_local_storage.cjs.map +1 -1
- package/dist/setup/async_local_storage.js.map +1 -1
- package/dist/utils.cjs +9 -11
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.cts +1 -8
- package/dist/utils.d.cts.map +1 -1
- package/dist/utils.d.ts +1 -8
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +1 -2
- package/dist/utils.js.map +1 -1
- package/dist/web.cjs +8 -9
- package/dist/writer.cjs +2 -3
- package/dist/writer.cjs.map +1 -1
- package/dist/writer.d.cts +1 -2
- package/dist/writer.d.cts.map +1 -1
- package/dist/writer.d.ts +1 -2
- package/dist/writer.d.ts.map +1 -1
- package/dist/writer.js.map +1 -1
- package/package.json +7 -7
- package/CHANGELOG.md +0 -286
- package/dist/_virtual/rolldown_runtime.cjs +0 -25
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.cjs","names":["INTERRUPT","PregelNode"],"sources":["../../src/pregel/validate.ts"],"sourcesContent":["import { All } from \"@langchain/langgraph-checkpoint\";\nimport { BaseChannel } from \"../channels/index.js\";\nimport { INTERRUPT } from \"../constants.js\";\nimport { PregelNode } from \"./read.js\";\n\nexport class GraphValidationError extends Error {\n constructor(message?: string) {\n super(message);\n this.name = \"GraphValidationError\";\n }\n}\n\nexport function validateGraph<\n Nn extends Record<string, PregelNode>,\n Cc extends Record<string, BaseChannel>\n>({\n nodes,\n channels,\n inputChannels,\n outputChannels,\n streamChannels,\n interruptAfterNodes,\n interruptBeforeNodes,\n}: {\n nodes: Nn;\n channels: Cc;\n inputChannels: keyof Cc | Array<keyof Cc>;\n outputChannels: keyof Cc | Array<keyof Cc>;\n streamChannels?: keyof Cc | Array<keyof Cc>;\n interruptAfterNodes?: Array<keyof Nn> | All;\n interruptBeforeNodes?: Array<keyof Nn> | All;\n}): void {\n if (!channels) {\n throw new GraphValidationError(\"Channels not provided\");\n }\n\n const subscribedChannels = new Set<keyof Cc>();\n const allOutputChannels = new Set<keyof Cc>();\n\n for (const [name, node] of Object.entries(nodes)) {\n if (name === INTERRUPT) {\n throw new GraphValidationError(`\"Node name ${INTERRUPT} is reserved\"`);\n }\n if (node.constructor === PregelNode) {\n node.triggers.forEach((trigger) => subscribedChannels.add(trigger));\n } else {\n throw new GraphValidationError(\n `Invalid node type ${typeof node}, expected PregelNode`\n );\n }\n }\n\n // side effect: update channels\n for (const chan of subscribedChannels) {\n if (!(chan in channels)) {\n throw new GraphValidationError(\n `Subscribed channel '${String(chan)}' not in channels`\n );\n }\n }\n\n if (!Array.isArray(inputChannels)) {\n if (!subscribedChannels.has(inputChannels)) {\n throw new GraphValidationError(\n `Input channel ${String(\n inputChannels\n )} is not subscribed to by any node`\n );\n }\n } else {\n if (inputChannels.every((channel) => !subscribedChannels.has(channel))) {\n throw new GraphValidationError(\n `None of the input channels ${inputChannels} are subscribed to by any node`\n );\n }\n }\n\n if (!Array.isArray(outputChannels)) {\n allOutputChannels.add(outputChannels);\n } else {\n outputChannels.forEach((chan) => allOutputChannels.add(chan));\n }\n\n if (streamChannels && !Array.isArray(streamChannels)) {\n allOutputChannels.add(streamChannels);\n } else if (Array.isArray(streamChannels)) {\n streamChannels.forEach((chan) => allOutputChannels.add(chan));\n }\n\n for (const chan of allOutputChannels) {\n if (!(chan in channels)) {\n throw new GraphValidationError(\n `Output channel '${String(chan)}' not in channels`\n );\n }\n }\n\n // validate interrupt before/after\n if (interruptAfterNodes && interruptAfterNodes !== \"*\") {\n for (const node of interruptAfterNodes) {\n if (!(node in nodes)) {\n throw new GraphValidationError(`Node ${String(node)} not in nodes`);\n }\n }\n }\n\n if (interruptBeforeNodes && interruptBeforeNodes !== \"*\") {\n for (const node of interruptBeforeNodes) {\n if (!(node in nodes)) {\n throw new GraphValidationError(`Node ${String(node)} not in nodes`);\n }\n }\n }\n}\n\nexport function validateKeys<Cc extends Record<string, BaseChannel>>(\n keys: keyof Cc | Array<keyof Cc>,\n channels: Cc\n): void {\n if (Array.isArray(keys)) {\n for (const key of keys) {\n if (!(key in channels)) {\n throw new Error(`Key ${String(key)} not found in channels`);\n }\n }\n } else {\n if (!(keys in channels)) {\n throw new Error(`Key ${String(keys)} not found in channels`);\n }\n }\n}\n"],"mappings":";;;;AAKA,IAAa,uBAAb,cAA0C,MAAM;CAC9C,YAAY,SAAkB;AAC5B,QAAM;
|
|
1
|
+
{"version":3,"file":"validate.cjs","names":["INTERRUPT","PregelNode"],"sources":["../../src/pregel/validate.ts"],"sourcesContent":["import { All } from \"@langchain/langgraph-checkpoint\";\nimport { BaseChannel } from \"../channels/index.js\";\nimport { INTERRUPT } from \"../constants.js\";\nimport { PregelNode } from \"./read.js\";\n\nexport class GraphValidationError extends Error {\n constructor(message?: string) {\n super(message);\n this.name = \"GraphValidationError\";\n }\n}\n\nexport function validateGraph<\n Nn extends Record<string, PregelNode>,\n Cc extends Record<string, BaseChannel>\n>({\n nodes,\n channels,\n inputChannels,\n outputChannels,\n streamChannels,\n interruptAfterNodes,\n interruptBeforeNodes,\n}: {\n nodes: Nn;\n channels: Cc;\n inputChannels: keyof Cc | Array<keyof Cc>;\n outputChannels: keyof Cc | Array<keyof Cc>;\n streamChannels?: keyof Cc | Array<keyof Cc>;\n interruptAfterNodes?: Array<keyof Nn> | All;\n interruptBeforeNodes?: Array<keyof Nn> | All;\n}): void {\n if (!channels) {\n throw new GraphValidationError(\"Channels not provided\");\n }\n\n const subscribedChannels = new Set<keyof Cc>();\n const allOutputChannels = new Set<keyof Cc>();\n\n for (const [name, node] of Object.entries(nodes)) {\n if (name === INTERRUPT) {\n throw new GraphValidationError(`\"Node name ${INTERRUPT} is reserved\"`);\n }\n if (node.constructor === PregelNode) {\n node.triggers.forEach((trigger) => subscribedChannels.add(trigger));\n } else {\n throw new GraphValidationError(\n `Invalid node type ${typeof node}, expected PregelNode`\n );\n }\n }\n\n // side effect: update channels\n for (const chan of subscribedChannels) {\n if (!(chan in channels)) {\n throw new GraphValidationError(\n `Subscribed channel '${String(chan)}' not in channels`\n );\n }\n }\n\n if (!Array.isArray(inputChannels)) {\n if (!subscribedChannels.has(inputChannels)) {\n throw new GraphValidationError(\n `Input channel ${String(\n inputChannels\n )} is not subscribed to by any node`\n );\n }\n } else {\n if (inputChannels.every((channel) => !subscribedChannels.has(channel))) {\n throw new GraphValidationError(\n `None of the input channels ${inputChannels} are subscribed to by any node`\n );\n }\n }\n\n if (!Array.isArray(outputChannels)) {\n allOutputChannels.add(outputChannels);\n } else {\n outputChannels.forEach((chan) => allOutputChannels.add(chan));\n }\n\n if (streamChannels && !Array.isArray(streamChannels)) {\n allOutputChannels.add(streamChannels);\n } else if (Array.isArray(streamChannels)) {\n streamChannels.forEach((chan) => allOutputChannels.add(chan));\n }\n\n for (const chan of allOutputChannels) {\n if (!(chan in channels)) {\n throw new GraphValidationError(\n `Output channel '${String(chan)}' not in channels`\n );\n }\n }\n\n // validate interrupt before/after\n if (interruptAfterNodes && interruptAfterNodes !== \"*\") {\n for (const node of interruptAfterNodes) {\n if (!(node in nodes)) {\n throw new GraphValidationError(`Node ${String(node)} not in nodes`);\n }\n }\n }\n\n if (interruptBeforeNodes && interruptBeforeNodes !== \"*\") {\n for (const node of interruptBeforeNodes) {\n if (!(node in nodes)) {\n throw new GraphValidationError(`Node ${String(node)} not in nodes`);\n }\n }\n }\n}\n\nexport function validateKeys<Cc extends Record<string, BaseChannel>>(\n keys: keyof Cc | Array<keyof Cc>,\n channels: Cc\n): void {\n if (Array.isArray(keys)) {\n for (const key of keys) {\n if (!(key in channels)) {\n throw new Error(`Key ${String(key)} not found in channels`);\n }\n }\n } else {\n if (!(keys in channels)) {\n throw new Error(`Key ${String(keys)} not found in channels`);\n }\n }\n}\n"],"mappings":";;;;AAKA,IAAa,uBAAb,cAA0C,MAAM;CAC9C,YAAY,SAAkB;AAC5B,QAAM,QAAQ;AACd,OAAK,OAAO;;;AAIhB,SAAgB,cAGd,EACA,OACA,UACA,eACA,gBACA,gBACA,qBACA,wBASO;AACP,KAAI,CAAC,SACH,OAAM,IAAI,qBAAqB,wBAAwB;CAGzD,MAAM,qCAAqB,IAAI,KAAe;CAC9C,MAAM,oCAAoB,IAAI,KAAe;AAE7C,MAAK,MAAM,CAAC,MAAM,SAAS,OAAO,QAAQ,MAAM,EAAE;AAChD,MAAI,SAASA,4BACX,OAAM,IAAI,qBAAqB,cAAcA,4BAAU,eAAe;AAExE,MAAI,KAAK,gBAAgBC,wBACvB,MAAK,SAAS,SAAS,YAAY,mBAAmB,IAAI,QAAQ,CAAC;MAEnE,OAAM,IAAI,qBACR,qBAAqB,OAAO,KAAK,uBAClC;;AAKL,MAAK,MAAM,QAAQ,mBACjB,KAAI,EAAE,QAAQ,UACZ,OAAM,IAAI,qBACR,uBAAuB,OAAO,KAAK,CAAC,mBACrC;AAIL,KAAI,CAAC,MAAM,QAAQ,cAAc,EAC/B;MAAI,CAAC,mBAAmB,IAAI,cAAc,CACxC,OAAM,IAAI,qBACR,iBAAiB,OACf,cACD,CAAC,mCACH;YAGC,cAAc,OAAO,YAAY,CAAC,mBAAmB,IAAI,QAAQ,CAAC,CACpE,OAAM,IAAI,qBACR,8BAA8B,cAAc,gCAC7C;AAIL,KAAI,CAAC,MAAM,QAAQ,eAAe,CAChC,mBAAkB,IAAI,eAAe;KAErC,gBAAe,SAAS,SAAS,kBAAkB,IAAI,KAAK,CAAC;AAG/D,KAAI,kBAAkB,CAAC,MAAM,QAAQ,eAAe,CAClD,mBAAkB,IAAI,eAAe;UAC5B,MAAM,QAAQ,eAAe,CACtC,gBAAe,SAAS,SAAS,kBAAkB,IAAI,KAAK,CAAC;AAG/D,MAAK,MAAM,QAAQ,kBACjB,KAAI,EAAE,QAAQ,UACZ,OAAM,IAAI,qBACR,mBAAmB,OAAO,KAAK,CAAC,mBACjC;AAKL,KAAI,uBAAuB,wBAAwB,KACjD;OAAK,MAAM,QAAQ,oBACjB,KAAI,EAAE,QAAQ,OACZ,OAAM,IAAI,qBAAqB,QAAQ,OAAO,KAAK,CAAC,eAAe;;AAKzE,KAAI,wBAAwB,yBAAyB,KACnD;OAAK,MAAM,QAAQ,qBACjB,KAAI,EAAE,QAAQ,OACZ,OAAM,IAAI,qBAAqB,QAAQ,OAAO,KAAK,CAAC,eAAe;;;AAM3E,SAAgB,aACd,MACA,UACM;AACN,KAAI,MAAM,QAAQ,KAAK,EACrB;OAAK,MAAM,OAAO,KAChB,KAAI,EAAE,OAAO,UACX,OAAM,IAAI,MAAM,OAAO,OAAO,IAAI,CAAC,wBAAwB;YAI3D,EAAE,QAAQ,UACZ,OAAM,IAAI,MAAM,OAAO,OAAO,KAAK,CAAC,wBAAwB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","names":[],"sources":["../../src/pregel/validate.ts"],"sourcesContent":["import { All } from \"@langchain/langgraph-checkpoint\";\nimport { BaseChannel } from \"../channels/index.js\";\nimport { INTERRUPT } from \"../constants.js\";\nimport { PregelNode } from \"./read.js\";\n\nexport class GraphValidationError extends Error {\n constructor(message?: string) {\n super(message);\n this.name = \"GraphValidationError\";\n }\n}\n\nexport function validateGraph<\n Nn extends Record<string, PregelNode>,\n Cc extends Record<string, BaseChannel>\n>({\n nodes,\n channels,\n inputChannels,\n outputChannels,\n streamChannels,\n interruptAfterNodes,\n interruptBeforeNodes,\n}: {\n nodes: Nn;\n channels: Cc;\n inputChannels: keyof Cc | Array<keyof Cc>;\n outputChannels: keyof Cc | Array<keyof Cc>;\n streamChannels?: keyof Cc | Array<keyof Cc>;\n interruptAfterNodes?: Array<keyof Nn> | All;\n interruptBeforeNodes?: Array<keyof Nn> | All;\n}): void {\n if (!channels) {\n throw new GraphValidationError(\"Channels not provided\");\n }\n\n const subscribedChannels = new Set<keyof Cc>();\n const allOutputChannels = new Set<keyof Cc>();\n\n for (const [name, node] of Object.entries(nodes)) {\n if (name === INTERRUPT) {\n throw new GraphValidationError(`\"Node name ${INTERRUPT} is reserved\"`);\n }\n if (node.constructor === PregelNode) {\n node.triggers.forEach((trigger) => subscribedChannels.add(trigger));\n } else {\n throw new GraphValidationError(\n `Invalid node type ${typeof node}, expected PregelNode`\n );\n }\n }\n\n // side effect: update channels\n for (const chan of subscribedChannels) {\n if (!(chan in channels)) {\n throw new GraphValidationError(\n `Subscribed channel '${String(chan)}' not in channels`\n );\n }\n }\n\n if (!Array.isArray(inputChannels)) {\n if (!subscribedChannels.has(inputChannels)) {\n throw new GraphValidationError(\n `Input channel ${String(\n inputChannels\n )} is not subscribed to by any node`\n );\n }\n } else {\n if (inputChannels.every((channel) => !subscribedChannels.has(channel))) {\n throw new GraphValidationError(\n `None of the input channels ${inputChannels} are subscribed to by any node`\n );\n }\n }\n\n if (!Array.isArray(outputChannels)) {\n allOutputChannels.add(outputChannels);\n } else {\n outputChannels.forEach((chan) => allOutputChannels.add(chan));\n }\n\n if (streamChannels && !Array.isArray(streamChannels)) {\n allOutputChannels.add(streamChannels);\n } else if (Array.isArray(streamChannels)) {\n streamChannels.forEach((chan) => allOutputChannels.add(chan));\n }\n\n for (const chan of allOutputChannels) {\n if (!(chan in channels)) {\n throw new GraphValidationError(\n `Output channel '${String(chan)}' not in channels`\n );\n }\n }\n\n // validate interrupt before/after\n if (interruptAfterNodes && interruptAfterNodes !== \"*\") {\n for (const node of interruptAfterNodes) {\n if (!(node in nodes)) {\n throw new GraphValidationError(`Node ${String(node)} not in nodes`);\n }\n }\n }\n\n if (interruptBeforeNodes && interruptBeforeNodes !== \"*\") {\n for (const node of interruptBeforeNodes) {\n if (!(node in nodes)) {\n throw new GraphValidationError(`Node ${String(node)} not in nodes`);\n }\n }\n }\n}\n\nexport function validateKeys<Cc extends Record<string, BaseChannel>>(\n keys: keyof Cc | Array<keyof Cc>,\n channels: Cc\n): void {\n if (Array.isArray(keys)) {\n for (const key of keys) {\n if (!(key in channels)) {\n throw new Error(`Key ${String(key)} not found in channels`);\n }\n }\n } else {\n if (!(keys in channels)) {\n throw new Error(`Key ${String(keys)} not found in channels`);\n }\n }\n}\n"],"mappings":";;;;AAKA,IAAa,uBAAb,cAA0C,MAAM;CAC9C,YAAY,SAAkB;AAC5B,QAAM;
|
|
1
|
+
{"version":3,"file":"validate.js","names":[],"sources":["../../src/pregel/validate.ts"],"sourcesContent":["import { All } from \"@langchain/langgraph-checkpoint\";\nimport { BaseChannel } from \"../channels/index.js\";\nimport { INTERRUPT } from \"../constants.js\";\nimport { PregelNode } from \"./read.js\";\n\nexport class GraphValidationError extends Error {\n constructor(message?: string) {\n super(message);\n this.name = \"GraphValidationError\";\n }\n}\n\nexport function validateGraph<\n Nn extends Record<string, PregelNode>,\n Cc extends Record<string, BaseChannel>\n>({\n nodes,\n channels,\n inputChannels,\n outputChannels,\n streamChannels,\n interruptAfterNodes,\n interruptBeforeNodes,\n}: {\n nodes: Nn;\n channels: Cc;\n inputChannels: keyof Cc | Array<keyof Cc>;\n outputChannels: keyof Cc | Array<keyof Cc>;\n streamChannels?: keyof Cc | Array<keyof Cc>;\n interruptAfterNodes?: Array<keyof Nn> | All;\n interruptBeforeNodes?: Array<keyof Nn> | All;\n}): void {\n if (!channels) {\n throw new GraphValidationError(\"Channels not provided\");\n }\n\n const subscribedChannels = new Set<keyof Cc>();\n const allOutputChannels = new Set<keyof Cc>();\n\n for (const [name, node] of Object.entries(nodes)) {\n if (name === INTERRUPT) {\n throw new GraphValidationError(`\"Node name ${INTERRUPT} is reserved\"`);\n }\n if (node.constructor === PregelNode) {\n node.triggers.forEach((trigger) => subscribedChannels.add(trigger));\n } else {\n throw new GraphValidationError(\n `Invalid node type ${typeof node}, expected PregelNode`\n );\n }\n }\n\n // side effect: update channels\n for (const chan of subscribedChannels) {\n if (!(chan in channels)) {\n throw new GraphValidationError(\n `Subscribed channel '${String(chan)}' not in channels`\n );\n }\n }\n\n if (!Array.isArray(inputChannels)) {\n if (!subscribedChannels.has(inputChannels)) {\n throw new GraphValidationError(\n `Input channel ${String(\n inputChannels\n )} is not subscribed to by any node`\n );\n }\n } else {\n if (inputChannels.every((channel) => !subscribedChannels.has(channel))) {\n throw new GraphValidationError(\n `None of the input channels ${inputChannels} are subscribed to by any node`\n );\n }\n }\n\n if (!Array.isArray(outputChannels)) {\n allOutputChannels.add(outputChannels);\n } else {\n outputChannels.forEach((chan) => allOutputChannels.add(chan));\n }\n\n if (streamChannels && !Array.isArray(streamChannels)) {\n allOutputChannels.add(streamChannels);\n } else if (Array.isArray(streamChannels)) {\n streamChannels.forEach((chan) => allOutputChannels.add(chan));\n }\n\n for (const chan of allOutputChannels) {\n if (!(chan in channels)) {\n throw new GraphValidationError(\n `Output channel '${String(chan)}' not in channels`\n );\n }\n }\n\n // validate interrupt before/after\n if (interruptAfterNodes && interruptAfterNodes !== \"*\") {\n for (const node of interruptAfterNodes) {\n if (!(node in nodes)) {\n throw new GraphValidationError(`Node ${String(node)} not in nodes`);\n }\n }\n }\n\n if (interruptBeforeNodes && interruptBeforeNodes !== \"*\") {\n for (const node of interruptBeforeNodes) {\n if (!(node in nodes)) {\n throw new GraphValidationError(`Node ${String(node)} not in nodes`);\n }\n }\n }\n}\n\nexport function validateKeys<Cc extends Record<string, BaseChannel>>(\n keys: keyof Cc | Array<keyof Cc>,\n channels: Cc\n): void {\n if (Array.isArray(keys)) {\n for (const key of keys) {\n if (!(key in channels)) {\n throw new Error(`Key ${String(key)} not found in channels`);\n }\n }\n } else {\n if (!(keys in channels)) {\n throw new Error(`Key ${String(keys)} not found in channels`);\n }\n }\n}\n"],"mappings":";;;;AAKA,IAAa,uBAAb,cAA0C,MAAM;CAC9C,YAAY,SAAkB;AAC5B,QAAM,QAAQ;AACd,OAAK,OAAO;;;AAIhB,SAAgB,cAGd,EACA,OACA,UACA,eACA,gBACA,gBACA,qBACA,wBASO;AACP,KAAI,CAAC,SACH,OAAM,IAAI,qBAAqB,wBAAwB;CAGzD,MAAM,qCAAqB,IAAI,KAAe;CAC9C,MAAM,oCAAoB,IAAI,KAAe;AAE7C,MAAK,MAAM,CAAC,MAAM,SAAS,OAAO,QAAQ,MAAM,EAAE;AAChD,MAAI,SAAS,UACX,OAAM,IAAI,qBAAqB,cAAc,UAAU,eAAe;AAExE,MAAI,KAAK,gBAAgB,WACvB,MAAK,SAAS,SAAS,YAAY,mBAAmB,IAAI,QAAQ,CAAC;MAEnE,OAAM,IAAI,qBACR,qBAAqB,OAAO,KAAK,uBAClC;;AAKL,MAAK,MAAM,QAAQ,mBACjB,KAAI,EAAE,QAAQ,UACZ,OAAM,IAAI,qBACR,uBAAuB,OAAO,KAAK,CAAC,mBACrC;AAIL,KAAI,CAAC,MAAM,QAAQ,cAAc,EAC/B;MAAI,CAAC,mBAAmB,IAAI,cAAc,CACxC,OAAM,IAAI,qBACR,iBAAiB,OACf,cACD,CAAC,mCACH;YAGC,cAAc,OAAO,YAAY,CAAC,mBAAmB,IAAI,QAAQ,CAAC,CACpE,OAAM,IAAI,qBACR,8BAA8B,cAAc,gCAC7C;AAIL,KAAI,CAAC,MAAM,QAAQ,eAAe,CAChC,mBAAkB,IAAI,eAAe;KAErC,gBAAe,SAAS,SAAS,kBAAkB,IAAI,KAAK,CAAC;AAG/D,KAAI,kBAAkB,CAAC,MAAM,QAAQ,eAAe,CAClD,mBAAkB,IAAI,eAAe;UAC5B,MAAM,QAAQ,eAAe,CACtC,gBAAe,SAAS,SAAS,kBAAkB,IAAI,KAAK,CAAC;AAG/D,MAAK,MAAM,QAAQ,kBACjB,KAAI,EAAE,QAAQ,UACZ,OAAM,IAAI,qBACR,mBAAmB,OAAO,KAAK,CAAC,mBACjC;AAKL,KAAI,uBAAuB,wBAAwB,KACjD;OAAK,MAAM,QAAQ,oBACjB,KAAI,EAAE,QAAQ,OACZ,OAAM,IAAI,qBAAqB,QAAQ,OAAO,KAAK,CAAC,eAAe;;AAKzE,KAAI,wBAAwB,yBAAyB,KACnD;OAAK,MAAM,QAAQ,qBACjB,KAAI,EAAE,QAAQ,OACZ,OAAM,IAAI,qBAAqB,QAAQ,OAAO,KAAK,CAAC,eAAe;;;AAM3E,SAAgB,aACd,MACA,UACM;AACN,KAAI,MAAM,QAAQ,KAAK,EACrB;OAAK,MAAM,OAAO,KAChB,KAAI,EAAE,OAAO,UACX,OAAM,IAAI,MAAM,OAAO,OAAO,IAAI,CAAC,wBAAwB;YAI3D,EAAE,QAAQ,UACZ,OAAM,IAAI,MAAM,OAAO,OAAO,KAAK,CAAC,wBAAwB"}
|
package/dist/pregel/write.cjs
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
|
|
2
1
|
const require_errors = require('../errors.cjs');
|
|
3
2
|
const require_constants = require('../constants.cjs');
|
|
4
3
|
const require_utils = require('../utils.cjs');
|
|
5
|
-
|
|
4
|
+
let _langchain_core_runnables = require("@langchain/core/runnables");
|
|
6
5
|
|
|
7
6
|
//#region src/pregel/write.ts
|
|
8
7
|
const SKIP_WRITE = { [Symbol.for("LG_SKIP_WRITE")]: true };
|
|
@@ -88,7 +87,7 @@ function _isChannelWriteEntry(x) {
|
|
|
88
87
|
return x !== void 0 && typeof x.channel === "string";
|
|
89
88
|
}
|
|
90
89
|
function _isChannelWriteTupleEntry(x) {
|
|
91
|
-
return x !== void 0 && !_isChannelWriteEntry(x) &&
|
|
90
|
+
return x !== void 0 && !_isChannelWriteEntry(x) && _langchain_core_runnables.Runnable.isRunnable(x.mapper);
|
|
92
91
|
}
|
|
93
92
|
|
|
94
93
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write.cjs","names":["RunnableCallable","_isSend","TASKS","InvalidUpdateError","
|
|
1
|
+
{"version":3,"file":"write.cjs","names":["RunnableCallable","_isSend","TASKS","InvalidUpdateError","CONFIG_KEY_SEND","Runnable"],"sources":["../../src/pregel/write.ts"],"sourcesContent":["import {\n Runnable,\n RunnableConfig,\n RunnableLike,\n} from \"@langchain/core/runnables\";\nimport { _isSend, CONFIG_KEY_SEND, Send, TASKS } from \"../constants.js\";\nimport { RunnableCallable } from \"../utils.js\";\nimport { InvalidUpdateError } from \"../errors.js\";\n\ntype TYPE_SEND = (values: Array<[string, unknown]>) => void;\n\nexport const SKIP_WRITE = {\n [Symbol.for(\"LG_SKIP_WRITE\")]: true,\n};\n\nfunction _isSkipWrite(x: unknown) {\n return (\n typeof x === \"object\" &&\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (x as any)?.[Symbol.for(\"LG_SKIP_WRITE\")] !== undefined\n );\n}\n\nexport const PASSTHROUGH = {\n [Symbol.for(\"LG_PASSTHROUGH\")]: true,\n};\n\nfunction _isPassthrough(x: unknown) {\n return (\n typeof x === \"object\" &&\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (x as any)?.[Symbol.for(\"LG_PASSTHROUGH\")] !== undefined\n );\n}\n\nconst IS_WRITER = Symbol(\"IS_WRITER\");\n\n/**\n * Mapping of write channels to Runnables that return the value to be written,\n * or None to skip writing.\n */\nexport class ChannelWrite<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n RunInput = any\n> extends RunnableCallable<RunInput, RunInput> {\n writes: Array<ChannelWriteEntry | ChannelWriteTupleEntry | Send>;\n\n constructor(\n writes: Array<ChannelWriteEntry | ChannelWriteTupleEntry | Send>,\n tags?: string[]\n ) {\n const name = `ChannelWrite<${writes\n .map((packet) => {\n if (_isSend(packet)) {\n return packet.node;\n } else if (\"channel\" in packet) {\n return packet.channel;\n }\n return \"...\";\n })\n .join(\",\")}>`;\n super({\n ...{ writes, name, tags },\n func: async (input: RunInput, config?: RunnableConfig) => {\n return this._write(input, config ?? {});\n },\n });\n\n this.writes = writes;\n }\n\n async _write(input: unknown, config: RunnableConfig): Promise<unknown> {\n const writes = this.writes.map((write) => {\n if (_isChannelWriteTupleEntry(write) && _isPassthrough(write.value)) {\n return {\n mapper: write.mapper,\n value: input,\n };\n } else if (_isChannelWriteEntry(write) && _isPassthrough(write.value)) {\n return {\n channel: write.channel,\n value: input,\n skipNone: write.skipNone,\n mapper: write.mapper,\n };\n } else {\n return write;\n }\n });\n await ChannelWrite.doWrite(config, writes);\n return input;\n }\n\n // TODO: Support requireAtLeastOneOf\n static async doWrite(\n config: RunnableConfig,\n writes: (ChannelWriteEntry | ChannelWriteTupleEntry | Send)[]\n ): Promise<void> {\n // validate\n for (const w of writes) {\n if (_isChannelWriteEntry(w)) {\n if (w.channel === TASKS) {\n throw new InvalidUpdateError(\n \"Cannot write to the reserved channel TASKS\"\n );\n }\n if (_isPassthrough(w.value)) {\n throw new InvalidUpdateError(\"PASSTHROUGH value must be replaced\");\n }\n }\n if (_isChannelWriteTupleEntry(w)) {\n if (_isPassthrough(w.value)) {\n throw new InvalidUpdateError(\"PASSTHROUGH value must be replaced\");\n }\n }\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const writeEntries: [string, any][] = [];\n for (const w of writes) {\n if (_isSend(w)) {\n writeEntries.push([TASKS, w]);\n } else if (_isChannelWriteTupleEntry(w)) {\n const mappedResult = await w.mapper.invoke(w.value, config);\n if (mappedResult != null && mappedResult.length > 0) {\n writeEntries.push(...mappedResult);\n }\n } else if (_isChannelWriteEntry(w)) {\n const mappedValue =\n w.mapper !== undefined\n ? await w.mapper.invoke(w.value, config)\n : w.value;\n if (_isSkipWrite(mappedValue)) {\n continue;\n }\n if (w.skipNone && mappedValue === undefined) {\n continue;\n }\n writeEntries.push([w.channel, mappedValue]);\n } else {\n throw new Error(`Invalid write entry: ${JSON.stringify(w)}`);\n }\n }\n const write: TYPE_SEND = config.configurable?.[CONFIG_KEY_SEND];\n write(writeEntries);\n }\n\n static isWriter(runnable: RunnableLike): runnable is ChannelWrite {\n return (\n // eslint-disable-next-line no-instanceof/no-instanceof\n runnable instanceof ChannelWrite ||\n (IS_WRITER in runnable && !!runnable[IS_WRITER])\n );\n }\n\n static registerWriter<T extends Runnable>(runnable: T): T {\n return Object.defineProperty(runnable, IS_WRITER, { value: true });\n }\n}\n\nexport interface ChannelWriteEntry {\n channel: string;\n value: unknown;\n skipNone?: boolean;\n mapper?: Runnable;\n}\n\nfunction _isChannelWriteEntry(x: unknown): x is ChannelWriteEntry {\n return (\n x !== undefined && typeof (x as ChannelWriteEntry).channel === \"string\"\n );\n}\n\nexport interface ChannelWriteTupleEntry {\n value: unknown;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n mapper: Runnable<any, [string, any][]>;\n}\n\nfunction _isChannelWriteTupleEntry(x: unknown): x is ChannelWriteTupleEntry {\n return (\n x !== undefined &&\n !_isChannelWriteEntry(x) &&\n Runnable.isRunnable((x as ChannelWriteTupleEntry).mapper)\n );\n}\n"],"mappings":"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"}
|
package/dist/pregel/write.d.cts
CHANGED
|
@@ -8,13 +8,10 @@ import { Runnable, RunnableConfig, RunnableLike } from "@langchain/core/runnable
|
|
|
8
8
|
* Mapping of write channels to Runnables that return the value to be written,
|
|
9
9
|
* or None to skip writing.
|
|
10
10
|
*/
|
|
11
|
-
declare class ChannelWrite<
|
|
12
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
13
|
-
RunInput = any> extends RunnableCallable<RunInput, RunInput> {
|
|
11
|
+
declare class ChannelWrite<RunInput = any> extends RunnableCallable<RunInput, RunInput> {
|
|
14
12
|
writes: Array<ChannelWriteEntry | ChannelWriteTupleEntry | Send>;
|
|
15
13
|
constructor(writes: Array<ChannelWriteEntry | ChannelWriteTupleEntry | Send>, tags?: string[]);
|
|
16
14
|
_write(input: unknown, config: RunnableConfig): Promise<unknown>;
|
|
17
|
-
// TODO: Support requireAtLeastOneOf
|
|
18
15
|
static doWrite(config: RunnableConfig, writes: (ChannelWriteEntry | ChannelWriteTupleEntry | Send)[]): Promise<void>;
|
|
19
16
|
static isWriter(runnable: RunnableLike): runnable is ChannelWrite;
|
|
20
17
|
static registerWriter<T extends Runnable>(runnable: T): T;
|
|
@@ -27,7 +24,6 @@ interface ChannelWriteEntry {
|
|
|
27
24
|
}
|
|
28
25
|
interface ChannelWriteTupleEntry {
|
|
29
26
|
value: unknown;
|
|
30
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
31
27
|
mapper: Runnable<any, [string, any][]>;
|
|
32
28
|
}
|
|
33
29
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write.d.cts","names":["Runnable","RunnableConfig","RunnableLike","Send","RunnableCallable","SKIP_WRITE","PASSTHROUGH","ChannelWrite","RunInput","ChannelWriteEntry","ChannelWriteTupleEntry","Array","Promise","T"],"sources":["../../src/pregel/write.d.ts"],"sourcesContent":["import { Runnable, RunnableConfig, RunnableLike } from \"@langchain/core/runnables\";\nimport { Send } from \"../constants.js\";\nimport { RunnableCallable } from \"../utils.js\";\nexport declare const SKIP_WRITE: {\n [x: symbol]: boolean;\n};\nexport declare const PASSTHROUGH: {\n [x: symbol]: boolean;\n};\n/**\n * Mapping of write channels to Runnables that return the value to be written,\n * or None to skip writing.\n */\nexport declare class ChannelWrite
|
|
1
|
+
{"version":3,"file":"write.d.cts","names":["Runnable","RunnableConfig","RunnableLike","Send","RunnableCallable","SKIP_WRITE","PASSTHROUGH","ChannelWrite","RunInput","ChannelWriteEntry","ChannelWriteTupleEntry","Array","Promise","T"],"sources":["../../src/pregel/write.d.ts"],"sourcesContent":["import { Runnable, RunnableConfig, RunnableLike } from \"@langchain/core/runnables\";\nimport { Send } from \"../constants.js\";\nimport { RunnableCallable } from \"../utils.js\";\nexport declare const SKIP_WRITE: {\n [x: symbol]: boolean;\n};\nexport declare const PASSTHROUGH: {\n [x: symbol]: boolean;\n};\n/**\n * Mapping of write channels to Runnables that return the value to be written,\n * or None to skip writing.\n */\nexport declare class ChannelWrite<RunInput = any> extends RunnableCallable<RunInput, RunInput> {\n writes: Array<ChannelWriteEntry | ChannelWriteTupleEntry | Send>;\n constructor(writes: Array<ChannelWriteEntry | ChannelWriteTupleEntry | Send>, tags?: string[]);\n _write(input: unknown, config: RunnableConfig): Promise<unknown>;\n static doWrite(config: RunnableConfig, writes: (ChannelWriteEntry | ChannelWriteTupleEntry | Send)[]): Promise<void>;\n static isWriter(runnable: RunnableLike): runnable is ChannelWrite;\n static registerWriter<T extends Runnable>(runnable: T): T;\n}\nexport interface ChannelWriteEntry {\n channel: string;\n value: unknown;\n skipNone?: boolean;\n mapper?: Runnable;\n}\nexport interface ChannelWriteTupleEntry {\n value: unknown;\n mapper: Runnable<any, [string, any][]>;\n}\n"],"mappings":";;;;;;;;;;AAe8BS,cAFTF,YAESE,CAAAA,WAAAA,GAAAA,CAAAA,SAF4BL,gBAE5BK,CAF6CD,QAE7CC,EAFuDD,QAEvDC,CAAAA,CAAAA;QAAoBC,EADtCC,KACsCD,CADhCD,iBACgCC,GADZA,sBACYA,GADaP,IACbO,CAAAA;aAAyBP,CAAAA,MAAAA,EAAnDQ,KAAmDR,CAA7CM,iBAA6CN,GAAzBO,sBAAyBP,GAAAA,IAAAA,CAAAA,EAAAA,IAAAA,CAAAA,EAAAA,MAAAA,EAAAA;QAAnDQ,CAAAA,KAAAA,EAAAA,OAAAA,EAAAA,MAAAA,EACWV,cADXU,CAAAA,EAC4BC,OAD5BD,CAAAA,OAAAA,CAAAA;SACWV,OAAAA,CAAAA,MAAAA,EACRA,cADQA,EAAAA,MAAAA,EAAAA,CACiBQ,iBADjBR,GACqCS,sBADrCT,GAC8DE,IAD9DF,CAAAA,EAAAA,CAAAA,EACwEW,OADxEX,CAAAA,IAAAA,CAAAA;SAAiBW,QAAAA,CAAAA,QAAAA,EAEtBV,YAFsBU,CAAAA,EAAAA,QAAAA,IAEKL,YAFLK;SACzBX,cAAAA,CAAAA,UAESD,QAFTC,CAAAA,CAAAA,QAAAA,EAE6BY,CAF7BZ,CAAAA,EAEiCY,CAFjCZ;;AAA6CS,UAIvDD,iBAAAA,CAJuDC;SAAyBP,EAAAA,MAAAA;OAAUS,EAAAA,OAAAA;UAC7EV,CAAAA,EAAAA,OAAAA;QAA2BK,CAAAA,EAO5CP,QAP4CO;;AACDM,UAQvCH,sBAAAA,CARuCG;OAAIA,EAAAA,OAAAA;QANFT,EAgB9CJ,QAhB8CI,CAAAA,GAAAA,EAAAA,CAAAA,MAAAA,EAAAA,GAAAA,CAAAA,EAAAA,CAAAA"}
|
package/dist/pregel/write.d.ts
CHANGED
|
@@ -8,13 +8,10 @@ import { Runnable, RunnableConfig, RunnableLike } from "@langchain/core/runnable
|
|
|
8
8
|
* Mapping of write channels to Runnables that return the value to be written,
|
|
9
9
|
* or None to skip writing.
|
|
10
10
|
*/
|
|
11
|
-
declare class ChannelWrite<
|
|
12
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
13
|
-
RunInput = any> extends RunnableCallable<RunInput, RunInput> {
|
|
11
|
+
declare class ChannelWrite<RunInput = any> extends RunnableCallable<RunInput, RunInput> {
|
|
14
12
|
writes: Array<ChannelWriteEntry | ChannelWriteTupleEntry | Send>;
|
|
15
13
|
constructor(writes: Array<ChannelWriteEntry | ChannelWriteTupleEntry | Send>, tags?: string[]);
|
|
16
14
|
_write(input: unknown, config: RunnableConfig): Promise<unknown>;
|
|
17
|
-
// TODO: Support requireAtLeastOneOf
|
|
18
15
|
static doWrite(config: RunnableConfig, writes: (ChannelWriteEntry | ChannelWriteTupleEntry | Send)[]): Promise<void>;
|
|
19
16
|
static isWriter(runnable: RunnableLike): runnable is ChannelWrite;
|
|
20
17
|
static registerWriter<T extends Runnable>(runnable: T): T;
|
|
@@ -27,7 +24,6 @@ interface ChannelWriteEntry {
|
|
|
27
24
|
}
|
|
28
25
|
interface ChannelWriteTupleEntry {
|
|
29
26
|
value: unknown;
|
|
30
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
31
27
|
mapper: Runnable<any, [string, any][]>;
|
|
32
28
|
}
|
|
33
29
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write.d.ts","names":["Runnable","RunnableConfig","RunnableLike","Send","RunnableCallable","SKIP_WRITE","PASSTHROUGH","ChannelWrite","RunInput","ChannelWriteEntry","ChannelWriteTupleEntry","Array","Promise","T"],"sources":["../../src/pregel/write.d.ts"],"sourcesContent":["import { Runnable, RunnableConfig, RunnableLike } from \"@langchain/core/runnables\";\nimport { Send } from \"../constants.js\";\nimport { RunnableCallable } from \"../utils.js\";\nexport declare const SKIP_WRITE: {\n [x: symbol]: boolean;\n};\nexport declare const PASSTHROUGH: {\n [x: symbol]: boolean;\n};\n/**\n * Mapping of write channels to Runnables that return the value to be written,\n * or None to skip writing.\n */\nexport declare class ChannelWrite
|
|
1
|
+
{"version":3,"file":"write.d.ts","names":["Runnable","RunnableConfig","RunnableLike","Send","RunnableCallable","SKIP_WRITE","PASSTHROUGH","ChannelWrite","RunInput","ChannelWriteEntry","ChannelWriteTupleEntry","Array","Promise","T"],"sources":["../../src/pregel/write.d.ts"],"sourcesContent":["import { Runnable, RunnableConfig, RunnableLike } from \"@langchain/core/runnables\";\nimport { Send } from \"../constants.js\";\nimport { RunnableCallable } from \"../utils.js\";\nexport declare const SKIP_WRITE: {\n [x: symbol]: boolean;\n};\nexport declare const PASSTHROUGH: {\n [x: symbol]: boolean;\n};\n/**\n * Mapping of write channels to Runnables that return the value to be written,\n * or None to skip writing.\n */\nexport declare class ChannelWrite<RunInput = any> extends RunnableCallable<RunInput, RunInput> {\n writes: Array<ChannelWriteEntry | ChannelWriteTupleEntry | Send>;\n constructor(writes: Array<ChannelWriteEntry | ChannelWriteTupleEntry | Send>, tags?: string[]);\n _write(input: unknown, config: RunnableConfig): Promise<unknown>;\n static doWrite(config: RunnableConfig, writes: (ChannelWriteEntry | ChannelWriteTupleEntry | Send)[]): Promise<void>;\n static isWriter(runnable: RunnableLike): runnable is ChannelWrite;\n static registerWriter<T extends Runnable>(runnable: T): T;\n}\nexport interface ChannelWriteEntry {\n channel: string;\n value: unknown;\n skipNone?: boolean;\n mapper?: Runnable;\n}\nexport interface ChannelWriteTupleEntry {\n value: unknown;\n mapper: Runnable<any, [string, any][]>;\n}\n"],"mappings":";;;;;;;;;;AAe8BS,cAFTF,YAESE,CAAAA,WAAAA,GAAAA,CAAAA,SAF4BL,gBAE5BK,CAF6CD,QAE7CC,EAFuDD,QAEvDC,CAAAA,CAAAA;QAAoBC,EADtCC,KACsCD,CADhCD,iBACgCC,GADZA,sBACYA,GADaP,IACbO,CAAAA;aAAyBP,CAAAA,MAAAA,EAAnDQ,KAAmDR,CAA7CM,iBAA6CN,GAAzBO,sBAAyBP,GAAAA,IAAAA,CAAAA,EAAAA,IAAAA,CAAAA,EAAAA,MAAAA,EAAAA;QAAnDQ,CAAAA,KAAAA,EAAAA,OAAAA,EAAAA,MAAAA,EACWV,cADXU,CAAAA,EAC4BC,OAD5BD,CAAAA,OAAAA,CAAAA;SACWV,OAAAA,CAAAA,MAAAA,EACRA,cADQA,EAAAA,MAAAA,EAAAA,CACiBQ,iBADjBR,GACqCS,sBADrCT,GAC8DE,IAD9DF,CAAAA,EAAAA,CAAAA,EACwEW,OADxEX,CAAAA,IAAAA,CAAAA;SAAiBW,QAAAA,CAAAA,QAAAA,EAEtBV,YAFsBU,CAAAA,EAAAA,QAAAA,IAEKL,YAFLK;SACzBX,cAAAA,CAAAA,UAESD,QAFTC,CAAAA,CAAAA,QAAAA,EAE6BY,CAF7BZ,CAAAA,EAEiCY,CAFjCZ;;AAA6CS,UAIvDD,iBAAAA,CAJuDC;SAAyBP,EAAAA,MAAAA;OAAUS,EAAAA,OAAAA;UAC7EV,CAAAA,EAAAA,OAAAA;QAA2BK,CAAAA,EAO5CP,QAP4CO;;AACDM,UAQvCH,sBAAAA,CARuCG;OAAIA,EAAAA,OAAAA;QANFT,EAgB9CJ,QAhB8CI,CAAAA,GAAAA,EAAAA,CAAAA,MAAAA,EAAAA,GAAAA,CAAAA,EAAAA,CAAAA"}
|
package/dist/pregel/write.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write.js","names":[
|
|
1
|
+
{"version":3,"file":"write.js","names":[],"sources":["../../src/pregel/write.ts"],"sourcesContent":["import {\n Runnable,\n RunnableConfig,\n RunnableLike,\n} from \"@langchain/core/runnables\";\nimport { _isSend, CONFIG_KEY_SEND, Send, TASKS } from \"../constants.js\";\nimport { RunnableCallable } from \"../utils.js\";\nimport { InvalidUpdateError } from \"../errors.js\";\n\ntype TYPE_SEND = (values: Array<[string, unknown]>) => void;\n\nexport const SKIP_WRITE = {\n [Symbol.for(\"LG_SKIP_WRITE\")]: true,\n};\n\nfunction _isSkipWrite(x: unknown) {\n return (\n typeof x === \"object\" &&\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (x as any)?.[Symbol.for(\"LG_SKIP_WRITE\")] !== undefined\n );\n}\n\nexport const PASSTHROUGH = {\n [Symbol.for(\"LG_PASSTHROUGH\")]: true,\n};\n\nfunction _isPassthrough(x: unknown) {\n return (\n typeof x === \"object\" &&\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (x as any)?.[Symbol.for(\"LG_PASSTHROUGH\")] !== undefined\n );\n}\n\nconst IS_WRITER = Symbol(\"IS_WRITER\");\n\n/**\n * Mapping of write channels to Runnables that return the value to be written,\n * or None to skip writing.\n */\nexport class ChannelWrite<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n RunInput = any\n> extends RunnableCallable<RunInput, RunInput> {\n writes: Array<ChannelWriteEntry | ChannelWriteTupleEntry | Send>;\n\n constructor(\n writes: Array<ChannelWriteEntry | ChannelWriteTupleEntry | Send>,\n tags?: string[]\n ) {\n const name = `ChannelWrite<${writes\n .map((packet) => {\n if (_isSend(packet)) {\n return packet.node;\n } else if (\"channel\" in packet) {\n return packet.channel;\n }\n return \"...\";\n })\n .join(\",\")}>`;\n super({\n ...{ writes, name, tags },\n func: async (input: RunInput, config?: RunnableConfig) => {\n return this._write(input, config ?? {});\n },\n });\n\n this.writes = writes;\n }\n\n async _write(input: unknown, config: RunnableConfig): Promise<unknown> {\n const writes = this.writes.map((write) => {\n if (_isChannelWriteTupleEntry(write) && _isPassthrough(write.value)) {\n return {\n mapper: write.mapper,\n value: input,\n };\n } else if (_isChannelWriteEntry(write) && _isPassthrough(write.value)) {\n return {\n channel: write.channel,\n value: input,\n skipNone: write.skipNone,\n mapper: write.mapper,\n };\n } else {\n return write;\n }\n });\n await ChannelWrite.doWrite(config, writes);\n return input;\n }\n\n // TODO: Support requireAtLeastOneOf\n static async doWrite(\n config: RunnableConfig,\n writes: (ChannelWriteEntry | ChannelWriteTupleEntry | Send)[]\n ): Promise<void> {\n // validate\n for (const w of writes) {\n if (_isChannelWriteEntry(w)) {\n if (w.channel === TASKS) {\n throw new InvalidUpdateError(\n \"Cannot write to the reserved channel TASKS\"\n );\n }\n if (_isPassthrough(w.value)) {\n throw new InvalidUpdateError(\"PASSTHROUGH value must be replaced\");\n }\n }\n if (_isChannelWriteTupleEntry(w)) {\n if (_isPassthrough(w.value)) {\n throw new InvalidUpdateError(\"PASSTHROUGH value must be replaced\");\n }\n }\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const writeEntries: [string, any][] = [];\n for (const w of writes) {\n if (_isSend(w)) {\n writeEntries.push([TASKS, w]);\n } else if (_isChannelWriteTupleEntry(w)) {\n const mappedResult = await w.mapper.invoke(w.value, config);\n if (mappedResult != null && mappedResult.length > 0) {\n writeEntries.push(...mappedResult);\n }\n } else if (_isChannelWriteEntry(w)) {\n const mappedValue =\n w.mapper !== undefined\n ? await w.mapper.invoke(w.value, config)\n : w.value;\n if (_isSkipWrite(mappedValue)) {\n continue;\n }\n if (w.skipNone && mappedValue === undefined) {\n continue;\n }\n writeEntries.push([w.channel, mappedValue]);\n } else {\n throw new Error(`Invalid write entry: ${JSON.stringify(w)}`);\n }\n }\n const write: TYPE_SEND = config.configurable?.[CONFIG_KEY_SEND];\n write(writeEntries);\n }\n\n static isWriter(runnable: RunnableLike): runnable is ChannelWrite {\n return (\n // eslint-disable-next-line no-instanceof/no-instanceof\n runnable instanceof ChannelWrite ||\n (IS_WRITER in runnable && !!runnable[IS_WRITER])\n );\n }\n\n static registerWriter<T extends Runnable>(runnable: T): T {\n return Object.defineProperty(runnable, IS_WRITER, { value: true });\n }\n}\n\nexport interface ChannelWriteEntry {\n channel: string;\n value: unknown;\n skipNone?: boolean;\n mapper?: Runnable;\n}\n\nfunction _isChannelWriteEntry(x: unknown): x is ChannelWriteEntry {\n return (\n x !== undefined && typeof (x as ChannelWriteEntry).channel === \"string\"\n );\n}\n\nexport interface ChannelWriteTupleEntry {\n value: unknown;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n mapper: Runnable<any, [string, any][]>;\n}\n\nfunction _isChannelWriteTupleEntry(x: unknown): x is ChannelWriteTupleEntry {\n return (\n x !== undefined &&\n !_isChannelWriteEntry(x) &&\n Runnable.isRunnable((x as ChannelWriteTupleEntry).mapper)\n );\n}\n"],"mappings":"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"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const node_async_hooks = require_rolldown_runtime.__toESM(require("node:async_hooks"));
|
|
1
|
+
let _langchain_core_singletons = require("@langchain/core/singletons");
|
|
2
|
+
let node_async_hooks = require("node:async_hooks");
|
|
4
3
|
|
|
5
4
|
//#region src/setup/async_local_storage.ts
|
|
6
5
|
function initializeAsyncLocalStorageSingleton() {
|
|
7
|
-
|
|
6
|
+
_langchain_core_singletons.AsyncLocalStorageProviderSingleton.initializeGlobalInstance(new node_async_hooks.AsyncLocalStorage());
|
|
8
7
|
}
|
|
9
8
|
|
|
10
9
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"async_local_storage.cjs","names":["AsyncLocalStorage"],"sources":["../../src/setup/async_local_storage.ts"],"sourcesContent":["import { AsyncLocalStorageProviderSingleton } from \"@langchain/core/singletons\";\nimport { AsyncLocalStorage } from \"node:async_hooks\";\n\nexport function initializeAsyncLocalStorageSingleton() {\n AsyncLocalStorageProviderSingleton.initializeGlobalInstance(\n new AsyncLocalStorage()\n );\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"async_local_storage.cjs","names":["AsyncLocalStorage"],"sources":["../../src/setup/async_local_storage.ts"],"sourcesContent":["import { AsyncLocalStorageProviderSingleton } from \"@langchain/core/singletons\";\nimport { AsyncLocalStorage } from \"node:async_hooks\";\n\nexport function initializeAsyncLocalStorageSingleton() {\n AsyncLocalStorageProviderSingleton.initializeGlobalInstance(\n new AsyncLocalStorage()\n );\n}\n"],"mappings":";;;;AAGA,SAAgB,uCAAuC;AACrD,+DAAmC,yBACjC,IAAIA,oCAAmB,CACxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"async_local_storage.js","names":[],"sources":["../../src/setup/async_local_storage.ts"],"sourcesContent":["import { AsyncLocalStorageProviderSingleton } from \"@langchain/core/singletons\";\nimport { AsyncLocalStorage } from \"node:async_hooks\";\n\nexport function initializeAsyncLocalStorageSingleton() {\n AsyncLocalStorageProviderSingleton.initializeGlobalInstance(\n new AsyncLocalStorage()\n );\n}\n"],"mappings":";;;;AAGA,SAAgB,uCAAuC;AACrD,oCAAmC,yBACjC,IAAI"}
|
|
1
|
+
{"version":3,"file":"async_local_storage.js","names":[],"sources":["../../src/setup/async_local_storage.ts"],"sourcesContent":["import { AsyncLocalStorageProviderSingleton } from \"@langchain/core/singletons\";\nimport { AsyncLocalStorage } from \"node:async_hooks\";\n\nexport function initializeAsyncLocalStorageSingleton() {\n AsyncLocalStorageProviderSingleton.initializeGlobalInstance(\n new AsyncLocalStorage()\n );\n}\n"],"mappings":";;;;AAGA,SAAgB,uCAAuC;AACrD,oCAAmC,yBACjC,IAAI,mBAAmB,CACxB"}
|
package/dist/utils.cjs
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
const require_rolldown_runtime = require('./_virtual/rolldown_runtime.cjs');
|
|
2
1
|
const require_config = require('./pregel/utils/config.cjs');
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
let _langchain_core_singletons = require("@langchain/core/singletons");
|
|
3
|
+
let _langchain_core_runnables = require("@langchain/core/runnables");
|
|
5
4
|
|
|
6
5
|
//#region src/utils.ts
|
|
7
|
-
var RunnableCallable = class extends
|
|
6
|
+
var RunnableCallable = class extends _langchain_core_runnables.Runnable {
|
|
8
7
|
lc_namespace = ["langgraph"];
|
|
9
8
|
func;
|
|
10
9
|
tags;
|
|
@@ -21,11 +20,10 @@ var RunnableCallable = class extends __langchain_core_runnables.Runnable {
|
|
|
21
20
|
}
|
|
22
21
|
async _tracedInvoke(input, config, runManager) {
|
|
23
22
|
return new Promise((resolve, reject) => {
|
|
24
|
-
const childConfig = (0,
|
|
25
|
-
|
|
23
|
+
const childConfig = (0, _langchain_core_runnables.patchConfig)(config, { callbacks: runManager?.getChild() });
|
|
24
|
+
_langchain_core_singletons.AsyncLocalStorageProviderSingleton.runWithConfig(childConfig, async () => {
|
|
26
25
|
try {
|
|
27
|
-
|
|
28
|
-
resolve(output);
|
|
26
|
+
resolve(await this.func(input, childConfig));
|
|
29
27
|
} catch (e) {
|
|
30
28
|
reject(e);
|
|
31
29
|
}
|
|
@@ -35,10 +33,10 @@ var RunnableCallable = class extends __langchain_core_runnables.Runnable {
|
|
|
35
33
|
async invoke(input, options) {
|
|
36
34
|
let returnValue;
|
|
37
35
|
const config = require_config.ensureLangGraphConfig(options);
|
|
38
|
-
const mergedConfig = (0,
|
|
36
|
+
const mergedConfig = (0, _langchain_core_runnables.mergeConfigs)(this.config, config);
|
|
39
37
|
if (this.trace) returnValue = await this._callWithConfig(this._tracedInvoke, input, mergedConfig);
|
|
40
|
-
else returnValue = await
|
|
41
|
-
if (
|
|
38
|
+
else returnValue = await _langchain_core_singletons.AsyncLocalStorageProviderSingleton.runWithConfig(mergedConfig, async () => this.func(input, mergedConfig));
|
|
39
|
+
if (_langchain_core_runnables.Runnable.isRunnable(returnValue) && this.recurse) return await _langchain_core_singletons.AsyncLocalStorageProviderSingleton.runWithConfig(mergedConfig, async () => returnValue.invoke(input, mergedConfig));
|
|
42
40
|
return returnValue;
|
|
43
41
|
}
|
|
44
42
|
};
|
package/dist/utils.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.cjs","names":["Runnable","AsyncLocalStorageProviderSingleton","
|
|
1
|
+
{"version":3,"file":"utils.cjs","names":["Runnable","AsyncLocalStorageProviderSingleton","ensureLangGraphConfig"],"sources":["../src/utils.ts"],"sourcesContent":["import { CallbackManagerForChainRun } from \"@langchain/core/callbacks/manager\";\nimport {\n mergeConfigs,\n patchConfig,\n Runnable,\n RunnableConfig,\n} from \"@langchain/core/runnables\";\nimport { AsyncLocalStorageProviderSingleton } from \"@langchain/core/singletons\";\nimport { ensureLangGraphConfig } from \"./pregel/utils/config.js\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport interface RunnableCallableArgs extends Partial<any> {\n name?: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n func: (...args: any[]) => any;\n tags?: string[];\n trace?: boolean;\n recurse?: boolean;\n}\n\nexport class RunnableCallable<I = unknown, O = unknown> extends Runnable<I, O> {\n lc_namespace: string[] = [\"langgraph\"];\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n func: (...args: any[]) => any;\n\n tags?: string[];\n\n config?: RunnableConfig;\n\n trace: boolean = true;\n\n recurse: boolean = true;\n\n constructor(fields: RunnableCallableArgs) {\n super();\n this.name = fields.name ?? fields.func.name;\n this.func = fields.func;\n this.config = fields.tags ? { tags: fields.tags } : undefined;\n this.trace = fields.trace ?? this.trace;\n this.recurse = fields.recurse ?? this.recurse;\n }\n\n protected async _tracedInvoke(\n input: I,\n config?: Partial<RunnableConfig>,\n runManager?: CallbackManagerForChainRun\n ) {\n return new Promise<O>((resolve, reject) => {\n const childConfig = patchConfig(config, {\n callbacks: runManager?.getChild(),\n });\n void AsyncLocalStorageProviderSingleton.runWithConfig(\n childConfig,\n async () => {\n try {\n const output = await this.func(input, childConfig);\n resolve(output);\n } catch (e) {\n reject(e);\n }\n }\n );\n });\n }\n\n async invoke(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n input: I,\n options?: Partial<RunnableConfig> | undefined\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ): Promise<O> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let returnValue: any;\n const config = ensureLangGraphConfig(options);\n const mergedConfig = mergeConfigs(this.config, config);\n\n if (this.trace) {\n returnValue = await this._callWithConfig(\n this._tracedInvoke,\n input,\n mergedConfig\n );\n } else {\n returnValue = await AsyncLocalStorageProviderSingleton.runWithConfig(\n mergedConfig,\n async () => this.func(input, mergedConfig)\n );\n }\n\n if (Runnable.isRunnable(returnValue) && this.recurse) {\n return await AsyncLocalStorageProviderSingleton.runWithConfig(\n mergedConfig,\n async () => returnValue.invoke(input, mergedConfig)\n );\n }\n\n return returnValue;\n }\n}\n\nexport function prefixGenerator<T, Prefix extends string>(\n generator: Generator<T>,\n prefix: Prefix\n): Generator<[Prefix, T]>;\n\nexport function prefixGenerator<T>(\n generator: Generator<T>,\n prefix?: undefined\n): Generator<T>;\n\nexport function prefixGenerator<\n T,\n Prefix extends string | undefined = undefined\n>(\n generator: Generator<T>,\n prefix?: Prefix | undefined\n): Generator<Prefix extends string ? [Prefix, T] : T>;\nexport function* prefixGenerator<\n T,\n Prefix extends string | undefined = undefined\n>(\n generator: Generator<T>,\n prefix?: Prefix | undefined\n): Generator<Prefix extends string ? [Prefix, T] : T> {\n if (prefix === undefined) {\n yield* generator as Generator<Prefix extends string ? [Prefix, T] : T>;\n } else {\n for (const value of generator) {\n yield [prefix, value] as Prefix extends string ? [Prefix, T] : T;\n }\n }\n}\n\n// https://github.com/tc39/proposal-array-from-async\nexport async function gatherIterator<T>(\n i:\n | AsyncIterable<T>\n | Promise<AsyncIterable<T>>\n | Iterable<T>\n | Promise<Iterable<T>>\n): Promise<Array<T>> {\n const out: T[] = [];\n for await (const item of await i) {\n out.push(item);\n }\n return out;\n}\n\nexport function gatherIteratorSync<T>(i: Iterable<T>): Array<T> {\n const out: T[] = [];\n for (const item of i) {\n out.push(item);\n }\n return out;\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) {\n return {\n configurable: patch,\n };\n } else if (!(\"configurable\" in config)) {\n return {\n ...config,\n configurable: patch,\n };\n } else {\n return {\n ...config,\n configurable: {\n ...config.configurable,\n ...patch,\n },\n };\n }\n}\n\nexport function isAsyncGeneratorFunction(\n val: unknown\n): val is AsyncGeneratorFunction {\n return (\n val != null &&\n typeof val === \"function\" &&\n // eslint-disable-next-line no-instanceof/no-instanceof\n val instanceof Object.getPrototypeOf(async function* () {}).constructor\n );\n}\n\nexport function isGeneratorFunction(val: unknown): val is GeneratorFunction {\n return (\n val != null &&\n typeof val === \"function\" &&\n // eslint-disable-next-line no-instanceof/no-instanceof\n val instanceof Object.getPrototypeOf(function* () {}).constructor\n );\n}\n"],"mappings":";;;;;AAoBA,IAAa,mBAAb,cAAgEA,mCAAe;CAC7E,eAAyB,CAAC,YAAY;CAGtC;CAEA;CAEA;CAEA,QAAiB;CAEjB,UAAmB;CAEnB,YAAY,QAA8B;AACxC,SAAO;AACP,OAAK,OAAO,OAAO,QAAQ,OAAO,KAAK;AACvC,OAAK,OAAO,OAAO;AACnB,OAAK,SAAS,OAAO,OAAO,EAAE,MAAM,OAAO,MAAM,GAAG;AACpD,OAAK,QAAQ,OAAO,SAAS,KAAK;AAClC,OAAK,UAAU,OAAO,WAAW,KAAK;;CAGxC,MAAgB,cACd,OACA,QACA,YACA;AACA,SAAO,IAAI,SAAY,SAAS,WAAW;GACzC,MAAM,yDAA0B,QAAQ,EACtC,WAAW,YAAY,UAAU,EAClC,CAAC;AACF,GAAKC,8DAAmC,cACtC,aACA,YAAY;AACV,QAAI;AAEF,aADe,MAAM,KAAK,KAAK,OAAO,YAAY,CACnC;aACR,GAAG;AACV,YAAO,EAAE;;KAGd;IACD;;CAGJ,MAAM,OAEJ,OACA,SAEY;EAEZ,IAAI;EACJ,MAAM,SAASC,qCAAsB,QAAQ;EAC7C,MAAM,2DAA4B,KAAK,QAAQ,OAAO;AAEtD,MAAI,KAAK,MACP,eAAc,MAAM,KAAK,gBACvB,KAAK,eACL,OACA,aACD;MAED,eAAc,MAAMD,8DAAmC,cACrD,cACA,YAAY,KAAK,KAAK,OAAO,aAAa,CAC3C;AAGH,MAAID,mCAAS,WAAW,YAAY,IAAI,KAAK,QAC3C,QAAO,MAAMC,8DAAmC,cAC9C,cACA,YAAY,YAAY,OAAO,OAAO,aAAa,CACpD;AAGH,SAAO;;;AAqBX,UAAiB,gBAIf,WACA,QACoD;AACpD,KAAI,WAAW,OACb,QAAO;KAEP,MAAK,MAAM,SAAS,UAClB,OAAM,CAAC,QAAQ,MAAM;;AAM3B,eAAsB,eACpB,GAKmB;CACnB,MAAM,MAAW,EAAE;AACnB,YAAW,MAAM,QAAQ,MAAM,EAC7B,KAAI,KAAK,KAAK;AAEhB,QAAO;;AAGT,SAAgB,mBAAsB,GAA0B;CAC9D,MAAM,MAAW,EAAE;AACnB,MAAK,MAAM,QAAQ,EACjB,KAAI,KAAK,KAAK;AAEhB,QAAO;;AAGT,SAAgB,kBACd,QAEA,OACgB;AAChB,KAAI,CAAC,OACH,QAAO,EACL,cAAc,OACf;UACQ,EAAE,kBAAkB,QAC7B,QAAO;EACL,GAAG;EACH,cAAc;EACf;KAED,QAAO;EACL,GAAG;EACH,cAAc;GACZ,GAAG,OAAO;GACV,GAAG;GACJ;EACF;;AAIL,SAAgB,yBACd,KAC+B;AAC/B,QACE,OAAO,QACP,OAAO,QAAQ,cAEf,eAAe,OAAO,eAAe,mBAAmB,GAAG,CAAC;;AAIhE,SAAgB,oBAAoB,KAAwC;AAC1E,QACE,OAAO,QACP,OAAO,QAAQ,cAEf,eAAe,OAAO,eAAe,aAAa,GAAG,CAAC"}
|
package/dist/utils.d.cts
CHANGED
|
@@ -2,10 +2,8 @@ import { Runnable, RunnableConfig } from "@langchain/core/runnables";
|
|
|
2
2
|
import { CallbackManagerForChainRun } from "@langchain/core/callbacks/manager";
|
|
3
3
|
|
|
4
4
|
//#region src/utils.d.ts
|
|
5
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6
5
|
interface RunnableCallableArgs extends Partial<any> {
|
|
7
6
|
name?: string;
|
|
8
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
9
7
|
func: (...args: any[]) => any;
|
|
10
8
|
tags?: string[];
|
|
11
9
|
trace?: boolean;
|
|
@@ -13,7 +11,6 @@ interface RunnableCallableArgs extends Partial<any> {
|
|
|
13
11
|
}
|
|
14
12
|
declare class RunnableCallable<I = unknown, O = unknown> extends Runnable<I, O> {
|
|
15
13
|
lc_namespace: string[];
|
|
16
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
17
14
|
func: (...args: any[]) => any;
|
|
18
15
|
tags?: string[];
|
|
19
16
|
config?: RunnableConfig;
|
|
@@ -21,11 +18,7 @@ declare class RunnableCallable<I = unknown, O = unknown> extends Runnable<I, O>
|
|
|
21
18
|
recurse: boolean;
|
|
22
19
|
constructor(fields: RunnableCallableArgs);
|
|
23
20
|
protected _tracedInvoke(input: I, config?: Partial<RunnableConfig>, runManager?: CallbackManagerForChainRun): Promise<O>;
|
|
24
|
-
invoke(
|
|
25
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
26
|
-
input: I, options?: Partial<RunnableConfig> | undefined
|
|
27
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
28
|
-
): Promise<O>;
|
|
21
|
+
invoke(input: I, options?: Partial<RunnableConfig> | undefined): Promise<O>;
|
|
29
22
|
}
|
|
30
23
|
//#endregion
|
|
31
24
|
export { RunnableCallable };
|
package/dist/utils.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.cts","names":["CallbackManagerForChainRun","Runnable","RunnableConfig","RunnableCallableArgs","Partial","RunnableCallable","I","O","Promise","prefixGenerator","T","Generator","Prefix","gatherIterator","AsyncIterable","Iterable","Array","gatherIteratorSync","patchConfigurable","Record","isAsyncGeneratorFunction","AsyncGeneratorFunction","isGeneratorFunction","GeneratorFunction"],"sources":["../src/utils.d.ts"],"sourcesContent":["import { CallbackManagerForChainRun } from \"@langchain/core/callbacks/manager\";\nimport { Runnable, RunnableConfig } from \"@langchain/core/runnables\";\
|
|
1
|
+
{"version":3,"file":"utils.d.cts","names":["CallbackManagerForChainRun","Runnable","RunnableConfig","RunnableCallableArgs","Partial","RunnableCallable","I","O","Promise","prefixGenerator","T","Generator","Prefix","gatherIterator","AsyncIterable","Iterable","Array","gatherIteratorSync","patchConfigurable","Record","isAsyncGeneratorFunction","AsyncGeneratorFunction","isGeneratorFunction","GeneratorFunction"],"sources":["../src/utils.d.ts"],"sourcesContent":["import { CallbackManagerForChainRun } from \"@langchain/core/callbacks/manager\";\nimport { Runnable, RunnableConfig } from \"@langchain/core/runnables\";\nexport interface RunnableCallableArgs extends Partial<any> {\n name?: string;\n func: (...args: any[]) => any;\n tags?: string[];\n trace?: boolean;\n recurse?: boolean;\n}\nexport declare class RunnableCallable<I = unknown, O = unknown> extends Runnable<I, O> {\n lc_namespace: string[];\n func: (...args: any[]) => any;\n tags?: string[];\n config?: RunnableConfig;\n trace: boolean;\n recurse: boolean;\n constructor(fields: RunnableCallableArgs);\n protected _tracedInvoke(input: I, config?: Partial<RunnableConfig>, runManager?: CallbackManagerForChainRun): Promise<O>;\n invoke(input: I, options?: Partial<RunnableConfig> | undefined): Promise<O>;\n}\nexport declare function prefixGenerator<T, Prefix extends string>(generator: Generator<T>, prefix: Prefix): Generator<[Prefix, T]>;\nexport declare function prefixGenerator<T>(generator: Generator<T>, prefix?: undefined): Generator<T>;\nexport declare function prefixGenerator<T, Prefix extends string | undefined = undefined>(generator: Generator<T>, prefix?: Prefix | undefined): Generator<Prefix extends string ? [Prefix, T] : T>;\nexport declare function gatherIterator<T>(i: AsyncIterable<T> | Promise<AsyncIterable<T>> | Iterable<T> | Promise<Iterable<T>>): Promise<Array<T>>;\nexport declare function gatherIteratorSync<T>(i: Iterable<T>): Array<T>;\nexport declare function patchConfigurable(config: RunnableConfig | undefined, patch: Record<string, any>): RunnableConfig;\nexport declare function isAsyncGeneratorFunction(val: unknown): val is AsyncGeneratorFunction;\nexport declare function isGeneratorFunction(val: unknown): val is GeneratorFunction;\n"],"mappings":";;;;UAEiBG,oBAAAA,SAA6BC;;EAA7BD,IAAAA,EAAAA,CAAAA,GAAAA,IAAAA,EAAAA,GAAAA,EAAAA,EAAoB,GAAA,GAAA;EAOhBE,IAAAA,CAAAA,EAAAA,MAAAA,EAAAA;EAAgB,KAAA,CAAA,EAAA,OAAA;SAA4CC,CAAAA,EAAAA,OAAAA;;AAIpEJ,cAJQG,gBAIRH,CAAAA,IAAAA,OAAAA,EAAAA,IAAAA,OAAAA,CAAAA,SAJ2DD,QAI3DC,CAJoEI,CAIpEJ,EAJuEK,CAIvEL,CAAAA,CAAAA;cAGWC,EAAAA,MAAAA,EAAAA;MACWG,EAAAA,CAAAA,GAAAA,IAAAA,EAAAA,GAAAA,EAAAA,EAAAA,GAAAA,GAAAA;MAAoBJ,CAAAA,EAAAA,MAAAA,EAAAA;QAARE,CAAAA,EAJlCF,cAIkCE;OAAsCJ,EAAAA,OAAAA;SAAqCO,EAAAA,OAAAA;aAARC,CAAAA,MAAAA,EAD1FL,oBAC0FK;YAChGF,aAAAA,CAAAA,KAAAA,EADiBA,CACjBA,EAAAA,MAAAA,CAAAA,EAD6BF,OAC7BE,CADqCJ,cACrCI,CAAAA,EAAAA,UAAAA,CAAAA,EADmEN,0BACnEM,CAAAA,EADgGE,OAChGF,CADwGC,CACxGD,CAAAA;QAAqBJ,CAAAA,KAAAA,EAArBI,CAAqBJ,EAAAA,OAAAA,CAAAA,EAARE,OAAQF,CAAAA,cAAAA,CAAAA,GAAAA,SAAAA,CAAAA,EAA8BM,OAA9BN,CAAsCK,CAAtCL,CAAAA"}
|
package/dist/utils.d.ts
CHANGED
|
@@ -2,10 +2,8 @@ import { Runnable, RunnableConfig } from "@langchain/core/runnables";
|
|
|
2
2
|
import { CallbackManagerForChainRun } from "@langchain/core/callbacks/manager";
|
|
3
3
|
|
|
4
4
|
//#region src/utils.d.ts
|
|
5
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6
5
|
interface RunnableCallableArgs extends Partial<any> {
|
|
7
6
|
name?: string;
|
|
8
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
9
7
|
func: (...args: any[]) => any;
|
|
10
8
|
tags?: string[];
|
|
11
9
|
trace?: boolean;
|
|
@@ -13,7 +11,6 @@ interface RunnableCallableArgs extends Partial<any> {
|
|
|
13
11
|
}
|
|
14
12
|
declare class RunnableCallable<I = unknown, O = unknown> extends Runnable<I, O> {
|
|
15
13
|
lc_namespace: string[];
|
|
16
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
17
14
|
func: (...args: any[]) => any;
|
|
18
15
|
tags?: string[];
|
|
19
16
|
config?: RunnableConfig;
|
|
@@ -21,11 +18,7 @@ declare class RunnableCallable<I = unknown, O = unknown> extends Runnable<I, O>
|
|
|
21
18
|
recurse: boolean;
|
|
22
19
|
constructor(fields: RunnableCallableArgs);
|
|
23
20
|
protected _tracedInvoke(input: I, config?: Partial<RunnableConfig>, runManager?: CallbackManagerForChainRun): Promise<O>;
|
|
24
|
-
invoke(
|
|
25
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
26
|
-
input: I, options?: Partial<RunnableConfig> | undefined
|
|
27
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
28
|
-
): Promise<O>;
|
|
21
|
+
invoke(input: I, options?: Partial<RunnableConfig> | undefined): Promise<O>;
|
|
29
22
|
}
|
|
30
23
|
//#endregion
|
|
31
24
|
export { RunnableCallable };
|
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","names":["CallbackManagerForChainRun","Runnable","RunnableConfig","RunnableCallableArgs","Partial","RunnableCallable","I","O","Promise","prefixGenerator","T","Generator","Prefix","gatherIterator","AsyncIterable","Iterable","Array","gatherIteratorSync","patchConfigurable","Record","isAsyncGeneratorFunction","AsyncGeneratorFunction","isGeneratorFunction","GeneratorFunction"],"sources":["../src/utils.d.ts"],"sourcesContent":["import { CallbackManagerForChainRun } from \"@langchain/core/callbacks/manager\";\nimport { Runnable, RunnableConfig } from \"@langchain/core/runnables\";\
|
|
1
|
+
{"version":3,"file":"utils.d.ts","names":["CallbackManagerForChainRun","Runnable","RunnableConfig","RunnableCallableArgs","Partial","RunnableCallable","I","O","Promise","prefixGenerator","T","Generator","Prefix","gatherIterator","AsyncIterable","Iterable","Array","gatherIteratorSync","patchConfigurable","Record","isAsyncGeneratorFunction","AsyncGeneratorFunction","isGeneratorFunction","GeneratorFunction"],"sources":["../src/utils.d.ts"],"sourcesContent":["import { CallbackManagerForChainRun } from \"@langchain/core/callbacks/manager\";\nimport { Runnable, RunnableConfig } from \"@langchain/core/runnables\";\nexport interface RunnableCallableArgs extends Partial<any> {\n name?: string;\n func: (...args: any[]) => any;\n tags?: string[];\n trace?: boolean;\n recurse?: boolean;\n}\nexport declare class RunnableCallable<I = unknown, O = unknown> extends Runnable<I, O> {\n lc_namespace: string[];\n func: (...args: any[]) => any;\n tags?: string[];\n config?: RunnableConfig;\n trace: boolean;\n recurse: boolean;\n constructor(fields: RunnableCallableArgs);\n protected _tracedInvoke(input: I, config?: Partial<RunnableConfig>, runManager?: CallbackManagerForChainRun): Promise<O>;\n invoke(input: I, options?: Partial<RunnableConfig> | undefined): Promise<O>;\n}\nexport declare function prefixGenerator<T, Prefix extends string>(generator: Generator<T>, prefix: Prefix): Generator<[Prefix, T]>;\nexport declare function prefixGenerator<T>(generator: Generator<T>, prefix?: undefined): Generator<T>;\nexport declare function prefixGenerator<T, Prefix extends string | undefined = undefined>(generator: Generator<T>, prefix?: Prefix | undefined): Generator<Prefix extends string ? [Prefix, T] : T>;\nexport declare function gatherIterator<T>(i: AsyncIterable<T> | Promise<AsyncIterable<T>> | Iterable<T> | Promise<Iterable<T>>): Promise<Array<T>>;\nexport declare function gatherIteratorSync<T>(i: Iterable<T>): Array<T>;\nexport declare function patchConfigurable(config: RunnableConfig | undefined, patch: Record<string, any>): RunnableConfig;\nexport declare function isAsyncGeneratorFunction(val: unknown): val is AsyncGeneratorFunction;\nexport declare function isGeneratorFunction(val: unknown): val is GeneratorFunction;\n"],"mappings":";;;;UAEiBG,oBAAAA,SAA6BC;;EAA7BD,IAAAA,EAAAA,CAAAA,GAAAA,IAAAA,EAAAA,GAAAA,EAAAA,EAAoB,GAAA,GAAA;EAOhBE,IAAAA,CAAAA,EAAAA,MAAAA,EAAAA;EAAgB,KAAA,CAAA,EAAA,OAAA;SAA4CC,CAAAA,EAAAA,OAAAA;;AAIpEJ,cAJQG,gBAIRH,CAAAA,IAAAA,OAAAA,EAAAA,IAAAA,OAAAA,CAAAA,SAJ2DD,QAI3DC,CAJoEI,CAIpEJ,EAJuEK,CAIvEL,CAAAA,CAAAA;cAGWC,EAAAA,MAAAA,EAAAA;MACWG,EAAAA,CAAAA,GAAAA,IAAAA,EAAAA,GAAAA,EAAAA,EAAAA,GAAAA,GAAAA;MAAoBJ,CAAAA,EAAAA,MAAAA,EAAAA;QAARE,CAAAA,EAJlCF,cAIkCE;OAAsCJ,EAAAA,OAAAA;SAAqCO,EAAAA,OAAAA;aAARC,CAAAA,MAAAA,EAD1FL,oBAC0FK;YAChGF,aAAAA,CAAAA,KAAAA,EADiBA,CACjBA,EAAAA,MAAAA,CAAAA,EAD6BF,OAC7BE,CADqCJ,cACrCI,CAAAA,EAAAA,UAAAA,CAAAA,EADmEN,0BACnEM,CAAAA,EADgGE,OAChGF,CADwGC,CACxGD,CAAAA;QAAqBJ,CAAAA,KAAAA,EAArBI,CAAqBJ,EAAAA,OAAAA,CAAAA,EAARE,OAAQF,CAAAA,cAAAA,CAAAA,GAAAA,SAAAA,CAAAA,EAA8BM,OAA9BN,CAAsCK,CAAtCL,CAAAA"}
|
package/dist/utils.js
CHANGED
|
@@ -23,8 +23,7 @@ var RunnableCallable = class extends Runnable {
|
|
|
23
23
|
const childConfig = patchConfig(config, { callbacks: runManager?.getChild() });
|
|
24
24
|
AsyncLocalStorageProviderSingleton.runWithConfig(childConfig, async () => {
|
|
25
25
|
try {
|
|
26
|
-
|
|
27
|
-
resolve(output);
|
|
26
|
+
resolve(await this.func(input, childConfig));
|
|
28
27
|
} catch (e) {
|
|
29
28
|
reject(e);
|
|
30
29
|
}
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":[
|
|
1
|
+
{"version":3,"file":"utils.js","names":[],"sources":["../src/utils.ts"],"sourcesContent":["import { CallbackManagerForChainRun } from \"@langchain/core/callbacks/manager\";\nimport {\n mergeConfigs,\n patchConfig,\n Runnable,\n RunnableConfig,\n} from \"@langchain/core/runnables\";\nimport { AsyncLocalStorageProviderSingleton } from \"@langchain/core/singletons\";\nimport { ensureLangGraphConfig } from \"./pregel/utils/config.js\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport interface RunnableCallableArgs extends Partial<any> {\n name?: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n func: (...args: any[]) => any;\n tags?: string[];\n trace?: boolean;\n recurse?: boolean;\n}\n\nexport class RunnableCallable<I = unknown, O = unknown> extends Runnable<I, O> {\n lc_namespace: string[] = [\"langgraph\"];\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n func: (...args: any[]) => any;\n\n tags?: string[];\n\n config?: RunnableConfig;\n\n trace: boolean = true;\n\n recurse: boolean = true;\n\n constructor(fields: RunnableCallableArgs) {\n super();\n this.name = fields.name ?? fields.func.name;\n this.func = fields.func;\n this.config = fields.tags ? { tags: fields.tags } : undefined;\n this.trace = fields.trace ?? this.trace;\n this.recurse = fields.recurse ?? this.recurse;\n }\n\n protected async _tracedInvoke(\n input: I,\n config?: Partial<RunnableConfig>,\n runManager?: CallbackManagerForChainRun\n ) {\n return new Promise<O>((resolve, reject) => {\n const childConfig = patchConfig(config, {\n callbacks: runManager?.getChild(),\n });\n void AsyncLocalStorageProviderSingleton.runWithConfig(\n childConfig,\n async () => {\n try {\n const output = await this.func(input, childConfig);\n resolve(output);\n } catch (e) {\n reject(e);\n }\n }\n );\n });\n }\n\n async invoke(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n input: I,\n options?: Partial<RunnableConfig> | undefined\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ): Promise<O> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let returnValue: any;\n const config = ensureLangGraphConfig(options);\n const mergedConfig = mergeConfigs(this.config, config);\n\n if (this.trace) {\n returnValue = await this._callWithConfig(\n this._tracedInvoke,\n input,\n mergedConfig\n );\n } else {\n returnValue = await AsyncLocalStorageProviderSingleton.runWithConfig(\n mergedConfig,\n async () => this.func(input, mergedConfig)\n );\n }\n\n if (Runnable.isRunnable(returnValue) && this.recurse) {\n return await AsyncLocalStorageProviderSingleton.runWithConfig(\n mergedConfig,\n async () => returnValue.invoke(input, mergedConfig)\n );\n }\n\n return returnValue;\n }\n}\n\nexport function prefixGenerator<T, Prefix extends string>(\n generator: Generator<T>,\n prefix: Prefix\n): Generator<[Prefix, T]>;\n\nexport function prefixGenerator<T>(\n generator: Generator<T>,\n prefix?: undefined\n): Generator<T>;\n\nexport function prefixGenerator<\n T,\n Prefix extends string | undefined = undefined\n>(\n generator: Generator<T>,\n prefix?: Prefix | undefined\n): Generator<Prefix extends string ? [Prefix, T] : T>;\nexport function* prefixGenerator<\n T,\n Prefix extends string | undefined = undefined\n>(\n generator: Generator<T>,\n prefix?: Prefix | undefined\n): Generator<Prefix extends string ? [Prefix, T] : T> {\n if (prefix === undefined) {\n yield* generator as Generator<Prefix extends string ? [Prefix, T] : T>;\n } else {\n for (const value of generator) {\n yield [prefix, value] as Prefix extends string ? [Prefix, T] : T;\n }\n }\n}\n\n// https://github.com/tc39/proposal-array-from-async\nexport async function gatherIterator<T>(\n i:\n | AsyncIterable<T>\n | Promise<AsyncIterable<T>>\n | Iterable<T>\n | Promise<Iterable<T>>\n): Promise<Array<T>> {\n const out: T[] = [];\n for await (const item of await i) {\n out.push(item);\n }\n return out;\n}\n\nexport function gatherIteratorSync<T>(i: Iterable<T>): Array<T> {\n const out: T[] = [];\n for (const item of i) {\n out.push(item);\n }\n return out;\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) {\n return {\n configurable: patch,\n };\n } else if (!(\"configurable\" in config)) {\n return {\n ...config,\n configurable: patch,\n };\n } else {\n return {\n ...config,\n configurable: {\n ...config.configurable,\n ...patch,\n },\n };\n }\n}\n\nexport function isAsyncGeneratorFunction(\n val: unknown\n): val is AsyncGeneratorFunction {\n return (\n val != null &&\n typeof val === \"function\" &&\n // eslint-disable-next-line no-instanceof/no-instanceof\n val instanceof Object.getPrototypeOf(async function* () {}).constructor\n );\n}\n\nexport function isGeneratorFunction(val: unknown): val is GeneratorFunction {\n return (\n val != null &&\n typeof val === \"function\" &&\n // eslint-disable-next-line no-instanceof/no-instanceof\n val instanceof Object.getPrototypeOf(function* () {}).constructor\n );\n}\n"],"mappings":";;;;;AAoBA,IAAa,mBAAb,cAAgE,SAAe;CAC7E,eAAyB,CAAC,YAAY;CAGtC;CAEA;CAEA;CAEA,QAAiB;CAEjB,UAAmB;CAEnB,YAAY,QAA8B;AACxC,SAAO;AACP,OAAK,OAAO,OAAO,QAAQ,OAAO,KAAK;AACvC,OAAK,OAAO,OAAO;AACnB,OAAK,SAAS,OAAO,OAAO,EAAE,MAAM,OAAO,MAAM,GAAG;AACpD,OAAK,QAAQ,OAAO,SAAS,KAAK;AAClC,OAAK,UAAU,OAAO,WAAW,KAAK;;CAGxC,MAAgB,cACd,OACA,QACA,YACA;AACA,SAAO,IAAI,SAAY,SAAS,WAAW;GACzC,MAAM,cAAc,YAAY,QAAQ,EACtC,WAAW,YAAY,UAAU,EAClC,CAAC;AACF,GAAK,mCAAmC,cACtC,aACA,YAAY;AACV,QAAI;AAEF,aADe,MAAM,KAAK,KAAK,OAAO,YAAY,CACnC;aACR,GAAG;AACV,YAAO,EAAE;;KAGd;IACD;;CAGJ,MAAM,OAEJ,OACA,SAEY;EAEZ,IAAI;EACJ,MAAM,SAAS,sBAAsB,QAAQ;EAC7C,MAAM,eAAe,aAAa,KAAK,QAAQ,OAAO;AAEtD,MAAI,KAAK,MACP,eAAc,MAAM,KAAK,gBACvB,KAAK,eACL,OACA,aACD;MAED,eAAc,MAAM,mCAAmC,cACrD,cACA,YAAY,KAAK,KAAK,OAAO,aAAa,CAC3C;AAGH,MAAI,SAAS,WAAW,YAAY,IAAI,KAAK,QAC3C,QAAO,MAAM,mCAAmC,cAC9C,cACA,YAAY,YAAY,OAAO,OAAO,aAAa,CACpD;AAGH,SAAO;;;AAqBX,UAAiB,gBAIf,WACA,QACoD;AACpD,KAAI,WAAW,OACb,QAAO;KAEP,MAAK,MAAM,SAAS,UAClB,OAAM,CAAC,QAAQ,MAAM;;AAM3B,eAAsB,eACpB,GAKmB;CACnB,MAAM,MAAW,EAAE;AACnB,YAAW,MAAM,QAAQ,MAAM,EAC7B,KAAI,KAAK,KAAK;AAEhB,QAAO;;AAGT,SAAgB,mBAAsB,GAA0B;CAC9D,MAAM,MAAW,EAAE;AACnB,MAAK,MAAM,QAAQ,EACjB,KAAI,KAAK,KAAK;AAEhB,QAAO;;AAGT,SAAgB,kBACd,QAEA,OACgB;AAChB,KAAI,CAAC,OACH,QAAO,EACL,cAAc,OACf;UACQ,EAAE,kBAAkB,QAC7B,QAAO;EACL,GAAG;EACH,cAAc;EACf;KAED,QAAO;EACL,GAAG;EACH,cAAc;GACZ,GAAG,OAAO;GACV,GAAG;GACJ;EACF;;AAIL,SAAgB,yBACd,KAC+B;AAC/B,QACE,OAAO,QACP,OAAO,QAAQ,cAEf,eAAe,OAAO,eAAe,mBAAmB,GAAG,CAAC;;AAIhE,SAAgB,oBAAoB,KAAwC;AAC1E,QACE,OAAO,QACP,OAAO,QAAQ,cAEf,eAAe,OAAO,eAAe,aAAa,GAAG,CAAC"}
|
package/dist/web.cjs
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
const require_rolldown_runtime = require('./_virtual/rolldown_runtime.cjs');
|
|
2
1
|
const require_errors = require('./errors.cjs');
|
|
3
2
|
const require_base = require('./channels/base.cjs');
|
|
4
3
|
const require_binop = require('./channels/binop.cjs');
|
|
@@ -11,27 +10,27 @@ require('./graph/index.cjs');
|
|
|
11
10
|
require('./channels/index.cjs');
|
|
12
11
|
const require_index$1 = require('./func/index.cjs');
|
|
13
12
|
const require_messages_annotation = require('./graph/messages_annotation.cjs');
|
|
14
|
-
|
|
13
|
+
let _langchain_langgraph_checkpoint = require("@langchain/langgraph-checkpoint");
|
|
15
14
|
|
|
16
15
|
exports.Annotation = require_annotation.Annotation;
|
|
17
16
|
Object.defineProperty(exports, 'AsyncBatchedStore', {
|
|
18
17
|
enumerable: true,
|
|
19
18
|
get: function () {
|
|
20
|
-
return
|
|
19
|
+
return _langchain_langgraph_checkpoint.AsyncBatchedStore;
|
|
21
20
|
}
|
|
22
21
|
});
|
|
23
22
|
exports.BaseChannel = require_base.BaseChannel;
|
|
24
23
|
Object.defineProperty(exports, 'BaseCheckpointSaver', {
|
|
25
24
|
enumerable: true,
|
|
26
25
|
get: function () {
|
|
27
|
-
return
|
|
26
|
+
return _langchain_langgraph_checkpoint.BaseCheckpointSaver;
|
|
28
27
|
}
|
|
29
28
|
});
|
|
30
29
|
exports.BaseLangGraphError = require_errors.BaseLangGraphError;
|
|
31
30
|
Object.defineProperty(exports, 'BaseStore', {
|
|
32
31
|
enumerable: true,
|
|
33
32
|
get: function () {
|
|
34
|
-
return
|
|
33
|
+
return _langchain_langgraph_checkpoint.BaseStore;
|
|
35
34
|
}
|
|
36
35
|
});
|
|
37
36
|
exports.BinaryOperatorAggregate = require_binop.BinaryOperatorAggregate;
|
|
@@ -49,14 +48,14 @@ exports.INTERRUPT = require_constants.INTERRUPT;
|
|
|
49
48
|
Object.defineProperty(exports, 'InMemoryStore', {
|
|
50
49
|
enumerable: true,
|
|
51
50
|
get: function () {
|
|
52
|
-
return
|
|
51
|
+
return _langchain_langgraph_checkpoint.InMemoryStore;
|
|
53
52
|
}
|
|
54
53
|
});
|
|
55
54
|
exports.InvalidUpdateError = require_errors.InvalidUpdateError;
|
|
56
55
|
Object.defineProperty(exports, 'MemorySaver', {
|
|
57
56
|
enumerable: true,
|
|
58
57
|
get: function () {
|
|
59
|
-
return
|
|
58
|
+
return _langchain_langgraph_checkpoint.MemorySaver;
|
|
60
59
|
}
|
|
61
60
|
});
|
|
62
61
|
exports.MessageGraph = require_message.MessageGraph;
|
|
@@ -76,13 +75,13 @@ exports.addMessages = require_message.messagesStateReducer;
|
|
|
76
75
|
Object.defineProperty(exports, 'copyCheckpoint', {
|
|
77
76
|
enumerable: true,
|
|
78
77
|
get: function () {
|
|
79
|
-
return
|
|
78
|
+
return _langchain_langgraph_checkpoint.copyCheckpoint;
|
|
80
79
|
}
|
|
81
80
|
});
|
|
82
81
|
Object.defineProperty(exports, 'emptyCheckpoint', {
|
|
83
82
|
enumerable: true,
|
|
84
83
|
get: function () {
|
|
85
|
-
return
|
|
84
|
+
return _langchain_langgraph_checkpoint.emptyCheckpoint;
|
|
86
85
|
}
|
|
87
86
|
});
|
|
88
87
|
exports.entrypoint = require_index$1.entrypoint;
|