@langchain/langgraph-sdk 1.8.10 → 1.9.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 (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,271 @@
1
+ require("../../_virtual/_rolldown/runtime.cjs");
2
+ const require_base = require("../base.cjs");
3
+ const require_index = require("../stream/index.cjs");
4
+ const require_http = require("../stream/transport/http.cjs");
5
+ const require_websocket = require("../stream/transport/websocket.cjs");
6
+ let uuid = require("uuid");
7
+ //#region src/client/threads/index.ts
8
+ var ThreadsClient = class extends require_base.BaseClient {
9
+ /**
10
+ * Get a thread by ID.
11
+ *
12
+ * @param threadId ID of the thread.
13
+ * @returns The thread.
14
+ */
15
+ async get(threadId, options) {
16
+ return this.fetch(`/threads/${threadId}`, {
17
+ params: { include: options?.include ?? void 0 },
18
+ signal: options?.signal
19
+ });
20
+ }
21
+ /**
22
+ * Create a new thread.
23
+ *
24
+ * @param payload Payload for creating a thread.
25
+ * @returns The created thread.
26
+ */
27
+ async create(payload) {
28
+ const ttlPayload = typeof payload?.ttl === "number" ? {
29
+ ttl: payload.ttl,
30
+ strategy: "delete"
31
+ } : payload?.ttl;
32
+ return this.fetch(`/threads`, {
33
+ method: "POST",
34
+ json: {
35
+ metadata: {
36
+ ...payload?.metadata,
37
+ graph_id: payload?.graphId
38
+ },
39
+ thread_id: payload?.threadId,
40
+ if_exists: payload?.ifExists,
41
+ supersteps: payload?.supersteps?.map((s) => ({ updates: s.updates.map((u) => ({
42
+ values: u.values,
43
+ command: u.command,
44
+ as_node: u.asNode
45
+ })) })),
46
+ ttl: ttlPayload
47
+ },
48
+ signal: payload?.signal
49
+ });
50
+ }
51
+ /**
52
+ * Copy an existing thread
53
+ * @param threadId ID of the thread to be copied
54
+ * @returns Newly copied thread
55
+ */
56
+ async copy(threadId, options) {
57
+ return this.fetch(`/threads/${threadId}/copy`, {
58
+ method: "POST",
59
+ signal: options?.signal
60
+ });
61
+ }
62
+ async update(threadId, payload) {
63
+ const ttlPayload = typeof payload?.ttl === "number" ? {
64
+ ttl: payload.ttl,
65
+ strategy: "delete"
66
+ } : payload?.ttl;
67
+ return this.fetch(`/threads/${threadId}`, {
68
+ method: "PATCH",
69
+ headers: payload?.returnMinimal ? { Prefer: "return=minimal" } : void 0,
70
+ json: {
71
+ metadata: payload?.metadata,
72
+ ttl: ttlPayload
73
+ },
74
+ signal: payload?.signal
75
+ });
76
+ }
77
+ /**
78
+ * Delete a thread.
79
+ *
80
+ * @param threadId ID of the thread.
81
+ */
82
+ async delete(threadId, options) {
83
+ return this.fetch(`/threads/${threadId}`, {
84
+ method: "DELETE",
85
+ signal: options?.signal
86
+ });
87
+ }
88
+ /**
89
+ * Prune threads by ID. The 'delete' strategy removes threads entirely.
90
+ * The 'keep_latest' strategy prunes old checkpoints but keeps threads
91
+ * and their latest state.
92
+ *
93
+ * @param threadIds List of thread IDs to prune.
94
+ * @param options Additional options for pruning.
95
+ * @param options.strategy The prune strategy. Defaults to 'delete'.
96
+ * @param options.signal Signal to abort the request.
97
+ * @returns An object containing `pruned_count`.
98
+ */
99
+ async prune(threadIds, options) {
100
+ return this.fetch("/threads/prune", {
101
+ method: "POST",
102
+ json: {
103
+ thread_ids: threadIds,
104
+ strategy: options?.strategy ?? "delete"
105
+ },
106
+ signal: options?.signal
107
+ });
108
+ }
109
+ /**
110
+ * List threads
111
+ *
112
+ * @param query Query options
113
+ * @returns List of threads
114
+ */
115
+ async search(query) {
116
+ return this.fetch("/threads/search", {
117
+ method: "POST",
118
+ json: {
119
+ metadata: query?.metadata ?? void 0,
120
+ ids: query?.ids ?? void 0,
121
+ limit: query?.limit ?? 10,
122
+ offset: query?.offset ?? 0,
123
+ status: query?.status,
124
+ sort_by: query?.sortBy,
125
+ sort_order: query?.sortOrder,
126
+ select: query?.select ?? void 0,
127
+ values: query?.values ?? void 0,
128
+ extract: query?.extract ?? void 0
129
+ },
130
+ signal: query?.signal
131
+ });
132
+ }
133
+ /**
134
+ * Count threads matching filters.
135
+ *
136
+ * @param query.metadata Thread metadata to filter on.
137
+ * @param query.values State values to filter on.
138
+ * @param query.status Thread status to filter on.
139
+ * @returns Number of threads matching the criteria.
140
+ */
141
+ async count(query) {
142
+ return this.fetch(`/threads/count`, {
143
+ method: "POST",
144
+ json: {
145
+ metadata: query?.metadata ?? void 0,
146
+ values: query?.values ?? void 0,
147
+ status: query?.status ?? void 0
148
+ },
149
+ signal: query?.signal
150
+ });
151
+ }
152
+ /**
153
+ * Get state for a thread.
154
+ *
155
+ * @param threadId ID of the thread.
156
+ * @returns Thread state.
157
+ */
158
+ async getState(threadId, checkpoint, options) {
159
+ if (checkpoint != null) {
160
+ if (typeof checkpoint !== "string") return this.fetch(`/threads/${threadId}/state/checkpoint`, {
161
+ method: "POST",
162
+ json: {
163
+ checkpoint,
164
+ subgraphs: options?.subgraphs
165
+ },
166
+ signal: options?.signal
167
+ });
168
+ return this.fetch(`/threads/${threadId}/state/${checkpoint}`, {
169
+ params: { subgraphs: options?.subgraphs },
170
+ signal: options?.signal
171
+ });
172
+ }
173
+ return this.fetch(`/threads/${threadId}/state`, {
174
+ params: { subgraphs: options?.subgraphs },
175
+ signal: options?.signal
176
+ });
177
+ }
178
+ /**
179
+ * Add state to a thread.
180
+ *
181
+ * @param threadId The ID of the thread.
182
+ * @returns
183
+ */
184
+ async updateState(threadId, options) {
185
+ return this.fetch(`/threads/${threadId}/state`, {
186
+ method: "POST",
187
+ json: {
188
+ values: options.values,
189
+ checkpoint: options.checkpoint,
190
+ checkpoint_id: options.checkpointId,
191
+ as_node: options?.asNode
192
+ },
193
+ signal: options?.signal
194
+ });
195
+ }
196
+ /**
197
+ * Patch the metadata of a thread.
198
+ *
199
+ * @param threadIdOrConfig Thread ID or config to patch the state of.
200
+ * @param metadata Metadata to patch the state with.
201
+ */
202
+ async patchState(threadIdOrConfig, metadata, options) {
203
+ let threadId;
204
+ if (typeof threadIdOrConfig !== "string") {
205
+ if (typeof threadIdOrConfig.configurable?.thread_id !== "string") throw new Error("Thread ID is required when updating state with a config.");
206
+ threadId = threadIdOrConfig.configurable.thread_id;
207
+ } else threadId = threadIdOrConfig;
208
+ return this.fetch(`/threads/${threadId}/state`, {
209
+ method: "PATCH",
210
+ json: { metadata },
211
+ signal: options?.signal
212
+ });
213
+ }
214
+ /**
215
+ * Get all past states for a thread.
216
+ *
217
+ * @param threadId ID of the thread.
218
+ * @param options Additional options.
219
+ * @returns List of thread states.
220
+ */
221
+ async getHistory(threadId, options) {
222
+ return this.fetch(`/threads/${threadId}/history`, {
223
+ method: "POST",
224
+ json: {
225
+ limit: options?.limit ?? 10,
226
+ before: options?.before,
227
+ metadata: options?.metadata,
228
+ checkpoint: options?.checkpoint
229
+ },
230
+ signal: options?.signal
231
+ });
232
+ }
233
+ async *joinStream(threadId, options) {
234
+ yield* this.streamWithRetry({
235
+ endpoint: `/threads/${threadId}/stream`,
236
+ method: "GET",
237
+ signal: options?.signal,
238
+ headers: options?.lastEventId ? { "Last-Event-ID": options.lastEventId } : void 0,
239
+ params: options?.streamMode ? { stream_mode: options.streamMode } : void 0
240
+ });
241
+ }
242
+ stream(threadIdOrOptions, maybeOptions) {
243
+ const { threadId, options } = typeof threadIdOrOptions === "string" ? {
244
+ threadId: threadIdOrOptions,
245
+ options: maybeOptions
246
+ } : {
247
+ threadId: (0, uuid.v7)(),
248
+ options: threadIdOrOptions
249
+ };
250
+ let transport;
251
+ if (options.transport != null && typeof options.transport !== "string") transport = options.transport;
252
+ else transport = (options.transport ?? (this.streamProtocol === "v2-websocket" ? "websocket" : "sse")) === "websocket" ? new require_websocket.ProtocolWebSocketTransportAdapter({
253
+ apiUrl: this.apiUrl,
254
+ threadId,
255
+ defaultHeaders: this.defaultHeaders,
256
+ onRequest: this.onRequest,
257
+ webSocketFactory: options.webSocketFactory
258
+ }) : new require_http.ProtocolSseTransportAdapter({
259
+ apiUrl: this.apiUrl,
260
+ threadId,
261
+ defaultHeaders: this.defaultHeaders,
262
+ onRequest: this.onRequest,
263
+ fetch: options.fetch
264
+ });
265
+ return new require_index.ThreadStream(transport, options);
266
+ }
267
+ };
268
+ //#endregion
269
+ exports.ThreadsClient = ThreadsClient;
270
+
271
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","names":["BaseClient","ProtocolWebSocketTransportAdapter","ProtocolSseTransportAdapter","ThreadStream"],"sources":["../../../src/client/threads/index.ts"],"sourcesContent":["import { v7 as uuidv7 } from \"uuid\";\n\nimport {\n Checkpoint,\n Config,\n DefaultValues,\n Metadata,\n SortOrder,\n Thread,\n ThreadSelectField,\n ThreadSortBy,\n ThreadState,\n ThreadStatus,\n ThreadValuesFilter,\n} from \"../../schema.js\";\nimport type { Command, OnConflictBehavior, StreamEvent } from \"../../types.js\";\nimport type { ThreadStreamMode } from \"../../types.stream.js\";\nimport { BaseClient } from \"../base.js\";\nimport { ThreadStream } from \"../stream/index.js\";\nimport type {\n ThreadStreamOptions,\n ThreadStreamTransportKind,\n} from \"../stream/types.js\";\nimport { ProtocolSseTransportAdapter } from \"../stream/transport/http.js\";\nimport { ProtocolWebSocketTransportAdapter } from \"../stream/transport/websocket.js\";\nimport type { TransportAdapter } from \"../stream/transport.js\";\n\nexport class ThreadsClient<\n TStateType = DefaultValues,\n TUpdateType = TStateType,\n> extends BaseClient {\n /**\n * Get a thread by ID.\n *\n * @param threadId ID of the thread.\n * @returns The thread.\n */\n async get<ValuesType = TStateType>(\n threadId: string,\n options?: { signal?: AbortSignal; include?: string[] }\n ): Promise<Thread<ValuesType>> {\n return this.fetch<Thread<ValuesType>>(`/threads/${threadId}`, {\n params: {\n include: options?.include ?? undefined,\n },\n signal: options?.signal,\n });\n }\n\n /**\n * Create a new thread.\n *\n * @param payload Payload for creating a thread.\n * @returns The created thread.\n */\n async create(payload?: {\n metadata?: Metadata;\n threadId?: string;\n ifExists?: OnConflictBehavior;\n graphId?: string;\n supersteps?: Array<{\n updates: Array<{ values: unknown; command?: Command; asNode: string }>;\n }>;\n ttl?: number | { ttl: number; strategy?: \"delete\" };\n signal?: AbortSignal;\n }): Promise<Thread<TStateType>> {\n const ttlPayload =\n typeof payload?.ttl === \"number\"\n ? { ttl: payload.ttl, strategy: \"delete\" as const }\n : payload?.ttl;\n\n return this.fetch<Thread<TStateType>>(`/threads`, {\n method: \"POST\",\n json: {\n metadata: {\n ...payload?.metadata,\n graph_id: payload?.graphId,\n },\n thread_id: payload?.threadId,\n if_exists: payload?.ifExists,\n supersteps: payload?.supersteps?.map((s) => ({\n updates: s.updates.map((u) => ({\n values: u.values,\n command: u.command,\n as_node: u.asNode,\n })),\n })),\n ttl: ttlPayload,\n },\n signal: payload?.signal,\n });\n }\n\n /**\n * Copy an existing thread\n * @param threadId ID of the thread to be copied\n * @returns Newly copied thread\n */\n async copy(\n threadId: string,\n options?: { signal?: AbortSignal }\n ): Promise<Thread<TStateType>> {\n return this.fetch<Thread<TStateType>>(`/threads/${threadId}/copy`, {\n method: \"POST\",\n signal: options?.signal,\n });\n }\n\n /**\n * Update a thread.\n *\n * @param threadId ID of the thread.\n * @param payload Payload for updating the thread.\n * @returns The updated thread.\n */\n async update(\n threadId: string,\n payload?: {\n metadata?: Metadata;\n ttl?: number | { ttl: number; strategy?: \"delete\" };\n returnMinimal?: false;\n signal?: AbortSignal;\n }\n ): Promise<Thread>;\n async update(\n threadId: string,\n payload: {\n metadata?: Metadata;\n ttl?: number | { ttl: number; strategy?: \"delete\" };\n returnMinimal: true;\n signal?: AbortSignal;\n }\n ): Promise<void>;\n async update(\n threadId: string,\n payload: {\n metadata?: Metadata;\n ttl?: number | { ttl: number; strategy?: \"delete\" };\n returnMinimal: boolean;\n signal?: AbortSignal;\n }\n ): Promise<Thread | void>;\n async update(\n threadId: string,\n payload?: {\n metadata?: Metadata;\n ttl?: number | { ttl: number; strategy?: \"delete\" };\n returnMinimal?: boolean;\n signal?: AbortSignal;\n }\n ): Promise<Thread | void> {\n const ttlPayload =\n typeof payload?.ttl === \"number\"\n ? { ttl: payload.ttl, strategy: \"delete\" as const }\n : payload?.ttl;\n\n return this.fetch<Thread | void>(`/threads/${threadId}`, {\n method: \"PATCH\",\n headers: payload?.returnMinimal\n ? { Prefer: \"return=minimal\" }\n : undefined,\n json: { metadata: payload?.metadata, ttl: ttlPayload },\n signal: payload?.signal,\n });\n }\n\n /**\n * Delete a thread.\n *\n * @param threadId ID of the thread.\n */\n async delete(\n threadId: string,\n options?: { signal?: AbortSignal }\n ): Promise<void> {\n return this.fetch<void>(`/threads/${threadId}`, {\n method: \"DELETE\",\n signal: options?.signal,\n });\n }\n\n /**\n * Prune threads by ID. The 'delete' strategy removes threads entirely.\n * The 'keep_latest' strategy prunes old checkpoints but keeps threads\n * and their latest state.\n *\n * @param threadIds List of thread IDs to prune.\n * @param options Additional options for pruning.\n * @param options.strategy The prune strategy. Defaults to 'delete'.\n * @param options.signal Signal to abort the request.\n * @returns An object containing `pruned_count`.\n */\n async prune(\n threadIds: string[],\n options?: {\n strategy?: \"delete\" | \"keep_latest\";\n signal?: AbortSignal;\n }\n ): Promise<{ pruned_count: number }> {\n return this.fetch<{ pruned_count: number }>(\"/threads/prune\", {\n method: \"POST\",\n json: {\n thread_ids: threadIds,\n strategy: options?.strategy ?? \"delete\",\n },\n signal: options?.signal,\n });\n }\n\n /**\n * List threads\n *\n * @param query Query options\n * @returns List of threads\n */\n async search<ValuesType = TStateType>(query?: {\n metadata?: Metadata;\n ids?: string[];\n limit?: number;\n offset?: number;\n status?: ThreadStatus;\n sortBy?: ThreadSortBy;\n sortOrder?: SortOrder;\n select?: ThreadSelectField[];\n values?: ThreadValuesFilter;\n extract?: Record<string, string>;\n signal?: AbortSignal;\n }): Promise<Thread<ValuesType>[]> {\n return this.fetch<Thread<ValuesType>[]>(\"/threads/search\", {\n method: \"POST\",\n json: {\n metadata: query?.metadata ?? undefined,\n ids: query?.ids ?? undefined,\n limit: query?.limit ?? 10,\n offset: query?.offset ?? 0,\n status: query?.status,\n sort_by: query?.sortBy,\n sort_order: query?.sortOrder,\n select: query?.select ?? undefined,\n values: query?.values ?? undefined,\n extract: query?.extract ?? undefined,\n },\n signal: query?.signal,\n });\n }\n\n /**\n * Count threads matching filters.\n *\n * @param query.metadata Thread metadata to filter on.\n * @param query.values State values to filter on.\n * @param query.status Thread status to filter on.\n * @returns Number of threads matching the criteria.\n */\n async count<ValuesType = TStateType>(query?: {\n metadata?: Metadata;\n values?: ValuesType;\n status?: ThreadStatus;\n signal?: AbortSignal;\n }): Promise<number> {\n return this.fetch<number>(`/threads/count`, {\n method: \"POST\",\n json: {\n metadata: query?.metadata ?? undefined,\n values: query?.values ?? undefined,\n status: query?.status ?? undefined,\n },\n signal: query?.signal,\n });\n }\n\n /**\n * Get state for a thread.\n *\n * @param threadId ID of the thread.\n * @returns Thread state.\n */\n async getState<ValuesType = TStateType>(\n threadId: string,\n checkpoint?: Checkpoint | string,\n options?: { subgraphs?: boolean; signal?: AbortSignal }\n ): Promise<ThreadState<ValuesType>> {\n if (checkpoint != null) {\n if (typeof checkpoint !== \"string\") {\n return this.fetch<ThreadState<ValuesType>>(\n `/threads/${threadId}/state/checkpoint`,\n {\n method: \"POST\",\n json: { checkpoint, subgraphs: options?.subgraphs },\n signal: options?.signal,\n }\n );\n }\n\n // deprecated\n return this.fetch<ThreadState<ValuesType>>(\n `/threads/${threadId}/state/${checkpoint}`,\n { params: { subgraphs: options?.subgraphs }, signal: options?.signal }\n );\n }\n\n return this.fetch<ThreadState<ValuesType>>(`/threads/${threadId}/state`, {\n params: { subgraphs: options?.subgraphs },\n signal: options?.signal,\n });\n }\n\n /**\n * Add state to a thread.\n *\n * @param threadId The ID of the thread.\n * @returns\n */\n async updateState<ValuesType = TUpdateType>(\n threadId: string,\n options: {\n values: ValuesType;\n checkpoint?: Checkpoint;\n checkpointId?: string;\n asNode?: string;\n signal?: AbortSignal;\n }\n ): Promise<Pick<Config, \"configurable\">> {\n return this.fetch<Pick<Config, \"configurable\">>(\n `/threads/${threadId}/state`,\n {\n method: \"POST\",\n json: {\n values: options.values,\n checkpoint: options.checkpoint,\n checkpoint_id: options.checkpointId,\n as_node: options?.asNode,\n },\n signal: options?.signal,\n }\n );\n }\n\n /**\n * Patch the metadata of a thread.\n *\n * @param threadIdOrConfig Thread ID or config to patch the state of.\n * @param metadata Metadata to patch the state with.\n */\n async patchState(\n threadIdOrConfig: string | Config,\n metadata: Metadata,\n options?: { signal?: AbortSignal }\n ): Promise<void> {\n let threadId: string;\n\n if (typeof threadIdOrConfig !== \"string\") {\n if (typeof threadIdOrConfig.configurable?.thread_id !== \"string\") {\n throw new Error(\n \"Thread ID is required when updating state with a config.\"\n );\n }\n threadId = threadIdOrConfig.configurable.thread_id;\n } else {\n threadId = threadIdOrConfig;\n }\n\n return this.fetch<void>(`/threads/${threadId}/state`, {\n method: \"PATCH\",\n json: { metadata },\n signal: options?.signal,\n });\n }\n\n /**\n * Get all past states for a thread.\n *\n * @param threadId ID of the thread.\n * @param options Additional options.\n * @returns List of thread states.\n */\n async getHistory<ValuesType = TStateType>(\n threadId: string,\n options?: {\n limit?: number;\n before?: Config;\n checkpoint?: Partial<Omit<Checkpoint, \"thread_id\">>;\n metadata?: Metadata;\n signal?: AbortSignal;\n }\n ): Promise<ThreadState<ValuesType>[]> {\n return this.fetch<ThreadState<ValuesType>[]>(\n `/threads/${threadId}/history`,\n {\n method: \"POST\",\n json: {\n limit: options?.limit ?? 10,\n before: options?.before,\n metadata: options?.metadata,\n checkpoint: options?.checkpoint,\n },\n signal: options?.signal,\n }\n );\n }\n\n async *joinStream(\n threadId: string,\n options?: {\n lastEventId?: string;\n streamMode?: ThreadStreamMode | ThreadStreamMode[];\n signal?: AbortSignal;\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ): AsyncGenerator<{ id?: string; event: StreamEvent; data: any }> {\n yield* this.streamWithRetry({\n endpoint: `/threads/${threadId}/stream`,\n method: \"GET\",\n signal: options?.signal,\n headers: options?.lastEventId\n ? { \"Last-Event-ID\": options.lastEventId }\n : undefined,\n params: options?.streamMode\n ? { stream_mode: options.streamMode }\n : undefined,\n });\n }\n\n /**\n * Open a protocol stream over the thread-centric v2 protocol.\n *\n * Returns a {@link ThreadStream} with lazy getters\n * (`.messages`, `.values`, `.toolCalls`, `.subgraphs`, `.subagents`,\n * `.output`) and `thread.run.start({ input, ... })` for starting runs.\n * Mirrors the in-process `graph.streamEvents(..., { version: \"v3\" })` API.\n *\n * The thread is bound to `options.assistantId` for its lifetime.\n * The wire transport defaults to SSE; pass `transport: \"websocket\"`\n * in options (or configure `streamProtocol: \"v2-websocket\"` on the\n * client) to use a WebSocket instead.\n *\n * @example New thread (UUID generated client-side)\n * ```ts\n * const thread = client.threads.stream({ assistantId: \"my-agent\" });\n * ```\n *\n * @example Attach to an existing thread\n * ```ts\n * const thread = client.threads.stream(threadId, { assistantId: \"my-agent\" });\n * ```\n *\n * @example WebSocket transport\n * ```ts\n * const thread = client.threads.stream({\n * assistantId: \"my-agent\",\n * transport: \"websocket\",\n * });\n * ```\n */\n stream<TExtensions extends Record<string, unknown> = Record<string, unknown>>(\n options: ThreadStreamOptions\n ): ThreadStream<TExtensions>;\n stream<TExtensions extends Record<string, unknown> = Record<string, unknown>>(\n threadId: string,\n options: ThreadStreamOptions\n ): ThreadStream<TExtensions>;\n stream<TExtensions extends Record<string, unknown> = Record<string, unknown>>(\n threadIdOrOptions: string | ThreadStreamOptions,\n maybeOptions?: ThreadStreamOptions\n ): ThreadStream<TExtensions> {\n const { threadId, options } =\n typeof threadIdOrOptions === \"string\"\n ? {\n threadId: threadIdOrOptions,\n options: maybeOptions as ThreadStreamOptions,\n }\n : { threadId: uuidv7(), options: threadIdOrOptions };\n\n // `transport` accepts either a preset string (`\"sse\"` / `\"websocket\"`)\n // or a custom {@link AgentServerAdapter}. A custom adapter replaces\n // the built-in factories entirely — this is the seam that lets users\n // point `useStream` at any agent server (including the thin wrappers\n // produced by `HttpAgentServerAdapter`).\n let transport: TransportAdapter;\n if (options.transport != null && typeof options.transport !== \"string\") {\n transport = options.transport;\n } else {\n const transportKind: ThreadStreamTransportKind =\n options.transport ??\n (this.streamProtocol === \"v2-websocket\" ? \"websocket\" : \"sse\");\n transport =\n transportKind === \"websocket\"\n ? new ProtocolWebSocketTransportAdapter({\n apiUrl: this.apiUrl,\n threadId,\n defaultHeaders: this.defaultHeaders,\n onRequest: this.onRequest,\n webSocketFactory: options.webSocketFactory,\n })\n : new ProtocolSseTransportAdapter({\n apiUrl: this.apiUrl,\n threadId,\n defaultHeaders: this.defaultHeaders,\n onRequest: this.onRequest,\n fetch: options.fetch,\n });\n }\n\n return new ThreadStream<TExtensions>(transport, options);\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,235 @@
1
+ import { Checkpoint, Config, DefaultValues, Metadata, SortOrder, Thread, ThreadSelectField, ThreadSortBy, ThreadState, ThreadStatus, ThreadValuesFilter } from "../../schema.cjs";
2
+ import { ThreadStreamMode } from "../../types.stream.cjs";
3
+ import { Command, OnConflictBehavior, StreamEvent } from "../../types.cjs";
4
+ import { BaseClient } from "../base.cjs";
5
+ import { ThreadStreamOptions } from "../stream/types.cjs";
6
+ import { ThreadStream } from "../stream/index.cjs";
7
+
8
+ //#region src/client/threads/index.d.ts
9
+ declare class ThreadsClient<TStateType = DefaultValues, TUpdateType = TStateType> extends BaseClient {
10
+ /**
11
+ * Get a thread by ID.
12
+ *
13
+ * @param threadId ID of the thread.
14
+ * @returns The thread.
15
+ */
16
+ get<ValuesType = TStateType>(threadId: string, options?: {
17
+ signal?: AbortSignal;
18
+ include?: string[];
19
+ }): Promise<Thread<ValuesType>>;
20
+ /**
21
+ * Create a new thread.
22
+ *
23
+ * @param payload Payload for creating a thread.
24
+ * @returns The created thread.
25
+ */
26
+ create(payload?: {
27
+ metadata?: Metadata;
28
+ threadId?: string;
29
+ ifExists?: OnConflictBehavior;
30
+ graphId?: string;
31
+ supersteps?: Array<{
32
+ updates: Array<{
33
+ values: unknown;
34
+ command?: Command;
35
+ asNode: string;
36
+ }>;
37
+ }>;
38
+ ttl?: number | {
39
+ ttl: number;
40
+ strategy?: "delete";
41
+ };
42
+ signal?: AbortSignal;
43
+ }): Promise<Thread<TStateType>>;
44
+ /**
45
+ * Copy an existing thread
46
+ * @param threadId ID of the thread to be copied
47
+ * @returns Newly copied thread
48
+ */
49
+ copy(threadId: string, options?: {
50
+ signal?: AbortSignal;
51
+ }): Promise<Thread<TStateType>>;
52
+ /**
53
+ * Update a thread.
54
+ *
55
+ * @param threadId ID of the thread.
56
+ * @param payload Payload for updating the thread.
57
+ * @returns The updated thread.
58
+ */
59
+ update(threadId: string, payload?: {
60
+ metadata?: Metadata;
61
+ ttl?: number | {
62
+ ttl: number;
63
+ strategy?: "delete";
64
+ };
65
+ returnMinimal?: false;
66
+ signal?: AbortSignal;
67
+ }): Promise<Thread>;
68
+ update(threadId: string, payload: {
69
+ metadata?: Metadata;
70
+ ttl?: number | {
71
+ ttl: number;
72
+ strategy?: "delete";
73
+ };
74
+ returnMinimal: true;
75
+ signal?: AbortSignal;
76
+ }): Promise<void>;
77
+ update(threadId: string, payload: {
78
+ metadata?: Metadata;
79
+ ttl?: number | {
80
+ ttl: number;
81
+ strategy?: "delete";
82
+ };
83
+ returnMinimal: boolean;
84
+ signal?: AbortSignal;
85
+ }): Promise<Thread | void>;
86
+ /**
87
+ * Delete a thread.
88
+ *
89
+ * @param threadId ID of the thread.
90
+ */
91
+ delete(threadId: string, options?: {
92
+ signal?: AbortSignal;
93
+ }): Promise<void>;
94
+ /**
95
+ * Prune threads by ID. The 'delete' strategy removes threads entirely.
96
+ * The 'keep_latest' strategy prunes old checkpoints but keeps threads
97
+ * and their latest state.
98
+ *
99
+ * @param threadIds List of thread IDs to prune.
100
+ * @param options Additional options for pruning.
101
+ * @param options.strategy The prune strategy. Defaults to 'delete'.
102
+ * @param options.signal Signal to abort the request.
103
+ * @returns An object containing `pruned_count`.
104
+ */
105
+ prune(threadIds: string[], options?: {
106
+ strategy?: "delete" | "keep_latest";
107
+ signal?: AbortSignal;
108
+ }): Promise<{
109
+ pruned_count: number;
110
+ }>;
111
+ /**
112
+ * List threads
113
+ *
114
+ * @param query Query options
115
+ * @returns List of threads
116
+ */
117
+ search<ValuesType = TStateType>(query?: {
118
+ metadata?: Metadata;
119
+ ids?: string[];
120
+ limit?: number;
121
+ offset?: number;
122
+ status?: ThreadStatus;
123
+ sortBy?: ThreadSortBy;
124
+ sortOrder?: SortOrder;
125
+ select?: ThreadSelectField[];
126
+ values?: ThreadValuesFilter;
127
+ extract?: Record<string, string>;
128
+ signal?: AbortSignal;
129
+ }): Promise<Thread<ValuesType>[]>;
130
+ /**
131
+ * Count threads matching filters.
132
+ *
133
+ * @param query.metadata Thread metadata to filter on.
134
+ * @param query.values State values to filter on.
135
+ * @param query.status Thread status to filter on.
136
+ * @returns Number of threads matching the criteria.
137
+ */
138
+ count<ValuesType = TStateType>(query?: {
139
+ metadata?: Metadata;
140
+ values?: ValuesType;
141
+ status?: ThreadStatus;
142
+ signal?: AbortSignal;
143
+ }): Promise<number>;
144
+ /**
145
+ * Get state for a thread.
146
+ *
147
+ * @param threadId ID of the thread.
148
+ * @returns Thread state.
149
+ */
150
+ getState<ValuesType = TStateType>(threadId: string, checkpoint?: Checkpoint | string, options?: {
151
+ subgraphs?: boolean;
152
+ signal?: AbortSignal;
153
+ }): Promise<ThreadState<ValuesType>>;
154
+ /**
155
+ * Add state to a thread.
156
+ *
157
+ * @param threadId The ID of the thread.
158
+ * @returns
159
+ */
160
+ updateState<ValuesType = TUpdateType>(threadId: string, options: {
161
+ values: ValuesType;
162
+ checkpoint?: Checkpoint;
163
+ checkpointId?: string;
164
+ asNode?: string;
165
+ signal?: AbortSignal;
166
+ }): Promise<Pick<Config, "configurable">>;
167
+ /**
168
+ * Patch the metadata of a thread.
169
+ *
170
+ * @param threadIdOrConfig Thread ID or config to patch the state of.
171
+ * @param metadata Metadata to patch the state with.
172
+ */
173
+ patchState(threadIdOrConfig: string | Config, metadata: Metadata, options?: {
174
+ signal?: AbortSignal;
175
+ }): Promise<void>;
176
+ /**
177
+ * Get all past states for a thread.
178
+ *
179
+ * @param threadId ID of the thread.
180
+ * @param options Additional options.
181
+ * @returns List of thread states.
182
+ */
183
+ getHistory<ValuesType = TStateType>(threadId: string, options?: {
184
+ limit?: number;
185
+ before?: Config;
186
+ checkpoint?: Partial<Omit<Checkpoint, "thread_id">>;
187
+ metadata?: Metadata;
188
+ signal?: AbortSignal;
189
+ }): Promise<ThreadState<ValuesType>[]>;
190
+ joinStream(threadId: string, options?: {
191
+ lastEventId?: string;
192
+ streamMode?: ThreadStreamMode | ThreadStreamMode[];
193
+ signal?: AbortSignal;
194
+ }): AsyncGenerator<{
195
+ id?: string;
196
+ event: StreamEvent;
197
+ data: any;
198
+ }>;
199
+ /**
200
+ * Open a protocol stream over the thread-centric v2 protocol.
201
+ *
202
+ * Returns a {@link ThreadStream} with lazy getters
203
+ * (`.messages`, `.values`, `.toolCalls`, `.subgraphs`, `.subagents`,
204
+ * `.output`) and `thread.run.start({ input, ... })` for starting runs.
205
+ * Mirrors the in-process `graph.streamEvents(..., { version: "v3" })` API.
206
+ *
207
+ * The thread is bound to `options.assistantId` for its lifetime.
208
+ * The wire transport defaults to SSE; pass `transport: "websocket"`
209
+ * in options (or configure `streamProtocol: "v2-websocket"` on the
210
+ * client) to use a WebSocket instead.
211
+ *
212
+ * @example New thread (UUID generated client-side)
213
+ * ```ts
214
+ * const thread = client.threads.stream({ assistantId: "my-agent" });
215
+ * ```
216
+ *
217
+ * @example Attach to an existing thread
218
+ * ```ts
219
+ * const thread = client.threads.stream(threadId, { assistantId: "my-agent" });
220
+ * ```
221
+ *
222
+ * @example WebSocket transport
223
+ * ```ts
224
+ * const thread = client.threads.stream({
225
+ * assistantId: "my-agent",
226
+ * transport: "websocket",
227
+ * });
228
+ * ```
229
+ */
230
+ stream<TExtensions extends Record<string, unknown> = Record<string, unknown>>(options: ThreadStreamOptions): ThreadStream<TExtensions>;
231
+ stream<TExtensions extends Record<string, unknown> = Record<string, unknown>>(threadId: string, options: ThreadStreamOptions): ThreadStream<TExtensions>;
232
+ }
233
+ //#endregion
234
+ export { ThreadsClient };
235
+ //# sourceMappingURL=index.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../../../src/client/threads/index.ts"],"mappings":"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"}