@langchain/langgraph-sdk 0.1.10 → 1.0.1

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.
Files changed (235) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +11 -0
  3. package/dist/_virtual/rolldown_runtime.cjs +25 -0
  4. package/dist/auth/error.cjs +76 -86
  5. package/dist/auth/error.cjs.map +1 -0
  6. package/dist/auth/error.d.cts +13 -0
  7. package/dist/auth/error.d.cts.map +1 -0
  8. package/dist/auth/error.d.ts +12 -8
  9. package/dist/auth/error.d.ts.map +1 -0
  10. package/dist/auth/error.js +76 -83
  11. package/dist/auth/error.js.map +1 -0
  12. package/dist/auth/index.cjs +36 -44
  13. package/dist/auth/index.cjs.map +1 -0
  14. package/dist/auth/index.d.cts +31 -0
  15. package/dist/auth/index.d.cts.map +1 -0
  16. package/dist/auth/index.d.ts +20 -15
  17. package/dist/auth/index.d.ts.map +1 -0
  18. package/dist/auth/index.js +35 -39
  19. package/dist/auth/index.js.map +1 -0
  20. package/dist/auth/types.d.cts +294 -0
  21. package/dist/auth/types.d.cts.map +1 -0
  22. package/dist/auth/types.d.ts +162 -165
  23. package/dist/auth/types.d.ts.map +1 -0
  24. package/dist/client.cjs +1110 -1294
  25. package/dist/client.cjs.map +1 -0
  26. package/dist/client.d.cts +697 -0
  27. package/dist/client.d.cts.map +1 -0
  28. package/dist/client.d.ts +656 -639
  29. package/dist/client.d.ts.map +1 -0
  30. package/dist/client.js +1101 -1281
  31. package/dist/client.js.map +1 -0
  32. package/dist/index.cjs +6 -8
  33. package/dist/index.d.cts +7 -0
  34. package/dist/index.d.ts +7 -7
  35. package/dist/index.js +4 -2
  36. package/dist/logging/index.cjs +30 -31
  37. package/dist/logging/index.cjs.map +1 -0
  38. package/dist/logging/index.d.cts +47 -0
  39. package/dist/logging/index.d.cts.map +1 -0
  40. package/dist/logging/index.d.ts +20 -16
  41. package/dist/logging/index.d.ts.map +1 -0
  42. package/dist/logging/index.js +31 -29
  43. package/dist/logging/index.js.map +1 -0
  44. package/dist/react/index.cjs +5 -7
  45. package/dist/react/index.d.cts +4 -0
  46. package/dist/react/index.d.ts +4 -3
  47. package/dist/react/index.js +4 -2
  48. package/dist/react/stream.cjs +14 -15
  49. package/dist/react/stream.cjs.map +1 -0
  50. package/dist/react/stream.custom.cjs +126 -145
  51. package/dist/react/stream.custom.cjs.map +1 -0
  52. package/dist/react/stream.custom.d.cts +39 -0
  53. package/dist/react/stream.custom.d.cts.map +1 -0
  54. package/dist/react/stream.custom.d.ts +35 -37
  55. package/dist/react/stream.custom.d.ts.map +1 -0
  56. package/dist/react/stream.custom.js +122 -137
  57. package/dist/react/stream.custom.js.map +1 -0
  58. package/dist/react/stream.d.cts +73 -0
  59. package/dist/react/stream.d.cts.map +1 -0
  60. package/dist/react/stream.d.ts +21 -15
  61. package/dist/react/stream.d.ts.map +1 -0
  62. package/dist/react/stream.js +12 -11
  63. package/dist/react/stream.js.map +1 -0
  64. package/dist/react/stream.lgp.cjs +438 -498
  65. package/dist/react/stream.lgp.cjs.map +1 -0
  66. package/dist/react/stream.lgp.js +433 -490
  67. package/dist/react/stream.lgp.js.map +1 -0
  68. package/dist/react/thread.cjs +18 -15
  69. package/dist/react/thread.cjs.map +1 -0
  70. package/dist/react/thread.js +19 -13
  71. package/dist/react/thread.js.map +1 -0
  72. package/dist/react/types.d.cts +356 -0
  73. package/dist/react/types.d.cts.map +1 -0
  74. package/dist/react/types.d.ts +334 -329
  75. package/dist/react/types.d.ts.map +1 -0
  76. package/dist/react-ui/client.cjs +123 -184
  77. package/dist/react-ui/client.cjs.map +1 -0
  78. package/dist/react-ui/client.d.cts +90 -0
  79. package/dist/react-ui/client.d.cts.map +1 -0
  80. package/dist/react-ui/client.d.ts +67 -51
  81. package/dist/react-ui/client.d.ts.map +1 -0
  82. package/dist/react-ui/client.js +118 -143
  83. package/dist/react-ui/client.js.map +1 -0
  84. package/dist/react-ui/index.cjs +14 -13
  85. package/dist/react-ui/index.cjs.map +1 -0
  86. package/dist/react-ui/index.d.cts +3 -0
  87. package/dist/react-ui/index.d.ts +3 -2
  88. package/dist/react-ui/index.js +8 -3
  89. package/dist/react-ui/index.js.map +1 -0
  90. package/dist/react-ui/server/index.cjs +5 -7
  91. package/dist/react-ui/server/index.d.cts +3 -0
  92. package/dist/react-ui/server/index.d.ts +3 -2
  93. package/dist/react-ui/server/index.js +4 -2
  94. package/dist/react-ui/server/server.cjs +53 -44
  95. package/dist/react-ui/server/server.cjs.map +1 -0
  96. package/dist/react-ui/server/server.d.cts +55 -0
  97. package/dist/react-ui/server/server.d.cts.map +1 -0
  98. package/dist/react-ui/server/server.d.ts +43 -39
  99. package/dist/react-ui/server/server.d.ts.map +1 -0
  100. package/dist/react-ui/server/server.js +54 -42
  101. package/dist/react-ui/server/server.js.map +1 -0
  102. package/dist/react-ui/types.cjs +32 -36
  103. package/dist/react-ui/types.cjs.map +1 -0
  104. package/dist/react-ui/types.d.cts +25 -0
  105. package/dist/react-ui/types.d.cts.map +1 -0
  106. package/dist/react-ui/types.d.ts +23 -19
  107. package/dist/react-ui/types.d.ts.map +1 -0
  108. package/dist/react-ui/types.js +32 -34
  109. package/dist/react-ui/types.js.map +1 -0
  110. package/dist/schema.d.cts +278 -0
  111. package/dist/schema.d.cts.map +1 -0
  112. package/dist/schema.d.ts +250 -242
  113. package/dist/schema.d.ts.map +1 -0
  114. package/dist/singletons/fetch.cjs +16 -20
  115. package/dist/singletons/fetch.cjs.map +1 -0
  116. package/dist/singletons/fetch.d.cts +14 -0
  117. package/dist/singletons/fetch.d.cts.map +1 -0
  118. package/dist/singletons/fetch.d.ts +5 -2
  119. package/dist/singletons/fetch.d.ts.map +1 -0
  120. package/dist/singletons/fetch.js +16 -17
  121. package/dist/singletons/fetch.js.map +1 -0
  122. package/dist/types.d.cts +187 -0
  123. package/dist/types.d.cts.map +1 -0
  124. package/dist/types.d.ts +178 -173
  125. package/dist/types.d.ts.map +1 -0
  126. package/dist/types.messages.d.cts +91 -0
  127. package/dist/types.messages.d.cts.map +1 -0
  128. package/dist/types.messages.d.ts +71 -66
  129. package/dist/types.messages.d.ts.map +1 -0
  130. package/dist/types.stream.d.cts +235 -0
  131. package/dist/types.stream.d.cts.map +1 -0
  132. package/dist/types.stream.d.ts +149 -142
  133. package/dist/types.stream.d.ts.map +1 -0
  134. package/dist/ui/branching.cjs +145 -141
  135. package/dist/ui/branching.cjs.map +1 -0
  136. package/dist/ui/branching.d.cts +22 -0
  137. package/dist/ui/branching.d.cts.map +1 -0
  138. package/dist/ui/branching.d.ts +17 -30
  139. package/dist/ui/branching.d.ts.map +1 -0
  140. package/dist/ui/branching.js +147 -139
  141. package/dist/ui/branching.js.map +1 -0
  142. package/dist/ui/errors.cjs +14 -12
  143. package/dist/ui/errors.cjs.map +1 -0
  144. package/dist/ui/errors.js +14 -9
  145. package/dist/ui/errors.js.map +1 -0
  146. package/dist/ui/manager.cjs +156 -232
  147. package/dist/ui/manager.cjs.map +1 -0
  148. package/dist/ui/manager.js +156 -228
  149. package/dist/ui/manager.js.map +1 -0
  150. package/dist/ui/messages.cjs +55 -69
  151. package/dist/ui/messages.cjs.map +1 -0
  152. package/dist/ui/messages.js +55 -66
  153. package/dist/ui/messages.js.map +1 -0
  154. package/dist/ui/utils.cjs +10 -10
  155. package/dist/ui/utils.cjs.map +1 -0
  156. package/dist/ui/utils.js +10 -8
  157. package/dist/ui/utils.js.map +1 -0
  158. package/dist/utils/async_caller.cjs +103 -185
  159. package/dist/utils/async_caller.cjs.map +1 -0
  160. package/dist/utils/async_caller.d.cts +53 -0
  161. package/dist/utils/async_caller.d.cts.map +1 -0
  162. package/dist/utils/async_caller.d.ts +36 -31
  163. package/dist/utils/async_caller.d.ts.map +1 -0
  164. package/dist/utils/async_caller.js +101 -177
  165. package/dist/utils/async_caller.js.map +1 -0
  166. package/dist/utils/env.cjs +11 -13
  167. package/dist/utils/env.cjs.map +1 -0
  168. package/dist/utils/env.js +11 -11
  169. package/dist/utils/env.js.map +1 -0
  170. package/dist/utils/signals.cjs +18 -19
  171. package/dist/utils/signals.cjs.map +1 -0
  172. package/dist/utils/signals.js +18 -17
  173. package/dist/utils/signals.js.map +1 -0
  174. package/dist/utils/sse.cjs +110 -140
  175. package/dist/utils/sse.cjs.map +1 -0
  176. package/dist/utils/sse.js +110 -138
  177. package/dist/utils/sse.js.map +1 -0
  178. package/dist/utils/stream.cjs +90 -114
  179. package/dist/utils/stream.cjs.map +1 -0
  180. package/dist/utils/stream.js +90 -111
  181. package/dist/utils/stream.js.map +1 -0
  182. package/package.json +73 -81
  183. package/auth.cjs +0 -1
  184. package/auth.d.cts +0 -1
  185. package/auth.d.ts +0 -1
  186. package/auth.js +0 -1
  187. package/client.cjs +0 -1
  188. package/client.d.cts +0 -1
  189. package/client.d.ts +0 -1
  190. package/client.js +0 -1
  191. package/dist/auth/types.cjs +0 -2
  192. package/dist/auth/types.js +0 -1
  193. package/dist/react/stream.lgp.d.ts +0 -7
  194. package/dist/react/thread.d.ts +0 -4
  195. package/dist/react/types.cjs +0 -2
  196. package/dist/react/types.js +0 -1
  197. package/dist/schema.cjs +0 -2
  198. package/dist/schema.js +0 -1
  199. package/dist/types.cjs +0 -2
  200. package/dist/types.js +0 -1
  201. package/dist/types.messages.cjs +0 -2
  202. package/dist/types.messages.js +0 -1
  203. package/dist/types.stream.cjs +0 -2
  204. package/dist/types.stream.js +0 -1
  205. package/dist/ui/branching.test.cjs +0 -370
  206. package/dist/ui/branching.test.d.ts +0 -1
  207. package/dist/ui/branching.test.js +0 -368
  208. package/dist/ui/errors.d.ts +0 -12
  209. package/dist/ui/manager.d.ts +0 -87
  210. package/dist/ui/messages.d.ts +0 -18
  211. package/dist/ui/utils.d.ts +0 -2
  212. package/dist/utils/env.d.ts +0 -1
  213. package/dist/utils/signals.d.ts +0 -1
  214. package/dist/utils/sse.d.ts +0 -8
  215. package/dist/utils/stream.d.ts +0 -13
  216. package/index.cjs +0 -1
  217. package/index.d.cts +0 -1
  218. package/index.d.ts +0 -1
  219. package/index.js +0 -1
  220. package/logging.cjs +0 -1
  221. package/logging.d.cts +0 -1
  222. package/logging.d.ts +0 -1
  223. package/logging.js +0 -1
  224. package/react-ui/server.cjs +0 -1
  225. package/react-ui/server.d.cts +0 -1
  226. package/react-ui/server.d.ts +0 -1
  227. package/react-ui/server.js +0 -1
  228. package/react-ui.cjs +0 -1
  229. package/react-ui.d.cts +0 -1
  230. package/react-ui.d.ts +0 -1
  231. package/react-ui.js +0 -1
  232. package/react.cjs +0 -1
  233. package/react.d.cts +0 -1
  234. package/react.d.ts +0 -1
  235. package/react.js +0 -1
