@langchain/langgraph-sdk 1.8.10 → 1.9.0

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 (435) hide show
  1. package/README.md +90 -43
  2. package/dist/client/assistants/index.cjs +180 -0
  3. package/dist/client/assistants/index.cjs.map +1 -0
  4. package/dist/client/assistants/index.d.cts +155 -0
  5. package/dist/client/assistants/index.d.cts.map +1 -0
  6. package/dist/client/assistants/index.d.ts +155 -0
  7. package/dist/client/assistants/index.d.ts.map +1 -0
  8. package/dist/client/assistants/index.js +180 -0
  9. package/dist/client/assistants/index.js.map +1 -0
  10. package/dist/client/base.cjs +190 -0
  11. package/dist/client/base.cjs.map +1 -0
  12. package/dist/client/base.d.cts +84 -0
  13. package/dist/client/base.d.cts.map +1 -0
  14. package/dist/client/base.d.ts +84 -0
  15. package/dist/client/base.d.ts.map +1 -0
  16. package/dist/client/base.js +188 -0
  17. package/dist/client/base.js.map +1 -0
  18. package/dist/client/crons/index.cjs +159 -0
  19. package/dist/client/crons/index.cjs.map +1 -0
  20. package/dist/client/crons/index.d.cts +71 -0
  21. package/dist/client/crons/index.d.cts.map +1 -0
  22. package/dist/client/crons/index.d.ts +71 -0
  23. package/dist/client/crons/index.d.ts.map +1 -0
  24. package/dist/client/crons/index.js +159 -0
  25. package/dist/client/crons/index.js.map +1 -0
  26. package/dist/client/index.cjs +84 -0
  27. package/dist/client/index.cjs.map +1 -0
  28. package/dist/client/index.d.cts +63 -0
  29. package/dist/client/index.d.cts.map +1 -0
  30. package/dist/client/index.d.ts +63 -0
  31. package/dist/client/index.d.ts.map +1 -0
  32. package/dist/client/index.js +83 -0
  33. package/dist/client/index.js.map +1 -0
  34. package/dist/client/runs/index.cjs +275 -0
  35. package/dist/client/runs/index.cjs.map +1 -0
  36. package/dist/client/runs/index.d.cts +123 -0
  37. package/dist/client/runs/index.d.cts.map +1 -0
  38. package/dist/client/runs/index.d.ts +123 -0
  39. package/dist/client/runs/index.d.ts.map +1 -0
  40. package/dist/client/runs/index.js +275 -0
  41. package/dist/client/runs/index.js.map +1 -0
  42. package/dist/client/store/index.cjs +128 -0
  43. package/dist/client/store/index.cjs.map +1 -0
  44. package/dist/client/store/index.d.cts +75 -0
  45. package/dist/client/store/index.d.cts.map +1 -0
  46. package/dist/client/store/index.d.ts +75 -0
  47. package/dist/client/store/index.d.ts.map +1 -0
  48. package/dist/client/store/index.js +128 -0
  49. package/dist/client/store/index.js.map +1 -0
  50. package/dist/client/stream/error.cjs +18 -0
  51. package/dist/client/stream/error.cjs.map +1 -0
  52. package/dist/client/stream/error.d.cts +14 -0
  53. package/dist/client/stream/error.d.cts.map +1 -0
  54. package/dist/client/stream/error.d.ts +14 -0
  55. package/dist/client/stream/error.d.ts.map +1 -0
  56. package/dist/client/stream/error.js +18 -0
  57. package/dist/client/stream/error.js.map +1 -0
  58. package/dist/client/stream/handles/index.cjs +3 -0
  59. package/dist/client/stream/handles/index.d.ts +3 -0
  60. package/dist/client/stream/handles/index.js +4 -0
  61. package/dist/client/stream/handles/subagents.cjs +263 -0
  62. package/dist/client/stream/handles/subagents.cjs.map +1 -0
  63. package/dist/client/stream/handles/subagents.d.cts +45 -0
  64. package/dist/client/stream/handles/subagents.d.cts.map +1 -0
  65. package/dist/client/stream/handles/subagents.d.ts +45 -0
  66. package/dist/client/stream/handles/subagents.d.ts.map +1 -0
  67. package/dist/client/stream/handles/subagents.js +262 -0
  68. package/dist/client/stream/handles/subagents.js.map +1 -0
  69. package/dist/client/stream/handles/subgraphs.cjs +352 -0
  70. package/dist/client/stream/handles/subgraphs.cjs.map +1 -0
  71. package/dist/client/stream/handles/subgraphs.d.cts +82 -0
  72. package/dist/client/stream/handles/subgraphs.d.cts.map +1 -0
  73. package/dist/client/stream/handles/subgraphs.d.ts +82 -0
  74. package/dist/client/stream/handles/subgraphs.d.ts.map +1 -0
  75. package/dist/client/stream/handles/subgraphs.js +351 -0
  76. package/dist/client/stream/handles/subgraphs.js.map +1 -0
  77. package/dist/client/stream/handles/tools.cjs +92 -0
  78. package/dist/client/stream/handles/tools.cjs.map +1 -0
  79. package/dist/client/stream/handles/tools.d.cts +26 -0
  80. package/dist/client/stream/handles/tools.d.cts.map +1 -0
  81. package/dist/client/stream/handles/tools.d.ts +26 -0
  82. package/dist/client/stream/handles/tools.d.ts.map +1 -0
  83. package/dist/client/stream/handles/tools.js +92 -0
  84. package/dist/client/stream/handles/tools.js.map +1 -0
  85. package/dist/client/stream/index.cjs +1368 -0
  86. package/dist/client/stream/index.cjs.map +1 -0
  87. package/dist/client/stream/index.d.cts +238 -0
  88. package/dist/client/stream/index.d.cts.map +1 -0
  89. package/dist/client/stream/index.d.ts +238 -0
  90. package/dist/client/stream/index.d.ts.map +1 -0
  91. package/dist/client/stream/index.js +1367 -0
  92. package/dist/client/stream/index.js.map +1 -0
  93. package/dist/client/stream/media.cjs +506 -0
  94. package/dist/client/stream/media.cjs.map +1 -0
  95. package/dist/client/stream/media.d.cts +164 -0
  96. package/dist/client/stream/media.d.cts.map +1 -0
  97. package/dist/client/stream/media.d.ts +164 -0
  98. package/dist/client/stream/media.d.ts.map +1 -0
  99. package/dist/client/stream/media.js +505 -0
  100. package/dist/client/stream/media.js.map +1 -0
  101. package/dist/client/stream/messages.cjs +635 -0
  102. package/dist/client/stream/messages.cjs.map +1 -0
  103. package/dist/client/stream/messages.d.cts +139 -0
  104. package/dist/client/stream/messages.d.cts.map +1 -0
  105. package/dist/client/stream/messages.d.ts +139 -0
  106. package/dist/client/stream/messages.d.ts.map +1 -0
  107. package/dist/client/stream/messages.js +631 -0
  108. package/dist/client/stream/messages.js.map +1 -0
  109. package/dist/client/stream/multi-cursor-buffer.cjs +55 -0
  110. package/dist/client/stream/multi-cursor-buffer.cjs.map +1 -0
  111. package/dist/client/stream/multi-cursor-buffer.js +55 -0
  112. package/dist/client/stream/multi-cursor-buffer.js.map +1 -0
  113. package/dist/client/stream/subscription.cjs +85 -0
  114. package/dist/client/stream/subscription.cjs.map +1 -0
  115. package/dist/client/stream/subscription.d.cts +22 -0
  116. package/dist/client/stream/subscription.d.cts.map +1 -0
  117. package/dist/client/stream/subscription.d.ts +22 -0
  118. package/dist/client/stream/subscription.d.ts.map +1 -0
  119. package/dist/client/stream/subscription.js +84 -0
  120. package/dist/client/stream/subscription.js.map +1 -0
  121. package/dist/client/stream/transport/agent-server.cjs +45 -0
  122. package/dist/client/stream/transport/agent-server.cjs.map +1 -0
  123. package/dist/client/stream/transport/agent-server.d.cts +39 -0
  124. package/dist/client/stream/transport/agent-server.d.cts.map +1 -0
  125. package/dist/client/stream/transport/agent-server.d.ts +39 -0
  126. package/dist/client/stream/transport/agent-server.d.ts.map +1 -0
  127. package/dist/client/stream/transport/agent-server.js +45 -0
  128. package/dist/client/stream/transport/agent-server.js.map +1 -0
  129. package/dist/client/stream/transport/constants.cjs +10 -0
  130. package/dist/client/stream/transport/constants.cjs.map +1 -0
  131. package/dist/client/stream/transport/constants.js +10 -0
  132. package/dist/client/stream/transport/constants.js.map +1 -0
  133. package/dist/client/stream/transport/decoder.cjs +115 -0
  134. package/dist/client/stream/transport/decoder.cjs.map +1 -0
  135. package/dist/client/stream/transport/decoder.js +114 -0
  136. package/dist/client/stream/transport/decoder.js.map +1 -0
  137. package/dist/client/stream/transport/http.cjs +183 -0
  138. package/dist/client/stream/transport/http.cjs.map +1 -0
  139. package/dist/client/stream/transport/http.d.cts +45 -0
  140. package/dist/client/stream/transport/http.d.cts.map +1 -0
  141. package/dist/client/stream/transport/http.d.ts +45 -0
  142. package/dist/client/stream/transport/http.d.ts.map +1 -0
  143. package/dist/client/stream/transport/http.js +183 -0
  144. package/dist/client/stream/transport/http.js.map +1 -0
  145. package/dist/client/stream/transport/index.cjs +3 -0
  146. package/dist/client/stream/transport/index.js +4 -0
  147. package/dist/client/stream/transport/queue.cjs +55 -0
  148. package/dist/client/stream/transport/queue.cjs.map +1 -0
  149. package/dist/client/stream/transport/queue.js +55 -0
  150. package/dist/client/stream/transport/queue.js.map +1 -0
  151. package/dist/client/stream/transport/stream.cjs +79 -0
  152. package/dist/client/stream/transport/stream.cjs.map +1 -0
  153. package/dist/client/stream/transport/stream.js +79 -0
  154. package/dist/client/stream/transport/stream.js.map +1 -0
  155. package/dist/client/stream/transport/types.d.cts +29 -0
  156. package/dist/client/stream/transport/types.d.cts.map +1 -0
  157. package/dist/client/stream/transport/types.d.ts +29 -0
  158. package/dist/client/stream/transport/types.d.ts.map +1 -0
  159. package/dist/client/stream/transport/utils.cjs +45 -0
  160. package/dist/client/stream/transport/utils.cjs.map +1 -0
  161. package/dist/client/stream/transport/utils.js +39 -0
  162. package/dist/client/stream/transport/utils.js.map +1 -0
  163. package/dist/client/stream/transport/websocket.cjs +155 -0
  164. package/dist/client/stream/transport/websocket.cjs.map +1 -0
  165. package/dist/client/stream/transport/websocket.d.cts +36 -0
  166. package/dist/client/stream/transport/websocket.d.cts.map +1 -0
  167. package/dist/client/stream/transport/websocket.d.ts +36 -0
  168. package/dist/client/stream/transport/websocket.d.ts.map +1 -0
  169. package/dist/client/stream/transport/websocket.js +155 -0
  170. package/dist/client/stream/transport/websocket.js.map +1 -0
  171. package/dist/client/stream/transport.d.cts +104 -0
  172. package/dist/client/stream/transport.d.cts.map +1 -0
  173. package/dist/client/stream/transport.d.ts +104 -0
  174. package/dist/client/stream/transport.d.ts.map +1 -0
  175. package/dist/client/stream/types.d.cts +208 -0
  176. package/dist/client/stream/types.d.cts.map +1 -0
  177. package/dist/client/stream/types.d.ts +208 -0
  178. package/dist/client/stream/types.d.ts.map +1 -0
  179. package/dist/client/threads/index.cjs +271 -0
  180. package/dist/client/threads/index.cjs.map +1 -0
  181. package/dist/client/threads/index.d.cts +235 -0
  182. package/dist/client/threads/index.d.cts.map +1 -0
  183. package/dist/client/threads/index.d.ts +235 -0
  184. package/dist/client/threads/index.d.ts.map +1 -0
  185. package/dist/client/threads/index.js +270 -0
  186. package/dist/client/threads/index.js.map +1 -0
  187. package/dist/client/ui-internal/index.cjs +29 -0
  188. package/dist/client/ui-internal/index.cjs.map +1 -0
  189. package/dist/client/ui-internal/index.d.cts +11 -0
  190. package/dist/client/ui-internal/index.d.cts.map +1 -0
  191. package/dist/client/ui-internal/index.d.ts +11 -0
  192. package/dist/client/ui-internal/index.d.ts.map +1 -0
  193. package/dist/client/ui-internal/index.js +29 -0
  194. package/dist/client/ui-internal/index.js.map +1 -0
  195. package/dist/client.cjs +35 -1308
  196. package/dist/client.d.cts +19 -857
  197. package/dist/client.d.ts +19 -857
  198. package/dist/client.js +16 -1301
  199. package/dist/index.cjs +25 -4
  200. package/dist/index.d.cts +15 -3
  201. package/dist/index.d.ts +15 -3
  202. package/dist/index.js +14 -3
  203. package/dist/react/stream.cjs.map +1 -1
  204. package/dist/react/stream.custom.cjs +1 -1
  205. package/dist/react/stream.custom.js +1 -1
  206. package/dist/react/stream.d.cts +2 -1
  207. package/dist/react/stream.d.cts.map +1 -1
  208. package/dist/react/stream.d.ts +2 -1
  209. package/dist/react/stream.d.ts.map +1 -1
  210. package/dist/react/stream.js.map +1 -1
  211. package/dist/react/stream.lgp.cjs +6 -5
  212. package/dist/react/stream.lgp.cjs.map +1 -1
  213. package/dist/react/stream.lgp.js +4 -3
  214. package/dist/react/stream.lgp.js.map +1 -1
  215. package/dist/react/types.d.cts +1 -1
  216. package/dist/react/types.d.ts +1 -1
  217. package/dist/react/types.d.ts.map +1 -1
  218. package/dist/react-ui/server/server.cjs +1 -1
  219. package/dist/react-ui/server/server.cjs.map +1 -1
  220. package/dist/react-ui/server/server.js +1 -1
  221. package/dist/react-ui/server/server.js.map +1 -1
  222. package/dist/react-ui/types.cjs.map +1 -1
  223. package/dist/react-ui/types.d.cts +1 -1
  224. package/dist/react-ui/types.d.cts.map +1 -1
  225. package/dist/react-ui/types.d.ts +1 -1
  226. package/dist/react-ui/types.d.ts.map +1 -1
  227. package/dist/react-ui/types.js.map +1 -1
  228. package/dist/stream/assembled-to-message.cjs +121 -0
  229. package/dist/stream/assembled-to-message.cjs.map +1 -0
  230. package/dist/stream/assembled-to-message.d.cts +35 -0
  231. package/dist/stream/assembled-to-message.d.cts.map +1 -0
  232. package/dist/stream/assembled-to-message.d.ts +35 -0
  233. package/dist/stream/assembled-to-message.d.ts.map +1 -0
  234. package/dist/stream/assembled-to-message.js +119 -0
  235. package/dist/stream/assembled-to-message.js.map +1 -0
  236. package/dist/stream/channel-registry.cjs +224 -0
  237. package/dist/stream/channel-registry.cjs.map +1 -0
  238. package/dist/stream/channel-registry.d.cts +102 -0
  239. package/dist/stream/channel-registry.d.cts.map +1 -0
  240. package/dist/stream/channel-registry.d.ts +102 -0
  241. package/dist/stream/channel-registry.d.ts.map +1 -0
  242. package/dist/stream/channel-registry.js +224 -0
  243. package/dist/stream/channel-registry.js.map +1 -0
  244. package/dist/stream/constants.cjs +11 -0
  245. package/dist/stream/constants.cjs.map +1 -0
  246. package/dist/stream/constants.d.cts +10 -0
  247. package/dist/stream/constants.d.cts.map +1 -0
  248. package/dist/stream/constants.d.ts +10 -0
  249. package/dist/stream/constants.d.ts.map +1 -0
  250. package/dist/stream/constants.js +11 -0
  251. package/dist/stream/constants.js.map +1 -0
  252. package/dist/stream/controller.cjs +933 -0
  253. package/dist/stream/controller.cjs.map +1 -0
  254. package/dist/stream/controller.d.cts +135 -0
  255. package/dist/stream/controller.d.cts.map +1 -0
  256. package/dist/stream/controller.d.ts +135 -0
  257. package/dist/stream/controller.d.ts.map +1 -0
  258. package/dist/stream/controller.js +910 -0
  259. package/dist/stream/controller.js.map +1 -0
  260. package/dist/stream/discovery/index.d.ts +2 -0
  261. package/dist/stream/discovery/subagents.cjs +235 -0
  262. package/dist/stream/discovery/subagents.cjs.map +1 -0
  263. package/dist/stream/discovery/subagents.d.cts +18 -0
  264. package/dist/stream/discovery/subagents.d.cts.map +1 -0
  265. package/dist/stream/discovery/subagents.d.ts +18 -0
  266. package/dist/stream/discovery/subagents.d.ts.map +1 -0
  267. package/dist/stream/discovery/subagents.js +235 -0
  268. package/dist/stream/discovery/subagents.js.map +1 -0
  269. package/dist/stream/discovery/subgraphs.cjs +153 -0
  270. package/dist/stream/discovery/subgraphs.cjs.map +1 -0
  271. package/dist/stream/discovery/subgraphs.d.cts +19 -0
  272. package/dist/stream/discovery/subgraphs.d.cts.map +1 -0
  273. package/dist/stream/discovery/subgraphs.d.ts +19 -0
  274. package/dist/stream/discovery/subgraphs.d.ts.map +1 -0
  275. package/dist/stream/discovery/subgraphs.js +153 -0
  276. package/dist/stream/discovery/subgraphs.js.map +1 -0
  277. package/dist/stream/index.cjs +36 -0
  278. package/dist/stream/index.d.cts +25 -0
  279. package/dist/stream/index.d.ts +25 -0
  280. package/dist/stream/index.js +16 -0
  281. package/dist/stream/lifecycle-loading-tracker.cjs +83 -0
  282. package/dist/stream/lifecycle-loading-tracker.cjs.map +1 -0
  283. package/dist/stream/lifecycle-loading-tracker.js +83 -0
  284. package/dist/stream/lifecycle-loading-tracker.js.map +1 -0
  285. package/dist/stream/message-metadata-tracker.cjs +165 -0
  286. package/dist/stream/message-metadata-tracker.cjs.map +1 -0
  287. package/dist/stream/message-metadata-tracker.d.cts +24 -0
  288. package/dist/stream/message-metadata-tracker.d.cts.map +1 -0
  289. package/dist/stream/message-metadata-tracker.d.ts +24 -0
  290. package/dist/stream/message-metadata-tracker.d.ts.map +1 -0
  291. package/dist/stream/message-metadata-tracker.js +165 -0
  292. package/dist/stream/message-metadata-tracker.js.map +1 -0
  293. package/dist/stream/message-reconciliation.cjs +118 -0
  294. package/dist/stream/message-reconciliation.cjs.map +1 -0
  295. package/dist/stream/message-reconciliation.js +115 -0
  296. package/dist/stream/message-reconciliation.js.map +1 -0
  297. package/dist/stream/namespace.cjs +54 -0
  298. package/dist/stream/namespace.cjs.map +1 -0
  299. package/dist/stream/namespace.js +49 -0
  300. package/dist/stream/namespace.js.map +1 -0
  301. package/dist/stream/projections/channel.cjs +53 -0
  302. package/dist/stream/projections/channel.cjs.map +1 -0
  303. package/dist/stream/projections/channel.d.cts +22 -0
  304. package/dist/stream/projections/channel.d.cts.map +1 -0
  305. package/dist/stream/projections/channel.d.ts +22 -0
  306. package/dist/stream/projections/channel.d.ts.map +1 -0
  307. package/dist/stream/projections/channel.js +53 -0
  308. package/dist/stream/projections/channel.js.map +1 -0
  309. package/dist/stream/projections/extension.cjs +29 -0
  310. package/dist/stream/projections/extension.cjs.map +1 -0
  311. package/dist/stream/projections/extension.d.cts +7 -0
  312. package/dist/stream/projections/extension.d.cts.map +1 -0
  313. package/dist/stream/projections/extension.d.ts +7 -0
  314. package/dist/stream/projections/extension.d.ts.map +1 -0
  315. package/dist/stream/projections/extension.js +29 -0
  316. package/dist/stream/projections/extension.js.map +1 -0
  317. package/dist/stream/projections/index.cjs +6 -0
  318. package/dist/stream/projections/index.d.ts +6 -0
  319. package/dist/stream/projections/index.js +7 -0
  320. package/dist/stream/projections/media.cjs +81 -0
  321. package/dist/stream/projections/media.cjs.map +1 -0
  322. package/dist/stream/projections/media.d.cts +18 -0
  323. package/dist/stream/projections/media.d.cts.map +1 -0
  324. package/dist/stream/projections/media.d.ts +18 -0
  325. package/dist/stream/projections/media.d.ts.map +1 -0
  326. package/dist/stream/projections/media.js +78 -0
  327. package/dist/stream/projections/media.js.map +1 -0
  328. package/dist/stream/projections/messages.cjs +121 -0
  329. package/dist/stream/projections/messages.cjs.map +1 -0
  330. package/dist/stream/projections/messages.d.cts +8 -0
  331. package/dist/stream/projections/messages.d.cts.map +1 -0
  332. package/dist/stream/projections/messages.d.ts +8 -0
  333. package/dist/stream/projections/messages.d.ts.map +1 -0
  334. package/dist/stream/projections/messages.js +121 -0
  335. package/dist/stream/projections/messages.js.map +1 -0
  336. package/dist/stream/projections/runtime.cjs +44 -0
  337. package/dist/stream/projections/runtime.cjs.map +1 -0
  338. package/dist/stream/projections/runtime.js +44 -0
  339. package/dist/stream/projections/runtime.js.map +1 -0
  340. package/dist/stream/projections/tool-calls.cjs +50 -0
  341. package/dist/stream/projections/tool-calls.cjs.map +1 -0
  342. package/dist/stream/projections/tool-calls.d.cts +8 -0
  343. package/dist/stream/projections/tool-calls.d.cts.map +1 -0
  344. package/dist/stream/projections/tool-calls.d.ts +8 -0
  345. package/dist/stream/projections/tool-calls.d.ts.map +1 -0
  346. package/dist/stream/projections/tool-calls.js +50 -0
  347. package/dist/stream/projections/tool-calls.js.map +1 -0
  348. package/dist/stream/projections/values.cjs +52 -0
  349. package/dist/stream/projections/values.cjs.map +1 -0
  350. package/dist/stream/projections/values.d.cts +7 -0
  351. package/dist/stream/projections/values.d.cts.map +1 -0
  352. package/dist/stream/projections/values.d.ts +6 -0
  353. package/dist/stream/projections/values.d.ts.map +1 -0
  354. package/dist/stream/projections/values.js +52 -0
  355. package/dist/stream/projections/values.js.map +1 -0
  356. package/dist/stream/root-message-projection.cjs +256 -0
  357. package/dist/stream/root-message-projection.cjs.map +1 -0
  358. package/dist/stream/root-message-projection.js +256 -0
  359. package/dist/stream/root-message-projection.js.map +1 -0
  360. package/dist/stream/store.cjs +32 -0
  361. package/dist/stream/store.cjs.map +1 -0
  362. package/dist/stream/store.d.cts +37 -0
  363. package/dist/stream/store.d.cts.map +1 -0
  364. package/dist/stream/store.d.ts +37 -0
  365. package/dist/stream/store.d.ts.map +1 -0
  366. package/dist/stream/store.js +32 -0
  367. package/dist/stream/store.js.map +1 -0
  368. package/dist/stream/submit-coordinator.cjs +399 -0
  369. package/dist/stream/submit-coordinator.cjs.map +1 -0
  370. package/dist/stream/submit-coordinator.d.cts +27 -0
  371. package/dist/stream/submit-coordinator.d.cts.map +1 -0
  372. package/dist/stream/submit-coordinator.d.ts +27 -0
  373. package/dist/stream/submit-coordinator.d.ts.map +1 -0
  374. package/dist/stream/submit-coordinator.js +397 -0
  375. package/dist/stream/submit-coordinator.js.map +1 -0
  376. package/dist/stream/tool-calls.cjs +15 -0
  377. package/dist/stream/tool-calls.cjs.map +1 -0
  378. package/dist/stream/tool-calls.js +15 -0
  379. package/dist/stream/tool-calls.js.map +1 -0
  380. package/dist/stream/types-inference.d.cts +43 -0
  381. package/dist/stream/types-inference.d.cts.map +1 -0
  382. package/dist/stream/types-inference.d.ts +43 -0
  383. package/dist/stream/types-inference.d.ts.map +1 -0
  384. package/dist/stream/types.d.cts +354 -0
  385. package/dist/stream/types.d.cts.map +1 -0
  386. package/dist/stream/types.d.ts +354 -0
  387. package/dist/stream/types.d.ts.map +1 -0
  388. package/dist/types.d.cts +2 -1
  389. package/dist/types.d.cts.map +1 -1
  390. package/dist/types.d.ts +2 -1
  391. package/dist/types.d.ts.map +1 -1
  392. package/dist/ui/index.cjs +1 -1
  393. package/dist/ui/index.d.cts +3 -3
  394. package/dist/ui/index.d.ts +3 -3
  395. package/dist/ui/index.js +1 -1
  396. package/dist/ui/manager.cjs +1 -1
  397. package/dist/ui/manager.js +1 -1
  398. package/dist/ui/messages.cjs +50 -7
  399. package/dist/ui/messages.cjs.map +1 -1
  400. package/dist/ui/messages.d.cts.map +1 -1
  401. package/dist/ui/messages.d.ts.map +1 -1
  402. package/dist/ui/messages.js +51 -9
  403. package/dist/ui/messages.js.map +1 -1
  404. package/dist/ui/orchestrator-custom.cjs +1 -1
  405. package/dist/ui/orchestrator-custom.js +1 -1
  406. package/dist/ui/orchestrator.cjs +2 -2
  407. package/dist/ui/orchestrator.d.cts +1 -1
  408. package/dist/ui/orchestrator.d.ts +1 -1
  409. package/dist/ui/orchestrator.d.ts.map +1 -1
  410. package/dist/ui/orchestrator.js +2 -2
  411. package/dist/ui/stream/agent.d.cts +1 -1
  412. package/dist/ui/stream/agent.d.cts.map +1 -1
  413. package/dist/ui/stream/agent.d.ts +1 -1
  414. package/dist/ui/stream/agent.d.ts.map +1 -1
  415. package/dist/ui/stream/base.d.cts +7 -6
  416. package/dist/ui/stream/base.d.cts.map +1 -1
  417. package/dist/ui/stream/base.d.ts +7 -6
  418. package/dist/ui/stream/base.d.ts.map +1 -1
  419. package/dist/ui/stream/deep-agent.d.cts +1 -1
  420. package/dist/ui/stream/deep-agent.d.cts.map +1 -1
  421. package/dist/ui/stream/deep-agent.d.ts +1 -1
  422. package/dist/ui/stream/deep-agent.d.ts.map +1 -1
  423. package/dist/ui/stream/index.d.cts +4 -4
  424. package/dist/ui/stream/index.d.cts.map +1 -1
  425. package/dist/ui/stream/index.d.ts +4 -4
  426. package/dist/ui/stream/index.d.ts.map +1 -1
  427. package/dist/ui/types.d.cts +3 -2
  428. package/dist/ui/types.d.cts.map +1 -1
  429. package/dist/ui/types.d.ts +2 -1
  430. package/dist/ui/types.d.ts.map +1 -1
  431. package/package.json +18 -8
  432. package/dist/client.cjs.map +0 -1
  433. package/dist/client.d.cts.map +0 -1
  434. package/dist/client.d.ts.map +0 -1
  435. package/dist/client.js.map +0 -1
