@langchain/langgraph-sdk 1.0.0 → 1.0.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.cts","names":["Client","ClientConfig","ThreadState","Interrupt","Config","Checkpoint","Metadata","Command","MultitaskStrategy","OnCompletionBehavior","DisconnectMode","Durability","Message","UpdatesStreamEvent","CustomStreamEvent","MetadataStreamEvent","EventsStreamEvent","DebugStreamEvent","CheckpointsStreamEvent","TasksStreamEvent","StreamMode","Sequence","MessageMetadata","Record","StateType","BagTemplate","GetUpdateType","Bag","Partial","GetConfigurableType","GetInterruptType","GetCustomEventType","RunCallbackMeta","UseStreamThread","Promise","UseStreamOptions","RunMetadataStorage","UseStream","SubmitOptions","ConfigWithConfigurable","ConfigurableType","ContextType","Omit","Array","UseStreamTransport","AbortSignal","AsyncGenerator","UseStreamCustomOptions","Pick","UseStreamCustom","CustomSubmitOptions"],"sources":["../../src/react/types.d.ts"],"sourcesContent":["/* __LC_ALLOW_ENTRYPOINT_SIDE_EFFECTS__ */\nimport type { Client, ClientConfig } from \"../client.js\";\nimport type { ThreadState, Interrupt, Config, Checkpoint, Metadata } from \"../schema.js\";\nimport type { Command, MultitaskStrategy, OnCompletionBehavior, DisconnectMode, Durability } from \"../types.js\";\nimport type { Message } from \"../types.messages.js\";\nimport type { UpdatesStreamEvent, CustomStreamEvent, MetadataStreamEvent, EventsStreamEvent, DebugStreamEvent, CheckpointsStreamEvent, TasksStreamEvent, StreamMode } from \"../types.stream.js\";\nimport type { Sequence } from \"../ui/branching.js\";\nexport type MessageMetadata<StateType extends Record<string, unknown>> = {\n /**\n * The ID of the message used.\n */\n messageId: string;\n /**\n * The first thread state the message was seen in.\n */\n firstSeenState: ThreadState<StateType> | undefined;\n /**\n * The branch of the message.\n */\n branch: string | undefined;\n /**\n * The list of branches this message is part of.\n * This is useful for displaying branching controls.\n */\n branchOptions: string[] | undefined;\n /**\n * Metadata sent alongside the message during run streaming.\n * @remarks This metadata only exists temporarily in browser memory during streaming and is not persisted after completion.\n */\n streamMetadata: Record<string, unknown> | undefined;\n};\nexport type BagTemplate = {\n ConfigurableType?: Record<string, unknown>;\n InterruptType?: unknown;\n CustomEventType?: unknown;\n UpdateType?: unknown;\n};\nexport type GetUpdateType<Bag extends BagTemplate, StateType extends Record<string, unknown>> = Bag extends {\n UpdateType: unknown;\n} ? Bag[\"UpdateType\"] : Partial<StateType>;\nexport type GetConfigurableType<Bag extends BagTemplate> = Bag extends {\n ConfigurableType: Record<string, unknown>;\n} ? Bag[\"ConfigurableType\"] : Record<string, unknown>;\nexport type GetInterruptType<Bag extends BagTemplate> = Bag extends {\n InterruptType: unknown;\n} ? Bag[\"InterruptType\"] : unknown;\nexport type GetCustomEventType<Bag extends BagTemplate> = Bag extends {\n CustomEventType: unknown;\n} ? Bag[\"CustomEventType\"] : unknown;\nexport interface RunCallbackMeta {\n run_id: string;\n thread_id: string;\n}\nexport interface UseStreamThread<StateType extends Record<string, unknown>> {\n data: ThreadState<StateType>[] | null | undefined;\n error: unknown;\n isLoading: boolean;\n mutate: (mutateId?: string) => Promise<ThreadState<StateType>[] | null | undefined>;\n}\nexport interface UseStreamOptions<StateType extends Record<string, unknown> = Record<string, unknown>, Bag extends BagTemplate = BagTemplate> {\n /**\n * The ID of the assistant to use.\n */\n assistantId: string;\n /**\n * Client used to send requests.\n */\n client?: Client;\n /**\n * The URL of the API to use.\n */\n apiUrl?: ClientConfig[\"apiUrl\"];\n /**\n * The API key to use.\n */\n apiKey?: ClientConfig[\"apiKey\"];\n /**\n * Custom call options, such as custom fetch implementation.\n */\n callerOptions?: ClientConfig[\"callerOptions\"];\n /**\n * Default headers to send with requests.\n */\n defaultHeaders?: ClientConfig[\"defaultHeaders\"];\n /**\n * Specify the key within the state that contains messages.\n * Defaults to \"messages\".\n *\n * @default \"messages\"\n */\n messagesKey?: string;\n /**\n * Callback that is called when an error occurs.\n */\n onError?: (error: unknown, run: RunCallbackMeta | undefined) => void;\n /**\n * Callback that is called when the stream is finished.\n */\n onFinish?: (state: ThreadState<StateType>, run: RunCallbackMeta | undefined) => void;\n /**\n * Callback that is called when a new stream is created.\n */\n onCreated?: (run: RunCallbackMeta) => void;\n /**\n * Callback that is called when an update event is received.\n */\n onUpdateEvent?: (data: UpdatesStreamEvent<GetUpdateType<Bag, StateType>>[\"data\"], options: {\n namespace: string[] | undefined;\n mutate: (update: Partial<StateType> | ((prev: StateType) => Partial<StateType>)) => void;\n }) => void;\n /**\n * Callback that is called when a custom event is received.\n */\n onCustomEvent?: (data: CustomStreamEvent<GetCustomEventType<Bag>>[\"data\"], options: {\n namespace: string[] | undefined;\n mutate: (update: Partial<StateType> | ((prev: StateType) => Partial<StateType>)) => void;\n }) => void;\n /**\n * Callback that is called when a metadata event is received.\n */\n onMetadataEvent?: (data: MetadataStreamEvent[\"data\"]) => void;\n /**\n * Callback that is called when a LangChain event is received.\n * @see https://langchain-ai.github.io/langgraph/cloud/how-tos/stream_events/#stream-graph-in-events-mode for more details.\n */\n onLangChainEvent?: (data: EventsStreamEvent[\"data\"]) => void;\n /**\n * Callback that is called when a debug event is received.\n * @internal This API is experimental and subject to change.\n */\n onDebugEvent?: (data: DebugStreamEvent[\"data\"], options: {\n namespace: string[] | undefined;\n }) => void;\n /**\n * Callback that is called when a checkpoints event is received.\n */\n onCheckpointEvent?: (data: CheckpointsStreamEvent<StateType>[\"data\"], options: {\n namespace: string[] | undefined;\n }) => void;\n /**\n * Callback that is called when a tasks event is received.\n */\n onTaskEvent?: (data: TasksStreamEvent<StateType, GetUpdateType<Bag, StateType>>[\"data\"], options: {\n namespace: string[] | undefined;\n }) => void;\n /**\n * Callback that is called when the stream is stopped by the user.\n * Provides a mutate function to update the stream state immediately\n * without requiring a server roundtrip.\n *\n * @example\n * ```typescript\n * onStop: ({ mutate }) => {\n * mutate((prev) => ({\n * ...prev,\n * ui: prev.ui?.map(component =>\n * component.props.isLoading\n * ? { ...component, props: { ...component.props, stopped: true, isLoading: false }}\n * : component\n * )\n * }));\n * }\n * ```\n */\n onStop?: (options: {\n mutate: (update: Partial<StateType> | ((prev: StateType) => Partial<StateType>)) => void;\n }) => void;\n /**\n * The ID of the thread to fetch history and current values from.\n */\n threadId?: string | null;\n /**\n * Callback that is called when the thread ID is updated (ie when a new thread is created).\n */\n onThreadId?: (threadId: string) => void;\n /** Will reconnect the stream on mount */\n reconnectOnMount?: boolean | (() => RunMetadataStorage);\n /**\n * Initial values to display immediately when loading a thread.\n * Useful for displaying cached thread data while official history loads.\n * These values will be replaced when official thread data is fetched.\n *\n * Note: UI components from initialValues will render immediately if they're\n * predefined in LoadExternalComponent's components prop, providing instant\n * cached UI display without server fetches.\n */\n initialValues?: StateType | null;\n /**\n * Whether to fetch the history of the thread.\n * If true, the history will be fetched from the server. Defaults to 10 entries.\n * If false, only the last state will be fetched from the server.\n * @default true\n */\n fetchStateHistory?: boolean | {\n limit: number;\n };\n /**\n * Manage the thread state externally.\n * @experimental\n */\n experimental_thread?: UseStreamThread<StateType>;\n}\ninterface RunMetadataStorage {\n getItem(key: `lg:stream:${string}`): string | null;\n setItem(key: `lg:stream:${string}`, value: string): void;\n removeItem(key: `lg:stream:${string}`): void;\n}\nexport interface UseStream<StateType extends Record<string, unknown> = Record<string, unknown>, Bag extends BagTemplate = BagTemplate> {\n /**\n * The current values of the thread.\n */\n values: StateType;\n /**\n * Last seen error from the thread or during streaming.\n */\n error: unknown;\n /**\n * Whether the stream is currently running.\n */\n isLoading: boolean;\n /**\n * Whether the thread is currently being loaded.\n */\n isThreadLoading: boolean;\n /**\n * Stops the stream.\n */\n stop: () => Promise<void>;\n /**\n * Create and stream a run to the thread.\n */\n submit: (values: GetUpdateType<Bag, StateType> | null | undefined, options?: SubmitOptions<StateType, GetConfigurableType<Bag>>) => Promise<void>;\n /**\n * The current branch of the thread.\n */\n branch: string;\n /**\n * Set the branch of the thread.\n */\n setBranch: (branch: string) => void;\n /**\n * Flattened history of thread states of a thread.\n */\n history: ThreadState<StateType>[];\n /**\n * Tree of all branches for the thread.\n * @experimental\n */\n experimental_branchTree: Sequence<StateType>;\n /**\n * Get the interrupt value for the stream if interrupted.\n */\n interrupt: Interrupt<GetInterruptType<Bag>> | undefined;\n /**\n * Messages inferred from the thread.\n * Will automatically update with incoming message chunks.\n */\n messages: Message[];\n /**\n * Get the metadata for a message, such as first thread state the message\n * was seen in and branch information.\n \n * @param message - The message to get the metadata for.\n * @param index - The index of the message in the thread.\n * @returns The metadata for the message.\n */\n getMessagesMetadata: (message: Message, index?: number) => MessageMetadata<StateType> | undefined;\n /**\n * LangGraph SDK client used to send request and receive responses.\n */\n client: Client;\n /**\n * The ID of the assistant to use.\n */\n assistantId: string;\n /**\n * Join an active stream.\n */\n joinStream: (runId: string, lastEventId?: string, options?: {\n streamMode?: StreamMode | StreamMode[];\n }) => Promise<void>;\n}\ntype ConfigWithConfigurable<ConfigurableType extends Record<string, unknown>> = Config & {\n configurable?: ConfigurableType;\n};\nexport interface SubmitOptions<StateType extends Record<string, unknown> = Record<string, unknown>, ContextType extends Record<string, unknown> = Record<string, unknown>> {\n config?: ConfigWithConfigurable<ContextType>;\n context?: ContextType;\n checkpoint?: Omit<Checkpoint, \"thread_id\"> | null;\n command?: Command;\n interruptBefore?: \"*\" | string[];\n interruptAfter?: \"*\" | string[];\n metadata?: Metadata;\n multitaskStrategy?: MultitaskStrategy;\n onCompletion?: OnCompletionBehavior;\n onDisconnect?: DisconnectMode;\n feedbackKeys?: string[];\n streamMode?: Array<StreamMode>;\n optimisticValues?: Partial<StateType> | ((prev: StateType) => Partial<StateType>);\n /**\n * Whether or not to stream the nodes of any subgraphs called\n * by the assistant.\n * @default false\n */\n streamSubgraphs?: boolean;\n /**\n * Mark the stream as resumable. All events emitted during the run will be temporarily persisted\n * in order to be re-emitted if the stream is re-joined.\n * @default false\n */\n streamResumable?: 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 * The ID to use when creating a new thread. When provided, this ID will be used\n * for thread creation when threadId is `null` or `undefined`.\n * This enables optimistic UI updates where you know the thread ID\n * before the thread is actually created.\n */\n threadId?: string;\n}\n/**\n * Transport used to stream the thread.\n * Only applicable for custom endpoints using `toLangGraphEventStream` or `toLangGraphEventStreamResponse`.\n */\nexport interface UseStreamTransport<StateType extends Record<string, unknown> = Record<string, unknown>, Bag extends BagTemplate = BagTemplate> {\n stream: (payload: {\n input: GetUpdateType<Bag, StateType> | null | undefined;\n context: GetConfigurableType<Bag> | undefined;\n command: Command | undefined;\n config: ConfigWithConfigurable<GetConfigurableType<Bag>> | undefined;\n signal: AbortSignal;\n }) => Promise<AsyncGenerator<{\n id?: string;\n event: string;\n data: unknown;\n }>>;\n}\nexport type UseStreamCustomOptions<StateType extends Record<string, unknown> = Record<string, unknown>, Bag extends BagTemplate = BagTemplate> = Pick<UseStreamOptions<StateType, Bag>, \"messagesKey\" | \"threadId\" | \"onThreadId\" | \"onError\" | \"onCreated\" | \"onUpdateEvent\" | \"onCustomEvent\" | \"onMetadataEvent\" | \"onLangChainEvent\" | \"onDebugEvent\" | \"onCheckpointEvent\" | \"onTaskEvent\" | \"onStop\" | \"initialValues\"> & {\n transport: UseStreamTransport<StateType, Bag>;\n};\nexport type UseStreamCustom<StateType extends Record<string, unknown> = Record<string, unknown>, Bag extends BagTemplate = BagTemplate> = Pick<UseStream<StateType, Bag>, \"values\" | \"error\" | \"isLoading\" | \"stop\" | \"interrupt\" | \"messages\"> & {\n submit: (values: GetUpdateType<Bag, StateType> | null | undefined, options?: CustomSubmitOptions<StateType, GetConfigurableType<Bag>>) => Promise<void>;\n};\nexport type CustomSubmitOptions<StateType extends Record<string, unknown> = Record<string, unknown>, ConfigurableType extends Record<string, unknown> = Record<string, unknown>> = Pick<SubmitOptions<StateType, ConfigurableType>, \"optimisticValues\" | \"context\" | \"command\" | \"config\">;\nexport {};\n"],"mappings":"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"}
1
+ {"version":3,"file":"types.d.cts","names":["Client","ClientConfig","ThreadState","Interrupt","Config","Checkpoint","Metadata","Command","MultitaskStrategy","OnCompletionBehavior","DisconnectMode","Durability","Message","UpdatesStreamEvent","CustomStreamEvent","MetadataStreamEvent","EventsStreamEvent","DebugStreamEvent","CheckpointsStreamEvent","TasksStreamEvent","StreamMode","Sequence","MessageMetadata","Record","StateType","BagTemplate","GetUpdateType","Bag","Partial","GetConfigurableType","GetInterruptType","GetCustomEventType","RunCallbackMeta","UseStreamThread","Promise","UseStreamOptions","RunMetadataStorage","UseStream","SubmitOptions","ConfigWithConfigurable","ConfigurableType","ContextType","Omit","Array","UseStreamTransport","AbortSignal","AsyncGenerator","UseStreamCustomOptions","Pick","UseStreamCustom","CustomSubmitOptions"],"sources":["../../src/react/types.d.ts"],"sourcesContent":["/* __LC_ALLOW_ENTRYPOINT_SIDE_EFFECTS__ */\nimport type { Client, ClientConfig } from \"../client.js\";\nimport type { ThreadState, Interrupt, Config, Checkpoint, Metadata } from \"../schema.js\";\nimport type { Command, MultitaskStrategy, OnCompletionBehavior, DisconnectMode, Durability } from \"../types.js\";\nimport type { Message } from \"../types.messages.js\";\nimport type { UpdatesStreamEvent, CustomStreamEvent, MetadataStreamEvent, EventsStreamEvent, DebugStreamEvent, CheckpointsStreamEvent, TasksStreamEvent, StreamMode } from \"../types.stream.js\";\nimport type { Sequence } from \"../ui/branching.js\";\nexport type MessageMetadata<StateType extends Record<string, unknown>> = {\n /**\n * The ID of the message used.\n */\n messageId: string;\n /**\n * The first thread state the message was seen in.\n */\n firstSeenState: ThreadState<StateType> | undefined;\n /**\n * The branch of the message.\n */\n branch: string | undefined;\n /**\n * The list of branches this message is part of.\n * This is useful for displaying branching controls.\n */\n branchOptions: string[] | undefined;\n /**\n * Metadata sent alongside the message during run streaming.\n * @remarks This metadata only exists temporarily in browser memory during streaming and is not persisted after completion.\n */\n streamMetadata: Record<string, unknown> | undefined;\n};\nexport type BagTemplate = {\n ConfigurableType?: Record<string, unknown>;\n InterruptType?: unknown;\n CustomEventType?: unknown;\n UpdateType?: unknown;\n};\nexport type GetUpdateType<Bag extends BagTemplate, StateType extends Record<string, unknown>> = Bag extends {\n UpdateType: unknown;\n} ? Bag[\"UpdateType\"] : Partial<StateType>;\nexport type GetConfigurableType<Bag extends BagTemplate> = Bag extends {\n ConfigurableType: Record<string, unknown>;\n} ? Bag[\"ConfigurableType\"] : Record<string, unknown>;\nexport type GetInterruptType<Bag extends BagTemplate> = Bag extends {\n InterruptType: unknown;\n} ? Bag[\"InterruptType\"] : unknown;\nexport type GetCustomEventType<Bag extends BagTemplate> = Bag extends {\n CustomEventType: unknown;\n} ? Bag[\"CustomEventType\"] : unknown;\nexport interface RunCallbackMeta {\n run_id: string;\n thread_id: string;\n}\nexport interface UseStreamThread<StateType extends Record<string, unknown>> {\n data: ThreadState<StateType>[] | null | undefined;\n error: unknown;\n isLoading: boolean;\n mutate: (mutateId?: string) => Promise<ThreadState<StateType>[] | null | undefined>;\n}\nexport interface UseStreamOptions<StateType extends Record<string, unknown> = Record<string, unknown>, Bag extends BagTemplate = BagTemplate> {\n /**\n * The ID of the assistant to use.\n */\n assistantId: string;\n /**\n * Client used to send requests.\n */\n client?: Client;\n /**\n * The URL of the API to use.\n */\n apiUrl?: ClientConfig[\"apiUrl\"];\n /**\n * The API key to use.\n */\n apiKey?: ClientConfig[\"apiKey\"];\n /**\n * Custom call options, such as custom fetch implementation.\n */\n callerOptions?: ClientConfig[\"callerOptions\"];\n /**\n * Default headers to send with requests.\n */\n defaultHeaders?: ClientConfig[\"defaultHeaders\"];\n /**\n * Specify the key within the state that contains messages.\n * Defaults to \"messages\".\n *\n * @default \"messages\"\n */\n messagesKey?: string;\n /**\n * Callback that is called when an error occurs.\n */\n onError?: (error: unknown, run: RunCallbackMeta | undefined) => void;\n /**\n * Callback that is called when the stream is finished.\n */\n onFinish?: (state: ThreadState<StateType>, run: RunCallbackMeta | undefined) => void;\n /**\n * Callback that is called when a new stream is created.\n */\n onCreated?: (run: RunCallbackMeta) => void;\n /**\n * Callback that is called when an update event is received.\n */\n onUpdateEvent?: (data: UpdatesStreamEvent<GetUpdateType<Bag, StateType>>[\"data\"], options: {\n namespace: string[] | undefined;\n mutate: (update: Partial<StateType> | ((prev: StateType) => Partial<StateType>)) => void;\n }) => void;\n /**\n * Callback that is called when a custom event is received.\n */\n onCustomEvent?: (data: CustomStreamEvent<GetCustomEventType<Bag>>[\"data\"], options: {\n namespace: string[] | undefined;\n mutate: (update: Partial<StateType> | ((prev: StateType) => Partial<StateType>)) => void;\n }) => void;\n /**\n * Callback that is called when a metadata event is received.\n */\n onMetadataEvent?: (data: MetadataStreamEvent[\"data\"]) => void;\n /**\n * Callback that is called when a LangChain event is received.\n * @see https://langchain-ai.github.io/langgraph/cloud/how-tos/stream_events/#stream-graph-in-events-mode for more details.\n */\n onLangChainEvent?: (data: EventsStreamEvent[\"data\"]) => void;\n /**\n * Callback that is called when a debug event is received.\n * @internal This API is experimental and subject to change.\n */\n onDebugEvent?: (data: DebugStreamEvent[\"data\"], options: {\n namespace: string[] | undefined;\n }) => void;\n /**\n * Callback that is called when a checkpoints event is received.\n */\n onCheckpointEvent?: (data: CheckpointsStreamEvent<StateType>[\"data\"], options: {\n namespace: string[] | undefined;\n }) => void;\n /**\n * Callback that is called when a tasks event is received.\n */\n onTaskEvent?: (data: TasksStreamEvent<StateType, GetUpdateType<Bag, StateType>>[\"data\"], options: {\n namespace: string[] | undefined;\n }) => void;\n /**\n * Callback that is called when the stream is stopped by the user.\n * Provides a mutate function to update the stream state immediately\n * without requiring a server roundtrip.\n *\n * @example\n * ```typescript\n * onStop: ({ mutate }) => {\n * mutate((prev) => ({\n * ...prev,\n * ui: prev.ui?.map(component =>\n * component.props.isLoading\n * ? { ...component, props: { ...component.props, stopped: true, isLoading: false }}\n * : component\n * )\n * }));\n * }\n * ```\n */\n onStop?: (options: {\n mutate: (update: Partial<StateType> | ((prev: StateType) => Partial<StateType>)) => void;\n }) => void;\n /**\n * The ID of the thread to fetch history and current values from.\n */\n threadId?: string | null;\n /**\n * Callback that is called when the thread ID is updated (ie when a new thread is created).\n */\n onThreadId?: (threadId: string) => void;\n /** Will reconnect the stream on mount */\n reconnectOnMount?: boolean | (() => RunMetadataStorage);\n /**\n * Initial values to display immediately when loading a thread.\n * Useful for displaying cached thread data while official history loads.\n * These values will be replaced when official thread data is fetched.\n *\n * Note: UI components from initialValues will render immediately if they're\n * predefined in LoadExternalComponent's components prop, providing instant\n * cached UI display without server fetches.\n */\n initialValues?: StateType | null;\n /**\n * Whether to fetch the history of the thread.\n * If true, the history will be fetched from the server. Defaults to 10 entries.\n * If false, only the last state will be fetched from the server.\n * @default true\n */\n fetchStateHistory?: boolean | {\n limit: number;\n };\n /**\n * Manage the thread state externally.\n * @experimental\n */\n experimental_thread?: UseStreamThread<StateType>;\n}\ninterface RunMetadataStorage {\n getItem(key: `lg:stream:${string}`): string | null;\n setItem(key: `lg:stream:${string}`, value: string): void;\n removeItem(key: `lg:stream:${string}`): void;\n}\nexport interface UseStream<StateType extends Record<string, unknown> = Record<string, unknown>, Bag extends BagTemplate = BagTemplate> {\n /**\n * The current values of the thread.\n */\n values: StateType;\n /**\n * Last seen error from the thread or during streaming.\n */\n error: unknown;\n /**\n * Whether the stream is currently running.\n */\n isLoading: boolean;\n /**\n * Whether the thread is currently being loaded.\n */\n isThreadLoading: boolean;\n /**\n * Stops the stream.\n */\n stop: () => Promise<void>;\n /**\n * Create and stream a run to the thread.\n */\n submit: (values: GetUpdateType<Bag, StateType> | null | undefined, options?: SubmitOptions<StateType, GetConfigurableType<Bag>>) => Promise<void>;\n /**\n * The current branch of the thread.\n */\n branch: string;\n /**\n * Set the branch of the thread.\n */\n setBranch: (branch: string) => void;\n /**\n * Flattened history of thread states of a thread.\n */\n history: ThreadState<StateType>[];\n /**\n * Tree of all branches for the thread.\n * @experimental\n */\n experimental_branchTree: Sequence<StateType>;\n /**\n * Get the interrupt value for the stream if interrupted.\n */\n interrupt: Interrupt<GetInterruptType<Bag>> | undefined;\n /**\n * Messages inferred from the thread.\n * Will automatically update with incoming message chunks.\n */\n messages: Message[];\n /**\n * Get the metadata for a message, such as first thread state the message\n * was seen in and branch information.\n \n * @param message - The message to get the metadata for.\n * @param index - The index of the message in the thread.\n * @returns The metadata for the message.\n */\n getMessagesMetadata: (message: Message, index?: number) => MessageMetadata<StateType> | undefined;\n /**\n * LangGraph SDK client used to send request and receive responses.\n */\n client: Client;\n /**\n * The ID of the assistant to use.\n */\n assistantId: string;\n /**\n * Join an active stream.\n */\n joinStream: (runId: string, lastEventId?: string, options?: {\n streamMode?: StreamMode | StreamMode[];\n }) => Promise<void>;\n}\ntype ConfigWithConfigurable<ConfigurableType extends Record<string, unknown>> = Config & {\n configurable?: ConfigurableType;\n};\nexport interface SubmitOptions<StateType extends Record<string, unknown> = Record<string, unknown>, ContextType extends Record<string, unknown> = Record<string, unknown>> {\n config?: ConfigWithConfigurable<ContextType>;\n context?: ContextType;\n checkpoint?: Omit<Checkpoint, \"thread_id\"> | null;\n command?: Command;\n interruptBefore?: \"*\" | string[];\n interruptAfter?: \"*\" | string[];\n metadata?: Metadata;\n multitaskStrategy?: MultitaskStrategy;\n onCompletion?: OnCompletionBehavior;\n onDisconnect?: DisconnectMode;\n feedbackKeys?: string[];\n streamMode?: Array<StreamMode>;\n runId?: string;\n optimisticValues?: Partial<StateType> | ((prev: StateType) => Partial<StateType>);\n /**\n * Whether or not to stream the nodes of any subgraphs called\n * by the assistant.\n * @default false\n */\n streamSubgraphs?: boolean;\n /**\n * Mark the stream as resumable. All events emitted during the run will be temporarily persisted\n * in order to be re-emitted if the stream is re-joined.\n * @default false\n */\n streamResumable?: 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 * The ID to use when creating a new thread. When provided, this ID will be used\n * for thread creation when threadId is `null` or `undefined`.\n * This enables optimistic UI updates where you know the thread ID\n * before the thread is actually created.\n */\n threadId?: string;\n}\n/**\n * Transport used to stream the thread.\n * Only applicable for custom endpoints using `toLangGraphEventStream` or `toLangGraphEventStreamResponse`.\n */\nexport interface UseStreamTransport<StateType extends Record<string, unknown> = Record<string, unknown>, Bag extends BagTemplate = BagTemplate> {\n stream: (payload: {\n input: GetUpdateType<Bag, StateType> | null | undefined;\n context: GetConfigurableType<Bag> | undefined;\n command: Command | undefined;\n config: ConfigWithConfigurable<GetConfigurableType<Bag>> | undefined;\n signal: AbortSignal;\n }) => Promise<AsyncGenerator<{\n id?: string;\n event: string;\n data: unknown;\n }>>;\n}\nexport type UseStreamCustomOptions<StateType extends Record<string, unknown> = Record<string, unknown>, Bag extends BagTemplate = BagTemplate> = Pick<UseStreamOptions<StateType, Bag>, \"messagesKey\" | \"threadId\" | \"onThreadId\" | \"onError\" | \"onCreated\" | \"onUpdateEvent\" | \"onCustomEvent\" | \"onMetadataEvent\" | \"onLangChainEvent\" | \"onDebugEvent\" | \"onCheckpointEvent\" | \"onTaskEvent\" | \"onStop\" | \"initialValues\"> & {\n transport: UseStreamTransport<StateType, Bag>;\n};\nexport type UseStreamCustom<StateType extends Record<string, unknown> = Record<string, unknown>, Bag extends BagTemplate = BagTemplate> = Pick<UseStream<StateType, Bag>, \"values\" | \"error\" | \"isLoading\" | \"stop\" | \"interrupt\" | \"messages\"> & {\n submit: (values: GetUpdateType<Bag, StateType> | null | undefined, options?: CustomSubmitOptions<StateType, GetConfigurableType<Bag>>) => Promise<void>;\n};\nexport type CustomSubmitOptions<StateType extends Record<string, unknown> = Record<string, unknown>, ConfigurableType extends Record<string, unknown> = Record<string, unknown>> = Pick<SubmitOptions<StateType, ConfigurableType>, \"optimisticValues\" | \"context\" | \"command\" | \"config\">;\nexport {};\n"],"mappings":"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"}
@@ -297,6 +297,7 @@ interface SubmitOptions<StateType extends Record<string, unknown> = Record<strin
297
297
  onDisconnect?: DisconnectMode;