@@ -1,5 +1,8 @@
1
- import type { Message } from "./types.messages.js";
2
- import type { Interrupt, Metadata, Config, ThreadTask } from "./schema.js";
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
+
3
6
  /**
4
7
  import type { SubgraphCheckpointsStreamEvent } from "./types.stream.subgraph.js";
5
8
  * Stream modes
@@ -11,218 +14,222 @@ import type { SubgraphCheckpointsStreamEvent } from "./types.stream.subgraph.js"
11
14
  * - "debug": Stream detailed debug information.
12
15
  * - "custom": Stream custom events.
13
16
  */
14
- export type StreamMode = "values" | "messages" | "updates" | "events" | "debug" | "tasks" | "checkpoints" | "custom" | "messages-tuple";
15
- export type ThreadStreamMode = "run_modes" | "lifecycle" | "state_update";
17
+ type StreamMode = "values" | "messages" | "updates" | "events" | "debug" | "tasks" | "checkpoints" | "custom" | "messages-tuple";
18
+ type ThreadStreamMode = "run_modes" | "lifecycle" | "state_update";
16
19
  type MessageTupleMetadata = {
17
- tags: string[];
18
- [key: string]: unknown;
20
+ tags: string[];
21
+ [key: string]: unknown;
19
22
  };
20
23
  type AsSubgraph<TEvent extends {
21
- id?: string;
22
- event: string;
23
- data: unknown;
24
+ id?: string;
25
+ event: string;
26
+ data: unknown;
24
27
  }> = {
25
- id?: TEvent["id"];
26
- event: TEvent["event"] | `${TEvent["event"]}|${string}`;
27
- data: TEvent["data"];
28
+ id?: TEvent["id"];
29
+ event: TEvent["event"] | `${TEvent["event"]}|${string}`;
30
+ data: TEvent["data"];
28
31
  };
