UNPKG

@langchain/langgraph

Version:

LangGraph

1 lines 30.4 kB
{"version":3,"file":"types.d.ts","names":["Runnable","RunnableConfig","All","PendingWrite","CheckpointMetadata","BaseCheckpointSaver","BaseStore","CheckpointListOptions","BaseCache","Graph","DrawableGraph","IterableReadableStream","BaseMessage","BaseChannel","PregelNode","Interrupt","CachePolicy","RetryPolicy","LangGraphRunnableConfig","StreamMode","Durability","PregelInputType","PregelOutputType","StreamMessageOutput","Record","StreamDebugOutput","StreamCheckpointsOutput","StreamValues","PregelTaskDescription","StreamTasksOutputBase","StreamTasksCreateOutput","StreamTasksResultOutput","Keys","StreamUpdates","StreamTasksOutput","Nodes","DefaultStreamMode","IsEventStream","T","StreamOutputMap","TEncoding","Uint8Array","TStreamMode","TStreamSubgraphs","NodeReturnType","K","StreamCustom","Multiple","Single","PregelOptions","StrRecord","ContextType","Channels","Array","TSubgraphs","PregelInterface","Promise","Generator","AsyncGenerator","StateSnapshot","AsyncIterableIterator","Partial","PregelParams","TaskPath","CacheKey","PregelExecutableTask","PropertyKey","NodeKey","ChannelKey","MultipleChannelSubscriptionOptions","SingleChannelSubscriptionOptions","GetStateOptions","PregelScratchpad","Resume","PregelAbortSignals","AbortSignal","CallOptions","Call","func","name","input","retry","cache","callbacks","isCall","SimpleTaskPath","VariadicTaskPath","CallTaskPath"],"sources":["../../src/pregel/types.d.ts"],"sourcesContent":["import type { Runnable, RunnableConfig } from \"@langchain/core/runnables\";\nimport type { All, PendingWrite, CheckpointMetadata, BaseCheckpointSaver, BaseStore, CheckpointListOptions, BaseCache } from \"@langchain/langgraph-checkpoint\";\nimport { Graph as DrawableGraph } from \"@langchain/core/runnables/graph\";\nimport { IterableReadableStream } from \"@langchain/core/utils/stream\";\nimport type { BaseMessage } from \"@langchain/core/messages\";\nimport type { BaseChannel } from \"../channels/base.js\";\nimport type { PregelNode } from \"./read.js\";\nimport type { Interrupt } from \"../constants.js\";\nimport { CachePolicy, RetryPolicy } from \"./utils/index.js\";\nimport { LangGraphRunnableConfig } from \"./runnable_types.js\";\n/**\n * Selects the type of output you'll receive when streaming from the graph. See [Streaming](/langgraphjs/how-tos/#streaming) for more details.\n */\nexport type StreamMode = \"values\" | \"updates\" | \"debug\" | \"messages\" | \"checkpoints\" | \"tasks\" | \"custom\";\nexport type Durability = \"exit\" | \"async\" | \"sync\";\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type PregelInputType = any;\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type PregelOutputType = any;\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype StreamMessageOutput = [BaseMessage, Record<string, any>];\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype StreamDebugOutput = Record<string, any>;\ntype StreamCheckpointsOutput<StreamValues> = {\n values: StreamValues;\n next: string[];\n config: RunnableConfig;\n metadata?: CheckpointMetadata;\n parentConfig?: RunnableConfig | undefined;\n tasks: PregelTaskDescription[];\n};\ninterface StreamTasksOutputBase {\n id: string;\n name: string;\n interrupts: Interrupt[];\n}\ninterface StreamTasksCreateOutput<StreamValues> extends StreamTasksOutputBase {\n input: StreamValues;\n triggers: string[];\n}\ninterface StreamTasksResultOutput<Keys, StreamUpdates> extends StreamTasksOutputBase {\n result: [Keys, StreamUpdates][];\n}\ntype StreamTasksOutput<StreamUpdates, StreamValues, Nodes = string> = StreamTasksCreateOutput<StreamValues> | StreamTasksResultOutput<Nodes, StreamUpdates>;\ntype DefaultStreamMode = \"updates\";\nexport type IsEventStream<T> = [T] extends [\"text/event-stream\"] ? [\"text/event-stream\"] extends [T] ? true : false : false;\nexport type StreamOutputMap<TStreamMode extends StreamMode | StreamMode[] | undefined, TStreamSubgraphs extends boolean, StreamUpdates, StreamValues, Nodes, NodeReturnType, StreamCustom, TEncoding extends \"text/event-stream\" | undefined> = IsEventStream<TEncoding> extends true ? Uint8Array : (undefined extends TStreamMode ? [] : StreamMode | StreamMode[] extends TStreamMode ? TStreamMode extends StreamMode[] ? TStreamMode[number] : TStreamMode : TStreamMode extends StreamMode[] ? TStreamMode[number] : []) extends infer Multiple extends StreamMode ? [TStreamSubgraphs] extends [true] ? {\n values: [string[], \"values\", StreamValues];\n updates: [\n string[],\n \"updates\",\n NodeReturnType extends Record<string, unknown> ? {\n [K in keyof NodeReturnType]?: NodeReturnType[K];\n } : Record<Nodes extends string ? Nodes : string, StreamUpdates>\n ];\n messages: [string[], \"messages\", StreamMessageOutput];\n custom: [string[], \"custom\", StreamCustom];\n checkpoints: [\n string[],\n \"checkpoints\",\n StreamCheckpointsOutput<StreamValues>\n ];\n tasks: [\n string[],\n \"tasks\",\n StreamTasksOutput<StreamUpdates, StreamValues>\n ];\n debug: [string[], \"debug\", StreamDebugOutput];\n}[Multiple] : {\n values: [\"values\", StreamValues];\n updates: [\n \"updates\",\n NodeReturnType extends Record<string, unknown> ? {\n [K in keyof NodeReturnType]?: NodeReturnType[K];\n } : Record<Nodes extends string ? Nodes : string, StreamUpdates>\n ];\n messages: [\"messages\", StreamMessageOutput];\n custom: [\"custom\", StreamCustom];\n checkpoints: [\"checkpoints\", StreamCheckpointsOutput<StreamValues>];\n tasks: [\"tasks\", StreamTasksOutput<StreamUpdates, StreamValues, Nodes>];\n debug: [\"debug\", StreamDebugOutput];\n}[Multiple] : (undefined extends TStreamMode ? DefaultStreamMode : TStreamMode) extends infer Single extends StreamMode ? [TStreamSubgraphs] extends [true] ? {\n values: [string[], StreamValues];\n updates: [\n string[],\n NodeReturnType extends Record<string, unknown> ? {\n [K in keyof NodeReturnType]?: NodeReturnType[K];\n } : Record<Nodes extends string ? Nodes : string, StreamUpdates>\n ];\n messages: [string[], StreamMessageOutput];\n custom: [string[], StreamCustom];\n checkpoints: [string[], StreamCheckpointsOutput<StreamValues>];\n tasks: [\n string[],\n StreamTasksOutput<StreamUpdates, StreamValues, Nodes>\n ];\n debug: [string[], StreamDebugOutput];\n}[Single] : {\n values: StreamValues;\n updates: NodeReturnType extends Record<string, unknown> ? {\n [K in keyof NodeReturnType]?: NodeReturnType[K];\n } : Record<Nodes extends string ? Nodes : string, StreamUpdates>;\n messages: StreamMessageOutput;\n custom: StreamCustom;\n checkpoints: StreamCheckpointsOutput<StreamValues>;\n tasks: StreamTasksOutput<StreamUpdates, StreamValues, Nodes>;\n debug: StreamDebugOutput;\n}[Single] : never;\n/**\n * Configuration options for executing a Pregel graph.\n * These options control how the graph executes, what data is streamed, and how interrupts are handled.\n *\n * @typeParam Nodes - Mapping of node names to their {@link PregelNode} implementations\n * @typeParam Channels - Mapping of channel names to their {@link BaseChannel} implementations\n * @typeParam ContextType - Type of context that can be passed to the graph\n */\nexport interface PregelOptions<Nodes extends StrRecord<string, PregelNode>, Channels extends StrRecord<string, BaseChannel>, \n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nContextType extends Record<string, any> = Record<string, any>, TStreamMode extends StreamMode | StreamMode[] | undefined = StreamMode | StreamMode[] | undefined, TSubgraphs extends boolean = boolean, TEncoding extends \"text/event-stream\" | undefined = \"text/event-stream\" | undefined> extends RunnableConfig<ContextType> {\n /**\n * Controls what information is streamed during graph execution.\n * Multiple modes can be enabled simultaneously.\n *\n * Supported modes:\n * - \"values\": Streams complete state after each step\n * - \"updates\": Streams only state changes after each step\n * - \"messages\": Streams messages from within nodes\n * - \"custom\": Streams custom events from within nodes\n * - \"debug\": Streams detailed execution events for tracing & debugging\n *\n * @example\n * ```typescript\n * // Stream only values\n * streamMode: \"values\"\n *\n * // Stream both values and debug info\n * streamMode: [\"values\", \"debug\"]\n * ```\n *\n * @default [\"values\"]\n */\n streamMode?: TStreamMode;\n /**\n * Specifies which channel keys to retrieve from the checkpoint when resuming execution.\n * This is an advanced option that you generally don't need to set manually.\n * The graph will automatically determine the appropriate input keys based on its configuration.\n */\n inputKeys?: keyof Channels | Array<keyof Channels>;\n /**\n * Specifies which channel keys to include in the output stream and final result.\n * Use this to filter which parts of the graph state you want to observe.\n *\n * @example\n * ```typescript\n * // Stream only the 'result' channel\n * outputKeys: \"result\"\n *\n * // Stream multiple channels\n * outputKeys: [\"result\", \"intermediateState\"]\n * ```\n */\n outputKeys?: keyof Channels | Array<keyof Channels>;\n /**\n * List of nodes where execution should be interrupted BEFORE the node runs.\n * Can be used for debugging and advanced state manipulation use cases. For\n * human-in-the-loop workflows, developers should prefer the\n * @link {interrupt} function instead.\n *\n * When interrupted, a resume @link {Command} must be provided to continue\n * execution.\n *\n * @example\n * ```typescript\n * // Interrupt before specific nodes\n * interruptBefore: [\"humanReview\", \"qualityCheck\"]\n *\n * // Interrupt before all nodes\n * interruptBefore: \"all\"\n * ```\n */\n interruptBefore?: All | Array<keyof Nodes>;\n /**\n * List of nodes where execution should be interrupted AFTER the node runs.\n * Similar to interruptBefore, but interrupts after node completion.\n * Useful when the node's output needs to be reviewed before proceeding.\n *\n * @example\n * ```typescript\n * // Interrupt after specific nodes\n * interruptAfter: [\"generateContent\", \"analyze\"]\n *\n * // Interrupt after all nodes\n * interruptAfter: \"all\"\n * ```\n */\n interruptAfter?: All | Array<keyof Nodes>;\n /**\n * Enables detailed debug logging during graph execution.\n * When enabled, prints information about:\n * - Task execution\n * - Channel updates\n * - Checkpoint writes\n *\n * @default false\n */\n debug?: boolean;\n /**\n * Whether to include subgraph execution details in the stream.\n * When true, state updates from nested graphs will also be streamed.\n *\n * @default false\n */\n subgraphs?: TSubgraphs;\n /**\n * Whether to checkpoint intermediate steps, defaults to `true`.\n * If `false`, only the final checkpoint is saved.\n * @deprecated Use `durability` instead.\n */\n checkpointDuring?: boolean;\n /**\n * Whether to checkpoint during the run (or only at the end/interruption).\n * - `\"async\"`: Save checkpoint asynchronously while the next step executes (default).\n * - `\"sync\"`: Save checkpoint synchronously before the next step starts.\n * - `\"exit\"`: Save checkpoint only when the graph exits.\n * @default \"async\"\n */\n durability?: Durability;\n /**\n * A shared value store that allows you to store and retrieve state across\n * threads. Useful for implementing long-term memory patterns.\n */\n store?: BaseStore;\n /**\n * Optional cache for the graph, useful for caching tasks.\n */\n cache?: BaseCache;\n /**\n * Static context for the graph run, like `userId`, `dbConnection` etc.\n */\n context?: ContextType;\n /**\n * The encoding to use for the stream.\n * - `undefined`: Use the default format.\n * - `\"text/event-stream\"`: Use the Server-Sent Events format.\n * @default undefined\n */\n encoding?: TEncoding;\n}\n/**\n * Construct a type with a set of properties K of type T\n */\ntype StrRecord<K extends string, T> = {\n [P in K]: T;\n};\nexport interface PregelInterface<Nodes extends StrRecord<string, PregelNode>, Channels extends StrRecord<string, BaseChannel>, \n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nContextType extends Record<string, any> = StrRecord<string, any>> {\n lg_is_pregel: boolean;\n withConfig(config: RunnableConfig): PregelInterface<Nodes, Channels>;\n getGraphAsync(config: RunnableConfig & {\n xray?: boolean | number;\n }): Promise<DrawableGraph>;\n /** @deprecated Use getSubgraphsAsync instead. The async method will become the default in the next minor release. */\n getSubgraphs(namespace?: string, recurse?: boolean\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ): Generator<[string, PregelInterface<any, any>]>;\n getSubgraphsAsync(namespace?: string, recurse?: boolean\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ): AsyncGenerator<[string, PregelInterface<any, any>]>;\n getState(config: RunnableConfig, options?: {\n subgraphs?: boolean;\n }): Promise<StateSnapshot>;\n getStateHistory(config: RunnableConfig, options?: CheckpointListOptions): AsyncIterableIterator<StateSnapshot>;\n updateState(inputConfig: LangGraphRunnableConfig, values: Record<string, unknown> | unknown, asNode?: keyof Nodes | string): Promise<RunnableConfig>;\n stream(input: PregelInputType, options?: Partial<PregelOptions<Nodes, Channels, ContextType>>): Promise<IterableReadableStream<PregelOutputType>>;\n invoke(input: PregelInputType, options?: Partial<PregelOptions<Nodes, Channels, ContextType>>): Promise<PregelOutputType>;\n}\n/**\n * Parameters for creating a Pregel graph.\n * @internal\n */\nexport type PregelParams<Nodes extends StrRecord<string, PregelNode>, Channels extends StrRecord<string, BaseChannel>> = {\n /**\n * The name of the graph. @see {@link Runnable.name}\n */\n name?: string;\n /**\n * The nodes in the graph.\n */\n nodes: Nodes;\n /**\n * The channels in the graph.\n */\n channels: Channels;\n /**\n * Whether to validate the graph.\n *\n * @default true\n */\n autoValidate?: boolean;\n /**\n * The stream mode for the graph run. See [Streaming](/langgraphjs/how-tos/#streaming) for more details.\n *\n * @default [\"values\"]\n */\n streamMode?: StreamMode | StreamMode[];\n /**\n * The input channels for the graph run.\n */\n inputChannels: keyof Channels | Array<keyof Channels>;\n /**\n * The output channels for the graph run.\n */\n outputChannels: keyof Channels | Array<keyof Channels>;\n /**\n * After processing one of the nodes named in this list, the graph will be interrupted and a resume {@link Command} must be provided to proceed with the execution of this thread.\n * @default []\n */\n interruptAfter?: Array<keyof Nodes> | All;\n /**\n * Before processing one of the nodes named in this list, the graph will be interrupted and a resume {@link Command} must be provided to proceed with the execution of this thread.\n * @default []\n */\n interruptBefore?: Array<keyof Nodes> | All;\n /**\n * The channels to stream from the graph run.\n * @default []\n */\n streamChannels?: keyof Channels | Array<keyof Channels>;\n /**\n * @default undefined\n */\n stepTimeout?: number;\n /**\n * @default false\n */\n debug?: boolean;\n /**\n * The {@link BaseCheckpointSaver | checkpointer} to use for the graph run.\n */\n checkpointer?: BaseCheckpointSaver | boolean;\n /**\n * The default retry policy for this graph. For defaults, see {@link RetryPolicy}.\n */\n retryPolicy?: RetryPolicy;\n /**\n * The configuration for the graph run.\n */\n config?: LangGraphRunnableConfig;\n /**\n * External key-value store.\n */\n store?: BaseStore;\n /**\n * Storage used for node caching.\n */\n cache?: BaseCache;\n /**\n * The trigger to node mapping for the graph run.\n * @internal\n */\n triggerToNodes?: Record<string, string[]>;\n /**\n * Interrupt helper function.\n * @internal\n */\n userInterrupt?: unknown;\n};\nexport interface PregelTaskDescription {\n readonly id: string;\n readonly name: string;\n readonly error?: unknown;\n readonly interrupts: Interrupt[];\n readonly state?: LangGraphRunnableConfig | StateSnapshot;\n readonly path?: TaskPath;\n readonly result?: unknown;\n}\ninterface CacheKey {\n ns: string[];\n key: string;\n ttl?: number;\n}\nexport interface PregelExecutableTask<NodeKey extends PropertyKey, ChannelKey extends PropertyKey> {\n readonly name: NodeKey;\n readonly input: unknown;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n readonly proc: Runnable<any, any, LangGraphRunnableConfig>;\n readonly writes: PendingWrite<ChannelKey>[];\n readonly config?: LangGraphRunnableConfig;\n readonly triggers: Array<string>;\n readonly retry_policy?: RetryPolicy;\n readonly cache_key?: CacheKey;\n readonly id: string;\n readonly path?: TaskPath;\n readonly subgraphs?: Runnable[];\n readonly writers: Runnable[];\n}\nexport interface StateSnapshot {\n /**\n * Current values of channels\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n readonly values: Record<string, any> | any;\n /**\n * Nodes to execute in the next step, if any\n */\n readonly next: Array<string>;\n /**\n * Config used to fetch this snapshot\n */\n readonly config: RunnableConfig;\n /**\n * Metadata about the checkpoint\n */\n readonly metadata?: CheckpointMetadata;\n /**\n * Time when the snapshot was created\n */\n readonly createdAt?: string;\n /**\n * Config used to fetch the parent snapshot, if any\n * @default undefined\n */\n readonly parentConfig?: RunnableConfig | undefined;\n /**\n * Tasks to execute in this step. If already attempted, may contain an error.\n */\n readonly tasks: PregelTaskDescription[];\n}\n/**\n * Options for subscribing to multiple channels.\n */\nexport type MultipleChannelSubscriptionOptions = {\n /**\n * Optional tags to associate with the subscription.\n */\n tags?: string[];\n};\n/**\n * Options for subscribing to a single channel.\n */\nexport type SingleChannelSubscriptionOptions = {\n /**\n * When specified, the channel mapping will be an object with this key pointing\n * to the array of channels to subscribe to. Otherwise, the channel mapping\n * will be an array of channels.\n */\n key?: string;\n /**\n * Optional tags to associate with the subscription.\n */\n tags?: string[];\n};\n/**\n * Options for getting the state of the graph.\n */\nexport type GetStateOptions = {\n /**\n * Whether to include subgraph states.\n * @default false\n */\n subgraphs?: boolean;\n};\n/**\n * Used for storing/retrieving internal execution state.\n *\n * @internal\n */\nexport type PregelScratchpad<Resume = unknown> = {\n /** Counter for tracking call invocations */\n callCounter: number;\n /** Counter for tracking interrupts */\n interruptCounter: number;\n /** List of resume values */\n resume: Resume[];\n /** Single resume value for null task ID */\n nullResume: Resume;\n consumeNullResume: () => Resume | undefined;\n /** Counter for tracking subgraph invocations */\n subgraphCounter: number;\n /** The input to the currently executing task */\n currentTaskInput: unknown;\n};\n/**\n * @internal\n */\nexport type PregelAbortSignals = {\n /** Aborts when the user calls `stream.cancel()` or aborts the {@link AbortSignal} that they passed in via the `signal` option */\n externalAbortSignal?: AbortSignal;\n /**\n * Aborts when the currently executing task throws any error other than a {@link GraphBubbleUp}\n */\n timeoutAbortSignal?: AbortSignal;\n /**\n * A reference to the AbortSignal that is passed to the node. Aborts on step timeout, stream cancel, or when an error is thrown.\n */\n composedAbortSignal?: AbortSignal;\n};\nexport type CallOptions = {\n func: (...args: unknown[]) => unknown | Promise<unknown>;\n name: string;\n input: unknown;\n cache?: CachePolicy;\n retry?: RetryPolicy;\n callbacks?: unknown;\n};\nexport declare class Call {\n func: (...args: unknown[]) => unknown | Promise<unknown>;\n name: string;\n input: unknown;\n retry?: RetryPolicy;\n cache?: CachePolicy;\n callbacks?: unknown;\n readonly __lg_type: string;\n constructor({ func, name, input, retry, cache, callbacks }: CallOptions);\n}\nexport declare function isCall(value: unknown): value is Call;\nexport type SimpleTaskPath = [string, string | number];\nexport type VariadicTaskPath = [string, ...(string | number)[], boolean];\nexport type CallTaskPath = [string, ...(string | number)[], Call] | [string, TaskPath, ...(string | number)[], Call];\nexport type TaskPath = SimpleTaskPath | CallTaskPath | VariadicTaskPath;\nexport {};\n"],"mappings":"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"}