298
298
  feedbackKeys?: string[];
299
299
  streamMode?: Array<StreamMode>;
300
+ runId?: string;
300
301
  optimisticValues?: Partial<StateType> | ((prev: StateType) => Partial<StateType>);
301
302
  /**
302
303
  * Whether or not to stream the nodes of any subgraphs called
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","names":["Client","ClientConfig","ThreadState","Interrupt","Config","Checkpoint","Metadata","Command","MultitaskStrategy","OnCompletionBehavior","DisconnectMode","Durability","Message","UpdatesStreamEvent","CustomStreamEvent","MetadataStreamEvent","EventsStreamEvent","DebugStreamEvent","CheckpointsStreamEvent","TasksStreamEvent","StreamMode","Sequence","MessageMetadata","Record","StateType","BagTemplate","GetUpdateType","Bag","Partial","GetConfigurableType","GetInterruptType","GetCustomEventType","RunCallbackMeta","UseStreamThread","Promise","UseStreamOptions","RunMetadataStorage","UseStream","SubmitOptions","ConfigWithConfigurable","ConfigurableType","ContextType","Omit","Array","UseStreamTransport","AbortSignal","AsyncGenerator","UseStreamCustomOptions","Pick","UseStreamCustom","CustomSubmitOptions"],"sources":["../../src/react/types.d.ts"],"sourcesContent":["/* __LC_ALLOW_ENTRYPOINT_SIDE_EFFECTS__ */\nimport type { Client, ClientConfig } from \"../client.js\";\nimport type { ThreadState, Interrupt, Config, Checkpoint, Metadata } from \"../schema.js\";\nimport type { Command, MultitaskStrategy, OnCompletionBehavior, DisconnectMode, Durability } from \"../types.js\";\nimport type { Message } from \"../types.messages.js\";\nimport type { UpdatesStreamEvent, CustomStreamEvent, MetadataStreamEvent, EventsStreamEvent, DebugStreamEvent, CheckpointsStreamEvent, TasksStreamEvent, StreamMode } from \"../types.stream.js\";\nimport type { Sequence } from \"../ui/branching.js\";\nexport type MessageMetadata<StateType extends Record<string, unknown>> = {\n /**\n * The ID of the message used.\n */\n messageId: string;\n /**\n * The first thread state the message was seen in.\n */\n firstSeenState: ThreadState<StateType> | undefined;\n /**\n * The branch of the message.\n */\n branch: string | undefined;\n /**\n * The list of branches this message is part of.\n * This is useful for displaying branching controls.\n */\n branchOptions: string[] | undefined;\n /**\n * Metadata sent alongside the message during run streaming.\n * @remarks This metadata only exists temporarily in browser memory during streaming and is not persisted after completion.\n */\n streamMetadata: Record<string, unknown> | undefined;\n};\nexport type BagTemplate = {\n ConfigurableType?: Record<string, unknown>;\n InterruptType?: unknown;\n CustomEventType?: unknown;\n UpdateType?: unknown;\n};\nexport type GetUpdateType<Bag extends BagTemplate, StateType extends Record<string, unknown>> = Bag extends {\n UpdateType: unknown;\n} ? Bag[\"UpdateType\"] : Partial<StateType>;\nexport type GetConfigurableType<Bag extends BagTemplate> = Bag extends {\n ConfigurableType: Record<string, unknown>;\n} ? Bag[\"ConfigurableType\"] : Record<string, unknown>;\nexport type GetInterruptType<Bag extends BagTemplate> = Bag extends {\n InterruptType: unknown;\n} ? Bag[\"InterruptType\"] : unknown;\nexport type GetCustomEventType<Bag extends BagTemplate> = Bag extends {\n CustomEventType: unknown;\n} ? Bag[\"CustomEventType\"] : unknown;\nexport interface RunCallbackMeta {\n run_id: string;\n thread_id: string;\n}\nexport interface UseStreamThread<StateType extends Record<string, unknown>> {\n data: ThreadState<StateType>[] | null | undefined;\n error: unknown;\n isLoading: boolean;\n mutate: (mutateId?: string) => Promise<ThreadState<StateType>[] | null | undefined>;\n}\nexport interface UseStreamOptions<StateType extends Record<string, unknown> = Record<string, unknown>, Bag extends BagTemplate = BagTemplate> {\n /**\n * The ID of the assistant to use.\n */\n assistantId: string;\n /**\n * Client used to send requests.\n */\n client?: Client;\n /**\n * The URL of the API to use.\n */\n apiUrl?: ClientConfig[\"apiUrl\"];\n /**\n * The API key to use.\n */\n apiKey?: ClientConfig[\"apiKey\"];\n /**\n * Custom call options, such as custom fetch implementation.\n */\n callerOptions?: ClientConfig[\"callerOptions\"];\n /**\n * Default headers to send with requests.\n */\n defaultHeaders?: ClientConfig[\"defaultHeaders\"];\n /**\n * Specify the key within the state that contains messages.\n * Defaults to \"messages\".\n *\n * @default \"messages\"\n */\n messagesKey?: string;\n /**\n * Callback that is called when an error occurs.\n */\n onError?: (error: unknown, run: RunCallbackMeta | undefined) => void;\n /**\n * Callback that is called when the stream is finished.\n */\n onFinish?: (state: ThreadState<StateType>, run: RunCallbackMeta | undefined) => void;\n /**\n * Callback that is called when a new stream is created.\n */\n onCreated?: (run: RunCallbackMeta) => void;\n /**\n * Callback that is called when an update event is received.\n */\n onUpdateEvent?: (data: UpdatesStreamEvent<GetUpdateType<Bag, StateType>>[\"data\"], options: {\n namespace: string[] | undefined;\n mutate: (update: Partial<StateType> | ((prev: StateType) => Partial<StateType>)) => void;\n }) => void;\n /**\n * Callback that is called when a custom event is received.\n */\n onCustomEvent?: (data: CustomStreamEvent<GetCustomEventType<Bag>>[\"data\"], options: {\n namespace: string[] | undefined;\n mutate: (update: Partial<StateType> | ((prev: StateType) => Partial<StateType>)) => void;\n }) => void;\n /**\n * Callback that is called when a metadata event is received.\n */\n onMetadataEvent?: (data: MetadataStreamEvent[\"data\"]) => void;\n /**\n * Callback that is called when a LangChain event is received.\n * @see https://langchain-ai.github.io/langgraph/cloud/how-tos/stream_events/#stream-graph-in-events-mode for more details.\n */\n onLangChainEvent?: (data: EventsStreamEvent[\"data\"]) => void;\n /**\n * Callback that is called when a debug event is received.\n * @internal This API is experimental and subject to change.\n */\n onDebugEvent?: (data: DebugStreamEvent[\"data\"], options: {\n namespace: string[] | undefined;\n }) => void;\n /**\n * Callback that is called when a checkpoints event is received.\n */\n onCheckpointEvent?: (data: CheckpointsStreamEvent<StateType>[\"data\"], options: {\n namespace: string[] | undefined;\n }) => void;\n /**\n * Callback that is called when a tasks event is received.\n */\n onTaskEvent?: (data: TasksStreamEvent<StateType, GetUpdateType<Bag, StateType>>[\"data\"], options: {\n namespace: string[] | undefined;\n }) => void;\n /**\n * Callback that is called when the stream is stopped by the user.\n * Provides a mutate function to update the stream state immediately\n * without requiring a server roundtrip.\n *\n * @example\n * ```typescript\n * onStop: ({ mutate }) => {\n * mutate((prev) => ({\n * ...prev,\n * ui: prev.ui?.map(component =>\n * component.props.isLoading\n * ? { ...component, props: { ...component.props, stopped: true, isLoading: false }}\n * : component\n * )\n * }));\n * }\n * ```\n */\n onStop?: (options: {\n mutate: (update: Partial<StateType> | ((prev: StateType) => Partial<StateType>)) => void;\n }) => void;\n /**\n * The ID of the thread to fetch history and current values from.\n */\n threadId?: string | null;\n /**\n * Callback that is called when the thread ID is updated (ie when a new thread is created).\n */\n onThreadId?: (threadId: string) => void;\n /** Will reconnect the stream on mount */\n reconnectOnMount?: boolean | (() => RunMetadataStorage);\n /**\n * Initial values to display immediately when loading a thread.\n * Useful for displaying cached thread data while official history loads.\n * These values will be replaced when official thread data is fetched.\n *\n * Note: UI components from initialValues will render immediately if they're\n * predefined in LoadExternalComponent's components prop, providing instant\n * cached UI display without server fetches.\n */\n initialValues?: StateType | null;\n /**\n * Whether to fetch the history of the thread.\n * If true, the history will be fetched from the server. Defaults to 10 entries.\n * If false, only the last state will be fetched from the server.\n * @default true\n */\n fetchStateHistory?: boolean | {\n limit: number;\n };\n /**\n * Manage the thread state externally.\n * @experimental\n */\n experimental_thread?: UseStreamThread<StateType>;\n}\ninterface RunMetadataStorage {\n getItem(key: `lg:stream:${string}`): string | null;\n setItem(key: `lg:stream:${string}`, value: string): void;\n removeItem(key: `lg:stream:${string}`): void;\n}\nexport interface UseStream<StateType extends Record<string, unknown> = Record<string, unknown>, Bag extends BagTemplate = BagTemplate> {\n /**\n * The current values of the thread.\n */\n values: StateType;\n /**\n * Last seen error from the thread or during streaming.\n */\n error: unknown;\n /**\n * Whether the stream is currently running.\n */\n isLoading: boolean;\n /**\n * Whether the thread is currently being loaded.\n */\n isThreadLoading: boolean;\n /**\n * Stops the stream.\n */\n stop: () => Promise<void>;\n /**\n * Create and stream a run to the thread.\n */\n submit: (values: GetUpdateType<Bag, StateType> | null | undefined, options?: SubmitOptions<StateType, GetConfigurableType<Bag>>) => Promise<void>;\n /**\n * The current branch of the thread.\n */\n branch: string;\n /**\n * Set the branch of the thread.\n */\n setBranch: (branch: string) => void;\n /**\n * Flattened history of thread states of a thread.\n */\n history: ThreadState<StateType>[];\n /**\n * Tree of all branches for the thread.\n * @experimental\n */\n experimental_branchTree: Sequence<StateType>;\n /**\n * Get the interrupt value for the stream if interrupted.\n */\n interrupt: Interrupt<GetInterruptType<Bag>> | undefined;\n /**\n * Messages inferred from the thread.\n * Will automatically update with incoming message chunks.\n */\n messages: Message[];\n /**\n * Get the metadata for a message, such as first thread state the message\n * was seen in and branch information.\n \n * @param message - The message to get the metadata for.\n * @param index - The index of the message in the thread.\n * @returns The metadata for the message.\n */\n getMessagesMetadata: (message: Message, index?: number) => MessageMetadata<StateType> | undefined;\n /**\n * LangGraph SDK client used to send request and receive responses.\n */\n client: Client;\n /**\n * The ID of the assistant to use.\n */\n assistantId: string;\n /**\n * Join an active stream.\n */\n joinStream: (runId: string, lastEventId?: string, options?: {\n streamMode?: StreamMode | StreamMode[];\n }) => Promise<void>;\n}\ntype ConfigWithConfigurable<ConfigurableType extends Record<string, unknown>> = Config & {\n configurable?: ConfigurableType;\n};\nexport interface SubmitOptions<StateType extends Record<string, unknown> = Record<string, unknown>, ContextType extends Record<string, unknown> = Record<string, unknown>> {\n config?: ConfigWithConfigurable<ContextType>;\n context?: ContextType;\n checkpoint?: Omit<Checkpoint, \"thread_id\"> | null;\n command?: Command;\n interruptBefore?: \"*\" | string[];\n interruptAfter?: \"*\" | string[];\n metadata?: Metadata;\n multitaskStrategy?: MultitaskStrategy;\n onCompletion?: OnCompletionBehavior;\n onDisconnect?: DisconnectMode;\n feedbackKeys?: string[];\n streamMode?: Array<StreamMode>;\n optimisticValues?: Partial<StateType> | ((prev: StateType) => Partial<StateType>);\n /**\n * Whether or not to stream the nodes of any subgraphs called\n * by the assistant.\n * @default false\n */\n streamSubgraphs?: boolean;\n /**\n * Mark the stream as resumable. All events emitted during the run will be temporarily persisted\n * in order to be re-emitted if the stream is re-joined.\n * @default false\n */\n streamResumable?: 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 * The ID to use when creating a new thread. When provided, this ID will be used\n * for thread creation when threadId is `null` or `undefined`.\n * This enables optimistic UI updates where you know the thread ID\n * before the thread is actually created.\n */\n threadId?: string;\n}\n/**\n * Transport used to stream the thread.\n * Only applicable for custom endpoints using `toLangGraphEventStream` or `toLangGraphEventStreamResponse`.\n */\nexport interface UseStreamTransport<StateType extends Record<string, unknown> = Record<string, unknown>, Bag extends BagTemplate = BagTemplate> {\n stream: (payload: {\n input: GetUpdateType<Bag, StateType> | null | undefined;\n context: GetConfigurableType<Bag> | undefined;\n command: Command | undefined;\n config: ConfigWithConfigurable<GetConfigurableType<Bag>> | undefined;\n signal: AbortSignal;\n }) => Promise<AsyncGenerator<{\n id?: string;\n event: string;\n data: unknown;\n }>>;\n}\nexport type UseStreamCustomOptions<StateType extends Record<string, unknown> = Record<string, unknown>, Bag extends BagTemplate = BagTemplate> = Pick<UseStreamOptions<StateType, Bag>, \"messagesKey\" | \"threadId\" | \"onThreadId\" | \"onError\" | \"onCreated\" | \"onUpdateEvent\" | \"onCustomEvent\" | \"onMetadataEvent\" | \"onLangChainEvent\" | \"onDebugEvent\" | \"onCheckpointEvent\" | \"onTaskEvent\" | \"onStop\" | \"initialValues\"> & {\n transport: UseStreamTransport<StateType, Bag>;\n};\nexport type UseStreamCustom<StateType extends Record<string, unknown> = Record<string, unknown>, Bag extends BagTemplate = BagTemplate> = Pick<UseStream<StateType, Bag>, \"values\" | \"error\" | \"isLoading\" | \"stop\" | \"interrupt\" | \"messages\"> & {\n submit: (values: GetUpdateType<Bag, StateType> | null | undefined, options?: CustomSubmitOptions<StateType, GetConfigurableType<Bag>>) => Promise<void>;\n};\nexport type CustomSubmitOptions<StateType extends Record<string, unknown> = Record<string, unknown>, ConfigurableType extends Record<string, unknown> = Record<string, unknown>> = Pick<SubmitOptions<StateType, ConfigurableType>, \"optimisticValues\" | \"context\" | \"command\" | \"config\">;\nexport {};\n"],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","names":["Client","ClientConfig","ThreadState","Interrupt","Config","Checkpoint","Metadata","Command","MultitaskStrategy","OnCompletionBehavior","DisconnectMode","Durability","Message","UpdatesStreamEvent","CustomStreamEvent","MetadataStreamEvent","EventsStreamEvent","DebugStreamEvent","CheckpointsStreamEvent","TasksStreamEvent","StreamMode","Sequence","MessageMetadata","Record","StateType","BagTemplate","GetUpdateType","Bag","Partial","GetConfigurableType","GetInterruptType","GetCustomEventType","RunCallbackMeta","UseStreamThread","Promise","UseStreamOptions","RunMetadataStorage","UseStream","SubmitOptions","ConfigWithConfigurable","ConfigurableType","ContextType","Omit","Array","UseStreamTransport","AbortSignal","AsyncGenerator","UseStreamCustomOptions","Pick","UseStreamCustom","CustomSubmitOptions"],"sources":["../../src/react/types.d.ts"],"sourcesContent":["/* __LC_ALLOW_ENTRYPOINT_SIDE_EFFECTS__ */\nimport type { Client, ClientConfig } from \"../client.js\";\nimport type { ThreadState, Interrupt, Config, Checkpoint, Metadata } from \"../schema.js\";\nimport type { Command, MultitaskStrategy, OnCompletionBehavior, DisconnectMode, Durability } from \"../types.js\";\nimport type { Message } from \"../types.messages.js\";\nimport type { UpdatesStreamEvent, CustomStreamEvent, MetadataStreamEvent, EventsStreamEvent, DebugStreamEvent, CheckpointsStreamEvent, TasksStreamEvent, StreamMode } from \"../types.stream.js\";\nimport type { Sequence } from \"../ui/branching.js\";\nexport type MessageMetadata<StateType extends Record<string, unknown>> = {\n /**\n * The ID of the message used.\n */\n messageId: string;\n /**\n * The first thread state the message was seen in.\n */\n firstSeenState: ThreadState<StateType> | undefined;\n /**\n * The branch of the message.\n */\n branch: string | undefined;\n /**\n * The list of branches this message is part of.\n * This is useful for displaying branching controls.\n */\n branchOptions: string[] | undefined;\n /**\n * Metadata sent alongside the message during run streaming.\n * @remarks This metadata only exists temporarily in browser memory during streaming and is not persisted after completion.\n */\n streamMetadata: Record<string, unknown> | undefined;\n};\nexport type BagTemplate = {\n ConfigurableType?: Record<string, unknown>;\n InterruptType?: unknown;\n CustomEventType?: unknown;\n UpdateType?: unknown;\n};\nexport type GetUpdateType<Bag extends BagTemplate, StateType extends Record<string, unknown>> = Bag extends {\n UpdateType: unknown;\n} ? Bag[\"UpdateType\"] : Partial<StateType>;\nexport type GetConfigurableType<Bag extends BagTemplate> = Bag extends {\n ConfigurableType: Record<string, unknown>;\n} ? Bag[\"ConfigurableType\"] : Record<string, unknown>;\nexport type GetInterruptType<Bag extends BagTemplate> = Bag extends {\n InterruptType: unknown;\n} ? Bag[\"InterruptType\"] : unknown;\nexport type GetCustomEventType<Bag extends BagTemplate> = Bag extends {\n CustomEventType: unknown;\n} ? Bag[\"CustomEventType\"] : unknown;\nexport interface RunCallbackMeta {\n run_id: string;\n thread_id: string;\n}\nexport interface UseStreamThread<StateType extends Record<string, unknown>> {\n data: ThreadState<StateType>[] | null | undefined;\n error: unknown;\n isLoading: boolean;\n mutate: (mutateId?: string) => Promise<ThreadState<StateType>[] | null | undefined>;\n}\nexport interface UseStreamOptions<StateType extends Record<string, unknown> = Record<string, unknown>, Bag extends BagTemplate = BagTemplate> {\n /**\n * The ID of the assistant to use.\n */\n assistantId: string;\n /**\n * Client used to send requests.\n */\n client?: Client;\n /**\n * The URL of the API to use.\n */\n apiUrl?: ClientConfig[\"apiUrl\"];\n /**\n * The API key to use.\n */\n apiKey?: ClientConfig[\"apiKey\"];\n /**\n * Custom call options, such as custom fetch implementation.\n */\n callerOptions?: ClientConfig[\"callerOptions\"];\n /**\n * Default headers to send with requests.\n */\n defaultHeaders?: ClientConfig[\"defaultHeaders\"];\n /**\n * Specify the key within the state that contains messages.\n * Defaults to \"messages\".\n *\n * @default \"messages\"\n */\n messagesKey?: string;\n /**\n * Callback that is called when an error occurs.\n */\n onError?: (error: unknown, run: RunCallbackMeta | undefined) => void;\n /**\n * Callback that is called when the stream is finished.\n */\n onFinish?: (state: ThreadState<StateType>, run: RunCallbackMeta | undefined) => void;\n /**\n * Callback that is called when a new stream is created.\n */\n onCreated?: (run: RunCallbackMeta) => void;\n /**\n * Callback that is called when an update event is received.\n */\n onUpdateEvent?: (data: UpdatesStreamEvent<GetUpdateType<Bag, StateType>>[\"data\"], options: {\n namespace: string[] | undefined;\n mutate: (update: Partial<StateType> | ((prev: StateType) => Partial<StateType>)) => void;\n }) => void;\n /**\n * Callback that is called when a custom event is received.\n */\n onCustomEvent?: (data: CustomStreamEvent<GetCustomEventType<Bag>>[\"data\"], options: {\n namespace: string[] | undefined;\n mutate: (update: Partial<StateType> | ((prev: StateType) => Partial<StateType>)) => void;\n }) => void;\n /**\n * Callback that is called when a metadata event is received.\n */\n onMetadataEvent?: (data: MetadataStreamEvent[\"data\"]) => void;\n /**\n * Callback that is called when a LangChain event is received.\n * @see https://langchain-ai.github.io/langgraph/cloud/how-tos/stream_events/#stream-graph-in-events-mode for more details.\n */\n onLangChainEvent?: (data: EventsStreamEvent[\"data\"]) => void;\n /**\n * Callback that is called when a debug event is received.\n * @internal This API is experimental and subject to change.\n */\n onDebugEvent?: (data: DebugStreamEvent[\"data\"], options: {\n namespace: string[] | undefined;\n }) => void;\n /**\n * Callback that is called when a checkpoints event is received.\n */\n onCheckpointEvent?: (data: CheckpointsStreamEvent<StateType>[\"data\"], options: {\n namespace: string[] | undefined;\n }) => void;\n /**\n * Callback that is called when a tasks event is received.\n */\n onTaskEvent?: (data: TasksStreamEvent<StateType, GetUpdateType<Bag, StateType>>[\"data\"], options: {\n namespace: string[] | undefined;\n }) => void;\n /**\n * Callback that is called when the stream is stopped by the user.\n * Provides a mutate function to update the stream state immediately\n * without requiring a server roundtrip.\n *\n * @example\n * ```typescript\n * onStop: ({ mutate }) => {\n * mutate((prev) => ({\n * ...prev,\n * ui: prev.ui?.map(component =>\n * component.props.isLoading\n * ? { ...component, props: { ...component.props, stopped: true, isLoading: false }}\n * : component\n * )\n * }));\n * }\n * ```\n */\n onStop?: (options: {\n mutate: (update: Partial<StateType> | ((prev: StateType) => Partial<StateType>)) => void;\n }) => void;\n /**\n * The ID of the thread to fetch history and current values from.\n */\n threadId?: string | null;\n /**\n * Callback that is called when the thread ID is updated (ie when a new thread is created).\n */\n onThreadId?: (threadId: string) => void;\n /** Will reconnect the stream on mount */\n reconnectOnMount?: boolean | (() => RunMetadataStorage);\n /**\n * Initial values to display immediately when loading a thread.\n * Useful for displaying cached thread data while official history loads.\n * These values will be replaced when official thread data is fetched.\n *\n * Note: UI components from initialValues will render immediately if they're\n * predefined in LoadExternalComponent's components prop, providing instant\n * cached UI display without server fetches.\n */\n initialValues?: StateType | null;\n /**\n * Whether to fetch the history of the thread.\n * If true, the history will be fetched from the server. Defaults to 10 entries.\n * If false, only the last state will be fetched from the server.\n * @default true\n */\n fetchStateHistory?: boolean | {\n limit: number;\n };\n /**\n * Manage the thread state externally.\n * @experimental\n */\n experimental_thread?: UseStreamThread<StateType>;\n}\ninterface RunMetadataStorage {\n getItem(key: `lg:stream:${string}`): string | null;\n setItem(key: `lg:stream:${string}`, value: string): void;\n removeItem(key: `lg:stream:${string}`): void;\n}\nexport interface UseStream<StateType extends Record<string, unknown> = Record<string, unknown>, Bag extends BagTemplate = BagTemplate> {\n /**\n * The current values of the thread.\n */\n values: StateType;\n /**\n * Last seen error from the thread or during streaming.\n */\n error: unknown;\n /**\n * Whether the stream is currently running.\n */\n isLoading: boolean;\n /**\n * Whether the thread is currently being loaded.\n */\n isThreadLoading: boolean;\n /**\n * Stops the stream.\n */\n stop: () => Promise<void>;\n /**\n * Create and stream a run to the thread.\n */\n submit: (values: GetUpdateType<Bag, StateType> | null | undefined, options?: SubmitOptions<StateType, GetConfigurableType<Bag>>) => Promise<void>;\n /**\n * The current branch of the thread.\n */\n branch: string;\n /**\n * Set the branch of the thread.\n */\n setBranch: (branch: string) => void;\n /**\n * Flattened history of thread states of a thread.\n */\n history: ThreadState<StateType>[];\n /**\n * Tree of all branches for the thread.\n * @experimental\n */\n experimental_branchTree: Sequence<StateType>;\n /**\n * Get the interrupt value for the stream if interrupted.\n */\n interrupt: Interrupt<GetInterruptType<Bag>> | undefined;\n /**\n * Messages inferred from the thread.\n * Will automatically update with incoming message chunks.\n */\n messages: Message[];\n /**\n * Get the metadata for a message, such as first thread state the message\n * was seen in and branch information.\n \n * @param message - The message to get the metadata for.\n * @param index - The index of the message in the thread.\n * @returns The metadata for the message.\n */\n getMessagesMetadata: (message: Message, index?: number) => MessageMetadata<StateType> | undefined;\n /**\n * LangGraph SDK client used to send request and receive responses.\n */\n client: Client;\n /**\n * The ID of the assistant to use.\n */\n assistantId: string;\n /**\n * Join an active stream.\n */\n joinStream: (runId: string, lastEventId?: string, options?: {\n streamMode?: StreamMode | StreamMode[];\n }) => Promise<void>;\n}\ntype ConfigWithConfigurable<ConfigurableType extends Record<string, unknown>> = Config & {\n configurable?: ConfigurableType;\n};\nexport interface SubmitOptions<StateType extends Record<string, unknown> = Record<string, unknown>, ContextType extends Record<string, unknown> = Record<string, unknown>> {\n config?: ConfigWithConfigurable<ContextType>;\n context?: ContextType;\n checkpoint?: Omit<Checkpoint, \"thread_id\"> | null;\n command?: Command;\n interruptBefore?: \"*\" | string[];\n interruptAfter?: \"*\" | string[];\n metadata?: Metadata;\n multitaskStrategy?: MultitaskStrategy;\n onCompletion?: OnCompletionBehavior;\n onDisconnect?: DisconnectMode;\n feedbackKeys?: string[];\n streamMode?: Array<StreamMode>;\n runId?: string;\n optimisticValues?: Partial<StateType> | ((prev: StateType) => Partial<StateType>);\n /**\n * Whether or not to stream the nodes of any subgraphs called\n * by the assistant.\n * @default false\n */\n streamSubgraphs?: boolean;\n /**\n * Mark the stream as resumable. All events emitted during the run will be temporarily persisted\n * in order to be re-emitted if the stream is re-joined.\n * @default false\n */\n streamResumable?: 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 * The ID to use when creating a new thread. When provided, this ID will be used\n * for thread creation when threadId is `null` or `undefined`.\n * This enables optimistic UI updates where you know the thread ID\n * before the thread is actually created.\n */\n threadId?: string;\n}\n/**\n * Transport used to stream the thread.\n * Only applicable for custom endpoints using `toLangGraphEventStream` or `toLangGraphEventStreamResponse`.\n */\nexport interface UseStreamTransport<StateType extends Record<string, unknown> = Record<string, unknown>, Bag extends BagTemplate = BagTemplate> {\n stream: (payload: {\n input: GetUpdateType<Bag, StateType> | null | undefined;\n context: GetConfigurableType<Bag> | undefined;\n command: Command | undefined;\n config: ConfigWithConfigurable<GetConfigurableType<Bag>> | undefined;\n signal: AbortSignal;\n }) => Promise<AsyncGenerator<{\n id?: string;\n event: string;\n data: unknown;\n }>>;\n}\nexport type UseStreamCustomOptions<StateType extends Record<string, unknown> = Record<string, unknown>, Bag extends BagTemplate = BagTemplate> = Pick<UseStreamOptions<StateType, Bag>, \"messagesKey\" | \"threadId\" | \"onThreadId\" | \"onError\" | \"onCreated\" | \"onUpdateEvent\" | \"onCustomEvent\" | \"onMetadataEvent\" | \"onLangChainEvent\" | \"onDebugEvent\" | \"onCheckpointEvent\" | \"onTaskEvent\" | \"onStop\" | \"initialValues\"> & {\n transport: UseStreamTransport<StateType, Bag>;\n};\nexport type UseStreamCustom<StateType extends Record<string, unknown> = Record<string, unknown>, Bag extends BagTemplate = BagTemplate> = Pick<UseStream<StateType, Bag>, \"values\" | \"error\" | \"isLoading\" | \"stop\" | \"interrupt\" | \"messages\"> & {\n submit: (values: GetUpdateType<Bag, StateType> | null | undefined, options?: CustomSubmitOptions<StateType, GetConfigurableType<Bag>>) => Promise<void>;\n};\nexport type CustomSubmitOptions<StateType extends Record<string, unknown> = Record<string, unknown>, ConfigurableType extends Record<string, unknown> = Record<string, unknown>> = Pick<SubmitOptions<StateType, ConfigurableType>, \"optimisticValues\" | \"context\" | \"command\" | \"config\">;\nexport {};\n"],"mappings":";;;;;;;;KAOYsB,kCAAkCC;EAAlCD;;;WAQoBE,EAAAA,MAAAA;;;;EAgBpBC,cAAW,EAhBHvB,WAiBGqB,CAjBSC,SAiBTD,CAAAA,GAAAA,SAAAA;EAKXG;;;QAAyDH,EAAAA,MAAAA,GAAAA,SAAAA;;;;;;EAGzDM;;;;gBACUN,EAZFA,MAYEA,CAAAA,MAAAA,EAAAA,OAAAA,CAAAA,GAAAA,SAAAA;;AACQA,KAXlBE,WAAAA,GAWkBF;qBAVPA;EAWXO,aAAAA,CAAAA,EAAAA,OAAgB;EAAA,eAAA,CAAA,EAAA,OAAA;YAAaL,CAAAA,EAAAA,OAAAA;;AAErCE,KARQD,aAQRC,CAAAA,YARkCF,WAQlCE,EAAAA,kBARiEJ,MAQjEI,CAAAA,MAAAA,EAAAA,OAAAA,CAAAA,CAAAA,GAR4FA,GAQ5FA,SAAAA;;AACJ,CAAA,GAPIA,GAOQI,CAAAA,YAAAA,CAAAA,GAPYH,OAOM,CAPEJ,SAOF,CAAA;AAAA,KANlBK,mBAMkB,CAAA,YANcJ,WAMd,CAAA,GAN6BE,GAM7B,SAAA;kBAAaF,EALrBF,MAKqBE,CAAAA,MAAAA,EAAAA,OAAAA,CAAAA;IAJvCE,GAIsDA,CAAAA,kBAAAA,CAAAA,GAJ5BJ,MAI4BI,CAAAA,MAAAA,EAAAA,OAAAA,CAAAA;AAEtDA,KALQG,gBAKRH,CAAAA,YALqCF,WAKrCE,CAAAA,GALoDA,GAKpDA,SAAAA;;AACJ,CAAA,GAJIA,GAIaK,CAAAA,eAAe,CAAA,GAAA,OAAA;AAIfC,KAPLF,kBAOoB,CAAA,YAPWN,WAOX,CAAA,GAP0BE,GAO1B,SAAA;EAAA,eAAA,EAAA,OAAA;IAL5BA,GAK+CJ,CAAAA,iBAAAA,CAAAA,GAAAA,OAAAA;AAC7BC,UALLQ,eAAAA,CAKKR;QAAZtB,EAAAA,MAAAA;WAG6CsB,EAAAA,MAAAA;;AAApBU,UAJlBD,eAIkBC,CAAAA,kBAJgBX,MAIhBW,CAAAA,MAAAA,EAAAA,OAAAA,CAAAA,CAAAA,CAAAA;QAHzBhC,YAAYsB;EAKLW,KAAAA,EAAAA,OAAAA;EAAgB,SAAA,EAAA,OAAA;QAAmBZ,EAAAA,CAAAA,QAAAA,CAAAA,EAAAA,MAAAA,EAAAA,GAFjBW,OAEiBX,CAFTrB,WAESqB,CAFGC,SAEHD,CAAAA,EAAAA,GAAAA,IAAAA,GAAAA,SAAAA,CAAAA;;AAA+DE,UAAlGU,gBAAkGV,CAAAA,kBAA/DF,MAA+DE,CAAAA,MAAAA,EAAAA,OAAAA,CAAAA,GAArCF,MAAqCE,CAAAA,MAAAA,EAAAA,OAAAA,CAAAA,EAAAA,YAAAA,WAAAA,GAAcA,WAAdA,CAAAA,CAAAA;;;;aAgBtGxB,EAAAA,MAAAA;;;;QAuBsBuB,CAAAA,EA/BtBxB,MA+BsBwB;;;;QAQyBG,CAAAA,EAnC/C1B,YAmC+C0B,CAAAA,QAAAA,CAAAA;;;;QAE3BH,CAAAA,EAjCpBvB,YAiCoBuB,CAAAA,QAAAA,CAAAA;;;;eAAmCI,CAAAA,EA7BhD3B,YA6BgD2B,CAAAA,eAAAA,CAAAA;;;;gBAOnCJ,CAAAA,EAhCZvB,YAgCYuB,CAAAA,gBAAAA,CAAAA;;;;;;;aAePP,CAAAA,EAAAA,MAAAA;;;;SAYyCU,CAAAA,EAAAA,CAAAA,KAAAA,EAAAA,OAAAA,EAAAA,GAAAA,EAhD/BK,eAgD+BL,GAAAA,SAAAA,EAAAA,GAAAA,IAAAA;;;;UAuBlCH,CAAAA,EAAAA,CAAAA,KAAAA,EAnEVtB,WAmEUsB,CAnEEA,SAmEFA,CAAAA,EAAAA,GAAAA,EAnEmBQ,eAmEnBR,GAAAA,SAAAA,EAAAA,GAAAA,IAAAA;;;;WAAmCI,CAAAA,EAAAA,CAAAA,GAAAA,EA/D9CI,eA+D8CJ,EAAAA,GAAAA,IAAAA;;;;eAmC1CK,CAAAA,EAAAA,CAAAA,IAAAA,EA9FCpB,kBA8FDoB,CA9FoBP,aA8FpBO,CA9FkCN,GA8FlCM,EA9FuCT,SA8FvCS,CAAAA,CAAAA,CAAAA,MAAAA,CAAAA,EAAAA,OAAAA,EAAAA;;IAEhBG,MAAAA,EAAAA,CAAAA,MAAAA,EA9FeR,OA8FG,CA9FKJ,SA8FL,CAAA,GAAA,CAAA,CAAA,IAAA,EA9F0BA,SA8F1B,EAAA,GA9FwCI,OA8FxC,CA9FgDJ,SA8FhD,CAAA,CAAA,EAAA,GAAA,IAAA;EAKXa,CAAAA,EAAAA,GAAAA,IAAAA;EAAS;;;eAAkFZ,CAAAA,EAAAA,CAAAA,IAAAA,EA9FjFX,iBA8FiFW,CA9F/DM,kBA8F+DN,CA9F5CE,GA8F4CF,CAAAA,CAAAA,CAAAA,MAAAA,CAAAA,EAAAA,OAAAA,EAAAA;IAAcA,SAAAA,EAAAA,MAAAA,EAAAA,GAAAA,SAAAA;IAI9GD,MAAAA,EAAAA,CAAAA,MAAAA,EAhGaI,OAgGbJ,CAhGqBA,SAgGrBA,CAAAA,GAAAA,CAAAA,CAAAA,IAAAA,EAhG0CA,SAgG1CA,EAAAA,GAhGwDI,OAgGxDJ,CAhGgEA,SAgGhEA,CAAAA,CAAAA,EAAAA,GAAAA,IAAAA;KAgBIU,GAAAA,IAAAA;;;;iBAI+EV,CAAAA,EAAAA,CAAAA,IAAAA,EA/GlET,mBA+GkES,CAAAA,MAAAA,CAAAA,EAAAA,GAAAA,IAAAA;;;;;kBAYtEA,CAAAA,EAAAA,CAAAA,IAAAA,EAtHKR,iBAsHLQ,CAAAA,MAAAA,CAAAA,EAAAA,GAAAA,IAAAA;;;;;cASAM,CAAAA,EAAAA,CAAAA,IAAAA,EA1HCb,gBA0HDa,CAAAA,MAAAA,CAAAA,EAAAA,OAAAA,EAAAA;IAAV3B,SAAAA,EAAAA,MAAAA,EAAAA,GAAAA,SAAAA;KAKDS,GAAAA,IAAAA;;;;mBAaFZ,CAAAA,EAAAA,CAAAA,IAAAA,EAtImBkB,sBAsInBlB,CAtI0CwB,SAsI1CxB,CAAAA,CAAAA,MAAAA,CAAAA,EAAAA,OAAAA,EAAAA;IASSoB,SAAAA,EAAAA,MAAAA,EAAAA,GAAAA,SAAAA;KAAaA,GAAAA,IAAAA;;;AAEjC;EAC0B,WAAA,CAAA,EAAA,CAAA,IAAA,EA5IFD,gBA4IE,CA5IeK,SA4If,EA5I0BE,aA4I1B,CA5IwCC,GA4IxC,EA5I6CH,SA4I7C,CAAA,CAAA,CAAA,MAAA,CAAA,EAAA,OAAA,EAAA;IAA0BD,SAAAA,EAAAA,MAAAA,EAAAA,GAAAA,SAAAA;KAA2BnB,GAAAA,IAAAA;;;AAGhF;;;;;;;;;;;;;;;;;QAYiBuC,CAAAA,EAAAA,CAAAA,OAAAA,EAAAA;IAEcnB,MAAAA,EAAAA,CAAAA,MAAAA,EAtINI,OAsIMJ,CAtIEA,SAsIFA,CAAAA,GAAAA,CAAAA,CAAAA,IAAAA,EAtIuBA,SAsIvBA,EAAAA,GAtIqCI,OAsIrCJ,CAtI6CA,SAsI7CA,CAAAA,CAAAA,EAAAA,GAAAA,IAAAA;KAARI,GAAAA,IAAAA;;;;UAoBNjB,CAAAA,EAAAA,MAAAA,GAAAA,IAAAA;;AAajB;;YAAsDY,CAAAA,EAAAA,CAAAA,QAAAA,EAAAA,MAAAA,EAAAA,GAAAA,IAAAA;;kBAA+DE,CAAAA,EAAAA,OAAAA,GAAAA,CAAAA,GAAAA,GA5J7EW,kBA4J6EX,CAAAA;;;;;;;;;;eAKrGc,CAAAA,EAvJIf,SAuJJe,GAAAA,IAAAA;;;;;AAQhB;;mBAAqDhB,CAAAA,EAAAA,OAAAA,GAAAA;IAA0BA,KAAAA,EAAAA,MAAAA;;;;;;qBAAkEyB,CAAAA,EAjJvHf,eAiJuHe,CAjJvGxB,SAiJuGwB,CAAAA;;UA/IvIZ,kBAAAA,CAgJmCT;SAA9BiB,CAAAA,GAAAA,EAAAA,aAAAA,MAAAA,EAAAA,CAAAA,EAAAA,MAAAA,GAAAA,IAAAA;;EAEHK,UAAAA,CAAAA,GAAAA,EAAAA,aAAe,MAAA,EAAA,CAAA,EAAA,IAAA;;AAAmB1B,UA7I7Bc,SA6I6Bd,CAAAA,kBA7IDA,MA6ICA,CAAAA,MAAAA,EAAAA,OAAAA,CAAAA,GA7IyBA,MA6IzBA,CAAAA,MAAAA,EAAAA,OAAAA,CAAAA,EAAAA,YA7I8DE,WA6I9DF,GA7I4EE,WA6I5EF,CAAAA,CAAAA;;;;QAA2GC,EAzI7IA,SAyI6IA;;;;OACtHG,EAAAA,OAAAA;;;;WAAiGA,EAAAA,OAAAA;;;;;EAExHuB;;;MAAgE3B,EAAAA,GAAAA,GA5H5DW,OA4H4DX,CAAAA,IAAAA,CAAAA;;;;QAAqIiB,EAAAA,CAAAA,MAAAA,EAxH5Ld,aAwH4Lc,CAxH9Kb,GAwH8Ka,EAxHzKhB,SAwHyKgB,CAAAA,GAAAA,IAAAA,GAAAA,SAAAA,EAAAA,OAAAA,CAAAA,EAxHhIF,aAwHgIE,CAxHlHhB,SAwHkHgB,EAxHvGX,mBAwHuGW,CAxHnFb,GAwHmFa,CAAAA,CAAAA,EAAAA,GAxHzEN,OAwHyEM,CAAAA,IAAAA,CAAAA;;;;;;;;;;;;WA5GpMtC,YAAYsB;;;;;2BAKIH,SAASG;;;;aAIvBrB,UAAU2B,iBAAiBH;;;;;YAK5Bf;;;;;;;;;iCASqBA,4BAA4BU,gBAAgBE;;;;UAInExB;;;;;;;;;iBASSoB,aAAaA;QACxBc;;KAELK,gDAAgDhB,2BAA2BnB;iBAC7DoC;;UAEFF,gCAAgCf,0BAA0BA,6CAA6CA,0BAA0BA;WACrIgB,uBAAuBE;YACtBA;eACGC,KAAKrC;YACRE;;;aAGCD;sBACSE;iBACLC;iBACAC;;eAEFiC,MAAMvB;;qBAEAQ,QAAQJ,qBAAqBA,cAAcI,QAAQJ;;;;;;;;;;;;;;;;;;;;eAoBzDb;;;;;;;;;;;;;UAaAiC,qCAAqCrB,0BAA0BA,qCAAqCE,cAAcA;;WAEpHC,cAAcC,KAAKH;aACjBK,oBAAoBF;aACpBpB;YACDgC,uBAAuBV,oBAAoBF;YAC3CkB;QACNX,QAAQY;;;;;;KAMNC,yCAAyCxB,0BAA0BA,qCAAqCE,cAAcA,eAAeuB,KAAKb,iBAAiBX,WAAWG;aACnKiB,mBAAmBpB,WAAWG;;KAEjCsB,kCAAkC1B,0BAA0BA,qCAAqCE,cAAcA,eAAeuB,KAAKX,UAAUb,WAAWG;mBAC/ID,cAAcC,KAAKH,yCAAyC0B,oBAAoB1B,WAAWK,oBAAoBF,UAAUO;;KAElIgB,sCAAsC3B,0BAA0BA,kDAAkDA,0BAA0BA,2BAA2ByB,KAAKV,cAAcd,WAAWgB"}
package/dist/schema.d.cts CHANGED
@@ -180,6 +180,7 @@ interface Cron {
180
180
  metadata: Record<string, unknown>;
181
181
  }