29
32
  /**
30
33
  * Stream event with values after completion of each step.
31
34
  */
32
- export type ValuesStreamEvent<StateType> = {
33
- id?: string;
34
- event: "values";
35
- data: StateType;
35
+ type ValuesStreamEvent<StateType> = {
36
+ id?: string;
37
+ event: "values";
38
+ data: StateType;
36
39
  };
37
40
  /** @internal */
38
- export type SubgraphValuesStreamEvent<StateType> = AsSubgraph<ValuesStreamEvent<StateType>>;
41
+ type SubgraphValuesStreamEvent<StateType> = AsSubgraph<ValuesStreamEvent<StateType>>;
39
42
  /**
40
43
  * Stream event with message chunks coming from LLM invocations inside nodes.
41
44
  */
42
- export type MessagesTupleStreamEvent = {
43
- event: "messages";
44
- data: [message: Message, config: MessageTupleMetadata];
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];
45
50
  };
46
51
  /** @internal */
47
- export type SubgraphMessagesTupleStreamEvent = AsSubgraph<MessagesTupleStreamEvent>;
52
+ type SubgraphMessagesTupleStreamEvent = AsSubgraph<MessagesTupleStreamEvent>;
48
53
  /**
49
54
  * Metadata stream event with information about the run and thread
50
55
  */
