@langchain/langgraph-sdk 1.3.1 → 1.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +5 -5
- package/CHANGELOG.md +0 -281
- package/dist/_virtual/rolldown_runtime.cjs +0 -25
- package/dist/auth/error.cjs +0 -79
- package/dist/auth/error.cjs.map +0 -1
- package/dist/auth/error.d.cts +0 -13
- package/dist/auth/error.d.cts.map +0 -1
- package/dist/auth/error.d.ts +0 -13
- package/dist/auth/error.d.ts.map +0 -1
- package/dist/auth/error.js +0 -78
- package/dist/auth/error.js.map +0 -1
- package/dist/auth/index.cjs +0 -39
- package/dist/auth/index.cjs.map +0 -1
- package/dist/auth/index.d.cts +0 -31
- package/dist/auth/index.d.cts.map +0 -1
- package/dist/auth/index.d.ts +0 -31
- package/dist/auth/index.d.ts.map +0 -1
- package/dist/auth/index.js +0 -37
- package/dist/auth/index.js.map +0 -1
- package/dist/auth/types.d.cts +0 -294
- package/dist/auth/types.d.cts.map +0 -1
- package/dist/auth/types.d.ts +0 -294
- package/dist/auth/types.d.ts.map +0 -1
- package/dist/client.cjs +0 -1219
- package/dist/client.cjs.map +0 -1
- package/dist/client.d.cts +0 -803
- package/dist/client.d.cts.map +0 -1
- package/dist/client.d.ts +0 -803
- package/dist/client.d.ts.map +0 -1
- package/dist/client.js +0 -1212
- package/dist/client.js.map +0 -1
- package/dist/index.cjs +0 -6
- package/dist/index.d.cts +0 -7
- package/dist/index.d.ts +0 -7
- package/dist/index.js +0 -4
- package/dist/logging/index.cjs +0 -35
- package/dist/logging/index.cjs.map +0 -1
- package/dist/logging/index.d.cts +0 -47
- package/dist/logging/index.d.cts.map +0 -1
- package/dist/logging/index.d.ts +0 -47
- package/dist/logging/index.d.ts.map +0 -1
- package/dist/logging/index.js +0 -34
- package/dist/logging/index.js.map +0 -1
- package/dist/react/index.cjs +0 -5
- package/dist/react/index.d.cts +0 -4
- package/dist/react/index.d.ts +0 -4
- package/dist/react/index.js +0 -4
- package/dist/react/stream.cjs +0 -18
- package/dist/react/stream.cjs.map +0 -1
- package/dist/react/stream.custom.cjs +0 -129
- package/dist/react/stream.custom.cjs.map +0 -1
- package/dist/react/stream.custom.d.cts +0 -39
- package/dist/react/stream.custom.d.cts.map +0 -1
- package/dist/react/stream.custom.d.ts +0 -39
- package/dist/react/stream.custom.d.ts.map +0 -1
- package/dist/react/stream.custom.js +0 -127
- package/dist/react/stream.custom.js.map +0 -1
- package/dist/react/stream.d.cts +0 -73
- package/dist/react/stream.d.cts.map +0 -1
- package/dist/react/stream.d.ts +0 -73
- package/dist/react/stream.d.ts.map +0 -1
- package/dist/react/stream.js +0 -17
- package/dist/react/stream.js.map +0 -1
- package/dist/react/stream.lgp.cjs +0 -446
- package/dist/react/stream.lgp.cjs.map +0 -1
- package/dist/react/stream.lgp.js +0 -445
- package/dist/react/stream.lgp.js.map +0 -1
- package/dist/react/thread.cjs +0 -22
- package/dist/react/thread.cjs.map +0 -1
- package/dist/react/thread.js +0 -21
- package/dist/react/thread.js.map +0 -1
- package/dist/react/types.d.cts +0 -363
- package/dist/react/types.d.cts.map +0 -1
- package/dist/react/types.d.ts +0 -363
- package/dist/react/types.d.ts.map +0 -1
- package/dist/react-ui/client.cjs +0 -137
- package/dist/react-ui/client.cjs.map +0 -1
- package/dist/react-ui/client.d.cts +0 -90
- package/dist/react-ui/client.d.cts.map +0 -1
- package/dist/react-ui/client.d.ts +0 -90
- package/dist/react-ui/client.d.ts.map +0 -1
- package/dist/react-ui/client.js +0 -134
- package/dist/react-ui/client.js.map +0 -1
- package/dist/react-ui/index.cjs +0 -14
- package/dist/react-ui/index.cjs.map +0 -1
- package/dist/react-ui/index.d.cts +0 -3
- package/dist/react-ui/index.d.ts +0 -3
- package/dist/react-ui/index.js +0 -9
- package/dist/react-ui/index.js.map +0 -1
- package/dist/react-ui/server/index.cjs +0 -5
- package/dist/react-ui/server/index.d.cts +0 -3
- package/dist/react-ui/server/index.d.ts +0 -3
- package/dist/react-ui/server/index.js +0 -4
- package/dist/react-ui/server/server.cjs +0 -57
- package/dist/react-ui/server/server.cjs.map +0 -1
- package/dist/react-ui/server/server.d.cts +0 -55
- package/dist/react-ui/server/server.d.cts.map +0 -1
- package/dist/react-ui/server/server.d.ts +0 -55
- package/dist/react-ui/server/server.d.ts.map +0 -1
- package/dist/react-ui/server/server.js +0 -56
- package/dist/react-ui/server/server.js.map +0 -1
- package/dist/react-ui/types.cjs +0 -38
- package/dist/react-ui/types.cjs.map +0 -1
- package/dist/react-ui/types.d.cts +0 -25
- package/dist/react-ui/types.d.cts.map +0 -1
- package/dist/react-ui/types.d.ts +0 -25
- package/dist/react-ui/types.d.ts.map +0 -1
- package/dist/react-ui/types.js +0 -35
- package/dist/react-ui/types.js.map +0 -1
- package/dist/schema.d.cts +0 -284
- package/dist/schema.d.cts.map +0 -1
- package/dist/schema.d.ts +0 -284
- package/dist/schema.d.ts.map +0 -1
- package/dist/singletons/fetch.cjs +0 -24
- package/dist/singletons/fetch.cjs.map +0 -1
- package/dist/singletons/fetch.d.cts +0 -14
- package/dist/singletons/fetch.d.cts.map +0 -1
- package/dist/singletons/fetch.d.ts +0 -14
- package/dist/singletons/fetch.d.ts.map +0 -1
- package/dist/singletons/fetch.js +0 -22
- package/dist/singletons/fetch.js.map +0 -1
- package/dist/types.d.cts +0 -187
- package/dist/types.d.cts.map +0 -1
- package/dist/types.d.ts +0 -187
- package/dist/types.d.ts.map +0 -1
- package/dist/types.messages.d.cts +0 -91
- package/dist/types.messages.d.cts.map +0 -1
- package/dist/types.messages.d.ts +0 -91
- package/dist/types.messages.d.ts.map +0 -1
- package/dist/types.stream.d.cts +0 -235
- package/dist/types.stream.d.cts.map +0 -1
- package/dist/types.stream.d.ts +0 -235
- package/dist/types.stream.d.ts.map +0 -1
- package/dist/ui/branching.cjs +0 -153
- package/dist/ui/branching.cjs.map +0 -1
- package/dist/ui/branching.d.cts +0 -22
- package/dist/ui/branching.d.cts.map +0 -1
- package/dist/ui/branching.d.ts +0 -22
- package/dist/ui/branching.d.ts.map +0 -1
- package/dist/ui/branching.js +0 -152
- package/dist/ui/branching.js.map +0 -1
- package/dist/ui/errors.cjs +0 -15
- package/dist/ui/errors.cjs.map +0 -1
- package/dist/ui/errors.js +0 -14
- package/dist/ui/errors.js.map +0 -1
- package/dist/ui/manager.cjs +0 -182
- package/dist/ui/manager.cjs.map +0 -1
- package/dist/ui/manager.js +0 -182
- package/dist/ui/manager.js.map +0 -1
- package/dist/ui/messages.cjs +0 -70
- package/dist/ui/messages.cjs.map +0 -1
- package/dist/ui/messages.js +0 -68
- package/dist/ui/messages.js.map +0 -1
- package/dist/ui/utils.cjs +0 -14
- package/dist/ui/utils.cjs.map +0 -1
- package/dist/ui/utils.js +0 -12
- package/dist/ui/utils.js.map +0 -1
- package/dist/utils/async_caller.cjs +0 -111
- package/dist/utils/async_caller.cjs.map +0 -1
- package/dist/utils/async_caller.d.cts +0 -53
- package/dist/utils/async_caller.d.cts.map +0 -1
- package/dist/utils/async_caller.d.ts +0 -53
- package/dist/utils/async_caller.d.ts.map +0 -1
- package/dist/utils/async_caller.js +0 -110
- package/dist/utils/async_caller.js.map +0 -1
- package/dist/utils/env.cjs +0 -13
- package/dist/utils/env.cjs.map +0 -1
- package/dist/utils/env.js +0 -12
- package/dist/utils/env.js.map +0 -1
- package/dist/utils/error.cjs +0 -17
- package/dist/utils/error.cjs.map +0 -1
- package/dist/utils/error.js +0 -16
- package/dist/utils/error.js.map +0 -1
- package/dist/utils/signals.cjs +0 -20
- package/dist/utils/signals.cjs.map +0 -1
- package/dist/utils/signals.js +0 -19
- package/dist/utils/signals.js.map +0 -1
- package/dist/utils/sse.cjs +0 -124
- package/dist/utils/sse.cjs.map +0 -1
- package/dist/utils/sse.js +0 -122
- package/dist/utils/sse.js.map +0 -1
- package/dist/utils/stream.cjs +0 -176
- package/dist/utils/stream.cjs.map +0 -1
- package/dist/utils/stream.js +0 -175
- package/dist/utils/stream.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.stream.d.cts","names":["Message","Interrupt","Metadata","Config","ThreadTask","StreamMode","ThreadStreamMode","MessageTupleMetadata","AsSubgraph","TEvent","ValuesStreamEvent","StateType","SubgraphValuesStreamEvent","MessagesTupleStreamEvent","SubgraphMessagesTupleStreamEvent","MetadataStreamEvent","ErrorStreamEvent","SubgraphErrorStreamEvent","UpdatesStreamEvent","UpdateType","SubgraphUpdatesStreamEvent","CustomStreamEvent","T","SubgraphCustomStreamEvent","MessagesMetadataStreamEvent","MessagesCompleteStreamEvent","MessagesPartialStreamEvent","TasksStreamCreateEvent","TasksStreamResultEvent","TasksStreamErrorEvent","TasksStreamEvent","SubgraphTasksStreamEvent","CheckpointsStreamEvent","SubgraphCheckpointsStreamEvent","MessagesStreamEvent","SubgraphMessagesStreamEvent","DebugStreamEvent","SubgraphDebugStreamEvent","EventsStreamEvent","Record","SubgraphEventsStreamEvent","FeedbackStreamEvent","GetStreamModeMap","TStateType","TUpdateType","TCustomType","TStreamMode","GetSubgraphsStreamModeMap","TypedAsyncGenerator","TSubgraphs","AsyncGenerator"],"sources":["../src/types.stream.d.ts"],"sourcesContent":["import type { Message } from \"./types.messages.js\";\nimport type { Interrupt, Metadata, Config, ThreadTask } from \"./schema.js\";\n/**\nimport type { SubgraphCheckpointsStreamEvent } from \"./types.stream.subgraph.js\";\n * Stream modes\n * - \"values\": Stream only the state values.\n * - \"messages\": Stream complete messages.\n * - \"messages-tuple\": Stream (message chunk, metadata) tuples.\n * - \"updates\": Stream updates to the state.\n * - \"events\": Stream events occurring during execution.\n * - \"debug\": Stream detailed debug information.\n * - \"custom\": Stream custom events.\n */\nexport type StreamMode = \"values\" | \"messages\" | \"updates\" | \"events\" | \"debug\" | \"tasks\" | \"checkpoints\" | \"custom\" | \"messages-tuple\";\nexport type ThreadStreamMode = \"run_modes\" | \"lifecycle\" | \"state_update\";\ntype MessageTupleMetadata = {\n tags: string[];\n [key: string]: unknown;\n};\ntype AsSubgraph<TEvent extends {\n id?: string;\n event: string;\n data: unknown;\n}> = {\n id?: TEvent[\"id\"];\n event: TEvent[\"event\"] | `${TEvent[\"event\"]}|${string}`;\n data: TEvent[\"data\"];\n};\n/**\n * Stream event with values after completion of each step.\n */\nexport type ValuesStreamEvent<StateType> = {\n id?: string;\n event: \"values\";\n data: StateType;\n};\n/** @internal */\nexport type SubgraphValuesStreamEvent<StateType> = AsSubgraph<ValuesStreamEvent<StateType>>;\n/**\n * Stream event with message chunks coming from LLM invocations inside nodes.\n */\nexport type MessagesTupleStreamEvent = {\n event: \"messages\";\n // TODO: add types for message and config, which do not depend on LangChain\n // while making sure it's easy to keep them in sync.\n data: [message: Message, config: MessageTupleMetadata];\n};\n/** @internal */\nexport type SubgraphMessagesTupleStreamEvent = AsSubgraph<MessagesTupleStreamEvent>;\n/**\n * Metadata stream event with information about the run and thread\n */\nexport type MetadataStreamEvent = {\n id?: string;\n event: \"metadata\";\n data: {\n run_id: string;\n thread_id: string;\n };\n};\n/**\n * Stream event with error information.\n */\nexport type ErrorStreamEvent = {\n id?: string;\n event: \"error\";\n data: {\n error: string;\n message: string;\n };\n};\n/** @internal */\nexport type SubgraphErrorStreamEvent = AsSubgraph<ErrorStreamEvent>;\n/**\n * Stream event with updates to the state after each step.\n * The streamed outputs include the name of the node that\n * produced the update as well as the update.\n */\nexport type UpdatesStreamEvent<UpdateType> = {\n id?: string;\n event: \"updates\";\n data: {\n [node: string]: UpdateType;\n };\n};\n/** @internal */\nexport type SubgraphUpdatesStreamEvent<UpdateType> = AsSubgraph<UpdatesStreamEvent<UpdateType>>;\n/**\n * Streaming custom data from inside the nodes.\n */\nexport type CustomStreamEvent<T> = {\n event: \"custom\";\n data: T;\n};\n/** @internal */\nexport type SubgraphCustomStreamEvent<T> = AsSubgraph<CustomStreamEvent<T>>;\ntype MessagesMetadataStreamEvent = {\n id?: string;\n event: \"messages/metadata\";\n data: {\n [messageId: string]: {\n metadata: unknown;\n };\n };\n};\ntype MessagesCompleteStreamEvent = {\n id?: string;\n event: \"messages/complete\";\n data: Message[];\n};\ntype MessagesPartialStreamEvent = {\n id?: string;\n event: \"messages/partial\";\n data: Message[];\n};\ntype TasksStreamCreateEvent<StateType> = {\n id?: string;\n event: \"tasks\";\n data: {\n id: string;\n name: string;\n interrupts: Interrupt[];\n input: StateType;\n triggers: string[];\n };\n};\ntype TasksStreamResultEvent<UpdateType> = {\n id?: string;\n event: \"tasks\";\n data: {\n id: string;\n name: string;\n interrupts: Interrupt[];\n result: [string, UpdateType][];\n };\n};\ntype TasksStreamErrorEvent = {\n id?: string;\n event: \"tasks\";\n data: {\n id: string;\n name: string;\n interrupts: Interrupt[];\n error: string;\n };\n};\nexport type TasksStreamEvent<StateType, UpdateType> = TasksStreamCreateEvent<StateType> | TasksStreamResultEvent<UpdateType> | TasksStreamErrorEvent;\ntype SubgraphTasksStreamEvent<StateType, UpdateType> = AsSubgraph<TasksStreamCreateEvent<StateType>> | AsSubgraph<TasksStreamResultEvent<UpdateType>> | AsSubgraph<TasksStreamErrorEvent>;\nexport type CheckpointsStreamEvent<StateType> = {\n id?: string;\n event: \"checkpoints\";\n data: {\n values: StateType;\n next: string[];\n config: Config;\n metadata: Metadata;\n tasks: ThreadTask[];\n };\n};\ntype SubgraphCheckpointsStreamEvent<StateType> = AsSubgraph<CheckpointsStreamEvent<StateType>>;\n/**\n * Message stream event specific to LangGraph Server.\n * @deprecated Use `streamMode: \"messages-tuple\"` instead.\n */\nexport type MessagesStreamEvent = MessagesMetadataStreamEvent | MessagesCompleteStreamEvent | MessagesPartialStreamEvent;\n/** @internal */\nexport type SubgraphMessagesStreamEvent = AsSubgraph<MessagesMetadataStreamEvent> | AsSubgraph<MessagesCompleteStreamEvent> | AsSubgraph<MessagesPartialStreamEvent>;\n/**\n * Stream event with detailed debug information.\n */\nexport type DebugStreamEvent = {\n id?: string;\n event: \"debug\";\n data: unknown;\n};\n/** @internal */\nexport type SubgraphDebugStreamEvent = AsSubgraph<DebugStreamEvent>;\n/**\n * Stream event with events occurring during execution.\n */\nexport type EventsStreamEvent = {\n id?: string;\n event: \"events\";\n data: {\n event: `on_${\"chat_model\" | \"llm\" | \"chain\" | \"tool\" | \"retriever\" | \"prompt\"}_${\"start\" | \"stream\" | \"end\"}` | (string & {}); // eslint-disable-line @typescript-eslint/ban-types\n name: string;\n tags: string[];\n run_id: string;\n metadata: Record<string, unknown>;\n parent_ids: string[];\n data: unknown;\n };\n};\n/** @internal */\nexport type SubgraphEventsStreamEvent = AsSubgraph<EventsStreamEvent>;\n/**\n * Stream event with a feedback key to signed URL map. Set `feedbackKeys` in\n * the `RunsStreamPayload` to receive this event.\n */\nexport type FeedbackStreamEvent = {\n id?: string;\n event: \"feedback\";\n data: {\n [feedbackKey: string]: string;\n };\n};\ntype GetStreamModeMap<TStreamMode extends StreamMode | StreamMode[], TStateType = unknown, TUpdateType = TStateType, TCustomType = unknown> = {\n values: ValuesStreamEvent<TStateType>;\n updates: UpdatesStreamEvent<TUpdateType>;\n custom: CustomStreamEvent<TCustomType>;\n debug: DebugStreamEvent;\n messages: MessagesStreamEvent;\n \"messages-tuple\": MessagesTupleStreamEvent;\n tasks: TasksStreamEvent<TStateType, TUpdateType>;\n checkpoints: CheckpointsStreamEvent<TStateType>;\n events: EventsStreamEvent;\n}[TStreamMode extends StreamMode[] ? TStreamMode[number] : TStreamMode] | ErrorStreamEvent | MetadataStreamEvent | FeedbackStreamEvent;\ntype GetSubgraphsStreamModeMap<TStreamMode extends StreamMode | StreamMode[], TStateType = unknown, TUpdateType = TStateType, TCustomType = unknown> = {\n values: SubgraphValuesStreamEvent<TStateType>;\n updates: SubgraphUpdatesStreamEvent<TUpdateType>;\n custom: SubgraphCustomStreamEvent<TCustomType>;\n debug: SubgraphDebugStreamEvent;\n messages: SubgraphMessagesStreamEvent;\n \"messages-tuple\": SubgraphMessagesTupleStreamEvent;\n events: SubgraphEventsStreamEvent;\n tasks: SubgraphTasksStreamEvent<TStateType, TUpdateType>;\n checkpoints: SubgraphCheckpointsStreamEvent<TStateType>;\n}[TStreamMode extends StreamMode[] ? TStreamMode[number] : TStreamMode] | SubgraphErrorStreamEvent | MetadataStreamEvent | FeedbackStreamEvent;\nexport type TypedAsyncGenerator<TStreamMode extends StreamMode | StreamMode[] = [], TSubgraphs extends boolean = false, TStateType = unknown, TUpdateType = TStateType, TCustomType = unknown> = AsyncGenerator<TSubgraphs extends true ? GetSubgraphsStreamModeMap<TStreamMode, TStateType, TUpdateType, TCustomType> : GetStreamModeMap<TStreamMode, TStateType, TUpdateType, TCustomType>>;\nexport {};\n"],"mappings":"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"}
|
package/dist/types.stream.d.ts
DELETED
|
@@ -1,235 +0,0 @@
|
|
|
1
|
-
import { Config, Interrupt, Metadata, ThreadTask } from "./schema.js";
|
|
2
|
-
import { Message } from "./types.messages.js";
|
|
3
|
-
|
|
4
|
-
//#region src/types.stream.d.ts
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
import type { SubgraphCheckpointsStreamEvent } from "./types.stream.subgraph.js";
|
|
8
|
-
* Stream modes
|
|
9
|
-
* - "values": Stream only the state values.
|
|
10
|
-
* - "messages": Stream complete messages.
|
|
11
|
-
* - "messages-tuple": Stream (message chunk, metadata) tuples.
|
|
12
|
-
* - "updates": Stream updates to the state.
|
|
13
|
-
* - "events": Stream events occurring during execution.
|
|
14
|
-
* - "debug": Stream detailed debug information.
|
|
15
|
-
* - "custom": Stream custom events.
|
|
16
|
-
*/
|
|
17
|
-
type StreamMode = "values" | "messages" | "updates" | "events" | "debug" | "tasks" | "checkpoints" | "custom" | "messages-tuple";
|
|
18
|
-
type ThreadStreamMode = "run_modes" | "lifecycle" | "state_update";
|
|
19
|
-
type MessageTupleMetadata = {
|
|
20
|
-
tags: string[];
|
|
21
|
-
[key: string]: unknown;
|
|
22
|
-
};
|
|
23
|
-
type AsSubgraph<TEvent extends {
|
|
24
|
-
id?: string;
|
|
25
|
-
event: string;
|
|
26
|
-
data: unknown;
|
|
27
|
-
}> = {
|
|
28
|
-
id?: TEvent["id"];
|
|
29
|
-
event: TEvent["event"] | `${TEvent["event"]}|${string}`;
|
|
30
|
-
data: TEvent["data"];
|
|
31
|
-
};
|
|
32
|
-
/**
|
|
33
|
-
* Stream event with values after completion of each step.
|
|
34
|
-
*/
|
|
35
|
-
type ValuesStreamEvent<StateType> = {
|
|
36
|
-
id?: string;
|
|
37
|
-
event: "values";
|
|
38
|
-
data: StateType;
|
|
39
|
-
};
|
|
40
|
-
/** @internal */
|
|
41
|
-
type SubgraphValuesStreamEvent<StateType> = AsSubgraph<ValuesStreamEvent<StateType>>;
|
|
42
|
-
/**
|
|
43
|
-
* Stream event with message chunks coming from LLM invocations inside nodes.
|
|
44
|
-
*/
|
|
45
|
-
type MessagesTupleStreamEvent = {
|
|
46
|
-
event: "messages";
|
|
47
|
-
// TODO: add types for message and config, which do not depend on LangChain
|
|
48
|
-
// while making sure it's easy to keep them in sync.
|
|
49
|
-
data: [message: Message, config: MessageTupleMetadata];
|
|
50
|
-
};
|
|
51
|
-
/** @internal */
|
|
52
|
-
type SubgraphMessagesTupleStreamEvent = AsSubgraph<MessagesTupleStreamEvent>;
|
|
53
|
-
/**
|
|
54
|
-
* Metadata stream event with information about the run and thread
|
|
55
|
-
*/
|
|
56
|
-
type MetadataStreamEvent = {
|
|
57
|
-
id?: string;
|
|
58
|
-
event: "metadata";
|
|
59
|
-
data: {
|
|
60
|
-
run_id: string;
|
|
61
|
-
thread_id: string;
|
|
62
|
-
};
|
|
63
|
-
};
|
|
64
|
-
/**
|
|
65
|
-
* Stream event with error information.
|
|
66
|
-
*/
|
|
67
|
-
type ErrorStreamEvent = {
|
|
68
|
-
id?: string;
|
|
69
|
-
event: "error";
|
|
70
|
-
data: {
|
|
71
|
-
error: string;
|
|
72
|
-
message: string;
|
|
73
|
-
};
|
|
74
|
-
};
|
|
75
|
-
/** @internal */
|
|
76
|
-
type SubgraphErrorStreamEvent = AsSubgraph<ErrorStreamEvent>;
|
|
77
|
-
/**
|
|
78
|
-
* Stream event with updates to the state after each step.
|
|
79
|
-
* The streamed outputs include the name of the node that
|
|
80
|
-
* produced the update as well as the update.
|
|
81
|
-
*/
|
|
82
|
-
type UpdatesStreamEvent<UpdateType> = {
|
|
83
|
-
id?: string;
|
|
84
|
-
event: "updates";
|
|
85
|
-
data: {
|
|
86
|
-
[node: string]: UpdateType;
|
|
87
|
-
};
|
|
88
|
-
};
|
|
89
|
-
/** @internal */
|
|
90
|
-
type SubgraphUpdatesStreamEvent<UpdateType> = AsSubgraph<UpdatesStreamEvent<UpdateType>>;
|
|
91
|
-
/**
|
|
92
|
-
* Streaming custom data from inside the nodes.
|
|
93
|
-
*/
|
|
94
|
-
type CustomStreamEvent<T> = {
|
|
95
|
-
event: "custom";
|
|
96
|
-
data: T;
|
|
97
|
-
};
|
|
98
|
-
/** @internal */
|
|
99
|
-
type SubgraphCustomStreamEvent<T> = AsSubgraph<CustomStreamEvent<T>>;
|
|
100
|
-
type MessagesMetadataStreamEvent = {
|
|
101
|
-
id?: string;
|
|
102
|
-
event: "messages/metadata";
|
|
103
|
-
data: {
|
|
104
|
-
[messageId: string]: {
|
|
105
|
-
metadata: unknown;
|
|
106
|
-
};
|
|
107
|
-
};
|
|
108
|
-
};
|
|
109
|
-
type MessagesCompleteStreamEvent = {
|
|
110
|
-
id?: string;
|
|
111
|
-
event: "messages/complete";
|
|
112
|
-
data: Message[];
|
|
113
|
-
};
|
|
114
|
-
type MessagesPartialStreamEvent = {
|
|
115
|
-
id?: string;
|
|
116
|
-
event: "messages/partial";
|
|
117
|
-
data: Message[];
|
|
118
|
-
};
|
|
119
|
-
type TasksStreamCreateEvent<StateType> = {
|
|
120
|
-
id?: string;
|
|
121
|
-
event: "tasks";
|
|
122
|
-
data: {
|
|
123
|
-
id: string;
|
|
124
|
-
name: string;
|
|
125
|
-
interrupts: Interrupt[];
|
|
126
|
-
input: StateType;
|
|
127
|
-
triggers: string[];
|
|
128
|
-
};
|
|
129
|
-
};
|
|
130
|
-
type TasksStreamResultEvent<UpdateType> = {
|
|
131
|
-
id?: string;
|
|
132
|
-
event: "tasks";
|
|
133
|
-
data: {
|
|
134
|
-
id: string;
|
|
135
|
-
name: string;
|
|
136
|
-
interrupts: Interrupt[];
|
|
137
|
-
result: [string, UpdateType][];
|
|
138
|
-
};
|
|
139
|
-
};
|
|
140
|
-
type TasksStreamErrorEvent = {
|
|
141
|
-
id?: string;
|
|
142
|
-
event: "tasks";
|
|
143
|
-
data: {
|
|
144
|
-
id: string;
|
|
145
|
-
name: string;
|
|
146
|
-
interrupts: Interrupt[];
|
|
147
|
-
error: string;
|
|
148
|
-
};
|
|
149
|
-
};
|
|
150
|
-
type TasksStreamEvent<StateType, UpdateType> = TasksStreamCreateEvent<StateType> | TasksStreamResultEvent<UpdateType> | TasksStreamErrorEvent;
|
|
151
|
-
type SubgraphTasksStreamEvent<StateType, UpdateType> = AsSubgraph<TasksStreamCreateEvent<StateType>> | AsSubgraph<TasksStreamResultEvent<UpdateType>> | AsSubgraph<TasksStreamErrorEvent>;
|
|
152
|
-
type CheckpointsStreamEvent<StateType> = {
|
|
153
|
-
id?: string;
|
|
154
|
-
event: "checkpoints";
|
|
155
|
-
data: {
|
|
156
|
-
values: StateType;
|
|
157
|
-
next: string[];
|
|
158
|
-
config: Config;
|
|
159
|
-
metadata: Metadata;
|
|
160
|
-
tasks: ThreadTask[];
|
|
161
|
-
};
|
|
162
|
-
};
|
|
163
|
-
type SubgraphCheckpointsStreamEvent<StateType> = AsSubgraph<CheckpointsStreamEvent<StateType>>;
|
|
164
|
-
/**
|
|
165
|
-
* Message stream event specific to LangGraph Server.
|
|
166
|
-
* @deprecated Use `streamMode: "messages-tuple"` instead.
|
|
167
|
-
*/
|
|
168
|
-
type MessagesStreamEvent = MessagesMetadataStreamEvent | MessagesCompleteStreamEvent | MessagesPartialStreamEvent;
|
|
169
|
-
/** @internal */
|
|
170
|
-
type SubgraphMessagesStreamEvent = AsSubgraph<MessagesMetadataStreamEvent> | AsSubgraph<MessagesCompleteStreamEvent> | AsSubgraph<MessagesPartialStreamEvent>;
|
|
171
|
-
/**
|
|
172
|
-
* Stream event with detailed debug information.
|
|
173
|
-
*/
|
|
174
|
-
type DebugStreamEvent = {
|
|
175
|
-
id?: string;
|
|
176
|
-
event: "debug";
|
|
177
|
-
data: unknown;
|
|
178
|
-
};
|
|
179
|
-
/** @internal */
|
|
180
|
-
type SubgraphDebugStreamEvent = AsSubgraph<DebugStreamEvent>;
|
|
181
|
-
/**
|
|
182
|
-
* Stream event with events occurring during execution.
|
|
183
|
-
*/
|
|
184
|
-
type EventsStreamEvent = {
|
|
185
|
-
id?: string;
|
|
186
|
-
event: "events";
|
|
187
|
-
data: {
|
|
188
|
-
event: `on_${"chat_model" | "llm" | "chain" | "tool" | "retriever" | "prompt"}_${"start" | "stream" | "end"}` | (string & {}); // eslint-disable-line @typescript-eslint/ban-types
|
|
189
|
-
name: string;
|
|
190
|
-
tags: string[];
|
|
191
|
-
run_id: string;
|
|
192
|
-
metadata: Record<string, unknown>;
|
|
193
|
-
parent_ids: string[];
|
|
194
|
-
data: unknown;
|
|
195
|
-
};
|
|
196
|
-
};
|
|
197
|
-
/** @internal */
|
|
198
|
-
type SubgraphEventsStreamEvent = AsSubgraph<EventsStreamEvent>;
|
|
199
|
-
/**
|
|
200
|
-
* Stream event with a feedback key to signed URL map. Set `feedbackKeys` in
|
|
201
|
-
* the `RunsStreamPayload` to receive this event.
|
|
202
|
-
*/
|
|
203
|
-
type FeedbackStreamEvent = {
|
|
204
|
-
id?: string;
|
|
205
|
-
event: "feedback";
|
|
206
|
-
data: {
|
|
207
|
-
[feedbackKey: string]: string;
|
|
208
|
-
};
|
|
209
|
-
};
|
|
210
|
-
type GetStreamModeMap<TStreamMode extends StreamMode | StreamMode[], TStateType = unknown, TUpdateType = TStateType, TCustomType = unknown> = {
|
|
211
|
-
values: ValuesStreamEvent<TStateType>;
|
|
212
|
-
updates: UpdatesStreamEvent<TUpdateType>;
|
|
213
|
-
custom: CustomStreamEvent<TCustomType>;
|
|
214
|
-
debug: DebugStreamEvent;
|
|
215
|
-
messages: MessagesStreamEvent;
|
|
216
|
-
"messages-tuple": MessagesTupleStreamEvent;
|
|
217
|
-
tasks: TasksStreamEvent<TStateType, TUpdateType>;
|
|
218
|
-
checkpoints: CheckpointsStreamEvent<TStateType>;
|
|
219
|
-
events: EventsStreamEvent;
|
|
220
|
-
}[TStreamMode extends StreamMode[] ? TStreamMode[number] : TStreamMode] | ErrorStreamEvent | MetadataStreamEvent | FeedbackStreamEvent;
|
|
221
|
-
type GetSubgraphsStreamModeMap<TStreamMode extends StreamMode | StreamMode[], TStateType = unknown, TUpdateType = TStateType, TCustomType = unknown> = {
|
|
222
|
-
values: SubgraphValuesStreamEvent<TStateType>;
|
|
223
|
-
updates: SubgraphUpdatesStreamEvent<TUpdateType>;
|
|
224
|
-
custom: SubgraphCustomStreamEvent<TCustomType>;
|
|
225
|
-
debug: SubgraphDebugStreamEvent;
|
|
226
|
-
messages: SubgraphMessagesStreamEvent;
|
|
227
|
-
"messages-tuple": SubgraphMessagesTupleStreamEvent;
|
|
228
|
-
events: SubgraphEventsStreamEvent;
|
|
229
|
-
tasks: SubgraphTasksStreamEvent<TStateType, TUpdateType>;
|
|
230
|
-
checkpoints: SubgraphCheckpointsStreamEvent<TStateType>;
|
|
231
|
-
}[TStreamMode extends StreamMode[] ? TStreamMode[number] : TStreamMode] | SubgraphErrorStreamEvent | MetadataStreamEvent | FeedbackStreamEvent;
|
|
232
|
-
type TypedAsyncGenerator<TStreamMode extends StreamMode | StreamMode[] = [], TSubgraphs extends boolean = false, TStateType = unknown, TUpdateType = TStateType, TCustomType = unknown> = AsyncGenerator<TSubgraphs extends true ? GetSubgraphsStreamModeMap<TStreamMode, TStateType, TUpdateType, TCustomType> : GetStreamModeMap<TStreamMode, TStateType, TUpdateType, TCustomType>>;
|
|
233
|
-
//#endregion
|
|
234
|
-
export { CheckpointsStreamEvent, CustomStreamEvent, DebugStreamEvent, ErrorStreamEvent, EventsStreamEvent, FeedbackStreamEvent, MessagesStreamEvent, MessagesTupleStreamEvent, MetadataStreamEvent, StreamMode, TasksStreamEvent, ThreadStreamMode, TypedAsyncGenerator, UpdatesStreamEvent, ValuesStreamEvent };
|
|
235
|
-
//# sourceMappingURL=types.stream.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.stream.d.ts","names":["Message","Interrupt","Metadata","Config","ThreadTask","StreamMode","ThreadStreamMode","MessageTupleMetadata","AsSubgraph","TEvent","ValuesStreamEvent","StateType","SubgraphValuesStreamEvent","MessagesTupleStreamEvent","SubgraphMessagesTupleStreamEvent","MetadataStreamEvent","ErrorStreamEvent","SubgraphErrorStreamEvent","UpdatesStreamEvent","UpdateType","SubgraphUpdatesStreamEvent","CustomStreamEvent","T","SubgraphCustomStreamEvent","MessagesMetadataStreamEvent","MessagesCompleteStreamEvent","MessagesPartialStreamEvent","TasksStreamCreateEvent","TasksStreamResultEvent","TasksStreamErrorEvent","TasksStreamEvent","SubgraphTasksStreamEvent","CheckpointsStreamEvent","SubgraphCheckpointsStreamEvent","MessagesStreamEvent","SubgraphMessagesStreamEvent","DebugStreamEvent","SubgraphDebugStreamEvent","EventsStreamEvent","Record","SubgraphEventsStreamEvent","FeedbackStreamEvent","GetStreamModeMap","TStateType","TUpdateType","TCustomType","TStreamMode","GetSubgraphsStreamModeMap","TypedAsyncGenerator","TSubgraphs","AsyncGenerator"],"sources":["../src/types.stream.d.ts"],"sourcesContent":["import type { Message } from \"./types.messages.js\";\nimport type { Interrupt, Metadata, Config, ThreadTask } from \"./schema.js\";\n/**\nimport type { SubgraphCheckpointsStreamEvent } from \"./types.stream.subgraph.js\";\n * Stream modes\n * - \"values\": Stream only the state values.\n * - \"messages\": Stream complete messages.\n * - \"messages-tuple\": Stream (message chunk, metadata) tuples.\n * - \"updates\": Stream updates to the state.\n * - \"events\": Stream events occurring during execution.\n * - \"debug\": Stream detailed debug information.\n * - \"custom\": Stream custom events.\n */\nexport type StreamMode = \"values\" | \"messages\" | \"updates\" | \"events\" | \"debug\" | \"tasks\" | \"checkpoints\" | \"custom\" | \"messages-tuple\";\nexport type ThreadStreamMode = \"run_modes\" | \"lifecycle\" | \"state_update\";\ntype MessageTupleMetadata = {\n tags: string[];\n [key: string]: unknown;\n};\ntype AsSubgraph<TEvent extends {\n id?: string;\n event: string;\n data: unknown;\n}> = {\n id?: TEvent[\"id\"];\n event: TEvent[\"event\"] | `${TEvent[\"event\"]}|${string}`;\n data: TEvent[\"data\"];\n};\n/**\n * Stream event with values after completion of each step.\n */\nexport type ValuesStreamEvent<StateType> = {\n id?: string;\n event: \"values\";\n data: StateType;\n};\n/** @internal */\nexport type SubgraphValuesStreamEvent<StateType> = AsSubgraph<ValuesStreamEvent<StateType>>;\n/**\n * Stream event with message chunks coming from LLM invocations inside nodes.\n */\nexport type MessagesTupleStreamEvent = {\n event: \"messages\";\n // TODO: add types for message and config, which do not depend on LangChain\n // while making sure it's easy to keep them in sync.\n data: [message: Message, config: MessageTupleMetadata];\n};\n/** @internal */\nexport type SubgraphMessagesTupleStreamEvent = AsSubgraph<MessagesTupleStreamEvent>;\n/**\n * Metadata stream event with information about the run and thread\n */\nexport type MetadataStreamEvent = {\n id?: string;\n event: \"metadata\";\n data: {\n run_id: string;\n thread_id: string;\n };\n};\n/**\n * Stream event with error information.\n */\nexport type ErrorStreamEvent = {\n id?: string;\n event: \"error\";\n data: {\n error: string;\n message: string;\n };\n};\n/** @internal */\nexport type SubgraphErrorStreamEvent = AsSubgraph<ErrorStreamEvent>;\n/**\n * Stream event with updates to the state after each step.\n * The streamed outputs include the name of the node that\n * produced the update as well as the update.\n */\nexport type UpdatesStreamEvent<UpdateType> = {\n id?: string;\n event: \"updates\";\n data: {\n [node: string]: UpdateType;\n };\n};\n/** @internal */\nexport type SubgraphUpdatesStreamEvent<UpdateType> = AsSubgraph<UpdatesStreamEvent<UpdateType>>;\n/**\n * Streaming custom data from inside the nodes.\n */\nexport type CustomStreamEvent<T> = {\n event: \"custom\";\n data: T;\n};\n/** @internal */\nexport type SubgraphCustomStreamEvent<T> = AsSubgraph<CustomStreamEvent<T>>;\ntype MessagesMetadataStreamEvent = {\n id?: string;\n event: \"messages/metadata\";\n data: {\n [messageId: string]: {\n metadata: unknown;\n };\n };\n};\ntype MessagesCompleteStreamEvent = {\n id?: string;\n event: \"messages/complete\";\n data: Message[];\n};\ntype MessagesPartialStreamEvent = {\n id?: string;\n event: \"messages/partial\";\n data: Message[];\n};\ntype TasksStreamCreateEvent<StateType> = {\n id?: string;\n event: \"tasks\";\n data: {\n id: string;\n name: string;\n interrupts: Interrupt[];\n input: StateType;\n triggers: string[];\n };\n};\ntype TasksStreamResultEvent<UpdateType> = {\n id?: string;\n event: \"tasks\";\n data: {\n id: string;\n name: string;\n interrupts: Interrupt[];\n result: [string, UpdateType][];\n };\n};\ntype TasksStreamErrorEvent = {\n id?: string;\n event: \"tasks\";\n data: {\n id: string;\n name: string;\n interrupts: Interrupt[];\n error: string;\n };\n};\nexport type TasksStreamEvent<StateType, UpdateType> = TasksStreamCreateEvent<StateType> | TasksStreamResultEvent<UpdateType> | TasksStreamErrorEvent;\ntype SubgraphTasksStreamEvent<StateType, UpdateType> = AsSubgraph<TasksStreamCreateEvent<StateType>> | AsSubgraph<TasksStreamResultEvent<UpdateType>> | AsSubgraph<TasksStreamErrorEvent>;\nexport type CheckpointsStreamEvent<StateType> = {\n id?: string;\n event: \"checkpoints\";\n data: {\n values: StateType;\n next: string[];\n config: Config;\n metadata: Metadata;\n tasks: ThreadTask[];\n };\n};\ntype SubgraphCheckpointsStreamEvent<StateType> = AsSubgraph<CheckpointsStreamEvent<StateType>>;\n/**\n * Message stream event specific to LangGraph Server.\n * @deprecated Use `streamMode: \"messages-tuple\"` instead.\n */\nexport type MessagesStreamEvent = MessagesMetadataStreamEvent | MessagesCompleteStreamEvent | MessagesPartialStreamEvent;\n/** @internal */\nexport type SubgraphMessagesStreamEvent = AsSubgraph<MessagesMetadataStreamEvent> | AsSubgraph<MessagesCompleteStreamEvent> | AsSubgraph<MessagesPartialStreamEvent>;\n/**\n * Stream event with detailed debug information.\n */\nexport type DebugStreamEvent = {\n id?: string;\n event: \"debug\";\n data: unknown;\n};\n/** @internal */\nexport type SubgraphDebugStreamEvent = AsSubgraph<DebugStreamEvent>;\n/**\n * Stream event with events occurring during execution.\n */\nexport type EventsStreamEvent = {\n id?: string;\n event: \"events\";\n data: {\n event: `on_${\"chat_model\" | \"llm\" | \"chain\" | \"tool\" | \"retriever\" | \"prompt\"}_${\"start\" | \"stream\" | \"end\"}` | (string & {}); // eslint-disable-line @typescript-eslint/ban-types\n name: string;\n tags: string[];\n run_id: string;\n metadata: Record<string, unknown>;\n parent_ids: string[];\n data: unknown;\n };\n};\n/** @internal */\nexport type SubgraphEventsStreamEvent = AsSubgraph<EventsStreamEvent>;\n/**\n * Stream event with a feedback key to signed URL map. Set `feedbackKeys` in\n * the `RunsStreamPayload` to receive this event.\n */\nexport type FeedbackStreamEvent = {\n id?: string;\n event: \"feedback\";\n data: {\n [feedbackKey: string]: string;\n };\n};\ntype GetStreamModeMap<TStreamMode extends StreamMode | StreamMode[], TStateType = unknown, TUpdateType = TStateType, TCustomType = unknown> = {\n values: ValuesStreamEvent<TStateType>;\n updates: UpdatesStreamEvent<TUpdateType>;\n custom: CustomStreamEvent<TCustomType>;\n debug: DebugStreamEvent;\n messages: MessagesStreamEvent;\n \"messages-tuple\": MessagesTupleStreamEvent;\n tasks: TasksStreamEvent<TStateType, TUpdateType>;\n checkpoints: CheckpointsStreamEvent<TStateType>;\n events: EventsStreamEvent;\n}[TStreamMode extends StreamMode[] ? TStreamMode[number] : TStreamMode] | ErrorStreamEvent | MetadataStreamEvent | FeedbackStreamEvent;\ntype GetSubgraphsStreamModeMap<TStreamMode extends StreamMode | StreamMode[], TStateType = unknown, TUpdateType = TStateType, TCustomType = unknown> = {\n values: SubgraphValuesStreamEvent<TStateType>;\n updates: SubgraphUpdatesStreamEvent<TUpdateType>;\n custom: SubgraphCustomStreamEvent<TCustomType>;\n debug: SubgraphDebugStreamEvent;\n messages: SubgraphMessagesStreamEvent;\n \"messages-tuple\": SubgraphMessagesTupleStreamEvent;\n events: SubgraphEventsStreamEvent;\n tasks: SubgraphTasksStreamEvent<TStateType, TUpdateType>;\n checkpoints: SubgraphCheckpointsStreamEvent<TStateType>;\n}[TStreamMode extends StreamMode[] ? TStreamMode[number] : TStreamMode] | SubgraphErrorStreamEvent | MetadataStreamEvent | FeedbackStreamEvent;\nexport type TypedAsyncGenerator<TStreamMode extends StreamMode | StreamMode[] = [], TSubgraphs extends boolean = false, TStateType = unknown, TUpdateType = TStateType, TCustomType = unknown> = AsyncGenerator<TSubgraphs extends true ? GetSubgraphsStreamModeMap<TStreamMode, TStateType, TUpdateType, TCustomType> : GetStreamModeMap<TStreamMode, TStateType, TUpdateType, TCustomType>>;\nexport {};\n"],"mappings":"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"}
|
package/dist/ui/branching.cjs
DELETED
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
//#region src/ui/branching.ts
|
|
3
|
-
function getBranchSequence(history) {
|
|
4
|
-
const nodeIds = /* @__PURE__ */ new Set();
|
|
5
|
-
const childrenMap = {};
|
|
6
|
-
if (history.length <= 1) return {
|
|
7
|
-
rootSequence: {
|
|
8
|
-
type: "sequence",
|
|
9
|
-
items: history.map((value) => ({
|
|
10
|
-
type: "node",
|
|
11
|
-
value,
|
|
12
|
-
path: []
|
|
13
|
-
}))
|
|
14
|
-
},
|
|
15
|
-
paths: []
|
|
16
|
-
};
|
|
17
|
-
history.forEach((state) => {
|
|
18
|
-
const checkpointId = state.parent_checkpoint?.checkpoint_id ?? "$";
|
|
19
|
-
childrenMap[checkpointId] ??= [];
|
|
20
|
-
childrenMap[checkpointId].push(state);
|
|
21
|
-
if (state.checkpoint?.checkpoint_id != null) nodeIds.add(state.checkpoint.checkpoint_id);
|
|
22
|
-
});
|
|
23
|
-
const maxId = (...ids) => ids.filter((i) => i != null).sort((a, b) => a.localeCompare(b)).at(-1);
|
|
24
|
-
const lastOrphanedNode = childrenMap.$ == null ? Object.keys(childrenMap).filter((parentId) => !nodeIds.has(parentId)).map((parentId) => {
|
|
25
|
-
const queue$1 = [parentId];
|
|
26
|
-
const seen = /* @__PURE__ */ new Set();
|
|
27
|
-
let lastId = parentId;
|
|
28
|
-
while (queue$1.length > 0) {
|
|
29
|
-
const current = queue$1.shift();
|
|
30
|
-
if (seen.has(current)) continue;
|
|
31
|
-
seen.add(current);
|
|
32
|
-
const children = (childrenMap[current] ?? []).flatMap((i) => i.checkpoint?.checkpoint_id ?? []);
|
|
33
|
-
lastId = maxId(lastId, ...children);
|
|
34
|
-
queue$1.push(...children);
|
|
35
|
-
}
|
|
36
|
-
return {
|
|
37
|
-
parentId,
|
|
38
|
-
lastId
|
|
39
|
-
};
|
|
40
|
-
}).sort((a, b) => a.lastId.localeCompare(b.lastId)).at(-1)?.parentId : void 0;
|
|
41
|
-
if (lastOrphanedNode != null) childrenMap.$ = childrenMap[lastOrphanedNode];
|
|
42
|
-
const rootSequence = {
|
|
43
|
-
type: "sequence",
|
|
44
|
-
items: []
|
|
45
|
-
};
|
|
46
|
-
const queue = [{
|
|
47
|
-
id: "$",
|
|
48
|
-
sequence: rootSequence,
|
|
49
|
-
path: []
|
|
50
|
-
}];
|
|
51
|
-
const paths = [];
|
|
52
|
-
const visited = /* @__PURE__ */ new Set();
|
|
53
|
-
while (queue.length > 0) {
|
|
54
|
-
const task = queue.shift();
|
|
55
|
-
if (visited.has(task.id)) continue;
|
|
56
|
-
visited.add(task.id);
|
|
57
|
-
const children = childrenMap[task.id];
|
|
58
|
-
if (children == null || children.length === 0) continue;
|
|
59
|
-
let fork;
|
|
60
|
-
if (children.length > 1) {
|
|
61
|
-
fork = {
|
|
62
|
-
type: "fork",
|
|
63
|
-
items: []
|
|
64
|
-
};
|
|
65
|
-
task.sequence.items.push(fork);
|
|
66
|
-
}
|
|
67
|
-
for (const value of children) {
|
|
68
|
-
const id = value.checkpoint?.checkpoint_id;
|
|
69
|
-
if (id == null) continue;
|
|
70
|
-
let { sequence } = task;
|
|
71
|
-
let { path } = task;
|
|
72
|
-
if (fork != null) {
|
|
73
|
-
sequence = {
|
|
74
|
-
type: "sequence",
|
|
75
|
-
items: []
|
|
76
|
-
};
|
|
77
|
-
fork.items.unshift(sequence);
|
|
78
|
-
path = path.slice();
|
|
79
|
-
path.push(id);
|
|
80
|
-
paths.push(path);
|
|
81
|
-
}
|
|
82
|
-
sequence.items.push({
|
|
83
|
-
type: "node",
|
|
84
|
-
value,
|
|
85
|
-
path
|
|
86
|
-
});
|
|
87
|
-
queue.push({
|
|
88
|
-
id,
|
|
89
|
-
sequence,
|
|
90
|
-
path
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
return {
|
|
95
|
-
rootSequence,
|
|
96
|
-
paths
|
|
97
|
-
};
|
|
98
|
-
}
|
|
99
|
-
const PATH_SEP = ">";
|
|
100
|
-
const ROOT_ID = "$";
|
|
101
|
-
function getBranchView(sequence, paths, branch) {
|
|
102
|
-
const path = branch.split(PATH_SEP);
|
|
103
|
-
const pathMap = {};
|
|
104
|
-
for (const path$1 of paths) {
|
|
105
|
-
const parent = path$1.at(-2) ?? ROOT_ID;
|
|
106
|
-
pathMap[parent] ??= [];
|
|
107
|
-
pathMap[parent].unshift(path$1);
|
|
108
|
-
}
|
|
109
|
-
const history = [];
|
|
110
|
-
const branchByCheckpoint = {};
|
|
111
|
-
const forkStack = path.slice();
|
|
112
|
-
const queue = [...sequence.items];
|
|
113
|
-
while (queue.length > 0) {
|
|
114
|
-
const item = queue.shift();
|
|
115
|
-
if (item.type === "node") {
|
|
116
|
-
history.push(item.value);
|
|
117
|
-
const checkpointId = item.value.checkpoint?.checkpoint_id;
|
|
118
|
-
if (checkpointId == null) continue;
|
|
119
|
-
branchByCheckpoint[checkpointId] = {
|
|
120
|
-
branch: item.path.join(PATH_SEP),
|
|
121
|
-
branchOptions: (item.path.length > 0 ? pathMap[item.path.at(-2) ?? ROOT_ID] ?? [] : []).map((p) => p.join(PATH_SEP))
|
|
122
|
-
};
|
|
123
|
-
}
|
|
124
|
-
if (item.type === "fork") {
|
|
125
|
-
const forkId = forkStack.shift();
|
|
126
|
-
const index = forkId != null ? item.items.findIndex((value) => {
|
|
127
|
-
const firstItem = value.items.at(0);
|
|
128
|
-
if (!firstItem || firstItem.type !== "node") return false;
|
|
129
|
-
return firstItem.value.checkpoint?.checkpoint_id === forkId;
|
|
130
|
-
}) : -1;
|
|
131
|
-
const nextItems = item.items.at(index)?.items ?? [];
|
|
132
|
-
queue.push(...nextItems);
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
return {
|
|
136
|
-
history,
|
|
137
|
-
branchByCheckpoint
|
|
138
|
-
};
|
|
139
|
-
}
|
|
140
|
-
function getBranchContext(branch, history) {
|
|
141
|
-
const { rootSequence: branchTree, paths } = getBranchSequence(history ?? []);
|
|
142
|
-
const { history: flatHistory, branchByCheckpoint } = getBranchView(branchTree, paths, branch);
|
|
143
|
-
return {
|
|
144
|
-
branchTree,
|
|
145
|
-
flatHistory,
|
|
146
|
-
branchByCheckpoint,
|
|
147
|
-
threadHead: flatHistory.at(-1)
|
|
148
|
-
};
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
//#endregion
|
|
152
|
-
exports.getBranchContext = getBranchContext;
|
|
153
|
-
//# sourceMappingURL=branching.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"branching.cjs","names":["childrenMap: Record<string, ThreadState<StateType>[]>","queue: string[]","queue","rootSequence: Sequence","queue: Task[]","paths: string[][]","fork: Fork | undefined","pathMap: Record<string, string[][]>","path","history: ThreadState<StateType>[]","branchByCheckpoint: Record<\n string,\n { branch: string | undefined; branchOptions: string[] | undefined }\n >","queue: (Node<StateType> | Fork<StateType>)[]"],"sources":["../../src/ui/branching.ts"],"sourcesContent":["import type { ThreadState } from \"../schema.js\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ninterface Node<StateType = any> {\n type: \"node\";\n value: ThreadState<StateType>;\n path: string[];\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ninterface Fork<StateType = any> {\n type: \"fork\";\n items: Array<Sequence<StateType>>;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport interface Sequence<StateType = any> {\n type: \"sequence\";\n items: Array<Node<StateType> | Fork<StateType>>;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ninterface ValidFork<StateType = any> {\n type: \"fork\";\n items: Array<ValidSequence<StateType>>;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ninterface ValidSequence<StateType = any> {\n type: \"sequence\";\n items: [Node<StateType>, ...(Node<StateType> | ValidFork<StateType>)[]];\n}\n\nexport function getBranchSequence<StateType extends Record<string, unknown>>(\n history: ThreadState<StateType>[]\n) {\n const nodeIds = new Set<string>();\n const childrenMap: Record<string, ThreadState<StateType>[]> = {};\n\n // Short circuit if there's only a singular one state\n if (history.length <= 1) {\n return {\n rootSequence: {\n type: \"sequence\",\n items: history.map((value) => ({ type: \"node\", value, path: [] })),\n } satisfies Sequence<StateType>,\n paths: [],\n };\n }\n\n // First pass - collect nodes for each checkpoint\n history.forEach((state) => {\n const checkpointId = state.parent_checkpoint?.checkpoint_id ?? \"$\";\n childrenMap[checkpointId] ??= [];\n childrenMap[checkpointId].push(state);\n\n if (state.checkpoint?.checkpoint_id != null) {\n nodeIds.add(state.checkpoint.checkpoint_id);\n }\n });\n\n // If dealing with partial history, take the branch\n // with the latest checkpoint and mark it as the root.\n const maxId = (...ids: (string | null)[]) =>\n ids\n .filter((i) => i != null)\n .sort((a, b) => a.localeCompare(b))\n .at(-1)!;\n\n const lastOrphanedNode =\n childrenMap.$ == null\n ? Object.keys(childrenMap)\n .filter((parentId) => !nodeIds.has(parentId))\n .map((parentId) => {\n const queue: string[] = [parentId];\n const seen = new Set<string>();\n\n let lastId = parentId;\n\n while (queue.length > 0) {\n const current = queue.shift()!;\n\n if (seen.has(current)) continue;\n seen.add(current);\n\n const children = (childrenMap[current] ?? []).flatMap(\n (i) => i.checkpoint?.checkpoint_id ?? []\n );\n\n lastId = maxId(lastId, ...children);\n queue.push(...children);\n }\n\n return { parentId, lastId };\n })\n .sort((a, b) => a.lastId.localeCompare(b.lastId))\n .at(-1)?.parentId\n : undefined;\n\n if (lastOrphanedNode != null) childrenMap.$ = childrenMap[lastOrphanedNode];\n\n // Second pass - create a tree of sequences\n type Task = { id: string; sequence: Sequence; path: string[] };\n const rootSequence: Sequence = { type: \"sequence\", items: [] };\n const queue: Task[] = [{ id: \"$\", sequence: rootSequence, path: [] }];\n\n const paths: string[][] = [];\n\n const visited = new Set<string>();\n while (queue.length > 0) {\n const task = queue.shift()!;\n if (visited.has(task.id)) continue;\n visited.add(task.id);\n\n const children = childrenMap[task.id];\n if (children == null || children.length === 0) continue;\n\n // If we've encountered a fork (2+ children), push the fork\n // to the sequence and add a new sequence for each child\n let fork: Fork | undefined;\n if (children.length > 1) {\n fork = { type: \"fork\", items: [] };\n task.sequence.items.push(fork);\n }\n\n for (const value of children) {\n const id = value.checkpoint?.checkpoint_id;\n if (id == null) continue;\n\n let { sequence } = task;\n let { path } = task;\n if (fork != null) {\n sequence = { type: \"sequence\", items: [] };\n fork.items.unshift(sequence);\n\n path = path.slice();\n path.push(id);\n paths.push(path);\n }\n\n sequence.items.push({ type: \"node\", value, path });\n queue.push({ id, sequence, path });\n }\n }\n\n return { rootSequence, paths };\n}\n\nconst PATH_SEP = \">\";\nconst ROOT_ID = \"$\";\n\n// Get flat view\nexport function getBranchView<StateType extends Record<string, unknown>>(\n sequence: Sequence<StateType>,\n paths: string[][],\n branch: string\n) {\n const path = branch.split(PATH_SEP);\n const pathMap: Record<string, string[][]> = {};\n\n for (const path of paths) {\n const parent = path.at(-2) ?? ROOT_ID;\n pathMap[parent] ??= [];\n pathMap[parent].unshift(path);\n }\n\n const history: ThreadState<StateType>[] = [];\n const branchByCheckpoint: Record<\n string,\n { branch: string | undefined; branchOptions: string[] | undefined }\n > = {};\n\n const forkStack = path.slice();\n const queue: (Node<StateType> | Fork<StateType>)[] = [...sequence.items];\n\n while (queue.length > 0) {\n const item = queue.shift()!;\n\n if (item.type === \"node\") {\n history.push(item.value);\n const checkpointId = item.value.checkpoint?.checkpoint_id;\n if (checkpointId == null) continue;\n\n branchByCheckpoint[checkpointId] = {\n branch: item.path.join(PATH_SEP),\n branchOptions: (item.path.length > 0\n ? pathMap[item.path.at(-2) ?? ROOT_ID] ?? []\n : []\n ).map((p) => p.join(PATH_SEP)),\n };\n }\n if (item.type === \"fork\") {\n const forkId = forkStack.shift();\n const index =\n forkId != null\n ? item.items.findIndex((value) => {\n const firstItem = value.items.at(0);\n if (!firstItem || firstItem.type !== \"node\") return false;\n return firstItem.value.checkpoint?.checkpoint_id === forkId;\n })\n : -1;\n\n const nextItems = item.items.at(index)?.items ?? [];\n queue.push(...nextItems);\n }\n }\n\n return { history, branchByCheckpoint };\n}\n\nexport function getBranchContext<StateType extends Record<string, unknown>>(\n branch: string,\n history: ThreadState<StateType>[] | undefined\n) {\n const { rootSequence: branchTree, paths } = getBranchSequence(history ?? []);\n const { history: flatHistory, branchByCheckpoint } = getBranchView(\n branchTree,\n paths,\n branch\n );\n\n return {\n branchTree,\n flatHistory,\n branchByCheckpoint,\n threadHead: flatHistory.at(-1),\n };\n}\n"],"mappings":";;AAiCA,SAAgB,kBACd,SACA;CACA,MAAM,0BAAU,IAAI;CACpB,MAAMA,cAAwD;AAG9D,KAAI,QAAQ,UAAU,EACpB,QAAO;EACL,cAAc;GACZ,MAAM;GACN,OAAO,QAAQ,KAAK,WAAW;IAAE,MAAM;IAAQ;IAAO,MAAM;;;EAE9D,OAAO;;AAKX,SAAQ,SAAS,UAAU;EACzB,MAAM,eAAe,MAAM,mBAAmB,iBAAiB;AAC/D,cAAY,kBAAkB;AAC9B,cAAY,cAAc,KAAK;AAE/B,MAAI,MAAM,YAAY,iBAAiB,KACrC,SAAQ,IAAI,MAAM,WAAW;;CAMjC,MAAM,SAAS,GAAG,QAChB,IACG,QAAQ,MAAM,KAAK,MACnB,MAAM,GAAG,MAAM,EAAE,cAAc,IAC/B,GAAG;CAER,MAAM,mBACJ,YAAY,KAAK,OACb,OAAO,KAAK,aACT,QAAQ,aAAa,CAAC,QAAQ,IAAI,WAClC,KAAK,aAAa;EACjB,MAAMC,UAAkB,CAAC;EACzB,MAAM,uBAAO,IAAI;EAEjB,IAAI,SAAS;AAEb,SAAOC,QAAM,SAAS,GAAG;GACvB,MAAM,UAAUA,QAAM;AAEtB,OAAI,KAAK,IAAI,SAAU;AACvB,QAAK,IAAI;GAET,MAAM,YAAY,YAAY,YAAY,IAAI,SAC3C,MAAM,EAAE,YAAY,iBAAiB;AAGxC,YAAS,MAAM,QAAQ,GAAG;AAC1B,WAAM,KAAK,GAAG;;AAGhB,SAAO;GAAE;GAAU;;IAEpB,MAAM,GAAG,MAAM,EAAE,OAAO,cAAc,EAAE,SACxC,GAAG,KAAK,WACX;AAEN,KAAI,oBAAoB,KAAM,aAAY,IAAI,YAAY;CAI1D,MAAMC,eAAyB;EAAE,MAAM;EAAY,OAAO;;CAC1D,MAAMC,QAAgB,CAAC;EAAE,IAAI;EAAK,UAAU;EAAc,MAAM;;CAEhE,MAAMC,QAAoB;CAE1B,MAAM,0BAAU,IAAI;AACpB,QAAO,MAAM,SAAS,GAAG;EACvB,MAAM,OAAO,MAAM;AACnB,MAAI,QAAQ,IAAI,KAAK,IAAK;AAC1B,UAAQ,IAAI,KAAK;EAEjB,MAAM,WAAW,YAAY,KAAK;AAClC,MAAI,YAAY,QAAQ,SAAS,WAAW,EAAG;EAI/C,IAAIC;AACJ,MAAI,SAAS,SAAS,GAAG;AACvB,UAAO;IAAE,MAAM;IAAQ,OAAO;;AAC9B,QAAK,SAAS,MAAM,KAAK;;AAG3B,OAAK,MAAM,SAAS,UAAU;GAC5B,MAAM,KAAK,MAAM,YAAY;AAC7B,OAAI,MAAM,KAAM;GAEhB,IAAI,EAAE,aAAa;GACnB,IAAI,EAAE,SAAS;AACf,OAAI,QAAQ,MAAM;AAChB,eAAW;KAAE,MAAM;KAAY,OAAO;;AACtC,SAAK,MAAM,QAAQ;AAEnB,WAAO,KAAK;AACZ,SAAK,KAAK;AACV,UAAM,KAAK;;AAGb,YAAS,MAAM,KAAK;IAAE,MAAM;IAAQ;IAAO;;AAC3C,SAAM,KAAK;IAAE;IAAI;IAAU;;;;AAI/B,QAAO;EAAE;EAAc;;;AAGzB,MAAM,WAAW;AACjB,MAAM,UAAU;AAGhB,SAAgB,cACd,UACA,OACA,QACA;CACA,MAAM,OAAO,OAAO,MAAM;CAC1B,MAAMC,UAAsC;AAE5C,MAAK,MAAMC,UAAQ,OAAO;EACxB,MAAM,SAASA,OAAK,GAAG,OAAO;AAC9B,UAAQ,YAAY;AACpB,UAAQ,QAAQ,QAAQA;;CAG1B,MAAMC,UAAoC;CAC1C,MAAMC,qBAGF;CAEJ,MAAM,YAAY,KAAK;CACvB,MAAMC,QAA+C,CAAC,GAAG,SAAS;AAElE,QAAO,MAAM,SAAS,GAAG;EACvB,MAAM,OAAO,MAAM;AAEnB,MAAI,KAAK,SAAS,QAAQ;AACxB,WAAQ,KAAK,KAAK;GAClB,MAAM,eAAe,KAAK,MAAM,YAAY;AAC5C,OAAI,gBAAgB,KAAM;AAE1B,sBAAmB,gBAAgB;IACjC,QAAQ,KAAK,KAAK,KAAK;IACvB,gBAAgB,KAAK,KAAK,SAAS,IAC/B,QAAQ,KAAK,KAAK,GAAG,OAAO,YAAY,KACxC,IACF,KAAK,MAAM,EAAE,KAAK;;;AAGxB,MAAI,KAAK,SAAS,QAAQ;GACxB,MAAM,SAAS,UAAU;GACzB,MAAM,QACJ,UAAU,OACN,KAAK,MAAM,WAAW,UAAU;IAC9B,MAAM,YAAY,MAAM,MAAM,GAAG;AACjC,QAAI,CAAC,aAAa,UAAU,SAAS,OAAQ,QAAO;AACpD,WAAO,UAAU,MAAM,YAAY,kBAAkB;QAEvD;GAEN,MAAM,YAAY,KAAK,MAAM,GAAG,QAAQ,SAAS;AACjD,SAAM,KAAK,GAAG;;;AAIlB,QAAO;EAAE;EAAS;;;AAGpB,SAAgB,iBACd,QACA,SACA;CACA,MAAM,EAAE,cAAc,YAAY,UAAU,kBAAkB,WAAW;CACzE,MAAM,EAAE,SAAS,aAAa,uBAAuB,cACnD,YACA,OACA;AAGF,QAAO;EACL;EACA;EACA;EACA,YAAY,YAAY,GAAG"}
|
package/dist/ui/branching.d.cts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { ThreadState } from "../schema.cjs";
|
|
2
|
-
|
|
3
|
-
//#region src/ui/branching.d.ts
|
|
4
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
5
|
-
interface Node<StateType = any> {
|
|
6
|
-
type: "node";
|
|
7
|
-
value: ThreadState<StateType>;
|
|
8
|
-
path: string[];
|
|
9
|
-
}
|
|
10
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
11
|
-
interface Fork<StateType = any> {
|
|
12
|
-
type: "fork";
|
|
13
|
-
items: Array<Sequence<StateType>>;
|
|
14
|
-
}
|
|
15
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
16
|
-
interface Sequence<StateType = any> {
|
|
17
|
-
type: "sequence";
|
|
18
|
-
items: Array<Node<StateType> | Fork<StateType>>;
|
|
19
|
-
}
|
|
20
|
-
//#endregion
|
|
21
|
-
export { Sequence };
|
|
22
|
-
//# sourceMappingURL=branching.d.cts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"branching.d.cts","names":["ThreadState","Node","StateType","Fork","Sequence","Array","getBranchSequence","Record","getBranchView","getBranchContext"],"sources":["../../src/ui/branching.d.ts"],"sourcesContent":["import type { ThreadState } from \"../schema.js\";\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ninterface Node<StateType = any> {\n type: \"node\";\n value: ThreadState<StateType>;\n path: string[];\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ninterface Fork<StateType = any> {\n type: \"fork\";\n items: Array<Sequence<StateType>>;\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport interface Sequence<StateType = any> {\n type: \"sequence\";\n items: Array<Node<StateType> | Fork<StateType>>;\n}\nexport declare function getBranchSequence<StateType extends Record<string, unknown>>(history: ThreadState<StateType>[]): {\n rootSequence: Sequence<any>;\n paths: string[][];\n};\n// Get flat view\nexport declare function getBranchView<StateType extends Record<string, unknown>>(sequence: Sequence<StateType>, paths: string[][], branch: string): {\n history: ThreadState<StateType>[];\n branchByCheckpoint: Record<string, {\n branch: string | undefined;\n branchOptions: string[] | undefined;\n }>;\n};\nexport declare function getBranchContext<StateType extends Record<string, unknown>>(branch: string, history: ThreadState<StateType>[] | undefined): {\n branchTree: Sequence<any>;\n flatHistory: ThreadState<any>[];\n branchByCheckpoint: Record<string, {\n branch: string | undefined;\n branchOptions: string[] | undefined;\n }>;\n threadHead: ThreadState<any> | undefined;\n};\nexport {};\n"],"mappings":";;;;UAEUC;EAAAA,IAAAA,EAAAA,MAAI;EAAA,KAAA,EAEHD,WAFG,CAESE,SAFT,CAAA;MAESA,EAAAA,MAAAA,EAAAA;;;AAAD,UAIZC,IAAI,CAAA,YAAA,GAAA,CAAA,CAAA;EAAA,IAAA,EAAA,MAAA;OAEYD,EAAfG,KAAeH,CAATE,QAASF,CAAAA,SAAAA,CAAAA,CAAAA;;;UAGTE;EAAAA,IAAAA,EAAAA,UAAQ;EAAA,KAAA,EAEdC,KAFc,CAERJ,IAFQ,CAEHC,SAFG,CAAA,GAEUC,IAFV,CAEeD,SAFf,CAAA,CAAA"}
|
package/dist/ui/branching.d.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { ThreadState } from "../schema.js";
|
|
2
|
-
|
|
3
|
-
//#region src/ui/branching.d.ts
|
|
4
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
5
|
-
interface Node<StateType = any> {
|
|
6
|
-
type: "node";
|
|
7
|
-
value: ThreadState<StateType>;
|
|
8
|
-
path: string[];
|
|
9
|
-
}
|
|
10
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
11
|
-
interface Fork<StateType = any> {
|
|
12
|
-
type: "fork";
|
|
13
|
-
items: Array<Sequence<StateType>>;
|
|
14
|
-
}
|
|
15
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
16
|
-
interface Sequence<StateType = any> {
|
|
17
|
-
type: "sequence";
|
|
18
|
-
items: Array<Node<StateType> | Fork<StateType>>;
|
|
19
|
-
}
|
|
20
|
-
//#endregion
|
|
21
|
-
export { Sequence };
|
|
22
|
-
//# sourceMappingURL=branching.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"branching.d.ts","names":["ThreadState","Node","StateType","Fork","Sequence","Array","getBranchSequence","Record","getBranchView","getBranchContext"],"sources":["../../src/ui/branching.d.ts"],"sourcesContent":["import type { ThreadState } from \"../schema.js\";\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ninterface Node<StateType = any> {\n type: \"node\";\n value: ThreadState<StateType>;\n path: string[];\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ninterface Fork<StateType = any> {\n type: \"fork\";\n items: Array<Sequence<StateType>>;\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport interface Sequence<StateType = any> {\n type: \"sequence\";\n items: Array<Node<StateType> | Fork<StateType>>;\n}\nexport declare function getBranchSequence<StateType extends Record<string, unknown>>(history: ThreadState<StateType>[]): {\n rootSequence: Sequence<any>;\n paths: string[][];\n};\n// Get flat view\nexport declare function getBranchView<StateType extends Record<string, unknown>>(sequence: Sequence<StateType>, paths: string[][], branch: string): {\n history: ThreadState<StateType>[];\n branchByCheckpoint: Record<string, {\n branch: string | undefined;\n branchOptions: string[] | undefined;\n }>;\n};\nexport declare function getBranchContext<StateType extends Record<string, unknown>>(branch: string, history: ThreadState<StateType>[] | undefined): {\n branchTree: Sequence<any>;\n flatHistory: ThreadState<any>[];\n branchByCheckpoint: Record<string, {\n branch: string | undefined;\n branchOptions: string[] | undefined;\n }>;\n threadHead: ThreadState<any> | undefined;\n};\nexport {};\n"],"mappings":";;;;UAEUC;EAAAA,IAAAA,EAAAA,MAAI;EAAA,KAAA,EAEHD,WAFG,CAESE,SAFT,CAAA;MAESA,EAAAA,MAAAA,EAAAA;;;AAAD,UAIZC,IAAI,CAAA,YAAA,GAAA,CAAA,CAAA;EAAA,IAAA,EAAA,MAAA;OAEYD,EAAfG,KAAeH,CAATE,QAASF,CAAAA,SAAAA,CAAAA,CAAAA;;;UAGTE;EAAAA,IAAAA,EAAAA,UAAQ;EAAA,KAAA,EAEdC,KAFc,CAERJ,IAFQ,CAEHC,SAFG,CAAA,GAEUC,IAFV,CAEeD,SAFf,CAAA,CAAA"}
|