182
182
  type DefaultValues = Record<string, unknown>[] | Record<string, unknown>;
183
+ type ThreadValuesFilter = Record<string, unknown>;
183
184
  interface ThreadState<ValuesType = DefaultValues> {
184
185
  /** The state values */
185
186
  values: ValuesType;
@@ -273,5 +274,5 @@ type ThreadSelectField = "thread_id" | "created_at" | "updated_at" | "metadata"
273
274
  type RunSelectField = "run_id" | "thread_id" | "assistant_id" | "created_at" | "updated_at" | "status" | "metadata" | "kwargs" | "multitask_strategy";
274
275
  type CronSelectField = "cron_id" | "assistant_id" | "thread_id" | "end_time" | "schedule" | "created_at" | "updated_at" | "user_id" | "payload" | "next_run_date" | "metadata" | "now";
275
276
  //#endregion
276
- export { Assistant, AssistantBase, AssistantGraph, AssistantSelectField, AssistantSortBy, AssistantVersion, CancelAction, Checkpoint, Config, Cron, CronCreateForThreadResponse, CronCreateResponse, CronSelectField, CronSortBy, DefaultValues, GraphSchema, Interrupt, Item, ListNamespaceResponse, Metadata, Run, RunSelectField, RunStatus, SearchItem, SearchItemsResponse, SortOrder, Subgraphs, Thread, ThreadSelectField, ThreadSortBy, ThreadState, ThreadStatus, ThreadTask };
277
+ export { Assistant, AssistantBase, AssistantGraph, AssistantSelectField, AssistantSortBy, AssistantVersion, CancelAction, Checkpoint, Config, Cron, CronCreateForThreadResponse, CronCreateResponse, CronSelectField, CronSortBy, DefaultValues, GraphSchema, Interrupt, Item, ListNamespaceResponse, Metadata, Run, RunSelectField, RunStatus, SearchItem, SearchItemsResponse, SortOrder, Subgraphs, Thread, ThreadSelectField, ThreadSortBy, ThreadState, ThreadStatus, ThreadTask, ThreadValuesFilter };
277
278
  //# sourceMappingURL=schema.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.cts","names":["JSONSchema7","Optional","T","RunStatus","ThreadStatus","MultitaskStrategy","CancelAction","Config","GraphSchema","Subgraphs","Record","Metadata","AssistantBase","AssistantVersion","Assistant","AssistantGraph","Array","Interrupt","TValue","Thread","DefaultValues","ValuesType","Cron","ThreadState","Checkpoint","ThreadTask","Run","ListNamespaceResponse","Item","SearchItem","SearchItemsResponse","CronCreateResponse","CronCreateForThreadResponse","Omit","AssistantSortBy","ThreadSortBy","CronSortBy","SortOrder","AssistantSelectField","ThreadSelectField","RunSelectField","CronSelectField"],"sources":["../src/schema.d.ts"],"sourcesContent":["import type { JSONSchema7 } from \"json-schema\";\ntype Optional<T> = T | null | undefined;\nexport type RunStatus = \"pending\" | \"running\" | \"error\" | \"success\" | \"timeout\" | \"interrupted\";\nexport type ThreadStatus = \"idle\" | \"busy\" | \"interrupted\" | \"error\";\ntype MultitaskStrategy = \"reject\" | \"interrupt\" | \"rollback\" | \"enqueue\";\nexport type CancelAction = \"interrupt\" | \"rollback\";\nexport type Config = {\n /**\n * Tags for this call and any sub-calls (eg. a Chain calling an LLM).\n * You can use these to filter calls.\n */\n tags?: string[];\n /**\n * Maximum number of times a call can recurse.\n * If not provided, defaults to 25.\n */\n recursion_limit?: number;\n /**\n * Runtime values for attributes previously made configurable on this Runnable.\n */\n configurable?: {\n /**\n * ID of the thread\n */\n thread_id?: Optional<string>;\n /**\n * Timestamp of the state checkpoint\n */\n checkpoint_id?: Optional<string>;\n [key: string]: unknown;\n };\n};\nexport interface GraphSchema {\n /**\n * The ID of the graph.\n */\n graph_id: string;\n /**\n * The schema for the input state.\n * Missing if unable to generate JSON schema from graph.\n */\n input_schema?: JSONSchema7 | null | undefined;\n /**\n * The schema for the output state.\n * Missing if unable to generate JSON schema from graph.\n */\n output_schema?: JSONSchema7 | null | undefined;\n /**\n * The schema for the graph state.\n * Missing if unable to generate JSON schema from graph.\n */\n state_schema?: JSONSchema7 | null | undefined;\n /**\n * The schema for the graph config.\n * Missing if unable to generate JSON schema from graph.\n */\n config_schema?: JSONSchema7 | null | undefined;\n /**\n * The schema for the graph context.\n * Missing if unable to generate JSON schema from graph.\n */\n context_schema?: JSONSchema7 | null | undefined;\n}\nexport type Subgraphs = Record<string, GraphSchema>;\nexport type Metadata = Optional<{\n source?: \"input\" | \"loop\" | \"update\" | (string & {}); // eslint-disable-line @typescript-eslint/ban-types\n step?: number;\n writes?: Record<string, unknown> | null;\n parents?: Record<string, string>;\n [key: string]: unknown;\n}>;\nexport interface AssistantBase {\n /** The ID of the assistant. */\n assistant_id: string;\n /** The ID of the graph. */\n graph_id: string;\n /** The assistant config. */\n config: Config;\n /** The assistant context. */\n context: unknown;\n /** The time the assistant was created. */\n created_at: string;\n /** The assistant metadata. */\n metadata: Metadata;\n /** The version of the assistant. */\n version: number;\n /** The name of the assistant */\n name: string;\n /** The description of the assistant */\n description?: string;\n}\nexport interface AssistantVersion extends AssistantBase {\n}\nexport interface Assistant extends AssistantBase {\n /** The last time the assistant was updated. */\n updated_at: string;\n}\nexport interface AssistantGraph {\n nodes: Array<{\n id: string | number;\n name?: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data?: Record<string, any> | string;\n metadata?: unknown;\n }>;\n edges: Array<{\n source: string;\n target: string;\n data?: string;\n conditional?: boolean;\n }>;\n}\n/**\n * An interrupt thrown inside a thread.\n */\nexport interface Interrupt<TValue = unknown> {\n /**\n * The ID of the interrupt.\n */\n id?: string;\n /**\n * The value of the interrupt.\n */\n value?: TValue;\n /**\n * Will be deprecated in the future.\n * @deprecated Will be removed in the future.\n */\n when?: \"during\" | (string & {}); // eslint-disable-line @typescript-eslint/ban-types\n /**\n * Whether the interrupt can be resumed.\n * @deprecated Will be removed in the future.\n */\n resumable?: boolean;\n /**\n * The namespace of the interrupt.\n * @deprecated Replaced by `interrupt_id`\n */\n ns?: string[];\n}\nexport interface Thread<ValuesType = DefaultValues> {\n /** The ID of the thread. */\n thread_id: string;\n /** The time the thread was created. */\n created_at: string;\n /** The last time the thread was updated. */\n updated_at: string;\n /** The thread metadata. */\n metadata: Metadata;\n /** The status of the thread */\n status: ThreadStatus;\n /** The current state of the thread. */\n values: ValuesType;\n /** Interrupts which were thrown in this thread */\n interrupts: Record<string, Array<Interrupt>>;\n}\nexport interface Cron {\n /** The ID of the cron */\n cron_id: string;\n /** The ID of the assistant */\n assistant_id: string;\n /** The ID of the thread */\n thread_id: Optional<string>;\n /** The end date to stop running the cron. */\n end_time: Optional<string>;\n /** The schedule to run, cron format. */\n schedule: string;\n /** The time the cron was created. */\n created_at: string;\n /** The last time the cron was updated. */\n updated_at: string;\n /** The run payload to use for creating new run. */\n payload: Record<string, unknown>;\n /** The user ID of the cron */\n user_id: Optional<string>;\n /** The next run date of the cron */\n next_run_date: Optional<string>;\n /** The metadata of the cron */\n metadata: Record<string, unknown>;\n}\nexport type DefaultValues = Record<string, unknown>[] | Record<string, unknown>;\nexport interface ThreadState<ValuesType = DefaultValues> {\n /** The state values */\n values: ValuesType;\n /** The next nodes to execute. If empty, the thread is done until new input is received */\n next: string[];\n /** Checkpoint of the thread state */\n checkpoint: Checkpoint;\n /** Metadata for this state */\n metadata: Metadata;\n /** Time of state creation */\n created_at: Optional<string>;\n /** The parent checkpoint. If missing, this is the root checkpoint */\n parent_checkpoint: Optional<Checkpoint>;\n /** Tasks to execute in this step. If already attempted, may contain an error */\n tasks: Array<ThreadTask>;\n}\nexport interface ThreadTask {\n id: string;\n name: string;\n result?: unknown;\n error: Optional<string>;\n interrupts: Array<Interrupt>;\n checkpoint: Optional<Checkpoint>;\n state: Optional<ThreadState>;\n}\nexport interface Run {\n /** The ID of the run */\n run_id: string;\n /** The ID of the thread */\n thread_id: string;\n /** The assistant that wwas used for this run */\n assistant_id: string;\n /** The time the run was created */\n created_at: string;\n /** The last time the run was updated */\n updated_at: string;\n /** The status of the run. */\n status: RunStatus;\n /** Run metadata */\n metadata: Metadata;\n /** Strategy to handle concurrent runs on the same thread */\n multitask_strategy: Optional<MultitaskStrategy>;\n}\nexport type Checkpoint = {\n thread_id: string;\n checkpoint_ns: string;\n checkpoint_id: Optional<string>;\n checkpoint_map: Optional<Record<string, unknown>>;\n};\nexport interface ListNamespaceResponse {\n namespaces: string[][];\n}\nexport interface Item {\n namespace: string[];\n key: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n value: Record<string, any>;\n createdAt: string;\n updatedAt: string;\n}\nexport interface SearchItem extends Item {\n score?: number;\n}\nexport interface SearchItemsResponse {\n items: SearchItem[];\n}\nexport interface CronCreateResponse {\n cron_id: string;\n assistant_id: string;\n thread_id: string | undefined;\n user_id: string;\n payload: Record<string, unknown>;\n schedule: string;\n next_run_date: string;\n end_time: string | undefined;\n created_at: string;\n updated_at: string;\n metadata: Metadata;\n}\nexport interface CronCreateForThreadResponse extends Omit<CronCreateResponse, \"thread_id\"> {\n thread_id: string;\n}\nexport type AssistantSortBy = \"assistant_id\" | \"graph_id\" | \"name\" | \"created_at\" | \"updated_at\";\nexport type ThreadSortBy = \"thread_id\" | \"status\" | \"created_at\" | \"updated_at\";\nexport type CronSortBy = \"cron_id\" | \"assistant_id\" | \"thread_id\" | \"created_at\" | \"updated_at\" | \"next_run_date\";\nexport type SortOrder = \"asc\" | \"desc\";\n// Select field aliases for client-side typing of `select` parameters.\n// These mirror the server's allowed field sets.\nexport type AssistantSelectField = \"assistant_id\" | \"graph_id\" | \"name\" | \"description\" | \"config\" | \"context\" | \"created_at\" | \"updated_at\" | \"metadata\" | \"version\";\nexport type ThreadSelectField = \"thread_id\" | \"created_at\" | \"updated_at\" | \"metadata\" | \"config\" | \"context\" | \"status\" | \"values\" | \"interrupts\";\nexport type RunSelectField = \"run_id\" | \"thread_id\" | \"assistant_id\" | \"created_at\" | \"updated_at\" | \"status\" | \"metadata\" | \"kwargs\" | \"multitask_strategy\";\nexport type CronSelectField = \"cron_id\" | \"assistant_id\" | \"thread_id\" | \"end_time\" | \"schedule\" | \"created_at\" | \"updated_at\" | \"user_id\" | \"payload\" | \"next_run_date\" | \"metadata\" | \"now\";\nexport {};\n"],"mappings":"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"}
1
+ {"version":3,"file":"schema.d.cts","names":["JSONSchema7","Optional","T","RunStatus","ThreadStatus","MultitaskStrategy","CancelAction","Config","GraphSchema","Subgraphs","Record","Metadata","AssistantBase","AssistantVersion","Assistant","AssistantGraph","Array","Interrupt","TValue","Thread","DefaultValues","ValuesType","Cron","ThreadValuesFilter","ThreadState","Checkpoint","ThreadTask","Run","ListNamespaceResponse","Item","SearchItem","SearchItemsResponse","CronCreateResponse","CronCreateForThreadResponse","Omit","AssistantSortBy","ThreadSortBy","CronSortBy","SortOrder","AssistantSelectField","ThreadSelectField","RunSelectField","CronSelectField"],"sources":["../src/schema.d.ts"],"sourcesContent":["import type { JSONSchema7 } from \"json-schema\";\ntype Optional<T> = T | null | undefined;\nexport type RunStatus = \"pending\" | \"running\" | \"error\" | \"success\" | \"timeout\" | \"interrupted\";\nexport type ThreadStatus = \"idle\" | \"busy\" | \"interrupted\" | \"error\";\ntype MultitaskStrategy = \"reject\" | \"interrupt\" | \"rollback\" | \"enqueue\";\nexport type CancelAction = \"interrupt\" | \"rollback\";\nexport type Config = {\n /**\n * Tags for this call and any sub-calls (eg. a Chain calling an LLM).\n * You can use these to filter calls.\n */\n tags?: string[];\n /**\n * Maximum number of times a call can recurse.\n * If not provided, defaults to 25.\n */\n recursion_limit?: number;\n /**\n * Runtime values for attributes previously made configurable on this Runnable.\n */\n configurable?: {\n /**\n * ID of the thread\n */\n thread_id?: Optional<string>;\n /**\n * Timestamp of the state checkpoint\n */\n checkpoint_id?: Optional<string>;\n [key: string]: unknown;\n };\n};\nexport interface GraphSchema {\n /**\n * The ID of the graph.\n */\n graph_id: string;\n /**\n * The schema for the input state.\n * Missing if unable to generate JSON schema from graph.\n */\n input_schema?: JSONSchema7 | null | undefined;\n /**\n * The schema for the output state.\n * Missing if unable to generate JSON schema from graph.\n */\n output_schema?: JSONSchema7 | null | undefined;\n /**\n * The schema for the graph state.\n * Missing if unable to generate JSON schema from graph.\n */\n state_schema?: JSONSchema7 | null | undefined;\n /**\n * The schema for the graph config.\n * Missing if unable to generate JSON schema from graph.\n */\n config_schema?: JSONSchema7 | null | undefined;\n /**\n * The schema for the graph context.\n * Missing if unable to generate JSON schema from graph.\n */\n context_schema?: JSONSchema7 | null | undefined;\n}\nexport type Subgraphs = Record<string, GraphSchema>;\nexport type Metadata = Optional<{\n source?: \"input\" | \"loop\" | \"update\" | (string & {}); // eslint-disable-line @typescript-eslint/ban-types\n step?: number;\n writes?: Record<string, unknown> | null;\n parents?: Record<string, string>;\n [key: string]: unknown;\n}>;\nexport interface AssistantBase {\n /** The ID of the assistant. */\n assistant_id: string;\n /** The ID of the graph. */\n graph_id: string;\n /** The assistant config. */\n config: Config;\n /** The assistant context. */\n context: unknown;\n /** The time the assistant was created. */\n created_at: string;\n /** The assistant metadata. */\n metadata: Metadata;\n /** The version of the assistant. */\n version: number;\n /** The name of the assistant */\n name: string;\n /** The description of the assistant */\n description?: string;\n}\nexport interface AssistantVersion extends AssistantBase {\n}\nexport interface Assistant extends AssistantBase {\n /** The last time the assistant was updated. */\n updated_at: string;\n}\nexport interface AssistantGraph {\n nodes: Array<{\n id: string | number;\n name?: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data?: Record<string, any> | string;\n metadata?: unknown;\n }>;\n edges: Array<{\n source: string;\n target: string;\n data?: string;\n conditional?: boolean;\n }>;\n}\n/**\n * An interrupt thrown inside a thread.\n */\nexport interface Interrupt<TValue = unknown> {\n /**\n * The ID of the interrupt.\n */\n id?: string;\n /**\n * The value of the interrupt.\n */\n value?: TValue;\n /**\n * Will be deprecated in the future.\n * @deprecated Will be removed in the future.\n */\n when?: \"during\" | (string & {}); // eslint-disable-line @typescript-eslint/ban-types\n /**\n * Whether the interrupt can be resumed.\n * @deprecated Will be removed in the future.\n */\n resumable?: boolean;\n /**\n * The namespace of the interrupt.\n * @deprecated Replaced by `interrupt_id`\n */\n ns?: string[];\n}\nexport interface Thread<ValuesType = DefaultValues> {\n /** The ID of the thread. */\n thread_id: string;\n /** The time the thread was created. */\n created_at: string;\n /** The last time the thread was updated. */\n updated_at: string;\n /** The thread metadata. */\n metadata: Metadata;\n /** The status of the thread */\n status: ThreadStatus;\n /** The current state of the thread. */\n values: ValuesType;\n /** Interrupts which were thrown in this thread */\n interrupts: Record<string, Array<Interrupt>>;\n}\nexport interface Cron {\n /** The ID of the cron */\n cron_id: string;\n /** The ID of the assistant */\n assistant_id: string;\n /** The ID of the thread */\n thread_id: Optional<string>;\n /** The end date to stop running the cron. */\n end_time: Optional<string>;\n /** The schedule to run, cron format. */\n schedule: string;\n /** The time the cron was created. */\n created_at: string;\n /** The last time the cron was updated. */\n updated_at: string;\n /** The run payload to use for creating new run. */\n payload: Record<string, unknown>;\n /** The user ID of the cron */\n user_id: Optional<string>;\n /** The next run date of the cron */\n next_run_date: Optional<string>;\n /** The metadata of the cron */\n metadata: Record<string, unknown>;\n}\nexport type DefaultValues = Record<string, unknown>[] | Record<string, unknown>;\nexport type ThreadValuesFilter = Record<string, unknown>;\nexport interface ThreadState<ValuesType = DefaultValues> {\n /** The state values */\n values: ValuesType;\n /** The next nodes to execute. If empty, the thread is done until new input is received */\n next: string[];\n /** Checkpoint of the thread state */\n checkpoint: Checkpoint;\n /** Metadata for this state */\n metadata: Metadata;\n /** Time of state creation */\n created_at: Optional<string>;\n /** The parent checkpoint. If missing, this is the root checkpoint */\n parent_checkpoint: Optional<Checkpoint>;\n /** Tasks to execute in this step. If already attempted, may contain an error */\n tasks: Array<ThreadTask>;\n}\nexport interface ThreadTask {\n id: string;\n name: string;\n result?: unknown;\n error: Optional<string>;\n interrupts: Array<Interrupt>;\n checkpoint: Optional<Checkpoint>;\n state: Optional<ThreadState>;\n}\nexport interface Run {\n /** The ID of the run */\n run_id: string;\n /** The ID of the thread */\n thread_id: string;\n /** The assistant that wwas used for this run */\n assistant_id: string;\n /** The time the run was created */\n created_at: string;\n /** The last time the run was updated */\n updated_at: string;\n /** The status of the run. */\n status: RunStatus;\n /** Run metadata */\n metadata: Metadata;\n /** Strategy to handle concurrent runs on the same thread */\n multitask_strategy: Optional<MultitaskStrategy>;\n}\nexport type Checkpoint = {\n thread_id: string;\n checkpoint_ns: string;\n checkpoint_id: Optional<string>;\n checkpoint_map: Optional<Record<string, unknown>>;\n};\nexport interface ListNamespaceResponse {\n namespaces: string[][];\n}\nexport interface Item {\n namespace: string[];\n key: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n value: Record<string, any>;\n createdAt: string;\n updatedAt: string;\n}\nexport interface SearchItem extends Item {\n score?: number;\n}\nexport interface SearchItemsResponse {\n items: SearchItem[];\n}\nexport interface CronCreateResponse {\n cron_id: string;\n assistant_id: string;\n thread_id: string | undefined;\n user_id: string;\n payload: Record<string, unknown>;\n schedule: string;\n next_run_date: string;\n end_time: string | undefined;\n created_at: string;\n updated_at: string;\n metadata: Metadata;\n}\nexport interface CronCreateForThreadResponse extends Omit<CronCreateResponse, \"thread_id\"> {\n thread_id: string;\n}\nexport type AssistantSortBy = \"assistant_id\" | \"graph_id\" | \"name\" | \"created_at\" | \"updated_at\";\nexport type ThreadSortBy = \"thread_id\" | \"status\" | \"created_at\" | \"updated_at\";\nexport type CronSortBy = \"cron_id\" | \"assistant_id\" | \"thread_id\" | \"created_at\" | \"updated_at\" | \"next_run_date\";\nexport type SortOrder = \"asc\" | \"desc\";\n// Select field aliases for client-side typing of `select` parameters.\n// These mirror the server's allowed field sets.\nexport type AssistantSelectField = \"assistant_id\" | \"graph_id\" | \"name\" | \"description\" | \"config\" | \"context\" | \"created_at\" | \"updated_at\" | \"metadata\" | \"version\";\nexport type ThreadSelectField = \"thread_id\" | \"created_at\" | \"updated_at\" | \"metadata\" | \"config\" | \"context\" | \"status\" | \"values\" | \"interrupts\";\nexport type RunSelectField = \"run_id\" | \"thread_id\" | \"assistant_id\" | \"created_at\" | \"updated_at\" | \"status\" | \"metadata\" | \"kwargs\" | \"multitask_strategy\";\nexport type CronSelectField = \"cron_id\" | \"assistant_id\" | \"thread_id\" | \"end_time\" | \"schedule\" | \"created_at\" | \"updated_at\" | \"user_id\" | \"payload\" | \"next_run_date\" | \"metadata\" | \"now\";\nexport {};\n"],"mappings":"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"}
package/dist/schema.d.ts CHANGED
@@ -180,6 +180,7 @@ interface Cron {
180
180
  metadata: Record<string, unknown>;
181
181
  }
182
182
  type DefaultValues = Record<string, unknown>[] | Record<string, unknown>;
183
+ type ThreadValuesFilter = Record<string, unknown>;
183
184
  interface ThreadState<ValuesType = DefaultValues> {
184
185
  /** The state values */
185
186
  values: ValuesType;
@@ -273,5 +274,5 @@ type ThreadSelectField = "thread_id" | "created_at" | "updated_at" | "metadata"
273
274
  type RunSelectField = "run_id" | "thread_id" | "assistant_id" | "created_at" | "updated_at" | "status" | "metadata" | "kwargs" | "multitask_strategy";
274
275
  type CronSelectField = "cron_id" | "assistant_id" | "thread_id" | "end_time" | "schedule" | "created_at" | "updated_at" | "user_id" | "payload" | "next_run_date" | "metadata" | "now";
275
276
  //#endregion
276
- export { Assistant, AssistantBase, AssistantGraph, AssistantSelectField, AssistantSortBy, AssistantVersion, CancelAction, Checkpoint, Config, Cron, CronCreateForThreadResponse, CronCreateResponse, CronSelectField, CronSortBy, DefaultValues, GraphSchema, Interrupt, Item, ListNamespaceResponse, Metadata, Run, RunSelectField, RunStatus, SearchItem, SearchItemsResponse, SortOrder, Subgraphs, Thread, ThreadSelectField, ThreadSortBy, ThreadState, ThreadStatus, ThreadTask };
277
+ export { Assistant, AssistantBase, AssistantGraph, AssistantSelectField, AssistantSortBy, AssistantVersion, CancelAction, Checkpoint, Config, Cron, CronCreateForThreadResponse, CronCreateResponse, CronSelectField, CronSortBy, DefaultValues, GraphSchema, Interrupt, Item, ListNamespaceResponse, Metadata, Run, RunSelectField, RunStatus, SearchItem, SearchItemsResponse, SortOrder, Subgraphs, Thread, ThreadSelectField, ThreadSortBy, ThreadState, ThreadStatus, ThreadTask, ThreadValuesFilter };
277
278
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","names":["JSONSchema7","Optional","T","RunStatus","ThreadStatus","MultitaskStrategy","CancelAction","Config","GraphSchema","Subgraphs","Record","Metadata","AssistantBase","AssistantVersion","Assistant","AssistantGraph","Array","Interrupt","TValue","Thread","DefaultValues","ValuesType","Cron","ThreadState","Checkpoint","ThreadTask","Run","ListNamespaceResponse","Item","SearchItem","SearchItemsResponse","CronCreateResponse","CronCreateForThreadResponse","Omit","AssistantSortBy","ThreadSortBy","CronSortBy","SortOrder","AssistantSelectField","ThreadSelectField","RunSelectField","CronSelectField"],"sources":["../src/schema.d.ts"],"sourcesContent":["import type { JSONSchema7 } from \"json-schema\";\ntype Optional<T> = T | null | undefined;\nexport type RunStatus = \"pending\" | \"running\" | \"error\" | \"success\" | \"timeout\" | \"interrupted\";\nexport type ThreadStatus = \"idle\" | \"busy\" | \"interrupted\" | \"error\";\ntype MultitaskStrategy = \"reject\" | \"interrupt\" | \"rollback\" | \"enqueue\";\nexport type CancelAction = \"interrupt\" | \"rollback\";\nexport type Config = {\n /**\n * Tags for this call and any sub-calls (eg. a Chain calling an LLM).\n * You can use these to filter calls.\n */\n tags?: string[];\n /**\n * Maximum number of times a call can recurse.\n * If not provided, defaults to 25.\n */\n recursion_limit?: number;\n /**\n * Runtime values for attributes previously made configurable on this Runnable.\n */\n configurable?: {\n /**\n * ID of the thread\n */\n thread_id?: Optional<string>;\n /**\n * Timestamp of the state checkpoint\n */\n checkpoint_id?: Optional<string>;\n [key: string]: unknown;\n };\n};\nexport interface GraphSchema {\n /**\n * The ID of the graph.\n */\n graph_id: string;\n /**\n * The schema for the input state.\n * Missing if unable to generate JSON schema from graph.\n */\n input_schema?: JSONSchema7 | null | undefined;\n /**\n * The schema for the output state.\n * Missing if unable to generate JSON schema from graph.\n */\n output_schema?: JSONSchema7 | null | undefined;\n /**\n * The schema for the graph state.\n * Missing if unable to generate JSON schema from graph.\n */\n state_schema?: JSONSchema7 | null | undefined;\n /**\n * The schema for the graph config.\n * Missing if unable to generate JSON schema from graph.\n */\n config_schema?: JSONSchema7 | null | undefined;\n /**\n * The schema for the graph context.\n * Missing if unable to generate JSON schema from graph.\n */\n context_schema?: JSONSchema7 | null | undefined;\n}\nexport type Subgraphs = Record<string, GraphSchema>;\nexport type Metadata = Optional<{\n source?: \"input\" | \"loop\" | \"update\" | (string & {}); // eslint-disable-line @typescript-eslint/ban-types\n step?: number;\n writes?: Record<string, unknown> | null;\n parents?: Record<string, string>;\n [key: string]: unknown;\n}>;\nexport interface AssistantBase {\n /** The ID of the assistant. */\n assistant_id: string;\n /** The ID of the graph. */\n graph_id: string;\n /** The assistant config. */\n config: Config;\n /** The assistant context. */\n context: unknown;\n /** The time the assistant was created. */\n created_at: string;\n /** The assistant metadata. */\n metadata: Metadata;\n /** The version of the assistant. */\n version: number;\n /** The name of the assistant */\n name: string;\n /** The description of the assistant */\n description?: string;\n}\nexport interface AssistantVersion extends AssistantBase {\n}\nexport interface Assistant extends AssistantBase {\n /** The last time the assistant was updated. */\n updated_at: string;\n}\nexport interface AssistantGraph {\n nodes: Array<{\n id: string | number;\n name?: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data?: Record<string, any> | string;\n metadata?: unknown;\n }>;\n edges: Array<{\n source: string;\n target: string;\n data?: string;\n conditional?: boolean;\n }>;\n}\n/**\n * An interrupt thrown inside a thread.\n */\nexport interface Interrupt<TValue = unknown> {\n /**\n * The ID of the interrupt.\n */\n id?: string;\n /**\n * The value of the interrupt.\n */\n value?: TValue;\n /**\n * Will be deprecated in the future.\n * @deprecated Will be removed in the future.\n */\n when?: \"during\" | (string & {}); // eslint-disable-line @typescript-eslint/ban-types\n /**\n * Whether the interrupt can be resumed.\n * @deprecated Will be removed in the future.\n */\n resumable?: boolean;\n /**\n * The namespace of the interrupt.\n * @deprecated Replaced by `interrupt_id`\n */\n ns?: string[];\n}\nexport interface Thread<ValuesType = DefaultValues> {\n /** The ID of the thread. */\n thread_id: string;\n /** The time the thread was created. */\n created_at: string;\n /** The last time the thread was updated. */\n updated_at: string;\n /** The thread metadata. */\n metadata: Metadata;\n /** The status of the thread */\n status: ThreadStatus;\n /** The current state of the thread. */\n values: ValuesType;\n /** Interrupts which were thrown in this thread */\n interrupts: Record<string, Array<Interrupt>>;\n}\nexport interface Cron {\n /** The ID of the cron */\n cron_id: string;\n /** The ID of the assistant */\n assistant_id: string;\n /** The ID of the thread */\n thread_id: Optional<string>;\n /** The end date to stop running the cron. */\n end_time: Optional<string>;\n /** The schedule to run, cron format. */\n schedule: string;\n /** The time the cron was created. */\n created_at: string;\n /** The last time the cron was updated. */\n updated_at: string;\n /** The run payload to use for creating new run. */\n payload: Record<string, unknown>;\n /** The user ID of the cron */\n user_id: Optional<string>;\n /** The next run date of the cron */\n next_run_date: Optional<string>;\n /** The metadata of the cron */\n metadata: Record<string, unknown>;\n}\nexport type DefaultValues = Record<string, unknown>[] | Record<string, unknown>;\nexport interface ThreadState<ValuesType = DefaultValues> {\n /** The state values */\n values: ValuesType;\n /** The next nodes to execute. If empty, the thread is done until new input is received */\n next: string[];\n /** Checkpoint of the thread state */\n checkpoint: Checkpoint;\n /** Metadata for this state */\n metadata: Metadata;\n /** Time of state creation */\n created_at: Optional<string>;\n /** The parent checkpoint. If missing, this is the root checkpoint */\n parent_checkpoint: Optional<Checkpoint>;\n /** Tasks to execute in this step. If already attempted, may contain an error */\n tasks: Array<ThreadTask>;\n}\nexport interface ThreadTask {\n id: string;\n name: string;\n result?: unknown;\n error: Optional<string>;\n interrupts: Array<Interrupt>;\n checkpoint: Optional<Checkpoint>;\n state: Optional<ThreadState>;\n}\nexport interface Run {\n /** The ID of the run */\n run_id: string;\n /** The ID of the thread */\n thread_id: string;\n /** The assistant that wwas used for this run */\n assistant_id: string;\n /** The time the run was created */\n created_at: string;\n /** The last time the run was updated */\n updated_at: string;\n /** The status of the run. */\n status: RunStatus;\n /** Run metadata */\n metadata: Metadata;\n /** Strategy to handle concurrent runs on the same thread */\n multitask_strategy: Optional<MultitaskStrategy>;\n}\nexport type Checkpoint = {\n thread_id: string;\n checkpoint_ns: string;\n checkpoint_id: Optional<string>;\n checkpoint_map: Optional<Record<string, unknown>>;\n};\nexport interface ListNamespaceResponse {\n namespaces: string[][];\n}\nexport interface Item {\n namespace: string[];\n key: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n value: Record<string, any>;\n createdAt: string;\n updatedAt: string;\n}\nexport interface SearchItem extends Item {\n score?: number;\n}\nexport interface SearchItemsResponse {\n items: SearchItem[];\n}\nexport interface CronCreateResponse {\n cron_id: string;\n assistant_id: string;\n thread_id: string | undefined;\n user_id: string;\n payload: Record<string, unknown>;\n schedule: string;\n next_run_date: string;\n end_time: string | undefined;\n created_at: string;\n updated_at: string;\n metadata: Metadata;\n}\nexport interface CronCreateForThreadResponse extends Omit<CronCreateResponse, \"thread_id\"> {\n thread_id: string;\n}\nexport type AssistantSortBy = \"assistant_id\" | \"graph_id\" | \"name\" | \"created_at\" | \"updated_at\";\nexport type ThreadSortBy = \"thread_id\" | \"status\" | \"created_at\" | \"updated_at\";\nexport type CronSortBy = \"cron_id\" | \"assistant_id\" | \"thread_id\" | \"created_at\" | \"updated_at\" | \"next_run_date\";\nexport type SortOrder = \"asc\" | \"desc\";\n// Select field aliases for client-side typing of `select` parameters.\n// These mirror the server's allowed field sets.\nexport type AssistantSelectField = \"assistant_id\" | \"graph_id\" | \"name\" | \"description\" | \"config\" | \"context\" | \"created_at\" | \"updated_at\" | \"metadata\" | \"version\";\nexport type ThreadSelectField = \"thread_id\" | \"created_at\" | \"updated_at\" | \"metadata\" | \"config\" | \"context\" | \"status\" | \"values\" | \"interrupts\";\nexport type RunSelectField = \"run_id\" | \"thread_id\" | \"assistant_id\" | \"created_at\" | \"updated_at\" | \"status\" | \"metadata\" | \"kwargs\" | \"multitask_strategy\";\nexport type CronSelectField = \"cron_id\" | \"assistant_id\" | \"thread_id\" | \"end_time\" | \"schedule\" | \"created_at\" | \"updated_at\" | \"user_id\" | \"payload\" | \"next_run_date\" | \"metadata\" | \"now\";\nexport {};\n"],"mappings":"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"}
1
+ {"version":3,"file":"schema.d.ts","names":["JSONSchema7","Optional","T","RunStatus","ThreadStatus","MultitaskStrategy","CancelAction","Config","GraphSchema","Subgraphs","Record","Metadata","AssistantBase","AssistantVersion","Assistant","AssistantGraph","Array","Interrupt","TValue","Thread","DefaultValues","ValuesType","Cron","ThreadValuesFilter","ThreadState","Checkpoint","ThreadTask","Run","ListNamespaceResponse","Item","SearchItem","SearchItemsResponse","CronCreateResponse","CronCreateForThreadResponse","Omit","AssistantSortBy","ThreadSortBy","CronSortBy","SortOrder","AssistantSelectField","ThreadSelectField","RunSelectField","CronSelectField"],"sources":["../src/schema.d.ts"],"sourcesContent":["import type { JSONSchema7 } from \"json-schema\";\ntype Optional<T> = T | null | undefined;\nexport type RunStatus = \"pending\" | \"running\" | \"error\" | \"success\" | \"timeout\" | \"interrupted\";\nexport type ThreadStatus = \"idle\" | \"busy\" | \"interrupted\" | \"error\";\ntype MultitaskStrategy = \"reject\" | \"interrupt\" | \"rollback\" | \"enqueue\";\nexport type CancelAction = \"interrupt\" | \"rollback\";\nexport type Config = {\n /**\n * Tags for this call and any sub-calls (eg. a Chain calling an LLM).\n * You can use these to filter calls.\n */\n tags?: string[];\n /**\n * Maximum number of times a call can recurse.\n * If not provided, defaults to 25.\n */\n recursion_limit?: number;\n /**\n * Runtime values for attributes previously made configurable on this Runnable.\n */\n configurable?: {\n /**\n * ID of the thread\n */\n thread_id?: Optional<string>;\n /**\n * Timestamp of the state checkpoint\n */\n checkpoint_id?: Optional<string>;\n [key: string]: unknown;\n };\n};\nexport interface GraphSchema {\n /**\n * The ID of the graph.\n */\n graph_id: string;\n /**\n * The schema for the input state.\n * Missing if unable to generate JSON schema from graph.\n */\n input_schema?: JSONSchema7 | null | undefined;\n /**\n * The schema for the output state.\n * Missing if unable to generate JSON schema from graph.\n */\n output_schema?: JSONSchema7 | null | undefined;\n /**\n * The schema for the graph state.\n * Missing if unable to generate JSON schema from graph.\n */\n state_schema?: JSONSchema7 | null | undefined;\n /**\n * The schema for the graph config.\n * Missing if unable to generate JSON schema from graph.\n */\n config_schema?: JSONSchema7 | null | undefined;\n /**\n * The schema for the graph context.\n * Missing if unable to generate JSON schema from graph.\n */\n context_schema?: JSONSchema7 | null | undefined;\n}\nexport type Subgraphs = Record<string, GraphSchema>;\nexport type Metadata = Optional<{\n source?: \"input\" | \"loop\" | \"update\" | (string & {}); // eslint-disable-line @typescript-eslint/ban-types\n step?: number;\n writes?: Record<string, unknown> | null;\n parents?: Record<string, string>;\n [key: string]: unknown;\n}>;\nexport interface AssistantBase {\n /** The ID of the assistant. */\n assistant_id: string;\n /** The ID of the graph. */\n graph_id: string;\n /** The assistant config. */\n config: Config;\n /** The assistant context. */\n context: unknown;\n /** The time the assistant was created. */\n created_at: string;\n /** The assistant metadata. */\n metadata: Metadata;\n /** The version of the assistant. */\n version: number;\n /** The name of the assistant */\n name: string;\n /** The description of the assistant */\n description?: string;\n}\nexport interface AssistantVersion extends AssistantBase {\n}\nexport interface Assistant extends AssistantBase {\n /** The last time the assistant was updated. */\n updated_at: string;\n}\nexport interface AssistantGraph {\n nodes: Array<{\n id: string | number;\n name?: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data?: Record<string, any> | string;\n metadata?: unknown;\n }>;\n edges: Array<{\n source: string;\n target: string;\n data?: string;\n conditional?: boolean;\n }>;\n}\n/**\n * An interrupt thrown inside a thread.\n */\nexport interface Interrupt<TValue = unknown> {\n /**\n * The ID of the interrupt.\n */\n id?: string;\n /**\n * The value of the interrupt.\n */\n value?: TValue;\n /**\n * Will be deprecated in the future.\n * @deprecated Will be removed in the future.\n */\n when?: \"during\" | (string & {}); // eslint-disable-line @typescript-eslint/ban-types\n /**\n * Whether the interrupt can be resumed.\n * @deprecated Will be removed in the future.\n */\n resumable?: boolean;\n /**\n * The namespace of the interrupt.\n * @deprecated Replaced by `interrupt_id`\n */\n ns?: string[];\n}\nexport interface Thread<ValuesType = DefaultValues> {\n /** The ID of the thread. */\n thread_id: string;\n /** The time the thread was created. */\n created_at: string;\n /** The last time the thread was updated. */\n updated_at: string;\n /** The thread metadata. */\n metadata: Metadata;\n /** The status of the thread */\n status: ThreadStatus;\n /** The current state of the thread. */\n values: ValuesType;\n /** Interrupts which were thrown in this thread */\n interrupts: Record<string, Array<Interrupt>>;\n}\nexport interface Cron {\n /** The ID of the cron */\n cron_id: string;\n /** The ID of the assistant */\n assistant_id: string;\n /** The ID of the thread */\n thread_id: Optional<string>;\n /** The end date to stop running the cron. */\n end_time: Optional<string>;\n /** The schedule to run, cron format. */\n schedule: string;\n /** The time the cron was created. */\n created_at: string;\n /** The last time the cron was updated. */\n updated_at: string;\n /** The run payload to use for creating new run. */\n payload: Record<string, unknown>;\n /** The user ID of the cron */\n user_id: Optional<string>;\n /** The next run date of the cron */\n next_run_date: Optional<string>;\n /** The metadata of the cron */\n metadata: Record<string, unknown>;\n}\nexport type DefaultValues = Record<string, unknown>[] | Record<string, unknown>;\nexport type ThreadValuesFilter = Record<string, unknown>;\nexport interface ThreadState<ValuesType = DefaultValues> {\n /** The state values */\n values: ValuesType;\n /** The next nodes to execute. If empty, the thread is done until new input is received */\n next: string[];\n /** Checkpoint of the thread state */\n checkpoint: Checkpoint;\n /** Metadata for this state */\n metadata: Metadata;\n /** Time of state creation */\n created_at: Optional<string>;\n /** The parent checkpoint. If missing, this is the root checkpoint */\n parent_checkpoint: Optional<Checkpoint>;\n /** Tasks to execute in this step. If already attempted, may contain an error */\n tasks: Array<ThreadTask>;\n}\nexport interface ThreadTask {\n id: string;\n name: string;\n result?: unknown;\n error: Optional<string>;\n interrupts: Array<Interrupt>;\n checkpoint: Optional<Checkpoint>;\n state: Optional<ThreadState>;\n}\nexport interface Run {\n /** The ID of the run */\n run_id: string;\n /** The ID of the thread */\n thread_id: string;\n /** The assistant that wwas used for this run */\n assistant_id: string;\n /** The time the run was created */\n created_at: string;\n /** The last time the run was updated */\n updated_at: string;\n /** The status of the run. */\n status: RunStatus;\n /** Run metadata */\n metadata: Metadata;\n /** Strategy to handle concurrent runs on the same thread */\n multitask_strategy: Optional<MultitaskStrategy>;\n}\nexport type Checkpoint = {\n thread_id: string;\n checkpoint_ns: string;\n checkpoint_id: Optional<string>;\n checkpoint_map: Optional<Record<string, unknown>>;\n};\nexport interface ListNamespaceResponse {\n namespaces: string[][];\n}\nexport interface Item {\n namespace: string[];\n key: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n value: Record<string, any>;\n createdAt: string;\n updatedAt: string;\n}\nexport interface SearchItem extends Item {\n score?: number;\n}\nexport interface SearchItemsResponse {\n items: SearchItem[];\n}\nexport interface CronCreateResponse {\n cron_id: string;\n assistant_id: string;\n thread_id: string | undefined;\n user_id: string;\n payload: Record<string, unknown>;\n schedule: string;\n next_run_date: string;\n end_time: string | undefined;\n created_at: string;\n updated_at: string;\n metadata: Metadata;\n}\nexport interface CronCreateForThreadResponse extends Omit<CronCreateResponse, \"thread_id\"> {\n thread_id: string;\n}\nexport type AssistantSortBy = \"assistant_id\" | \"graph_id\" | \"name\" | \"created_at\" | \"updated_at\";\nexport type ThreadSortBy = \"thread_id\" | \"status\" | \"created_at\" | \"updated_at\";\nexport type CronSortBy = \"cron_id\" | \"assistant_id\" | \"thread_id\" | \"created_at\" | \"updated_at\" | \"next_run_date\";\nexport type SortOrder = \"asc\" | \"desc\";\n// Select field aliases for client-side typing of `select` parameters.\n// These mirror the server's allowed field sets.\nexport type AssistantSelectField = \"assistant_id\" | \"graph_id\" | \"name\" | \"description\" | \"config\" | \"context\" | \"created_at\" | \"updated_at\" | \"metadata\" | \"version\";\nexport type ThreadSelectField = \"thread_id\" | \"created_at\" | \"updated_at\" | \"metadata\" | \"config\" | \"context\" | \"status\" | \"values\" | \"interrupts\";\nexport type RunSelectField = \"run_id\" | \"thread_id\" | \"assistant_id\" | \"created_at\" | \"updated_at\" | \"status\" | \"metadata\" | \"kwargs\" | \"multitask_strategy\";\nexport type CronSelectField = \"cron_id\" | \"assistant_id\" | \"thread_id\" | \"end_time\" | \"schedule\" | \"created_at\" | \"updated_at\" | \"user_id\" | \"payload\" | \"next_run_date\" | \"metadata\" | \"now\";\nexport {};\n"],"mappings":"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"}
@@ -146,7 +146,8 @@ var StreamManager = class {
146
146
  this.abortRef = new AbortController();
147
147
  this.setState({
148
148
  error: void 0,
149
- values: null
149
+ values: null,
150
+ isLoading: false
150
151
  });
151
152
  this.messages.clear();
152
153
  };