51
- export type MetadataStreamEvent = {
52
- id?: string;
53
- event: "metadata";
54
- data: {
55
- run_id: string;
56
- thread_id: string;
57
- };
56
+ type MetadataStreamEvent = {
57
+ id?: string;
58
+ event: "metadata";
59
+ data: {
60
+ run_id: string;
61
+ thread_id: string;
62
+ };
58
63
  };
59
64
  /**
60
65
  * Stream event with error information.
61
66
  */
62
- export type ErrorStreamEvent = {
63
- id?: string;
64
- event: "error";
65
- data: {
66
- error: string;
67
- message: string;
68
- };
67
+ type ErrorStreamEvent = {
68
+ id?: string;
69
+ event: "error";
70
+ data: {
71
+ error: string;
72
+ message: string;
73
+ };
69
74
  };
70
75
  /** @internal */
71
- export type SubgraphErrorStreamEvent = AsSubgraph<ErrorStreamEvent>;
76
+ type SubgraphErrorStreamEvent = AsSubgraph<ErrorStreamEvent>;
72
77
  /**
73
78
  * Stream event with updates to the state after each step.
74
79
  * The streamed outputs include the name of the node that
75
80
  * produced the update as well as the update.
76
81
  */
77
- export type UpdatesStreamEvent<UpdateType> = {
78
- id?: string;
79
- event: "updates";
80
- data: {
81
- [node: string]: UpdateType;
82
- };
82
+ type UpdatesStreamEvent<UpdateType> = {
83
+ id?: string;
84
+ event: "updates";
85
+ data: {
86
+ [node: string]: UpdateType;
87
+ };
83
88
  };
84
89
  /** @internal */
85
- export type SubgraphUpdatesStreamEvent<UpdateType> = AsSubgraph<UpdatesStreamEvent<UpdateType>>;
90
+ type SubgraphUpdatesStreamEvent<UpdateType> = AsSubgraph<UpdatesStreamEvent<UpdateType>>;
86
91
  /**
87
92
  * Streaming custom data from inside the nodes.
88
93
  */
89
- export type CustomStreamEvent<T> = {
90
- event: "custom";
91
- data: T;
94
+ type CustomStreamEvent<T> = {
95
+ event: "custom";
96
+ data: T;
92
97
  };
93
98
  /** @internal */
94
- export type SubgraphCustomStreamEvent<T> = AsSubgraph<CustomStreamEvent<T>>;
99
+ type SubgraphCustomStreamEvent<T> = AsSubgraph<CustomStreamEvent<T>>;
95
100
  type MessagesMetadataStreamEvent = {
96
- id?: string;
97
- event: "messages/metadata";
98
- data: {
99
- [messageId: string]: {
100
- metadata: unknown;
101
- };
101
+ id?: string;
102
+ event: "messages/metadata";
103
+ data: {
104
+ [messageId: string]: {
105
+ metadata: unknown;
102
106
  };
107
+ };
103
108
  };
104
109
  type MessagesCompleteStreamEvent = {
105
- id?: string;
106
- event: "messages/complete";
107
- data: Message[];
110
+ id?: string;
111
+ event: "messages/complete";
112
+ data: Message[];
108
113
  };
109
114
  type MessagesPartialStreamEvent = {
110
- id?: string;
111
- event: "messages/partial";
112
- data: Message[];
115
+ id?: string;
116
+ event: "messages/partial";
117
+ data: Message[];
113
118
  };
114
119
  type TasksStreamCreateEvent<StateType> = {
115
- id?: string;
116
- event: "tasks";
117
- data: {
118
- id: string;
119
- name: string;
120
- interrupts: Interrupt[];
121
- input: StateType;
122
- triggers: string[];
123
- };
120
+ id?: string;
121
+ event: "tasks";
122
+ data: {
123
+ id: string;
124
+ name: string;
125
+ interrupts: Interrupt[];
126
+ input: StateType;
127
+ triggers: string[];
128
+ };
124
129
  };
125
130
  type TasksStreamResultEvent<UpdateType> = {
126
- id?: string;
127
- event: "tasks";
128
- data: {
129
- id: string;
130
- name: string;
131
- interrupts: Interrupt[];
132
- result: [string, UpdateType][];
133
- };
131
+ id?: string;
132
+ event: "tasks";
133
+ data: {
134
+ id: string;
135
+ name: string;
136
+ interrupts: Interrupt[];
137
+ result: [string, UpdateType][];
138
+ };
134
139
  };
135
140
  type TasksStreamErrorEvent = {
136
- id?: string;
137
- event: "tasks";
138
- data: {
139
- id: string;
140
- name: string;
141
- interrupts: Interrupt[];
142
- error: string;
143
- };
144
- };
145
- export type TasksStreamEvent<StateType, UpdateType> = TasksStreamCreateEvent<StateType> | TasksStreamResultEvent<UpdateType> | 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;
146
151
  type SubgraphTasksStreamEvent<StateType, UpdateType> = AsSubgraph<TasksStreamCreateEvent<StateType>> | AsSubgraph<TasksStreamResultEvent<UpdateType>> | AsSubgraph<TasksStreamErrorEvent>;
147
- export type CheckpointsStreamEvent<StateType> = {
148
- id?: string;
149
- event: "checkpoints";
150
- data: {
151
- values: StateType;
152
- next: string[];
153
- config: Config;
154
- metadata: Metadata;
155
- tasks: ThreadTask[];
156
- };
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
+ };
157
162
  };
158
163
  type SubgraphCheckpointsStreamEvent<StateType> = AsSubgraph<CheckpointsStreamEvent<StateType>>;
159
164
  /**
160
165
  * Message stream event specific to LangGraph Server.
161
166
  * @deprecated Use `streamMode: "messages-tuple"` instead.
162
167
  */
163
- export type MessagesStreamEvent = MessagesMetadataStreamEvent | MessagesCompleteStreamEvent | MessagesPartialStreamEvent;
168
+ type MessagesStreamEvent = MessagesMetadataStreamEvent | MessagesCompleteStreamEvent | MessagesPartialStreamEvent;
164
169
  /** @internal */
165
- export type SubgraphMessagesStreamEvent = AsSubgraph<MessagesMetadataStreamEvent> | AsSubgraph<MessagesCompleteStreamEvent> | AsSubgraph<MessagesPartialStreamEvent>;
170
+ type SubgraphMessagesStreamEvent = AsSubgraph<MessagesMetadataStreamEvent> | AsSubgraph<MessagesCompleteStreamEvent> | AsSubgraph<MessagesPartialStreamEvent>;
166
171
  /**
167
172
  * Stream event with detailed debug information.
168
173
  */
169
- export type DebugStreamEvent = {
170
- id?: string;
171
- event: "debug";
172
- data: unknown;
174
+ type DebugStreamEvent = {
175
+ id?: string;
176
+ event: "debug";
177
+ data: unknown;
173
178
  };
174
179
  /** @internal */
175
- export type SubgraphDebugStreamEvent = AsSubgraph<DebugStreamEvent>;
180
+ type SubgraphDebugStreamEvent = AsSubgraph<DebugStreamEvent>;
176
181
  /**
177
182
  * Stream event with events occurring during execution.
178
183
  */
179
- export type EventsStreamEvent = {
180
- id?: string;
181
- event: "events";
182
- data: {
183
- event: `on_${"chat_model" | "llm" | "chain" | "tool" | "retriever" | "prompt"}_${"start" | "stream" | "end"}` | (string & {});
184
- name: string;
185
- tags: string[];
186
- run_id: string;
187
- metadata: Record<string, unknown>;
188
- parent_ids: string[];
189
- data: unknown;
190
- };
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
+ };
191
196
  };
192
197
  /** @internal */
193
- export type SubgraphEventsStreamEvent = AsSubgraph<EventsStreamEvent>;
198
+ type SubgraphEventsStreamEvent = AsSubgraph<EventsStreamEvent>;
194
199
  /**
195
200
  * Stream event with a feedback key to signed URL map. Set `feedbackKeys` in
196
201
  * the `RunsStreamPayload` to receive this event.
197
202
  */
198
- export type FeedbackStreamEvent = {
199
- id?: string;
200
- event: "feedback";
201
- data: {
202
- [feedbackKey: string]: string;
203
- };
203
+ type FeedbackStreamEvent = {
204
+ id?: string;
205
+ event: "feedback";
206
+ data: {
207
+ [feedbackKey: string]: string;
208
+ };
204
209
  };
205
210
  type GetStreamModeMap<TStreamMode extends StreamMode | StreamMode[], TStateType = unknown, TUpdateType = TStateType, TCustomType = unknown> = {
206
- values: ValuesStreamEvent<TStateType>;
207
- updates: UpdatesStreamEvent<TUpdateType>;
208
- custom: CustomStreamEvent<TCustomType>;
209
- debug: DebugStreamEvent;
210
- messages: MessagesStreamEvent;
211
- "messages-tuple": MessagesTupleStreamEvent;
212
- tasks: TasksStreamEvent<TStateType, TUpdateType>;
213
- checkpoints: CheckpointsStreamEvent<TStateType>;
214
- events: EventsStreamEvent;
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;
215
220
  }[TStreamMode extends StreamMode[] ? TStreamMode[number] : TStreamMode] | ErrorStreamEvent | MetadataStreamEvent | FeedbackStreamEvent;
216
221
  type GetSubgraphsStreamModeMap<TStreamMode extends StreamMode | StreamMode[], TStateType = unknown, TUpdateType = TStateType, TCustomType = unknown> = {
217
- values: SubgraphValuesStreamEvent<TStateType>;
218
- updates: SubgraphUpdatesStreamEvent<TUpdateType>;
219
- custom: SubgraphCustomStreamEvent<TCustomType>;
220
- debug: SubgraphDebugStreamEvent;
221
- messages: SubgraphMessagesStreamEvent;
222
- "messages-tuple": SubgraphMessagesTupleStreamEvent;
223
- events: SubgraphEventsStreamEvent;
224
- tasks: SubgraphTasksStreamEvent<TStateType, TUpdateType>;
225
- checkpoints: SubgraphCheckpointsStreamEvent<TStateType>;
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>;
226
231
  }[TStreamMode extends StreamMode[] ? TStreamMode[number] : TStreamMode] | SubgraphErrorStreamEvent | MetadataStreamEvent | FeedbackStreamEvent;
227
- export 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>>;
228
- export {};
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
@@ -0,0 +1 @@
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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"}