@@ -0,0 +1,104 @@
1
+ import { Command, CommandResponse, ErrorResponse, Message, SubscribeParams } from "@langchain/protocol";
2
+
3
+ //#region src/client/stream/transport.d.ts
4
+ /**
5
+ * Handle returned by {@link TransportAdapter.openEventStream} representing
6
+ * a single filtered SSE connection.
7
+ *
8
+ * The `ready` promise resolves once the underlying connection is
9
+ * established (response headers received), letting callers ensure the
10
+ * subscription is active server-side before proceeding.
11
+ */
12
+ interface EventStreamHandle {
13
+ events: AsyncIterable<Message>;
14
+ ready: Promise<void>;
15
+ close(): void;
16
+ }
17
+ /**
18
+ * Transport abstraction implemented by concrete client transports such as
19
+ * WebSocket or SSE adapters.
20
+ *
21
+ * In the thread-centric protocol, transports are bound to a specific
22
+ * thread at construction time — the thread ID is part of the connection URL.
23
+ */
24
+ interface TransportAdapter {
25
+ /**
26
+ * Thread ID this transport is bound to.
27
+ */
28
+ readonly threadId: string;
29
+ /**
30
+ * Opens the underlying connection (e.g. WebSocket handshake).
31
+ * For HTTP/SSE transports this is a no-op.
32
+ */
33
+ open(): Promise<void>;
34
+ /**
35
+ * Sends a command and optionally returns an immediate response.
36
+ *
37
+ * @param command - Protocol command to send over the transport.
38
+ */
39
+ send(command: Command): Promise<CommandResponse | ErrorResponse | void>;
40
+ /**
41
+ * Streams incoming protocol messages from the remote peer.
42
+ * Used by WebSocket transports where all events share one connection.
43
+ */
44
+ events(): AsyncIterable<Message>;
45
+ /**
46
+ * Opens an independent filtered SSE event stream.
47
+ * Each call creates a new server connection with the given filter.
48
+ * Returns `undefined` when the transport does not support per-subscription
49
+ * streams (e.g. WebSocket), in which case the caller should fall back to
50
+ * command-based subscriptions over {@link events}.
51
+ */
52
+ openEventStream?(params: SubscribeParams): EventStreamHandle;
53
+ /**
54
+ * Shuts down the transport and releases any underlying resources.
55
+ */
56
+ close(): Promise<void>;
57
+ }
58
+ /**
59
+ * Public v1 name for {@link TransportAdapter} plus optional high-level
60
+ * capabilities. Renamed to reflect that this interface now denotes the
61
+ * full agent-server protocol contract (not merely wire transport):
62
+ * any object that satisfies it can back a `useStream` call. See
63
+ * `plan-custom-transport.md` §4 for the rollout.
64
+ *
65
+ * The extra optional methods let adapters surface thread state and
66
+ * history without the framework needing to issue a parallel HTTP
67
+ * request — `useStream.hydrate()` calls `getState?()` when present
68
+ * and falls back to `client.threads.getState` otherwise. Adapters
69
+ * that don't know how to produce these values can simply omit them.
70
+ *
71
+ * The legacy `TransportAdapter` export is retained for back-compat and
72
+ * resolves to the same structural type; new code should prefer
73
+ * `AgentServerAdapter`.
74
+ */
75
+ interface AgentServerAdapter extends TransportAdapter {
76
+ /**
77
+ * Fetch the latest checkpointed state for the bound thread. When
78
+ * the adapter doesn't expose state (e.g. a purely event-replay
79
+ * backend), leave this undefined — the framework will skip
80
+ * hydration.
81
+ */
82
+ getState?<StateType = unknown>(): Promise<{
83
+ values: StateType;
84
+ checkpoint?: {
85
+ checkpoint_id?: string;
86
+ } | null;
87
+ } | null>;
88
+ /**
89
+ * Fetch a slice of checkpoint history for the bound thread. Used
90
+ * by branching and time-travel UIs. Optional — omitting it turns
91
+ * those UIs into no-ops rather than surfacing an error.
92
+ */
93
+ getHistory?<StateType = unknown>(options?: {
94
+ limit?: number;
95
+ }): Promise<Array<{
96
+ values: StateType;
97
+ checkpoint?: {
98
+ checkpoint_id?: string;
99
+ } | null;
100
+ }>>;
101
+ }
102
+ //#endregion
103
+ export { AgentServerAdapter, EventStreamHandle, TransportAdapter };
104
+ //# sourceMappingURL=transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport.d.ts","names":[],"sources":["../../../src/client/stream/transport.ts"],"mappings":";;;;;AAgBA;;;;;;UAAiB,iBAAA;EACf,MAAA,EAAQ,aAAA,CAAc,OAAA;EACtB,KAAA,EAAO,OAAA;EACP,KAAA;AAAA;;;;;;AAUF;;UAAiB,gBAAA;EASP;;;EAAA,SALC,QAAA;EAWe;;;;EANxB,IAAA,IAAQ,OAAA;EAuBC;;;;;EAjBT,IAAA,CAAK,OAAA,EAAS,OAAA,GAAU,OAAA,CAAQ,eAAA,GAAkB,aAAA;EAAlD;;;;EAKA,MAAA,IAAU,aAAA,CAAc,OAAA;EAL0B;;;;;;;EAalD,eAAA,EAAiB,MAAA,EAAQ,eAAA,GAAkB,iBAAA;EAI3C;;;EAAA,KAAA,IAAS,OAAA;AAAA;;;;;;;;;;;;;;;;;;UAoBM,kBAAA,SAA2B,gBAAA;EAgB1C;;;;;;EATA,QAAA,0BAAkC,OAAA;IAChC,MAAA,EAAQ,SAAA;IACR,UAAA;MAAe,aAAA;IAAA;EAAA;;;;;;EAOjB,UAAA,uBAAiC,OAAA;IAC/B,KAAA;EAAA,IACE,OAAA,CACF,KAAA;IACE,MAAA,EAAQ,SAAA;IACR,UAAA;MAAe,aAAA;IAAA;EAAA;AAAA"}
@@ -0,0 +1,208 @@
1
+ import { AssembledMessage } from "./messages.cjs";
2
+ import { AgentServerAdapter } from "./transport.cjs";
3
+ import { AgentResult, Channel, Event, InputInjectParams, InputRespondParams, ListCheckpointsParams, ListCheckpointsResult, RunResult, RunStartParams, StateForkParams, StateForkResult, StateGetParams, StateGetResult, SubscribeParams } from "@langchain/protocol";
4
+
5
+ //#region src/client/stream/types.d.ts
6
+ interface ExtendedRunStartParams extends RunStartParams {
7
+ forkFrom?: {
8
+ checkpointId: string;
9
+ };
10
+ multitaskStrategy?: "reject" | "rollback" | "interrupt" | "enqueue";
11
+ }
12
+ type SubscribeOptions = Omit<SubscribeParams, "channels">;
13
+ type EventMethodByChannel = {
14
+ values: "values";
15
+ updates: "updates";
16
+ messages: "messages";
17
+ tools: "tools";
18
+ custom: "custom";
19
+ lifecycle: "lifecycle";
20
+ input: "input.requested";
21
+ debug: "debug";
22
+ checkpoints: "checkpoints";
23
+ tasks: "tasks";
24
+ };
25
+ type EventForChannel<TChannel extends Channel> = TChannel extends keyof EventMethodByChannel ? Extract<Event, {
26
+ method: EventMethodByChannel[TChannel];
27
+ }> : TChannel extends `custom:${string}` ? Extract<Event, {
28
+ method: "custom";
29
+ }> : never;
30
+ type EventForChannels<TChannels extends readonly Channel[]> = EventForChannel<TChannels[number]>;
31
+ /**
32
+ * Maps a subscribable channel to the type yielded by its subscription handle.
33
+ *
34
+ * - `"custom:name"` channels yield `unknown` (the raw emitted payload).
35
+ * - All other channels yield the full protocol `Event`.
36
+ */
37
+ type YieldForChannel<TChannel extends Channel> = TChannel extends `custom:${string}` ? unknown : EventForChannel<TChannel>;
38
+ type YieldForChannels<TChannels extends readonly Channel[]> = YieldForChannel<TChannels[number]>;
39
+ /**
40
+ * Built-in wire transport used by {@link ThreadStream}.
41
+ *
42
+ * - `"sse"`: HTTP commands + one SSE event stream per subscription.
43
+ * Works in browsers without extra setup.
44
+ * - `"websocket"`: single bidirectional WebSocket. Lower overhead for
45
+ * long-lived, multi-subscription sessions.
46
+ */
47
+ type ThreadStreamTransportKind = "sse" | "websocket";
48
+ /**
49
+ * Accepted values for `ThreadStreamOptions["transport"]`.
50
+ *
51
+ * - A {@link ThreadStreamTransportKind} string picks one of the
52
+ * built-in factories; `fetch` / `webSocketFactory` tune that path.
53
+ * - An {@link AgentServerAdapter} bypasses the built-in factories
54
+ * entirely; the adapter is used for every command and subscription.
55
+ */
56
+ type ThreadStreamTransport = ThreadStreamTransportKind | AgentServerAdapter;
57
+ /**
58
+ * Options for {@link ThreadStream} construction.
59
+ */
60
+ interface ThreadStreamOptions {
61
+ /**
62
+ * Assistant that this thread runs on. A thread is bound to one
63
+ * assistant for its lifetime — subsequent `run.start` calls always
64
+ * use this assistant.
65
+ */
66
+ assistantId: string;
67
+ /**
68
+ * How this thread talks to the agent server. Accepts either a
69
+ * built-in transport string or a custom {@link AgentServerAdapter}:
70
+ *
71
+ * - `"sse"`: HTTP commands + one SSE event stream per subscription.
72
+ * - `"websocket"`: single bidirectional WebSocket.
73
+ * - an {@link AgentServerAdapter}: custom transport that replaces
74
+ * the built-in factories entirely. `fetch` / `webSocketFactory`
75
+ * are ignored in this mode.
76
+ *
77
+ * Defaults to the client-level `streamProtocol`
78
+ * (`"v2-websocket"` → `"websocket"`, otherwise `"sse"`).
79
+ */
80
+ transport?: ThreadStreamTransport;
81
+ /**
82
+ * Starting command ID for the internal command counter. Mostly
83
+ * useful for tests.
84
+ */
85
+ startingCommandId?: number;
86
+ /**
87
+ * Optional `fetch` implementation for the built-in SSE transport.
88
+ * Useful for test environments, custom auth/proxy layers, or
89
+ * non-global fetch (e.g. Node without a global fetch, or injected
90
+ * mocks). Ignored for the WebSocket transport and for custom
91
+ * {@link AgentServerAdapter}s.
92
+ */
93
+ fetch?: typeof fetch;
94
+ /**
95
+ * Optional WebSocket factory for the built-in WebSocket transport.
96
+ * Useful for test environments that don't ship a global `WebSocket`,
97
+ * or to wrap the socket with custom headers/subprotocols. Ignored
98
+ * for the SSE transport and for custom {@link AgentServerAdapter}s.
99
+ */
100
+ webSocketFactory?: (url: string) => WebSocket;
101
+ }
102
+ interface SessionOrderingState {
103
+ lastSeenSeq?: number;
104
+ lastAppliedThroughSeq?: number;
105
+ lastEventId?: string;
106
+ }
107
+ interface EventSubscription<TYield = Event> extends AsyncIterable<TYield> {
108
+ readonly subscriptionId: string;
109
+ readonly params: SubscribeParams;
110
+ unsubscribe(): Promise<void>;
111
+ }
112
+ interface MessageSubscription extends AsyncIterable<AssembledMessage> {
113
+ readonly subscriptionId: string;
114
+ readonly params: SubscribeParams;
115
+ unsubscribe(): Promise<void>;
116
+ }
117
+ interface InputModule {
118
+ respond(params: InputRespondParams): Promise<void>;
119
+ inject(params: InputInjectParams): Promise<void>;
120
+ }
121
+ interface StateModule {
122
+ get(params: StateGetParams): Promise<StateGetResult>;
123
+ listCheckpoints(params: ListCheckpointsParams): Promise<ListCheckpointsResult>;
124
+ fork(params: StateForkParams): Promise<StateForkResult>;
125
+ }
126
+ /**
127
+ * Modules exposed by the high-level {@link ThreadStream} wrapper.
128
+ */
129
+ interface ThreadModules {
130
+ run: {
131
+ /**
132
+ * Start a new run, resume an interrupted run, or inject input into
133
+ * an active run on this thread. The assistant is fixed by the
134
+ * {@link ThreadStream} constructor and cannot be changed per-call.
135
+ */
136
+ start(params: Omit<ExtendedRunStartParams, "assistant_id">): Promise<RunResult>;
137
+ };
138
+ agent: {
139
+ getTree(params?: {
140
+ run_id?: string;
141
+ }): Promise<AgentResult>;
142
+ };
143
+ input: InputModule;
144
+ state: StateModule;
145
+ }
146
+ /**
147
+ * Human-in-the-loop interrupt payload surfaced from lifecycle events.
148
+ * Matches the in-process `InterruptPayload` type.
149
+ */
150
+ interface InterruptPayload<TPayload = unknown> {
151
+ interruptId: string;
152
+ payload: TPayload;
153
+ namespace: string[];
154
+ }
155
+ /**
156
+ * Remote counterpart of an in-process `run.extensions.<name>` projection.
157
+ *
158
+ * Each extension is the client-side view of a compile-time
159
+ * {@link StreamTransformer} projection. The server auto-forwards named
160
+ * `StreamChannel.remote(name)` outputs on the `custom:<name>` channel, and
161
+ * this handle exposes them via two dual interfaces:
162
+ *
163
+ * - `AsyncIterable<T>` — iterate every item pushed by a streaming
164
+ * transformer (e.g. a `StreamChannel`).
165
+ * - `PromiseLike<T>` — `await` resolves with the final value observed
166
+ * when the run terminates. For streaming transformers this is the
167
+ * last item pushed; for final-value transformers it is the single
168
+ * value emitted on run end.
169
+ *
170
+ * Subscribing is lazy: the underlying `custom:<name>` subscription is
171
+ * opened on first property access and cached.
172
+ */
173
+ interface ThreadExtension<T = unknown> extends AsyncIterable<T>, PromiseLike<T> {}
174
+ /**
175
+ * Unwrap a single in-process projection value to its observable payload
176
+ * type:
177
+ *
178
+ * - `Promise<T>` / `PromiseLike<T>` → `T` (final-value transformers)
179
+ * - `StreamChannel<T>` / `AsyncIterable<T>` → `T` (streaming transformers)
180
+ * - anything else → the value itself
181
+ *
182
+ * This lets a `ThreadStream<TExtensions>` generic accept the same shape
183
+ * that `graph.streamEvents(..., { version: "v3" })` returns in-process
184
+ * (via `InferExtensions<TTransformers>` from `@langchain/langgraph`),
185
+ * without forcing users to redeclare payload types on the remote side.
186
+ */
187
+ type UnwrapExtension<T> = T extends PromiseLike<infer U> ? U : T extends AsyncIterable<infer U> ? U : T;
188
+ /**
189
+ * Keyed map of {@link ThreadExtension} handles, typed off a declared
190
+ * transformer projection shape.
191
+ *
192
+ * Used as the return type of `ThreadStream.extensions`. `TExtensions`
193
+ * is expected to match the in-process `run.extensions` shape (i.e. the
194
+ * output of `InferExtensions<TTransformers>` from
195
+ * `@langchain/langgraph`); each value type is unwrapped via
196
+ * {@link UnwrapExtension} so `thread.extensions.foo` resolves with the
197
+ * transformer's emitted payload, not the in-process `Promise<T>` /
198
+ * `StreamChannel<T>` wrapper.
199
+ *
200
+ * Access any string key to obtain a `ThreadExtension<unknown>`; keys
201
+ * that appear in `TExtensions` narrow to their declared payload type.
202
+ */
203
+ type ThreadExtensions<TExtensions extends Record<string, unknown> = Record<string, unknown>> = { readonly [K in keyof TExtensions]: ThreadExtension<UnwrapExtension<TExtensions[K]>> } & {
204
+ readonly [name: string]: ThreadExtension<unknown>;
205
+ };
206
+ //#endregion
207
+ export { EventForChannel, EventForChannels, EventMethodByChannel, EventSubscription, ExtendedRunStartParams, InputModule, InterruptPayload, MessageSubscription, SessionOrderingState, StateModule, SubscribeOptions, ThreadExtension, ThreadExtensions, ThreadModules, ThreadStreamOptions, ThreadStreamTransport, ThreadStreamTransportKind, UnwrapExtension, YieldForChannel, YieldForChannels };
208
+ //# sourceMappingURL=types.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.cts","names":[],"sources":["../../../src/client/stream/types.ts"],"mappings":";;;;;UAoBiB,sBAAA,SAA+B,cAAA;EAC9C,QAAA;IAAa,YAAA;EAAA;EACb,iBAAA;AAAA;AAAA,KAGU,gBAAA,GAAmB,IAAA,CAAK,eAAA;AAAA,KAExB,oBAAA;EACV,MAAA;EACA,OAAA;EACA,QAAA;EACA,KAAA;EACA,MAAA;EACA,SAAA;EACA,KAAA;EACA,KAAA;EACA,WAAA;EACA,KAAA;AAAA;AAAA,KAGU,eAAA,kBAAiC,OAAA,IAC3C,QAAA,eAAuB,oBAAA,GACnB,OAAA,CAAQ,KAAA;EAAS,MAAA,EAAQ,oBAAA,CAAqB,QAAA;AAAA,KAC9C,QAAA,8BACE,OAAA,CAAQ,KAAA;EAAS,MAAA;AAAA;AAAA,KAGb,gBAAA,4BAA4C,OAAA,MACtD,eAAA,CAAgB,SAAA;;;;;;;KAQN,eAAA,kBAAiC,OAAA,IAC3C,QAAA,wCAAgD,eAAA,CAAgB,QAAA;AAAA,KAEtD,gBAAA,4BAA4C,OAAA,MACtD,eAAA,CAAgB,SAAA;AApBlB;;;;;;;;AAAA,KA8BY,yBAAA;;;;;;;;;KAUA,qBAAA,GACR,yBAAA,GACA,kBAAA;;;;UAKa,mBAAA;EA7Cc;;;;;EAmD7B,WAAA;EAjD6B;;AAG/B;;;;;;;;;;;EA4DE,SAAA,GAAY,qBAAA;EA3Da;;AAQ3B;;EAwDE,iBAAA;EAxD2C;;;;;;;EAgE3C,KAAA,UAAe,KAAA;EA/Df;;;;;AAEF;EAoEE,gBAAA,IAAoB,GAAA,aAAgB,SAAA;AAAA;AAAA,UAGrB,oBAAA;EACf,WAAA;EACA,qBAAA;EACA,WAAA;AAAA;AAAA,UAGe,iBAAA,UACN,KAAA,UACD,aAAA,CAAc,MAAA;EAAA,SACb,cAAA;EAAA,SACA,MAAA,EAAQ,eAAA;EACjB,WAAA,IAAe,OAAA;AAAA;AAAA,UAGA,mBAAA,SAA4B,aAAA,CAAc,gBAAA;EAAA,SAChD,cAAA;EAAA,SACA,MAAA,EAAQ,eAAA;EACjB,WAAA,IAAe,OAAA;AAAA;AAAA,UAGA,WAAA;EACf,OAAA,CAAQ,MAAA,EAAQ,kBAAA,GAAqB,OAAA;EACrC,MAAA,CAAO,MAAA,EAAQ,iBAAA,GAAoB,OAAA;AAAA;AAAA,UAGpB,WAAA;EACf,GAAA,CAAI,MAAA,EAAQ,cAAA,GAAiB,OAAA,CAAQ,cAAA;EACrC,eAAA,CACE,MAAA,EAAQ,qBAAA,GACP,OAAA,CAAQ,qBAAA;EACX,IAAA,CAAK,MAAA,EAAQ,eAAA,GAAkB,OAAA,CAAQ,eAAA;AAAA;;;;UAMxB,aAAA;EACf,GAAA;IA1EA;;;;;IAgFE,KAAA,CACE,MAAA,EAAQ,IAAA,CAAK,sBAAA,oBACZ,OAAA,CAAQ,SAAA;EAAA;EAEb,KAAA;IACE,OAAA,CAAQ,MAAA;MAAW,MAAA;IAAA,IAAoB,OAAA,CAAQ,WAAA;EAAA;EAEjD,KAAA,EAAO,WAAA;EACP,KAAA,EAAO,WAAA;AAAA;;;;;UAOQ,gBAAA;EACf,WAAA;EACA,OAAA,EAAS,QAAA;EACT,SAAA;AAAA;;;;;;;;;;;;;;;;;;AA/CF;UAoEiB,eAAA,sBACP,aAAA,CAAc,CAAA,GAAI,WAAA,CAAY,CAAA;;;;;;;;;;;;;;KAe5B,eAAA,MACV,CAAA,SAAU,WAAA,YAAuB,CAAA,GAAI,CAAA,SAAU,aAAA,YAAyB,CAAA,GAAI,CAAA;;AA/E9E;;;;;;;;;;;;;;KAgGY,gBAAA,qBACU,MAAA,oBAA0B,MAAA,4CAEzB,WAAA,GAAc,eAAA,CACjC,eAAA,CAAgB,WAAA,CAAY,CAAA;EAAA,UAGpB,IAAA,WAAe,eAAA;AAAA"}
@@ -0,0 +1,208 @@
1
+ import { AssembledMessage } from "./messages.js";
2
+ import { AgentServerAdapter } from "./transport.js";
3
+ import { AgentResult, Channel, Event, InputInjectParams, InputRespondParams, ListCheckpointsParams, ListCheckpointsResult, RunResult, RunStartParams, StateForkParams, StateForkResult, StateGetParams, StateGetResult, SubscribeParams } from "@langchain/protocol";
4
+
5
+ //#region src/client/stream/types.d.ts
6
+ interface ExtendedRunStartParams extends RunStartParams {
7
+ forkFrom?: {
8
+ checkpointId: string;
9
+ };
10
+ multitaskStrategy?: "reject" | "rollback" | "interrupt" | "enqueue";
11
+ }
12
+ type SubscribeOptions = Omit<SubscribeParams, "channels">;
13
+ type EventMethodByChannel = {
14
+ values: "values";
15
+ updates: "updates";
16
+ messages: "messages";
17
+ tools: "tools";
18
+ custom: "custom";
19
+ lifecycle: "lifecycle";
20
+ input: "input.requested";
21
+ debug: "debug";
22
+ checkpoints: "checkpoints";
23
+ tasks: "tasks";
24
+ };
25
+ type EventForChannel<TChannel extends Channel> = TChannel extends keyof EventMethodByChannel ? Extract<Event, {
26
+ method: EventMethodByChannel[TChannel];
27
+ }> : TChannel extends `custom:${string}` ? Extract<Event, {
28
+ method: "custom";
29
+ }> : never;
30
+ type EventForChannels<TChannels extends readonly Channel[]> = EventForChannel<TChannels[number]>;
31
+ /**
32
+ * Maps a subscribable channel to the type yielded by its subscription handle.
33
+ *
34
+ * - `"custom:name"` channels yield `unknown` (the raw emitted payload).
35
+ * - All other channels yield the full protocol `Event`.
36
+ */
37
+ type YieldForChannel<TChannel extends Channel> = TChannel extends `custom:${string}` ? unknown : EventForChannel<TChannel>;
38
+ type YieldForChannels<TChannels extends readonly Channel[]> = YieldForChannel<TChannels[number]>;
39
+ /**
40
+ * Built-in wire transport used by {@link ThreadStream}.
41
+ *
42
+ * - `"sse"`: HTTP commands + one SSE event stream per subscription.
43
+ * Works in browsers without extra setup.
44
+ * - `"websocket"`: single bidirectional WebSocket. Lower overhead for
45
+ * long-lived, multi-subscription sessions.
46
+ */
47
+ type ThreadStreamTransportKind = "sse" | "websocket";
48
+ /**
49
+ * Accepted values for `ThreadStreamOptions["transport"]`.
50
+ *
51
+ * - A {@link ThreadStreamTransportKind} string picks one of the
52
+ * built-in factories; `fetch` / `webSocketFactory` tune that path.
53
+ * - An {@link AgentServerAdapter} bypasses the built-in factories
54
+ * entirely; the adapter is used for every command and subscription.
55
+ */
56
+ type ThreadStreamTransport = ThreadStreamTransportKind | AgentServerAdapter;
57
+ /**
58
+ * Options for {@link ThreadStream} construction.
59
+ */
60
+ interface ThreadStreamOptions {
61
+ /**
62
+ * Assistant that this thread runs on. A thread is bound to one
63
+ * assistant for its lifetime — subsequent `run.start` calls always
64
+ * use this assistant.
65
+ */
66
+ assistantId: string;
67
+ /**
68
+ * How this thread talks to the agent server. Accepts either a
69
+ * built-in transport string or a custom {@link AgentServerAdapter}:
70
+ *
71
+ * - `"sse"`: HTTP commands + one SSE event stream per subscription.
72
+ * - `"websocket"`: single bidirectional WebSocket.
73
+ * - an {@link AgentServerAdapter}: custom transport that replaces
74
+ * the built-in factories entirely. `fetch` / `webSocketFactory`
75
+ * are ignored in this mode.
76
+ *
77
+ * Defaults to the client-level `streamProtocol`
78
+ * (`"v2-websocket"` → `"websocket"`, otherwise `"sse"`).
79
+ */
80
+ transport?: ThreadStreamTransport;
81
+ /**
82
+ * Starting command ID for the internal command counter. Mostly
83
+ * useful for tests.
84
+ */
85
+ startingCommandId?: number;
86
+ /**
87
+ * Optional `fetch` implementation for the built-in SSE transport.
88
+ * Useful for test environments, custom auth/proxy layers, or
89
+ * non-global fetch (e.g. Node without a global fetch, or injected
90
+ * mocks). Ignored for the WebSocket transport and for custom
91
+ * {@link AgentServerAdapter}s.
92
+ */
93
+ fetch?: typeof fetch;
94
+ /**
95
+ * Optional WebSocket factory for the built-in WebSocket transport.
96
+ * Useful for test environments that don't ship a global `WebSocket`,
97
+ * or to wrap the socket with custom headers/subprotocols. Ignored
98
+ * for the SSE transport and for custom {@link AgentServerAdapter}s.
99
+ */
100
+ webSocketFactory?: (url: string) => WebSocket;
101
+ }
102
+ interface SessionOrderingState {
103
+ lastSeenSeq?: number;
104
+ lastAppliedThroughSeq?: number;
105
+ lastEventId?: string;
106
+ }
107
+ interface EventSubscription<TYield = Event> extends AsyncIterable<TYield> {
108
+ readonly subscriptionId: string;
109
+ readonly params: SubscribeParams;
110
+ unsubscribe(): Promise<void>;
111
+ }
112
+ interface MessageSubscription extends AsyncIterable<AssembledMessage> {
113
+ readonly subscriptionId: string;
114
+ readonly params: SubscribeParams;
115
+ unsubscribe(): Promise<void>;
116
+ }
117
+ interface InputModule {
118
+ respond(params: InputRespondParams): Promise<void>;
119
+ inject(params: InputInjectParams): Promise<void>;
120
+ }
121
+ interface StateModule {
122
+ get(params: StateGetParams): Promise<StateGetResult>;
123
+ listCheckpoints(params: ListCheckpointsParams): Promise<ListCheckpointsResult>;
124
+ fork(params: StateForkParams): Promise<StateForkResult>;
125
+ }
126
+ /**
127
+ * Modules exposed by the high-level {@link ThreadStream} wrapper.
128
+ */
129
+ interface ThreadModules {
130
+ run: {
131
+ /**
132
+ * Start a new run, resume an interrupted run, or inject input into
133
+ * an active run on this thread. The assistant is fixed by the
134
+ * {@link ThreadStream} constructor and cannot be changed per-call.
135
+ */
136
+ start(params: Omit<ExtendedRunStartParams, "assistant_id">): Promise<RunResult>;
137
+ };
138
+ agent: {
139
+ getTree(params?: {
140
+ run_id?: string;
141
+ }): Promise<AgentResult>;
142
+ };
143
+ input: InputModule;
144
+ state: StateModule;
145
+ }
146
+ /**
147
+ * Human-in-the-loop interrupt payload surfaced from lifecycle events.
148
+ * Matches the in-process `InterruptPayload` type.
149
+ */
150
+ interface InterruptPayload<TPayload = unknown> {
151
+ interruptId: string;
152
+ payload: TPayload;
153
+ namespace: string[];
154
+ }
155
+ /**
156
+ * Remote counterpart of an in-process `run.extensions.<name>` projection.
157
+ *
158
+ * Each extension is the client-side view of a compile-time
159
+ * {@link StreamTransformer} projection. The server auto-forwards named
160
+ * `StreamChannel.remote(name)` outputs on the `custom:<name>` channel, and
161
+ * this handle exposes them via two dual interfaces:
162
+ *
163
+ * - `AsyncIterable<T>` — iterate every item pushed by a streaming
164
+ * transformer (e.g. a `StreamChannel`).
165
+ * - `PromiseLike<T>` — `await` resolves with the final value observed
166
+ * when the run terminates. For streaming transformers this is the
167
+ * last item pushed; for final-value transformers it is the single
168
+ * value emitted on run end.
169
+ *
170
+ * Subscribing is lazy: the underlying `custom:<name>` subscription is
171
+ * opened on first property access and cached.
172
+ */
173
+ interface ThreadExtension<T = unknown> extends AsyncIterable<T>, PromiseLike<T> {}
174
+ /**
175
+ * Unwrap a single in-process projection value to its observable payload
176
+ * type:
177
+ *
178
+ * - `Promise<T>` / `PromiseLike<T>` → `T` (final-value transformers)
179
+ * - `StreamChannel<T>` / `AsyncIterable<T>` → `T` (streaming transformers)
180
+ * - anything else → the value itself
181
+ *
182
+ * This lets a `ThreadStream<TExtensions>` generic accept the same shape
183
+ * that `graph.streamEvents(..., { version: "v3" })` returns in-process
184
+ * (via `InferExtensions<TTransformers>` from `@langchain/langgraph`),
185
+ * without forcing users to redeclare payload types on the remote side.
186
+ */
187
+ type UnwrapExtension<T> = T extends PromiseLike<infer U> ? U : T extends AsyncIterable<infer U> ? U : T;
188
+ /**
189
+ * Keyed map of {@link ThreadExtension} handles, typed off a declared
190
+ * transformer projection shape.
191
+ *
192
+ * Used as the return type of `ThreadStream.extensions`. `TExtensions`
193
+ * is expected to match the in-process `run.extensions` shape (i.e. the
194
+ * output of `InferExtensions<TTransformers>` from
195
+ * `@langchain/langgraph`); each value type is unwrapped via
196
+ * {@link UnwrapExtension} so `thread.extensions.foo` resolves with the
197
+ * transformer's emitted payload, not the in-process `Promise<T>` /
198
+ * `StreamChannel<T>` wrapper.
199
+ *
200
+ * Access any string key to obtain a `ThreadExtension<unknown>`; keys
201
+ * that appear in `TExtensions` narrow to their declared payload type.
202
+ */
203
+ type ThreadExtensions<TExtensions extends Record<string, unknown> = Record<string, unknown>> = { readonly [K in keyof TExtensions]: ThreadExtension<UnwrapExtension<TExtensions[K]>> } & {
204
+ readonly [name: string]: ThreadExtension<unknown>;
205
+ };
206
+ //#endregion
207
+ export { EventForChannel, EventForChannels, EventMethodByChannel, EventSubscription, ExtendedRunStartParams, InputModule, InterruptPayload, MessageSubscription, SessionOrderingState, StateModule, SubscribeOptions, ThreadExtension, ThreadExtensions, ThreadModules, ThreadStreamOptions, ThreadStreamTransport, ThreadStreamTransportKind, UnwrapExtension, YieldForChannel, YieldForChannels };
208
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","names":[],"sources":["../../../src/client/stream/types.ts"],"mappings":";;;;;UAoBiB,sBAAA,SAA+B,cAAA;EAC9C,QAAA;IAAa,YAAA;EAAA;EACb,iBAAA;AAAA;AAAA,KAGU,gBAAA,GAAmB,IAAA,CAAK,eAAA;AAAA,KAExB,oBAAA;EACV,MAAA;EACA,OAAA;EACA,QAAA;EACA,KAAA;EACA,MAAA;EACA,SAAA;EACA,KAAA;EACA,KAAA;EACA,WAAA;EACA,KAAA;AAAA;AAAA,KAGU,eAAA,kBAAiC,OAAA,IAC3C,QAAA,eAAuB,oBAAA,GACnB,OAAA,CAAQ,KAAA;EAAS,MAAA,EAAQ,oBAAA,CAAqB,QAAA;AAAA,KAC9C,QAAA,8BACE,OAAA,CAAQ,KAAA;EAAS,MAAA;AAAA;AAAA,KAGb,gBAAA,4BAA4C,OAAA,MACtD,eAAA,CAAgB,SAAA;;;;;;;KAQN,eAAA,kBAAiC,OAAA,IAC3C,QAAA,wCAAgD,eAAA,CAAgB,QAAA;AAAA,KAEtD,gBAAA,4BAA4C,OAAA,MACtD,eAAA,CAAgB,SAAA;AApBlB;;;;;;;;AAAA,KA8BY,yBAAA;;;;;;;;;KAUA,qBAAA,GACR,yBAAA,GACA,kBAAA;;;;UAKa,mBAAA;EA7Cc;;;;;EAmD7B,WAAA;EAjD6B;;AAG/B;;;;;;;;;;;EA4DE,SAAA,GAAY,qBAAA;EA3Da;;AAQ3B;;EAwDE,iBAAA;EAxD2C;;;;;;;EAgE3C,KAAA,UAAe,KAAA;EA/Df;;;;;AAEF;EAoEE,gBAAA,IAAoB,GAAA,aAAgB,SAAA;AAAA;AAAA,UAGrB,oBAAA;EACf,WAAA;EACA,qBAAA;EACA,WAAA;AAAA;AAAA,UAGe,iBAAA,UACN,KAAA,UACD,aAAA,CAAc,MAAA;EAAA,SACb,cAAA;EAAA,SACA,MAAA,EAAQ,eAAA;EACjB,WAAA,IAAe,OAAA;AAAA;AAAA,UAGA,mBAAA,SAA4B,aAAA,CAAc,gBAAA;EAAA,SAChD,cAAA;EAAA,SACA,MAAA,EAAQ,eAAA;EACjB,WAAA,IAAe,OAAA;AAAA;AAAA,UAGA,WAAA;EACf,OAAA,CAAQ,MAAA,EAAQ,kBAAA,GAAqB,OAAA;EACrC,MAAA,CAAO,MAAA,EAAQ,iBAAA,GAAoB,OAAA;AAAA;AAAA,UAGpB,WAAA;EACf,GAAA,CAAI,MAAA,EAAQ,cAAA,GAAiB,OAAA,CAAQ,cAAA;EACrC,eAAA,CACE,MAAA,EAAQ,qBAAA,GACP,OAAA,CAAQ,qBAAA;EACX,IAAA,CAAK,MAAA,EAAQ,eAAA,GAAkB,OAAA,CAAQ,eAAA;AAAA;;;;UAMxB,aAAA;EACf,GAAA;IA1EA;;;;;IAgFE,KAAA,CACE,MAAA,EAAQ,IAAA,CAAK,sBAAA,oBACZ,OAAA,CAAQ,SAAA;EAAA;EAEb,KAAA;IACE,OAAA,CAAQ,MAAA;MAAW,MAAA;IAAA,IAAoB,OAAA,CAAQ,WAAA;EAAA;EAEjD,KAAA,EAAO,WAAA;EACP,KAAA,EAAO,WAAA;AAAA;;;;;UAOQ,gBAAA;EACf,WAAA;EACA,OAAA,EAAS,QAAA;EACT,SAAA;AAAA;;;;;;;;;;;;;;;;;;AA/CF;UAoEiB,eAAA,sBACP,aAAA,CAAc,CAAA,GAAI,WAAA,CAAY,CAAA;;;;;;;;;;;;;;KAe5B,eAAA,MACV,CAAA,SAAU,WAAA,YAAuB,CAAA,GAAI,CAAA,SAAU,aAAA,YAAyB,CAAA,GAAI,CAAA;;AA/E9E;;;;;;;;;;;;;;KAgGY,gBAAA,qBACU,MAAA,oBAA0B,MAAA,4CAEzB,WAAA,GAAc,eAAA,CACjC,eAAA,CAAgB,WAAA,CAAY,CAAA;EAAA,UAGpB,IAAA,WAAe,eAAA;AAAA"}