@@ -1 +1 @@
1
- {"version":3,"file":"manager.cjs","names":["streamError: StreamError | undefined","StreamError","values","toMessageDict"],"sources":["../../src/ui/manager.ts"],"sourcesContent":["import type {\n CheckpointsStreamEvent,\n CustomStreamEvent,\n DebugStreamEvent,\n ErrorStreamEvent,\n EventsStreamEvent,\n FeedbackStreamEvent,\n MessagesTupleStreamEvent,\n MetadataStreamEvent,\n TasksStreamEvent,\n UpdatesStreamEvent,\n ValuesStreamEvent,\n} from \"../types.stream.js\";\nimport { MessageTupleManager, toMessageDict } from \"./messages.js\";\nimport { StreamError } from \"./errors.js\";\nimport type { Message } from \"../types.messages.js\";\n\ntype BagTemplate = {\n ConfigurableType?: Record<string, unknown>;\n InterruptType?: unknown;\n CustomEventType?: unknown;\n UpdateType?: unknown;\n};\n\ntype GetUpdateType<\n Bag extends BagTemplate,\n StateType extends Record<string, unknown>\n> = Bag extends { UpdateType: unknown }\n ? Bag[\"UpdateType\"]\n : Partial<StateType>;\n\ntype GetCustomEventType<Bag extends BagTemplate> = Bag extends {\n CustomEventType: unknown;\n}\n ? Bag[\"CustomEventType\"]\n : unknown;\n\ntype EventStreamMap<StateType, UpdateType, CustomType> = {\n values: ValuesStreamEvent<StateType>;\n updates: UpdatesStreamEvent<UpdateType>;\n custom: CustomStreamEvent<CustomType>;\n debug: DebugStreamEvent;\n messages: MessagesTupleStreamEvent;\n events: EventsStreamEvent;\n metadata: MetadataStreamEvent;\n checkpoints: CheckpointsStreamEvent<StateType>;\n tasks: TasksStreamEvent<StateType, UpdateType>;\n error: ErrorStreamEvent;\n feedback: FeedbackStreamEvent;\n};\n\nexport type EventStreamEvent<StateType, UpdateType, CustomType> =\n EventStreamMap<StateType, UpdateType, CustomType>[keyof EventStreamMap<\n StateType,\n UpdateType,\n CustomType\n >];\n\ninterface StreamManagerEventCallbacks<\n StateType extends Record<string, unknown>,\n Bag extends BagTemplate = BagTemplate\n> {\n onUpdateEvent?: (\n data: UpdatesStreamEvent<GetUpdateType<Bag, StateType>>[\"data\"],\n options: {\n namespace: string[] | undefined;\n mutate: (\n update: Partial<StateType> | ((prev: StateType) => Partial<StateType>)\n ) => void;\n }\n ) => void;\n onCustomEvent?: (\n data: GetCustomEventType<Bag>,\n options: {\n namespace: string[] | undefined;\n mutate: (\n update: Partial<StateType> | ((prev: StateType) => Partial<StateType>)\n ) => void;\n }\n ) => void;\n onMetadataEvent?: (data: MetadataStreamEvent[\"data\"]) => void;\n onLangChainEvent?: (data: EventsStreamEvent[\"data\"]) => void;\n onDebugEvent?: (\n data: DebugStreamEvent[\"data\"],\n options: { namespace: string[] | undefined }\n ) => void;\n onCheckpointEvent?: (\n data: CheckpointsStreamEvent<StateType>[\"data\"],\n options: { namespace: string[] | undefined }\n ) => void;\n onTaskEvent?: (\n data: TasksStreamEvent<StateType, GetUpdateType<Bag, StateType>>[\"data\"],\n options: { namespace: string[] | undefined }\n ) => void;\n}\n\nexport class StreamManager<\n StateType extends Record<string, unknown>,\n Bag extends BagTemplate = BagTemplate\n> {\n private abortRef = new AbortController();\n\n private messages: MessageTupleManager;\n\n private listeners = new Set<() => void>();\n\n private state: {\n isLoading: boolean;\n values: [values: StateType, kind: \"stream\" | \"stop\"] | null;\n error: unknown;\n };\n\n constructor(messages: MessageTupleManager) {\n this.messages = messages;\n this.state = { isLoading: false, values: null, error: undefined };\n }\n\n private setState = (newState: Partial<typeof this.state>) => {\n this.state = { ...this.state, ...newState };\n this.notifyListeners();\n };\n\n private notifyListeners = () => {\n this.listeners.forEach((listener) => listener());\n };\n\n subscribe = (listener: () => void): (() => void) => {\n this.listeners.add(listener);\n return () => this.listeners.delete(listener);\n };\n\n getSnapshot = () => this.state;\n\n get isLoading() {\n return this.state.isLoading;\n }\n\n get values() {\n return this.state.values?.[0] ?? null;\n }\n\n get error() {\n return this.state.error;\n }\n\n setStreamValues = (\n values:\n | (StateType | null)\n | ((prev: StateType | null, kind: \"stream\" | \"stop\") => StateType | null),\n kind: \"stream\" | \"stop\" = \"stream\"\n ) => {\n if (typeof values === \"function\") {\n const [prevValues, prevKind] = this.state.values ?? [null, \"stream\"];\n const nextValues = values(prevValues, prevKind);\n this.setState({ values: nextValues != null ? [nextValues, kind] : null });\n } else {\n const nextValues = values != null ? [values, kind] : null;\n this.setState({ values: nextValues as [StateType, \"stream\" | \"stop\"] });\n }\n };\n\n private getMutateFn = (kind: \"stream\" | \"stop\", historyValues: StateType) => {\n return (\n update: Partial<StateType> | ((prev: StateType) => Partial<StateType>)\n ) => {\n const prev = {\n ...historyValues,\n ...(this.state.values ?? [null, \"stream\"])[0],\n };\n const next = typeof update === \"function\" ? update(prev) : update;\n this.setStreamValues({ ...prev, ...next }, kind);\n };\n };\n\n private matchEventType = <\n T extends keyof EventStreamMap<\n StateType,\n GetUpdateType<Bag, StateType>,\n GetCustomEventType<Bag>\n >\n >(\n expected: T,\n actual: EventStreamEvent<\n StateType,\n GetUpdateType<Bag, StateType>,\n GetCustomEventType<Bag>\n >[\"event\"],\n _data: EventStreamEvent<\n StateType,\n GetUpdateType<Bag, StateType>,\n GetCustomEventType<Bag>\n >[\"data\"]\n ): _data is EventStreamMap<\n StateType,\n GetUpdateType<Bag, StateType>,\n GetCustomEventType<Bag>\n >[T][\"data\"] => {\n return expected === actual || actual.startsWith(`${expected}|`);\n };\n\n start = async (\n action: (\n signal: AbortSignal\n ) => Promise<\n AsyncGenerator<\n EventStreamEvent<\n StateType,\n GetUpdateType<Bag, StateType>,\n GetCustomEventType<Bag>\n >\n >\n >,\n options: {\n getMessages: (values: StateType) => Message[];\n\n setMessages: (current: StateType, messages: Message[]) => StateType;\n\n initialValues: StateType;\n\n callbacks: StreamManagerEventCallbacks<StateType, Bag>;\n\n onSuccess: () =>\n | StateType\n | null\n | undefined\n | void\n | Promise<StateType | null | undefined | void>;\n\n onError: (error: unknown) => void | Promise<void>;\n\n onFinish?: () => void;\n }\n ): Promise<void> => {\n if (this.state.isLoading) return;\n\n try {\n this.setState({ isLoading: true, error: undefined });\n this.abortRef = new AbortController();\n\n const run = await action(this.abortRef.signal);\n\n let streamError: StreamError | undefined;\n for await (const { event, data } of run) {\n if (event === \"error\") {\n streamError = new StreamError(data);\n break;\n }\n\n const namespace = event.includes(\"|\")\n ? event.split(\"|\").slice(1)\n : undefined;\n\n const mutate = this.getMutateFn(\"stream\", options.initialValues);\n\n if (event === \"metadata\") options.callbacks.onMetadataEvent?.(data);\n if (event === \"events\") options.callbacks.onLangChainEvent?.(data);\n\n if (this.matchEventType(\"updates\", event, data)) {\n options.callbacks.onUpdateEvent?.(data, { namespace, mutate });\n }\n\n if (this.matchEventType(\"custom\", event, data)) {\n options.callbacks.onCustomEvent?.(data, { namespace, mutate });\n }\n\n if (this.matchEventType(\"checkpoints\", event, data)) {\n options.callbacks.onCheckpointEvent?.(data, { namespace });\n }\n\n if (this.matchEventType(\"tasks\", event, data)) {\n options.callbacks.onTaskEvent?.(data, { namespace });\n }\n\n if (this.matchEventType(\"debug\", event, data)) {\n options.callbacks.onDebugEvent?.(data, { namespace });\n }\n\n if (event === \"values\") {\n if (\"__interrupt__\" in data) {\n this.setStreamValues((prev) => ({ ...prev, ...data }));\n } else {\n this.setStreamValues(data);\n }\n }\n\n if (this.matchEventType(\"messages\", event, data)) {\n const [serialized, metadata] = data;\n\n const messageId = this.messages.add(serialized, metadata);\n if (!messageId) {\n console.warn(\n \"Failed to add message to manager, no message ID found\"\n );\n continue;\n }\n\n this.setStreamValues((streamValues) => {\n const values = { ...options.initialValues, ...streamValues };\n\n // Assumption: we're concatenating the message\n const messages = options.getMessages(values).slice();\n const { chunk, index } =\n this.messages.get(messageId, messages.length) ?? {};\n\n if (!chunk || index == null) return values;\n if (chunk.getType() === \"remove\") {\n messages.splice(index, 1);\n } else {\n messages[index] = toMessageDict(chunk);\n }\n\n return options.setMessages(values, messages);\n });\n }\n }\n\n if (streamError != null) throw streamError;\n\n const values = await options.onSuccess?.();\n if (typeof values !== \"undefined\") this.setStreamValues(values);\n } catch (error) {\n if (\n !(\n error instanceof Error && // eslint-disable-line no-instanceof/no-instanceof\n (error.name === \"AbortError\" || error.name === \"TimeoutError\")\n )\n ) {\n console.error(error);\n this.setState({ error });\n await options.onError?.(error);\n }\n } finally {\n this.setState({ isLoading: false });\n this.abortRef = new AbortController();\n options.onFinish?.();\n }\n };\n\n stop = async (\n historyValues: StateType,\n options: {\n onStop?: (options: {\n mutate: (\n update: Partial<StateType> | ((prev: StateType) => Partial<StateType>)\n ) => void;\n }) => void;\n }\n ): Promise<void> => {\n this.abortRef.abort();\n this.abortRef = new AbortController();\n\n options.onStop?.({ mutate: this.getMutateFn(\"stop\", historyValues) });\n };\n\n clear = () => {\n // Cancel any running streams\n this.abortRef.abort();\n this.abortRef = new AbortController();\n\n // Set the stream state to null\n this.setState({ error: undefined, values: null });\n\n // Clear any pending messages\n this.messages.clear();\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"manager.cjs","names":["streamError: StreamError | undefined","StreamError","values","toMessageDict"],"sources":["../../src/ui/manager.ts"],"sourcesContent":["import type {\n CheckpointsStreamEvent,\n CustomStreamEvent,\n DebugStreamEvent,\n ErrorStreamEvent,\n EventsStreamEvent,\n FeedbackStreamEvent,\n MessagesTupleStreamEvent,\n MetadataStreamEvent,\n TasksStreamEvent,\n UpdatesStreamEvent,\n ValuesStreamEvent,\n} from \"../types.stream.js\";\nimport { MessageTupleManager, toMessageDict } from \"./messages.js\";\nimport { StreamError } from \"./errors.js\";\nimport type { Message } from \"../types.messages.js\";\n\ntype BagTemplate = {\n ConfigurableType?: Record<string, unknown>;\n InterruptType?: unknown;\n CustomEventType?: unknown;\n UpdateType?: unknown;\n};\n\ntype GetUpdateType<\n Bag extends BagTemplate,\n StateType extends Record<string, unknown>\n> = Bag extends { UpdateType: unknown }\n ? Bag[\"UpdateType\"]\n : Partial<StateType>;\n\ntype GetCustomEventType<Bag extends BagTemplate> = Bag extends {\n CustomEventType: unknown;\n}\n ? Bag[\"CustomEventType\"]\n : unknown;\n\ntype EventStreamMap<StateType, UpdateType, CustomType> = {\n values: ValuesStreamEvent<StateType>;\n updates: UpdatesStreamEvent<UpdateType>;\n custom: CustomStreamEvent<CustomType>;\n debug: DebugStreamEvent;\n messages: MessagesTupleStreamEvent;\n events: EventsStreamEvent;\n metadata: MetadataStreamEvent;\n checkpoints: CheckpointsStreamEvent<StateType>;\n tasks: TasksStreamEvent<StateType, UpdateType>;\n error: ErrorStreamEvent;\n feedback: FeedbackStreamEvent;\n};\n\nexport type EventStreamEvent<StateType, UpdateType, CustomType> =\n EventStreamMap<StateType, UpdateType, CustomType>[keyof EventStreamMap<\n StateType,\n UpdateType,\n CustomType\n >];\n\ninterface StreamManagerEventCallbacks<\n StateType extends Record<string, unknown>,\n Bag extends BagTemplate = BagTemplate\n> {\n onUpdateEvent?: (\n data: UpdatesStreamEvent<GetUpdateType<Bag, StateType>>[\"data\"],\n options: {\n namespace: string[] | undefined;\n mutate: (\n update: Partial<StateType> | ((prev: StateType) => Partial<StateType>)\n ) => void;\n }\n ) => void;\n onCustomEvent?: (\n data: GetCustomEventType<Bag>,\n options: {\n namespace: string[] | undefined;\n mutate: (\n update: Partial<StateType> | ((prev: StateType) => Partial<StateType>)\n ) => void;\n }\n ) => void;\n onMetadataEvent?: (data: MetadataStreamEvent[\"data\"]) => void;\n onLangChainEvent?: (data: EventsStreamEvent[\"data\"]) => void;\n onDebugEvent?: (\n data: DebugStreamEvent[\"data\"],\n options: { namespace: string[] | undefined }\n ) => void;\n onCheckpointEvent?: (\n data: CheckpointsStreamEvent<StateType>[\"data\"],\n options: { namespace: string[] | undefined }\n ) => void;\n onTaskEvent?: (\n data: TasksStreamEvent<StateType, GetUpdateType<Bag, StateType>>[\"data\"],\n options: { namespace: string[] | undefined }\n ) => void;\n}\n\nexport class StreamManager<\n StateType extends Record<string, unknown>,\n Bag extends BagTemplate = BagTemplate\n> {\n private abortRef = new AbortController();\n\n private messages: MessageTupleManager;\n\n private listeners = new Set<() => void>();\n\n private state: {\n isLoading: boolean;\n values: [values: StateType, kind: \"stream\" | \"stop\"] | null;\n error: unknown;\n };\n\n constructor(messages: MessageTupleManager) {\n this.messages = messages;\n this.state = { isLoading: false, values: null, error: undefined };\n }\n\n private setState = (newState: Partial<typeof this.state>) => {\n this.state = { ...this.state, ...newState };\n this.notifyListeners();\n };\n\n private notifyListeners = () => {\n this.listeners.forEach((listener) => listener());\n };\n\n subscribe = (listener: () => void): (() => void) => {\n this.listeners.add(listener);\n return () => this.listeners.delete(listener);\n };\n\n getSnapshot = () => this.state;\n\n get isLoading() {\n return this.state.isLoading;\n }\n\n get values() {\n return this.state.values?.[0] ?? null;\n }\n\n get error() {\n return this.state.error;\n }\n\n setStreamValues = (\n values:\n | (StateType | null)\n | ((prev: StateType | null, kind: \"stream\" | \"stop\") => StateType | null),\n kind: \"stream\" | \"stop\" = \"stream\"\n ) => {\n if (typeof values === \"function\") {\n const [prevValues, prevKind] = this.state.values ?? [null, \"stream\"];\n const nextValues = values(prevValues, prevKind);\n this.setState({ values: nextValues != null ? [nextValues, kind] : null });\n } else {\n const nextValues = values != null ? [values, kind] : null;\n this.setState({ values: nextValues as [StateType, \"stream\" | \"stop\"] });\n }\n };\n\n private getMutateFn = (kind: \"stream\" | \"stop\", historyValues: StateType) => {\n return (\n update: Partial<StateType> | ((prev: StateType) => Partial<StateType>)\n ) => {\n const prev = {\n ...historyValues,\n ...(this.state.values ?? [null, \"stream\"])[0],\n };\n const next = typeof update === \"function\" ? update(prev) : update;\n this.setStreamValues({ ...prev, ...next }, kind);\n };\n };\n\n private matchEventType = <\n T extends keyof EventStreamMap<\n StateType,\n GetUpdateType<Bag, StateType>,\n GetCustomEventType<Bag>\n >\n >(\n expected: T,\n actual: EventStreamEvent<\n StateType,\n GetUpdateType<Bag, StateType>,\n GetCustomEventType<Bag>\n >[\"event\"],\n _data: EventStreamEvent<\n StateType,\n GetUpdateType<Bag, StateType>,\n GetCustomEventType<Bag>\n >[\"data\"]\n ): _data is EventStreamMap<\n StateType,\n GetUpdateType<Bag, StateType>,\n GetCustomEventType<Bag>\n >[T][\"data\"] => {\n return expected === actual || actual.startsWith(`${expected}|`);\n };\n\n start = async (\n action: (\n signal: AbortSignal\n ) => Promise<\n AsyncGenerator<\n EventStreamEvent<\n StateType,\n GetUpdateType<Bag, StateType>,\n GetCustomEventType<Bag>\n >\n >\n >,\n options: {\n getMessages: (values: StateType) => Message[];\n\n setMessages: (current: StateType, messages: Message[]) => StateType;\n\n initialValues: StateType;\n\n callbacks: StreamManagerEventCallbacks<StateType, Bag>;\n\n onSuccess: () =>\n | StateType\n | null\n | undefined\n | void\n | Promise<StateType | null | undefined | void>;\n\n onError: (error: unknown) => void | Promise<void>;\n\n onFinish?: () => void;\n }\n ): Promise<void> => {\n if (this.state.isLoading) return;\n\n try {\n this.setState({ isLoading: true, error: undefined });\n this.abortRef = new AbortController();\n\n const run = await action(this.abortRef.signal);\n\n let streamError: StreamError | undefined;\n for await (const { event, data } of run) {\n if (event === \"error\") {\n streamError = new StreamError(data);\n break;\n }\n\n const namespace = event.includes(\"|\")\n ? event.split(\"|\").slice(1)\n : undefined;\n\n const mutate = this.getMutateFn(\"stream\", options.initialValues);\n\n if (event === \"metadata\") options.callbacks.onMetadataEvent?.(data);\n if (event === \"events\") options.callbacks.onLangChainEvent?.(data);\n\n if (this.matchEventType(\"updates\", event, data)) {\n options.callbacks.onUpdateEvent?.(data, { namespace, mutate });\n }\n\n if (this.matchEventType(\"custom\", event, data)) {\n options.callbacks.onCustomEvent?.(data, { namespace, mutate });\n }\n\n if (this.matchEventType(\"checkpoints\", event, data)) {\n options.callbacks.onCheckpointEvent?.(data, { namespace });\n }\n\n if (this.matchEventType(\"tasks\", event, data)) {\n options.callbacks.onTaskEvent?.(data, { namespace });\n }\n\n if (this.matchEventType(\"debug\", event, data)) {\n options.callbacks.onDebugEvent?.(data, { namespace });\n }\n\n if (event === \"values\") {\n if (\"__interrupt__\" in data) {\n this.setStreamValues((prev) => ({ ...prev, ...data }));\n } else {\n this.setStreamValues(data);\n }\n }\n\n if (this.matchEventType(\"messages\", event, data)) {\n const [serialized, metadata] = data;\n\n const messageId = this.messages.add(serialized, metadata);\n if (!messageId) {\n console.warn(\n \"Failed to add message to manager, no message ID found\"\n );\n continue;\n }\n\n this.setStreamValues((streamValues) => {\n const values = { ...options.initialValues, ...streamValues };\n\n // Assumption: we're concatenating the message\n const messages = options.getMessages(values).slice();\n const { chunk, index } =\n this.messages.get(messageId, messages.length) ?? {};\n\n if (!chunk || index == null) return values;\n if (chunk.getType() === \"remove\") {\n messages.splice(index, 1);\n } else {\n messages[index] = toMessageDict(chunk);\n }\n\n return options.setMessages(values, messages);\n });\n }\n }\n\n if (streamError != null) throw streamError;\n\n const values = await options.onSuccess?.();\n if (typeof values !== \"undefined\") this.setStreamValues(values);\n } catch (error) {\n if (\n !(\n error instanceof Error && // eslint-disable-line no-instanceof/no-instanceof\n (error.name === \"AbortError\" || error.name === \"TimeoutError\")\n )\n ) {\n console.error(error);\n this.setState({ error });\n await options.onError?.(error);\n }\n } finally {\n this.setState({ isLoading: false });\n this.abortRef = new AbortController();\n options.onFinish?.();\n }\n };\n\n stop = async (\n historyValues: StateType,\n options: {\n onStop?: (options: {\n mutate: (\n update: Partial<StateType> | ((prev: StateType) => Partial<StateType>)\n ) => void;\n }) => void;\n }\n ): Promise<void> => {\n this.abortRef.abort();\n this.abortRef = new AbortController();\n\n options.onStop?.({ mutate: this.getMutateFn(\"stop\", historyValues) });\n };\n\n clear = () => {\n // Cancel any running streams\n this.abortRef.abort();\n this.abortRef = new AbortController();\n\n // Set the stream state to null\n this.setState({ error: undefined, values: null, isLoading: false });\n\n // Clear any pending messages\n this.messages.clear();\n };\n}\n"],"mappings":"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"}
@@ -146,7 +146,8 @@ var StreamManager = class {
146
146
  this.abortRef = new AbortController();
147
147
  this.setState({
148
148
  error: void 0,
149
- values: null
149
+ values: null,
150
+ isLoading: false
150
151
  });
151
152
  this.messages.clear();
152
153
  };
@@ -1 +1 @@
1
- {"version":3,"file":"manager.js","names":["streamError: StreamError | undefined","values"],"sources":["../../src/ui/manager.ts"],"sourcesContent":["import type {\n CheckpointsStreamEvent,\n CustomStreamEvent,\n DebugStreamEvent,\n ErrorStreamEvent,\n EventsStreamEvent,\n FeedbackStreamEvent,\n MessagesTupleStreamEvent,\n MetadataStreamEvent,\n TasksStreamEvent,\n UpdatesStreamEvent,\n ValuesStreamEvent,\n} from \"../types.stream.js\";\nimport { MessageTupleManager, toMessageDict } from \"./messages.js\";\nimport { StreamError } from \"./errors.js\";\nimport type { Message } from \"../types.messages.js\";\n\ntype BagTemplate = {\n ConfigurableType?: Record<string, unknown>;\n InterruptType?: unknown;\n CustomEventType?: unknown;\n UpdateType?: unknown;\n};\n\ntype GetUpdateType<\n Bag extends BagTemplate,\n StateType extends Record<string, unknown>\n> = Bag extends { UpdateType: unknown }\n ? Bag[\"UpdateType\"]\n : Partial<StateType>;\n\ntype GetCustomEventType<Bag extends BagTemplate> = Bag extends {\n CustomEventType: unknown;\n}\n ? Bag[\"CustomEventType\"]\n : unknown;\n\ntype EventStreamMap<StateType, UpdateType, CustomType> = {\n values: ValuesStreamEvent<StateType>;\n updates: UpdatesStreamEvent<UpdateType>;\n custom: CustomStreamEvent<CustomType>;\n debug: DebugStreamEvent;\n messages: MessagesTupleStreamEvent;\n events: EventsStreamEvent;\n metadata: MetadataStreamEvent;\n checkpoints: CheckpointsStreamEvent<StateType>;\n tasks: TasksStreamEvent<StateType, UpdateType>;\n error: ErrorStreamEvent;\n feedback: FeedbackStreamEvent;\n};\n\nexport type EventStreamEvent<StateType, UpdateType, CustomType> =\n EventStreamMap<StateType, UpdateType, CustomType>[keyof EventStreamMap<\n StateType,\n UpdateType,\n CustomType\n >];\n\ninterface StreamManagerEventCallbacks<\n StateType extends Record<string, unknown>,\n Bag extends BagTemplate = BagTemplate\n> {\n onUpdateEvent?: (\n data: UpdatesStreamEvent<GetUpdateType<Bag, StateType>>[\"data\"],\n options: {\n namespace: string[] | undefined;\n mutate: (\n update: Partial<StateType> | ((prev: StateType) => Partial<StateType>)\n ) => void;\n }\n ) => void;\n onCustomEvent?: (\n data: GetCustomEventType<Bag>,\n options: {\n namespace: string[] | undefined;\n mutate: (\n update: Partial<StateType> | ((prev: StateType) => Partial<StateType>)\n ) => void;\n }\n ) => void;\n onMetadataEvent?: (data: MetadataStreamEvent[\"data\"]) => void;\n onLangChainEvent?: (data: EventsStreamEvent[\"data\"]) => void;\n onDebugEvent?: (\n data: DebugStreamEvent[\"data\"],\n options: { namespace: string[] | undefined }\n ) => void;\n onCheckpointEvent?: (\n data: CheckpointsStreamEvent<StateType>[\"data\"],\n options: { namespace: string[] | undefined }\n ) => void;\n onTaskEvent?: (\n data: TasksStreamEvent<StateType, GetUpdateType<Bag, StateType>>[\"data\"],\n options: { namespace: string[] | undefined }\n ) => void;\n}\n\nexport class StreamManager<\n StateType extends Record<string, unknown>,\n Bag extends BagTemplate = BagTemplate\n> {\n private abortRef = new AbortController();\n\n private messages: MessageTupleManager;\n\n private listeners = new Set<() => void>();\n\n private state: {\n isLoading: boolean;\n values: [values: StateType, kind: \"stream\" | \"stop\"] | null;\n error: unknown;\n };\n\n constructor(messages: MessageTupleManager) {\n this.messages = messages;\n this.state = { isLoading: false, values: null, error: undefined };\n }\n\n private setState = (newState: Partial<typeof this.state>) => {\n this.state = { ...this.state, ...newState };\n this.notifyListeners();\n };\n\n private notifyListeners = () => {\n this.listeners.forEach((listener) => listener());\n };\n\n subscribe = (listener: () => void): (() => void) => {\n this.listeners.add(listener);\n return () => this.listeners.delete(listener);\n };\n\n getSnapshot = () => this.state;\n\n get isLoading() {\n return this.state.isLoading;\n }\n\n get values() {\n return this.state.values?.[0] ?? null;\n }\n\n get error() {\n return this.state.error;\n }\n\n setStreamValues = (\n values:\n | (StateType | null)\n | ((prev: StateType | null, kind: \"stream\" | \"stop\") => StateType | null),\n kind: \"stream\" | \"stop\" = \"stream\"\n ) => {\n if (typeof values === \"function\") {\n const [prevValues, prevKind] = this.state.values ?? [null, \"stream\"];\n const nextValues = values(prevValues, prevKind);\n this.setState({ values: nextValues != null ? [nextValues, kind] : null });\n } else {\n const nextValues = values != null ? [values, kind] : null;\n this.setState({ values: nextValues as [StateType, \"stream\" | \"stop\"] });\n }\n };\n\n private getMutateFn = (kind: \"stream\" | \"stop\", historyValues: StateType) => {\n return (\n update: Partial<StateType> | ((prev: StateType) => Partial<StateType>)\n ) => {\n const prev = {\n ...historyValues,\n ...(this.state.values ?? [null, \"stream\"])[0],\n };\n const next = typeof update === \"function\" ? update(prev) : update;\n this.setStreamValues({ ...prev, ...next }, kind);\n };\n };\n\n private matchEventType = <\n T extends keyof EventStreamMap<\n StateType,\n GetUpdateType<Bag, StateType>,\n GetCustomEventType<Bag>\n >\n >(\n expected: T,\n actual: EventStreamEvent<\n StateType,\n GetUpdateType<Bag, StateType>,\n GetCustomEventType<Bag>\n >[\"event\"],\n _data: EventStreamEvent<\n StateType,\n GetUpdateType<Bag, StateType>,\n GetCustomEventType<Bag>\n >[\"data\"]\n ): _data is EventStreamMap<\n StateType,\n GetUpdateType<Bag, StateType>,\n GetCustomEventType<Bag>\n >[T][\"data\"] => {\n return expected === actual || actual.startsWith(`${expected}|`);\n };\n\n start = async (\n action: (\n signal: AbortSignal\n ) => Promise<\n AsyncGenerator<\n EventStreamEvent<\n StateType,\n GetUpdateType<Bag, StateType>,\n GetCustomEventType<Bag>\n >\n >\n >,\n options: {\n getMessages: (values: StateType) => Message[];\n\n setMessages: (current: StateType, messages: Message[]) => StateType;\n\n initialValues: StateType;\n\n callbacks: StreamManagerEventCallbacks<StateType, Bag>;\n\n onSuccess: () =>\n | StateType\n | null\n | undefined\n | void\n | Promise<StateType | null | undefined | void>;\n\n onError: (error: unknown) => void | Promise<void>;\n\n onFinish?: () => void;\n }\n ): Promise<void> => {\n if (this.state.isLoading) return;\n\n try {\n this.setState({ isLoading: true, error: undefined });\n this.abortRef = new AbortController();\n\n const run = await action(this.abortRef.signal);\n\n let streamError: StreamError | undefined;\n for await (const { event, data } of run) {\n if (event === \"error\") {\n streamError = new StreamError(data);\n break;\n }\n\n const namespace = event.includes(\"|\")\n ? event.split(\"|\").slice(1)\n : undefined;\n\n const mutate = this.getMutateFn(\"stream\", options.initialValues);\n\n if (event === \"metadata\") options.callbacks.onMetadataEvent?.(data);\n if (event === \"events\") options.callbacks.onLangChainEvent?.(data);\n\n if (this.matchEventType(\"updates\", event, data)) {\n options.callbacks.onUpdateEvent?.(data, { namespace, mutate });\n }\n\n if (this.matchEventType(\"custom\", event, data)) {\n options.callbacks.onCustomEvent?.(data, { namespace, mutate });\n }\n\n if (this.matchEventType(\"checkpoints\", event, data)) {\n options.callbacks.onCheckpointEvent?.(data, { namespace });\n }\n\n if (this.matchEventType(\"tasks\", event, data)) {\n options.callbacks.onTaskEvent?.(data, { namespace });\n }\n\n if (this.matchEventType(\"debug\", event, data)) {\n options.callbacks.onDebugEvent?.(data, { namespace });\n }\n\n if (event === \"values\") {\n if (\"__interrupt__\" in data) {\n this.setStreamValues((prev) => ({ ...prev, ...data }));\n } else {\n this.setStreamValues(data);\n }\n }\n\n if (this.matchEventType(\"messages\", event, data)) {\n const [serialized, metadata] = data;\n\n const messageId = this.messages.add(serialized, metadata);\n if (!messageId) {\n console.warn(\n \"Failed to add message to manager, no message ID found\"\n );\n continue;\n }\n\n this.setStreamValues((streamValues) => {\n const values = { ...options.initialValues, ...streamValues };\n\n // Assumption: we're concatenating the message\n const messages = options.getMessages(values).slice();\n const { chunk, index } =\n this.messages.get(messageId, messages.length) ?? {};\n\n if (!chunk || index == null) return values;\n if (chunk.getType() === \"remove\") {\n messages.splice(index, 1);\n } else {\n messages[index] = toMessageDict(chunk);\n }\n\n return options.setMessages(values, messages);\n });\n }\n }\n\n if (streamError != null) throw streamError;\n\n const values = await options.onSuccess?.();\n if (typeof values !== \"undefined\") this.setStreamValues(values);\n } catch (error) {\n if (\n !(\n error instanceof Error && // eslint-disable-line no-instanceof/no-instanceof\n (error.name === \"AbortError\" || error.name === \"TimeoutError\")\n )\n ) {\n console.error(error);\n this.setState({ error });\n await options.onError?.(error);\n }\n } finally {\n this.setState({ isLoading: false });\n this.abortRef = new AbortController();\n options.onFinish?.();\n }\n };\n\n stop = async (\n historyValues: StateType,\n options: {\n onStop?: (options: {\n mutate: (\n update: Partial<StateType> | ((prev: StateType) => Partial<StateType>)\n ) => void;\n }) => void;\n }\n ): Promise<void> => {\n this.abortRef.abort();\n this.abortRef = new AbortController();\n\n options.onStop?.({ mutate: this.getMutateFn(\"stop\", historyValues) });\n };\n\n clear = () => {\n // Cancel any running streams\n this.abortRef.abort();\n this.abortRef = new AbortController();\n\n // Set the stream state to null\n this.setState({ error: undefined, values: null });\n\n // Clear any pending messages\n this.messages.clear();\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"manager.js","names":["streamError: StreamError | undefined","values"],"sources":["../../src/ui/manager.ts"],"sourcesContent":["import type {\n CheckpointsStreamEvent,\n CustomStreamEvent,\n DebugStreamEvent,\n ErrorStreamEvent,\n EventsStreamEvent,\n FeedbackStreamEvent,\n MessagesTupleStreamEvent,\n MetadataStreamEvent,\n TasksStreamEvent,\n UpdatesStreamEvent,\n ValuesStreamEvent,\n} from \"../types.stream.js\";\nimport { MessageTupleManager, toMessageDict } from \"./messages.js\";\nimport { StreamError } from \"./errors.js\";\nimport type { Message } from \"../types.messages.js\";\n\ntype BagTemplate = {\n ConfigurableType?: Record<string, unknown>;\n InterruptType?: unknown;\n CustomEventType?: unknown;\n UpdateType?: unknown;\n};\n\ntype GetUpdateType<\n Bag extends BagTemplate,\n StateType extends Record<string, unknown>\n> = Bag extends { UpdateType: unknown }\n ? Bag[\"UpdateType\"]\n : Partial<StateType>;\n\ntype GetCustomEventType<Bag extends BagTemplate> = Bag extends {\n CustomEventType: unknown;\n}\n ? Bag[\"CustomEventType\"]\n : unknown;\n\ntype EventStreamMap<StateType, UpdateType, CustomType> = {\n values: ValuesStreamEvent<StateType>;\n updates: UpdatesStreamEvent<UpdateType>;\n custom: CustomStreamEvent<CustomType>;\n debug: DebugStreamEvent;\n messages: MessagesTupleStreamEvent;\n events: EventsStreamEvent;\n metadata: MetadataStreamEvent;\n checkpoints: CheckpointsStreamEvent<StateType>;\n tasks: TasksStreamEvent<StateType, UpdateType>;\n error: ErrorStreamEvent;\n feedback: FeedbackStreamEvent;\n};\n\nexport type EventStreamEvent<StateType, UpdateType, CustomType> =\n EventStreamMap<StateType, UpdateType, CustomType>[keyof EventStreamMap<\n StateType,\n UpdateType,\n CustomType\n >];\n\ninterface StreamManagerEventCallbacks<\n StateType extends Record<string, unknown>,\n Bag extends BagTemplate = BagTemplate\n> {\n onUpdateEvent?: (\n data: UpdatesStreamEvent<GetUpdateType<Bag, StateType>>[\"data\"],\n options: {\n namespace: string[] | undefined;\n mutate: (\n update: Partial<StateType> | ((prev: StateType) => Partial<StateType>)\n ) => void;\n }\n ) => void;\n onCustomEvent?: (\n data: GetCustomEventType<Bag>,\n options: {\n namespace: string[] | undefined;\n mutate: (\n update: Partial<StateType> | ((prev: StateType) => Partial<StateType>)\n ) => void;\n }\n ) => void;\n onMetadataEvent?: (data: MetadataStreamEvent[\"data\"]) => void;\n onLangChainEvent?: (data: EventsStreamEvent[\"data\"]) => void;\n onDebugEvent?: (\n data: DebugStreamEvent[\"data\"],\n options: { namespace: string[] | undefined }\n ) => void;\n onCheckpointEvent?: (\n data: CheckpointsStreamEvent<StateType>[\"data\"],\n options: { namespace: string[] | undefined }\n ) => void;\n onTaskEvent?: (\n data: TasksStreamEvent<StateType, GetUpdateType<Bag, StateType>>[\"data\"],\n options: { namespace: string[] | undefined }\n ) => void;\n}\n\nexport class StreamManager<\n StateType extends Record<string, unknown>,\n Bag extends BagTemplate = BagTemplate\n> {\n private abortRef = new AbortController();\n\n private messages: MessageTupleManager;\n\n private listeners = new Set<() => void>();\n\n private state: {\n isLoading: boolean;\n values: [values: StateType, kind: \"stream\" | \"stop\"] | null;\n error: unknown;\n };\n\n constructor(messages: MessageTupleManager) {\n this.messages = messages;\n this.state = { isLoading: false, values: null, error: undefined };\n }\n\n private setState = (newState: Partial<typeof this.state>) => {\n this.state = { ...this.state, ...newState };\n this.notifyListeners();\n };\n\n private notifyListeners = () => {\n this.listeners.forEach((listener) => listener());\n };\n\n subscribe = (listener: () => void): (() => void) => {\n this.listeners.add(listener);\n return () => this.listeners.delete(listener);\n };\n\n getSnapshot = () => this.state;\n\n get isLoading() {\n return this.state.isLoading;\n }\n\n get values() {\n return this.state.values?.[0] ?? null;\n }\n\n get error() {\n return this.state.error;\n }\n\n setStreamValues = (\n values:\n | (StateType | null)\n | ((prev: StateType | null, kind: \"stream\" | \"stop\") => StateType | null),\n kind: \"stream\" | \"stop\" = \"stream\"\n ) => {\n if (typeof values === \"function\") {\n const [prevValues, prevKind] = this.state.values ?? [null, \"stream\"];\n const nextValues = values(prevValues, prevKind);\n this.setState({ values: nextValues != null ? [nextValues, kind] : null });\n } else {\n const nextValues = values != null ? [values, kind] : null;\n this.setState({ values: nextValues as [StateType, \"stream\" | \"stop\"] });\n }\n };\n\n private getMutateFn = (kind: \"stream\" | \"stop\", historyValues: StateType) => {\n return (\n update: Partial<StateType> | ((prev: StateType) => Partial<StateType>)\n ) => {\n const prev = {\n ...historyValues,\n ...(this.state.values ?? [null, \"stream\"])[0],\n };\n const next = typeof update === \"function\" ? update(prev) : update;\n this.setStreamValues({ ...prev, ...next }, kind);\n };\n };\n\n private matchEventType = <\n T extends keyof EventStreamMap<\n StateType,\n GetUpdateType<Bag, StateType>,\n GetCustomEventType<Bag>\n >\n >(\n expected: T,\n actual: EventStreamEvent<\n StateType,\n GetUpdateType<Bag, StateType>,\n GetCustomEventType<Bag>\n >[\"event\"],\n _data: EventStreamEvent<\n StateType,\n GetUpdateType<Bag, StateType>,\n GetCustomEventType<Bag>\n >[\"data\"]\n ): _data is EventStreamMap<\n StateType,\n GetUpdateType<Bag, StateType>,\n GetCustomEventType<Bag>\n >[T][\"data\"] => {\n return expected === actual || actual.startsWith(`${expected}|`);\n };\n\n start = async (\n action: (\n signal: AbortSignal\n ) => Promise<\n AsyncGenerator<\n EventStreamEvent<\n StateType,\n GetUpdateType<Bag, StateType>,\n GetCustomEventType<Bag>\n >\n >\n >,\n options: {\n getMessages: (values: StateType) => Message[];\n\n setMessages: (current: StateType, messages: Message[]) => StateType;\n\n initialValues: StateType;\n\n callbacks: StreamManagerEventCallbacks<StateType, Bag>;\n\n onSuccess: () =>\n | StateType\n | null\n | undefined\n | void\n | Promise<StateType | null | undefined | void>;\n\n onError: (error: unknown) => void | Promise<void>;\n\n onFinish?: () => void;\n }\n ): Promise<void> => {\n if (this.state.isLoading) return;\n\n try {\n this.setState({ isLoading: true, error: undefined });\n this.abortRef = new AbortController();\n\n const run = await action(this.abortRef.signal);\n\n let streamError: StreamError | undefined;\n for await (const { event, data } of run) {\n if (event === \"error\") {\n streamError = new StreamError(data);\n break;\n }\n\n const namespace = event.includes(\"|\")\n ? event.split(\"|\").slice(1)\n : undefined;\n\n const mutate = this.getMutateFn(\"stream\", options.initialValues);\n\n if (event === \"metadata\") options.callbacks.onMetadataEvent?.(data);\n if (event === \"events\") options.callbacks.onLangChainEvent?.(data);\n\n if (this.matchEventType(\"updates\", event, data)) {\n options.callbacks.onUpdateEvent?.(data, { namespace, mutate });\n }\n\n if (this.matchEventType(\"custom\", event, data)) {\n options.callbacks.onCustomEvent?.(data, { namespace, mutate });\n }\n\n if (this.matchEventType(\"checkpoints\", event, data)) {\n options.callbacks.onCheckpointEvent?.(data, { namespace });\n }\n\n if (this.matchEventType(\"tasks\", event, data)) {\n options.callbacks.onTaskEvent?.(data, { namespace });\n }\n\n if (this.matchEventType(\"debug\", event, data)) {\n options.callbacks.onDebugEvent?.(data, { namespace });\n }\n\n if (event === \"values\") {\n if (\"__interrupt__\" in data) {\n this.setStreamValues((prev) => ({ ...prev, ...data }));\n } else {\n this.setStreamValues(data);\n }\n }\n\n if (this.matchEventType(\"messages\", event, data)) {\n const [serialized, metadata] = data;\n\n const messageId = this.messages.add(serialized, metadata);\n if (!messageId) {\n console.warn(\n \"Failed to add message to manager, no message ID found\"\n );\n continue;\n }\n\n this.setStreamValues((streamValues) => {\n const values = { ...options.initialValues, ...streamValues };\n\n // Assumption: we're concatenating the message\n const messages = options.getMessages(values).slice();\n const { chunk, index } =\n this.messages.get(messageId, messages.length) ?? {};\n\n if (!chunk || index == null) return values;\n if (chunk.getType() === \"remove\") {\n messages.splice(index, 1);\n } else {\n messages[index] = toMessageDict(chunk);\n }\n\n return options.setMessages(values, messages);\n });\n }\n }\n\n if (streamError != null) throw streamError;\n\n const values = await options.onSuccess?.();\n if (typeof values !== \"undefined\") this.setStreamValues(values);\n } catch (error) {\n if (\n !(\n error instanceof Error && // eslint-disable-line no-instanceof/no-instanceof\n (error.name === \"AbortError\" || error.name === \"TimeoutError\")\n )\n ) {\n console.error(error);\n this.setState({ error });\n await options.onError?.(error);\n }\n } finally {\n this.setState({ isLoading: false });\n this.abortRef = new AbortController();\n options.onFinish?.();\n }\n };\n\n stop = async (\n historyValues: StateType,\n options: {\n onStop?: (options: {\n mutate: (\n update: Partial<StateType> | ((prev: StateType) => Partial<StateType>)\n ) => void;\n }) => void;\n }\n ): Promise<void> => {\n this.abortRef.abort();\n this.abortRef = new AbortController();\n\n options.onStop?.({ mutate: this.getMutateFn(\"stop\", historyValues) });\n };\n\n clear = () => {\n // Cancel any running streams\n this.abortRef.abort();\n this.abortRef = new AbortController();\n\n // Set the stream state to null\n this.setState({ error: undefined, values: null, isLoading: false });\n\n // Clear any pending messages\n this.messages.clear();\n };\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@langchain/langgraph-sdk",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "Client library for interacting with the LangGraph API",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -42,7 +42,7 @@
42
42
  "react": "^19.0.0",
43
43
  "react-dom": "^19.0.0",
44
44
  "typescript": "^4.9.5 || ^5.4.5",
45
- "vitest": "^3.1.2"
45
+ "vitest": "^3.2.4"
46
46
  },
47
47
  "peerDependencies": {
48
48
  "@langchain/core": "^1.0.1",