langgraph-ui-components 0.0.3 → 0.0.6

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 (536) hide show
  1. package/README.md +32 -0
  2. package/dist/index.es10.js +31 -16
  3. package/dist/index.es10.js.map +1 -1
  4. package/dist/index.es100.js +37 -5
  5. package/dist/index.es100.js.map +1 -1
  6. package/dist/index.es101.js +160 -67
  7. package/dist/index.es101.js.map +1 -1
  8. package/dist/index.es102.js +196 -30
  9. package/dist/index.es102.js.map +1 -1
  10. package/dist/index.es103.js +14 -5
  11. package/dist/index.es103.js.map +1 -1
  12. package/dist/index.es104.js +32 -2
  13. package/dist/index.es104.js.map +1 -1
  14. package/dist/index.es105.js +33 -10
  15. package/dist/index.es105.js.map +1 -1
  16. package/dist/index.es106.js +3110 -454
  17. package/dist/index.es106.js.map +1 -1
  18. package/dist/index.es107.js +5 -5
  19. package/dist/index.es108.js +2 -2
  20. package/dist/index.es109.js +12 -142
  21. package/dist/index.es109.js.map +1 -1
  22. package/dist/index.es11.js +146 -120
  23. package/dist/index.es11.js.map +1 -1
  24. package/dist/index.es110.js +11 -906
  25. package/dist/index.es110.js.map +1 -1
  26. package/dist/index.es111.js +483 -262
  27. package/dist/index.es111.js.map +1 -1
  28. package/dist/index.es112.js +7 -4
  29. package/dist/index.es112.js.map +1 -1
  30. package/dist/index.es113.js +2 -446
  31. package/dist/index.es113.js.map +1 -1
  32. package/dist/index.es114.js +141 -41
  33. package/dist/index.es114.js.map +1 -1
  34. package/dist/index.es115.js +904 -20
  35. package/dist/index.es115.js.map +1 -1
  36. package/dist/index.es116.js +267 -66
  37. package/dist/index.es116.js.map +1 -1
  38. package/dist/index.es117.js +3 -130
  39. package/dist/index.es117.js.map +1 -1
  40. package/dist/index.es118.js +437 -42
  41. package/dist/index.es118.js.map +1 -1
  42. package/dist/index.es119.js +46 -10
  43. package/dist/index.es119.js.map +1 -1
  44. package/dist/index.es12.js +13 -103
  45. package/dist/index.es12.js.map +1 -1
  46. package/dist/index.es120.js +22 -45
  47. package/dist/index.es120.js.map +1 -1
  48. package/dist/index.es121.js +72 -92
  49. package/dist/index.es121.js.map +1 -1
  50. package/dist/index.es122.js +126 -50
  51. package/dist/index.es122.js.map +1 -1
  52. package/dist/index.es123.js +46 -13
  53. package/dist/index.es123.js.map +1 -1
  54. package/dist/index.es124.js +9 -14
  55. package/dist/index.es124.js.map +1 -1
  56. package/dist/index.es125.js +45 -89
  57. package/dist/index.es125.js.map +1 -1
  58. package/dist/index.es126.js +99 -2
  59. package/dist/index.es126.js.map +1 -1
  60. package/dist/index.es127.js +48 -51
  61. package/dist/index.es127.js.map +1 -1
  62. package/dist/index.es128.js +14 -99
  63. package/dist/index.es128.js.map +1 -1
  64. package/dist/index.es129.js +88 -190
  65. package/dist/index.es129.js.map +1 -1
  66. package/dist/index.es13.js +126 -33
  67. package/dist/index.es13.js.map +1 -1
  68. package/dist/index.es130.js +2 -110
  69. package/dist/index.es130.js.map +1 -1
  70. package/dist/index.es131.js +163 -34
  71. package/dist/index.es131.js.map +1 -1
  72. package/dist/index.es132.js +2 -10
  73. package/dist/index.es132.js.map +1 -1
  74. package/dist/index.es133.js +55 -10
  75. package/dist/index.es133.js.map +1 -1
  76. package/dist/index.es134.js +99 -11
  77. package/dist/index.es134.js.map +1 -1
  78. package/dist/index.es135.js +181 -81
  79. package/dist/index.es135.js.map +1 -1
  80. package/dist/index.es136.js +105 -270
  81. package/dist/index.es136.js.map +1 -1
  82. package/dist/index.es137.js +35 -2
  83. package/dist/index.es137.js.map +1 -1
  84. package/dist/index.es138.js +10 -164
  85. package/dist/index.es138.js.map +1 -1
  86. package/dist/index.es139.js +11 -51
  87. package/dist/index.es139.js.map +1 -1
  88. package/dist/index.es140.js +11 -39
  89. package/dist/index.es140.js.map +1 -1
  90. package/dist/index.es141.js +89 -33
  91. package/dist/index.es141.js.map +1 -1
  92. package/dist/index.es142.js +264 -29
  93. package/dist/index.es142.js.map +1 -1
  94. package/dist/index.es143.js +2 -24
  95. package/dist/index.es143.js.map +1 -1
  96. package/dist/index.es144.js +158 -585
  97. package/dist/index.es144.js.map +1 -1
  98. package/dist/index.es145.js +44 -118
  99. package/dist/index.es145.js.map +1 -1
  100. package/dist/index.es146.js +34 -158
  101. package/dist/index.es146.js.map +1 -1
  102. package/dist/index.es147.js +35 -2
  103. package/dist/index.es147.js.map +1 -1
  104. package/dist/index.es148.js +40 -2
  105. package/dist/index.es148.js.map +1 -1
  106. package/dist/index.es149.js +24 -2
  107. package/dist/index.es149.js.map +1 -1
  108. package/dist/index.es15.js +15 -15
  109. package/dist/index.es150.js +589 -20
  110. package/dist/index.es150.js.map +1 -1
  111. package/dist/index.es151.js +125 -2
  112. package/dist/index.es151.js.map +1 -1
  113. package/dist/index.es152.js +3 -24
  114. package/dist/index.es152.js.map +1 -1
  115. package/dist/index.es153.js +2 -4
  116. package/dist/index.es153.js.map +1 -1
  117. package/dist/index.es154.js +2 -5
  118. package/dist/index.es154.js.map +1 -1
  119. package/dist/index.es155.js +22 -13
  120. package/dist/index.es155.js.map +1 -1
  121. package/dist/index.es156.js +2 -6
  122. package/dist/index.es156.js.map +1 -1
  123. package/dist/index.es157.js +25 -8
  124. package/dist/index.es157.js.map +1 -1
  125. package/dist/index.es158.js +5 -64
  126. package/dist/index.es158.js.map +1 -1
  127. package/dist/index.es159.js +12 -21
  128. package/dist/index.es159.js.map +1 -1
  129. package/dist/index.es16.js +2 -2
  130. package/dist/index.es160.js +5 -5
  131. package/dist/index.es160.js.map +1 -1
  132. package/dist/index.es161.js +8 -349
  133. package/dist/index.es161.js.map +1 -1
  134. package/dist/index.es162.js +1 -1
  135. package/dist/index.es163.js +1 -1
  136. package/dist/index.es164.js +3 -3
  137. package/dist/index.es165.js +63 -6
  138. package/dist/index.es165.js.map +1 -1
  139. package/dist/index.es166.js +21 -102
  140. package/dist/index.es166.js.map +1 -1
  141. package/dist/index.es167.js +5 -118
  142. package/dist/index.es167.js.map +1 -1
  143. package/dist/index.es168.js +330 -117
  144. package/dist/index.es168.js.map +1 -1
  145. package/dist/index.es169.js +6 -114
  146. package/dist/index.es169.js.map +1 -1
  147. package/dist/index.es17.js +2 -2
  148. package/dist/index.es170.js +103 -6
  149. package/dist/index.es170.js.map +1 -1
  150. package/dist/index.es171.js +119 -2
  151. package/dist/index.es171.js.map +1 -1
  152. package/dist/index.es172.js +134 -140
  153. package/dist/index.es172.js.map +1 -1
  154. package/dist/index.es173.js +115 -2
  155. package/dist/index.es173.js.map +1 -1
  156. package/dist/index.es174.js +6 -3737
  157. package/dist/index.es174.js.map +1 -1
  158. package/dist/index.es175.js +2 -342
  159. package/dist/index.es175.js.map +1 -1
  160. package/dist/index.es176.js +138 -105
  161. package/dist/index.es176.js.map +1 -1
  162. package/dist/index.es177.js +2 -133
  163. package/dist/index.es177.js.map +1 -1
  164. package/dist/index.es178.js +3734 -12
  165. package/dist/index.es178.js.map +1 -1
  166. package/dist/index.es179.js +326 -136
  167. package/dist/index.es179.js.map +1 -1
  168. package/dist/index.es180.js +107 -13
  169. package/dist/index.es180.js.map +1 -1
  170. package/dist/index.es181.js +131 -6
  171. package/dist/index.es181.js.map +1 -1
  172. package/dist/index.es182.js +13 -19
  173. package/dist/index.es182.js.map +1 -1
  174. package/dist/index.es183.js +139 -77
  175. package/dist/index.es183.js.map +1 -1
  176. package/dist/index.es184.js +13 -241
  177. package/dist/index.es184.js.map +1 -1
  178. package/dist/index.es185.js +8 -24
  179. package/dist/index.es185.js.map +1 -1
  180. package/dist/index.es186.js +21 -6
  181. package/dist/index.es186.js.map +1 -1
  182. package/dist/index.es187.js +90 -4
  183. package/dist/index.es187.js.map +1 -1
  184. package/dist/index.es188.js +240 -15
  185. package/dist/index.es188.js.map +1 -1
  186. package/dist/index.es189.js +24 -8
  187. package/dist/index.es189.js.map +1 -1
  188. package/dist/index.es19.js +15 -119
  189. package/dist/index.es19.js.map +1 -1
  190. package/dist/index.es190.js +5 -31
  191. package/dist/index.es190.js.map +1 -1
  192. package/dist/index.es191.js +4 -6
  193. package/dist/index.es191.js.map +1 -1
  194. package/dist/index.es192.js +17 -105
  195. package/dist/index.es192.js.map +1 -1
  196. package/dist/index.es193.js +6 -11
  197. package/dist/index.es193.js.map +1 -1
  198. package/dist/index.es194.js +32 -18
  199. package/dist/index.es194.js.map +1 -1
  200. package/dist/index.es195.js +6 -31
  201. package/dist/index.es195.js.map +1 -1
  202. package/dist/index.es196.js +106 -4
  203. package/dist/index.es196.js.map +1 -1
  204. package/dist/index.es197.js +12 -4
  205. package/dist/index.es197.js.map +1 -1
  206. package/dist/index.es198.js +17 -4
  207. package/dist/index.es198.js.map +1 -1
  208. package/dist/index.es199.js +21 -27
  209. package/dist/index.es199.js.map +1 -1
  210. package/dist/index.es2.js +25 -16
  211. package/dist/index.es2.js.map +1 -1
  212. package/dist/index.es20.js +37 -17
  213. package/dist/index.es20.js.map +1 -1
  214. package/dist/index.es200.js +3 -7
  215. package/dist/index.es200.js.map +1 -1
  216. package/dist/index.es201.js +3 -4
  217. package/dist/index.es201.js.map +1 -1
  218. package/dist/index.es202.js +5 -7
  219. package/dist/index.es202.js.map +1 -1
  220. package/dist/index.es203.js +36 -41
  221. package/dist/index.es203.js.map +1 -1
  222. package/dist/index.es204.js +5 -10
  223. package/dist/index.es204.js.map +1 -1
  224. package/dist/index.es205.js +5 -241
  225. package/dist/index.es205.js.map +1 -1
  226. package/dist/index.es206.js +5 -49
  227. package/dist/index.es206.js.map +1 -1
  228. package/dist/index.es207.js +29 -22
  229. package/dist/index.es207.js.map +1 -1
  230. package/dist/index.es208.js +10 -10
  231. package/dist/index.es208.js.map +1 -1
  232. package/dist/index.es209.js +241 -7
  233. package/dist/index.es209.js.map +1 -1
  234. package/dist/index.es21.js +27 -67
  235. package/dist/index.es21.js.map +1 -1
  236. package/dist/index.es210.js +50 -6
  237. package/dist/index.es210.js.map +1 -1
  238. package/dist/index.es211.js +30 -60
  239. package/dist/index.es211.js.map +1 -1
  240. package/dist/index.es212.js +11 -39
  241. package/dist/index.es212.js.map +1 -1
  242. package/dist/index.es213.js +7 -31
  243. package/dist/index.es213.js.map +1 -1
  244. package/dist/index.es214.js +6 -61
  245. package/dist/index.es214.js.map +1 -1
  246. package/dist/index.es215.js +58 -8
  247. package/dist/index.es215.js.map +1 -1
  248. package/dist/index.es216.js +34 -16
  249. package/dist/index.es216.js.map +1 -1
  250. package/dist/index.es217.js +31 -4
  251. package/dist/index.es217.js.map +1 -1
  252. package/dist/index.es218.js +58 -13
  253. package/dist/index.es218.js.map +1 -1
  254. package/dist/index.es219.js +14 -32
  255. package/dist/index.es219.js.map +1 -1
  256. package/dist/index.es22.js +140 -30
  257. package/dist/index.es22.js.map +1 -1
  258. package/dist/index.es220.js +23 -5
  259. package/dist/index.es220.js.map +1 -1
  260. package/dist/index.es221.js +4 -4
  261. package/dist/index.es221.js.map +1 -1
  262. package/dist/index.es222.js +16 -4
  263. package/dist/index.es222.js.map +1 -1
  264. package/dist/index.es223.js +32 -7
  265. package/dist/index.es223.js.map +1 -1
  266. package/dist/index.es224.js +4 -91
  267. package/dist/index.es224.js.map +1 -1
  268. package/dist/index.es225.js +4 -17
  269. package/dist/index.es225.js.map +1 -1
  270. package/dist/index.es226.js +5 -762
  271. package/dist/index.es226.js.map +1 -1
  272. package/dist/index.es227.js +8 -66
  273. package/dist/index.es227.js.map +1 -1
  274. package/dist/index.es228.js +83 -165
  275. package/dist/index.es228.js.map +1 -1
  276. package/dist/index.es229.js +16 -36
  277. package/dist/index.es229.js.map +1 -1
  278. package/dist/index.es23.js +17 -32
  279. package/dist/index.es23.js.map +1 -1
  280. package/dist/index.es230.js +761 -136
  281. package/dist/index.es230.js.map +1 -1
  282. package/dist/index.es231.js +66 -93
  283. package/dist/index.es231.js.map +1 -1
  284. package/dist/index.es232.js +172 -31
  285. package/dist/index.es232.js.map +1 -1
  286. package/dist/index.es233.js +129 -277
  287. package/dist/index.es233.js.map +1 -1
  288. package/dist/index.es234.js +92 -25
  289. package/dist/index.es234.js.map +1 -1
  290. package/dist/index.es235.js +31 -22
  291. package/dist/index.es235.js.map +1 -1
  292. package/dist/index.es236.js +284 -14
  293. package/dist/index.es236.js.map +1 -1
  294. package/dist/index.es237.js +24 -13
  295. package/dist/index.es237.js.map +1 -1
  296. package/dist/index.es238.js +17 -19
  297. package/dist/index.es238.js.map +1 -1
  298. package/dist/index.es239.js +12 -43
  299. package/dist/index.es239.js.map +1 -1
  300. package/dist/index.es24.js +57 -136
  301. package/dist/index.es24.js.map +1 -1
  302. package/dist/index.es240.js +14 -11
  303. package/dist/index.es240.js.map +1 -1
  304. package/dist/index.es241.js +24 -10
  305. package/dist/index.es241.js.map +1 -1
  306. package/dist/index.es242.js +45 -11
  307. package/dist/index.es242.js.map +1 -1
  308. package/dist/index.es243.js +11 -14
  309. package/dist/index.es243.js.map +1 -1
  310. package/dist/index.es244.js +10 -10
  311. package/dist/index.es244.js.map +1 -1
  312. package/dist/index.es245.js +11 -11
  313. package/dist/index.es245.js.map +1 -1
  314. package/dist/index.es246.js +14 -11
  315. package/dist/index.es246.js.map +1 -1
  316. package/dist/index.es247.js +10 -14
  317. package/dist/index.es247.js.map +1 -1
  318. package/dist/index.es248.js +11 -11
  319. package/dist/index.es248.js.map +1 -1
  320. package/dist/index.es249.js +11 -11
  321. package/dist/index.es249.js.map +1 -1
  322. package/dist/index.es25.js +298 -94
  323. package/dist/index.es25.js.map +1 -1
  324. package/dist/index.es250.js +15 -11
  325. package/dist/index.es250.js.map +1 -1
  326. package/dist/index.es251.js +11 -11
  327. package/dist/index.es251.js.map +1 -1
  328. package/dist/index.es252.js +11 -11
  329. package/dist/index.es252.js.map +1 -1
  330. package/dist/index.es253.js +10 -10
  331. package/dist/index.es253.js.map +1 -1
  332. package/dist/index.es254.js +10 -10
  333. package/dist/index.es254.js.map +1 -1
  334. package/dist/index.es255.js +10 -10
  335. package/dist/index.es255.js.map +1 -1
  336. package/dist/index.es256.js +11 -56
  337. package/dist/index.es256.js.map +1 -1
  338. package/dist/index.es257.js +11 -49
  339. package/dist/index.es257.js.map +1 -1
  340. package/dist/index.es258.js +11 -119
  341. package/dist/index.es258.js.map +1 -1
  342. package/dist/index.es259.js +56 -384
  343. package/dist/index.es259.js.map +1 -1
  344. package/dist/index.es26.js +116 -65
  345. package/dist/index.es26.js.map +1 -1
  346. package/dist/index.es260.js +47 -16
  347. package/dist/index.es260.js.map +1 -1
  348. package/dist/index.es261.js +118 -10
  349. package/dist/index.es261.js.map +1 -1
  350. package/dist/index.es262.js +379 -26
  351. package/dist/index.es262.js.map +1 -1
  352. package/dist/index.es263.js +13 -26
  353. package/dist/index.es263.js.map +1 -1
  354. package/dist/index.es264.js +10 -61
  355. package/dist/index.es264.js.map +1 -1
  356. package/dist/index.es265.js +25 -11
  357. package/dist/index.es265.js.map +1 -1
  358. package/dist/index.es266.js +25 -71
  359. package/dist/index.es266.js.map +1 -1
  360. package/dist/index.es267.js +62 -11
  361. package/dist/index.es267.js.map +1 -1
  362. package/dist/index.es268.js +17 -11
  363. package/dist/index.es268.js.map +1 -1
  364. package/dist/index.es269.js +75 -13
  365. package/dist/index.es269.js.map +1 -1
  366. package/dist/index.es27.js +91 -168
  367. package/dist/index.es27.js.map +1 -1
  368. package/dist/index.es270.js +11 -52
  369. package/dist/index.es270.js.map +1 -1
  370. package/dist/index.es271.js +11 -166
  371. package/dist/index.es271.js.map +1 -1
  372. package/dist/index.es272.js +16 -2
  373. package/dist/index.es272.js.map +1 -1
  374. package/dist/index.es273.js +51 -9
  375. package/dist/index.es273.js.map +1 -1
  376. package/dist/index.es274.js +165 -18
  377. package/dist/index.es274.js.map +1 -1
  378. package/dist/index.es275.js +36 -37
  379. package/dist/index.es275.js.map +1 -1
  380. package/dist/index.es276.js +5 -0
  381. package/dist/index.es276.js.map +1 -0
  382. package/dist/index.es277.js +14 -0
  383. package/dist/index.es277.js.map +1 -0
  384. package/dist/index.es278.js +23 -0
  385. package/dist/index.es278.js.map +1 -0
  386. package/dist/index.es279.js +42 -0
  387. package/dist/index.es279.js.map +1 -0
  388. package/dist/index.es28.js +68 -24
  389. package/dist/index.es28.js.map +1 -1
  390. package/dist/index.es29.js +178 -12
  391. package/dist/index.es29.js.map +1 -1
  392. package/dist/index.es30.js +23 -437
  393. package/dist/index.es30.js.map +1 -1
  394. package/dist/index.es31.js +13 -15
  395. package/dist/index.es31.js.map +1 -1
  396. package/dist/index.es32.js +429 -107
  397. package/dist/index.es32.js.map +1 -1
  398. package/dist/index.es33.js +112 -65
  399. package/dist/index.es33.js.map +1 -1
  400. package/dist/index.es34.js +71 -18
  401. package/dist/index.es34.js.map +1 -1
  402. package/dist/index.es35.js +17 -260
  403. package/dist/index.es35.js.map +1 -1
  404. package/dist/index.es36.js +249 -31
  405. package/dist/index.es36.js.map +1 -1
  406. package/dist/index.es37.js +27 -199
  407. package/dist/index.es37.js.map +1 -1
  408. package/dist/index.es38.js +198 -50
  409. package/dist/index.es38.js.map +1 -1
  410. package/dist/index.es39.js +45 -120
  411. package/dist/index.es39.js.map +1 -1
  412. package/dist/index.es40.js +132 -14
  413. package/dist/index.es40.js.map +1 -1
  414. package/dist/index.es41.js +19 -225
  415. package/dist/index.es41.js.map +1 -1
  416. package/dist/index.es42.js +229 -8
  417. package/dist/index.es42.js.map +1 -1
  418. package/dist/index.es43.js +7 -1190
  419. package/dist/index.es43.js.map +1 -1
  420. package/dist/index.es44.js +1191 -6
  421. package/dist/index.es44.js.map +1 -1
  422. package/dist/index.es45.js +6 -146
  423. package/dist/index.es45.js.map +1 -1
  424. package/dist/index.es46.js +147 -7
  425. package/dist/index.es46.js.map +1 -1
  426. package/dist/index.es47.js +15 -92
  427. package/dist/index.es47.js.map +1 -1
  428. package/dist/index.es49.js +5 -35
  429. package/dist/index.es49.js.map +1 -1
  430. package/dist/index.es50.js +7 -71
  431. package/dist/index.es50.js.map +1 -1
  432. package/dist/index.es51.js +89 -33
  433. package/dist/index.es51.js.map +1 -1
  434. package/dist/index.es52.js +3 -305
  435. package/dist/index.es52.js.map +1 -1
  436. package/dist/index.es53.js +36 -9
  437. package/dist/index.es53.js.map +1 -1
  438. package/dist/index.es54.js +64 -83
  439. package/dist/index.es54.js.map +1 -1
  440. package/dist/index.es55.js +36 -6
  441. package/dist/index.es55.js.map +1 -1
  442. package/dist/index.es56.js +303 -12
  443. package/dist/index.es56.js.map +1 -1
  444. package/dist/index.es57.js +9 -143
  445. package/dist/index.es57.js.map +1 -1
  446. package/dist/index.es58.js +83 -292
  447. package/dist/index.es58.js.map +1 -1
  448. package/dist/index.es59.js +6 -64
  449. package/dist/index.es59.js.map +1 -1
  450. package/dist/index.es6.js +21 -5
  451. package/dist/index.es6.js.map +1 -1
  452. package/dist/index.es60.js +12 -210
  453. package/dist/index.es60.js.map +1 -1
  454. package/dist/index.es61.js +138 -29
  455. package/dist/index.es61.js.map +1 -1
  456. package/dist/index.es62.js +299 -8
  457. package/dist/index.es62.js.map +1 -1
  458. package/dist/index.es63.js +65 -11
  459. package/dist/index.es63.js.map +1 -1
  460. package/dist/index.es64.js +201 -175
  461. package/dist/index.es64.js.map +1 -1
  462. package/dist/index.es65.js +33 -23
  463. package/dist/index.es65.js.map +1 -1
  464. package/dist/index.es66.js +8 -1399
  465. package/dist/index.es66.js.map +1 -1
  466. package/dist/index.es67.js +12 -9
  467. package/dist/index.es67.js.map +1 -1
  468. package/dist/index.es68.js +187 -8
  469. package/dist/index.es68.js.map +1 -1
  470. package/dist/index.es69.js +24 -6
  471. package/dist/index.es69.js.map +1 -1
  472. package/dist/index.es70.js +1384 -147
  473. package/dist/index.es70.js.map +1 -1
  474. package/dist/index.es71.js +9 -672
  475. package/dist/index.es71.js.map +1 -1
  476. package/dist/index.es72.js +8 -12
  477. package/dist/index.es72.js.map +1 -1
  478. package/dist/index.es73.js +6 -40
  479. package/dist/index.es73.js.map +1 -1
  480. package/dist/index.es74.js +155 -26
  481. package/dist/index.es74.js.map +1 -1
  482. package/dist/index.es75.js +657 -217
  483. package/dist/index.es75.js.map +1 -1
  484. package/dist/index.es76.js +11 -29
  485. package/dist/index.es76.js.map +1 -1
  486. package/dist/index.es77.js +37 -72
  487. package/dist/index.es77.js.map +1 -1
  488. package/dist/index.es78.js +32 -74
  489. package/dist/index.es78.js.map +1 -1
  490. package/dist/index.es79.js +226 -46
  491. package/dist/index.es79.js.map +1 -1
  492. package/dist/index.es80.js +6 -6
  493. package/dist/index.es80.js.map +1 -1
  494. package/dist/index.es81.js +71 -39
  495. package/dist/index.es81.js.map +1 -1
  496. package/dist/index.es82.js +73 -54
  497. package/dist/index.es82.js.map +1 -1
  498. package/dist/index.es83.js +52 -13
  499. package/dist/index.es83.js.map +1 -1
  500. package/dist/index.es84.js +28 -135
  501. package/dist/index.es84.js.map +1 -1
  502. package/dist/index.es85.js +42 -20
  503. package/dist/index.es85.js.map +1 -1
  504. package/dist/index.es86.js +36 -181
  505. package/dist/index.es86.js.map +1 -1
  506. package/dist/index.es87.js +5 -241
  507. package/dist/index.es87.js.map +1 -1
  508. package/dist/index.es88.js +65 -347
  509. package/dist/index.es88.js.map +1 -1
  510. package/dist/index.es89.js +31 -131
  511. package/dist/index.es89.js.map +1 -1
  512. package/dist/index.es90.js +49 -62
  513. package/dist/index.es90.js.map +1 -1
  514. package/dist/index.es91.js +13 -37
  515. package/dist/index.es91.js.map +1 -1
  516. package/dist/index.es92.js +134 -34
  517. package/dist/index.es92.js.map +1 -1
  518. package/dist/index.es93.js +20 -165
  519. package/dist/index.es93.js.map +1 -1
  520. package/dist/index.es94.js +162 -183
  521. package/dist/index.es94.js.map +1 -1
  522. package/dist/index.es95.js +240 -13
  523. package/dist/index.es95.js.map +1 -1
  524. package/dist/index.es96.js +352 -27
  525. package/dist/index.es96.js.map +1 -1
  526. package/dist/index.es97.js +130 -27
  527. package/dist/index.es97.js.map +1 -1
  528. package/dist/index.es98.js +64 -3151
  529. package/dist/index.es98.js.map +1 -1
  530. package/dist/index.es99.js +34 -34
  531. package/dist/index.es99.js.map +1 -1
  532. package/dist/langgraph-ui-components.css +107 -0
  533. package/dist/styles.css +1 -1
  534. package/package.json +8 -7
  535. package/dist/index.es48.js +0 -7
  536. package/dist/index.es48.js.map +0 -1
@@ -1,444 +1,30 @@
1
- import { Client, getClientConfigHash } from "./index.es43.js";
2
- import { findLast, unique } from "./index.es44.js";
3
- import { StreamError } from "./index.es42.js";
4
- import { getBranchContext } from "./index.es45.js";
5
- import { MessageTupleManager } from "./index.es26.js";
6
- import { StreamManager } from "./index.es27.js";
7
- import { getToolCallsWithResults } from "./index.es28.js";
8
- import { useControllableThreadId } from "./index.es29.js";
9
- import { useRef, useMemo, useState, useSyncExternalStore, useCallback, useEffect } from "react";
10
- function getFetchHistoryKey(client, threadId, limit) {
11
- return [
12
- getClientConfigHash(client),
13
- threadId,
14
- limit
15
- ].join(":");
1
+ function computeToolCallState(result) {
2
+ if (!result) return "pending";
3
+ return result.status === "error" ? "error" : "completed";
16
4
  }
17
- function fetchHistory(client, threadId, options) {
18
- if (options?.limit === false) return client.threads.getState(threadId).then((state) => {
19
- if (state.checkpoint == null) return [];
20
- return [state];
21
- });
22
- const limit = typeof options?.limit === "number" ? options.limit : 10;
23
- return client.threads.getHistory(threadId, { limit });
24
- }
25
- function useThreadHistory(client, threadId, limit, options) {
26
- const key = getFetchHistoryKey(client, threadId, limit);
27
- const [state, setState] = useState(() => ({
28
- key: void 0,
29
- data: void 0,
30
- error: void 0,
31
- isLoading: threadId != null
32
- }));
33
- const clientRef = useRef(client);
34
- clientRef.current = client;
35
- const onErrorRef = useRef(options?.onError);
36
- onErrorRef.current = options?.onError;
37
- const fetcher = useCallback((threadId$1, limit$1) => {
38
- if (options.passthrough) return Promise.resolve([]);
39
- const client$1 = clientRef.current;
40
- const key$1 = getFetchHistoryKey(client$1, threadId$1, limit$1);
41
- if (threadId$1 != null) {
42
- setState((state$1) => {
43
- if (state$1.key === key$1) return {
44
- ...state$1,
45
- isLoading: true
46
- };
47
- return {
48
- key: key$1,
49
- data: void 0,
50
- error: void 0,
51
- isLoading: true
52
- };
53
- });
54
- return fetchHistory(client$1, threadId$1, { limit: limit$1 }).then((data) => {
55
- setState((state$1) => {
56
- if (state$1.key !== key$1) return state$1;
57
- return {
58
- key: key$1,
59
- data,
60
- error: void 0,
61
- isLoading: false
62
- };
63
- });
64
- return data;
65
- }, (error) => {
66
- setState((state$1) => {
67
- if (state$1.key !== key$1) return state$1;
68
- return {
69
- key: key$1,
70
- data: state$1.data,
71
- error,
72
- isLoading: false
73
- };
74
- });
75
- onErrorRef.current?.(error);
76
- return Promise.reject(error);
5
+ function getToolCallsWithResults(messages) {
6
+ const results = [];
7
+ const toolResultsById = /* @__PURE__ */ new Map();
8
+ for (const msg of messages) if (msg.type === "tool") toolResultsById.set(msg.tool_call_id, msg);
9
+ for (const msg of messages) if (msg.type === "ai" && msg.tool_calls && msg.tool_calls.length > 0) {
10
+ const aiMessage = msg;
11
+ for (let i = 0; i < aiMessage.tool_calls.length; i += 1) {
12
+ const call = aiMessage.tool_calls[i];
13
+ const callId = call.id;
14
+ const result = callId ? toolResultsById.get(callId) : void 0;
15
+ results.push({
16
+ id: callId ?? `${aiMessage.id ?? "unknown"}-${i}`,
17
+ call,
18
+ result,
19
+ aiMessage,
20
+ index: i,
21
+ state: computeToolCallState(result)
77
22
  });
78
23
  }
79
- setState({
80
- key: key$1,
81
- data: void 0,
82
- error: void 0,
83
- isLoading: false
84
- });
85
- return Promise.resolve([]);
86
- }, [options.passthrough]);
87
- useEffect(() => {
88
- if (options.submittingRef.current != null && options.submittingRef.current === threadId) return;
89
- fetcher(threadId, limit);
90
- }, [fetcher, key]);
91
- return {
92
- data: state.data,
93
- error: state.error,
94
- isLoading: state.isLoading,
95
- mutate: (mutateId) => fetcher(mutateId ?? threadId, limit)
96
- };
97
- }
98
- function useStreamLGP(options) {
99
- const reconnectOnMountRef = useRef(options.reconnectOnMount);
100
- const runMetadataStorage = useMemo(() => {
101
- if (typeof window === "undefined") return null;
102
- const storage = reconnectOnMountRef.current;
103
- if (storage === true) return window.sessionStorage;
104
- if (typeof storage === "function") return storage();
105
- return null;
106
- }, []);
107
- const client = useMemo(() => options.client ?? new Client({
108
- apiUrl: options.apiUrl,
109
- apiKey: options.apiKey,
110
- callerOptions: options.callerOptions,
111
- defaultHeaders: options.defaultHeaders
112
- }), [
113
- options.client,
114
- options.apiKey,
115
- options.apiUrl,
116
- options.callerOptions,
117
- options.defaultHeaders
118
- ]);
119
- const [messageManager] = useState(() => new MessageTupleManager());
120
- const [stream] = useState(() => new StreamManager(messageManager, { throttle: options.throttle ?? false }));
121
- useSyncExternalStore(stream.subscribe, stream.getSnapshot, stream.getSnapshot);
122
- const [threadId, onThreadId] = useControllableThreadId(options);
123
- const trackStreamModeRef = useRef([]);
124
- const trackStreamMode = useCallback((...mode) => {
125
- const ref = trackStreamModeRef.current;
126
- for (const m of mode) if (!ref.includes(m)) ref.push(m);
127
- }, []);
128
- const hasUpdateListener = options.onUpdateEvent != null;
129
- const hasCustomListener = options.onCustomEvent != null;
130
- const hasLangChainListener = options.onLangChainEvent != null;
131
- const hasDebugListener = options.onDebugEvent != null;
132
- const hasCheckpointListener = options.onCheckpointEvent != null;
133
- const hasTaskListener = options.onTaskEvent != null;
134
- const callbackStreamMode = useMemo(() => {
135
- const modes = [];
136
- if (hasUpdateListener) modes.push("updates");
137
- if (hasCustomListener) modes.push("custom");
138
- if (hasLangChainListener) modes.push("events");
139
- if (hasDebugListener) modes.push("debug");
140
- if (hasCheckpointListener) modes.push("checkpoints");
141
- if (hasTaskListener) modes.push("tasks");
142
- return modes;
143
- }, [
144
- hasUpdateListener,
145
- hasCustomListener,
146
- hasLangChainListener,
147
- hasDebugListener,
148
- hasCheckpointListener,
149
- hasTaskListener
150
- ]);
151
- const threadIdRef = useRef(threadId);
152
- const threadIdStreamingRef = useRef(null);
153
- useEffect(() => {
154
- if (threadIdRef.current !== threadId) {
155
- threadIdRef.current = threadId;
156
- stream.clear();
157
- }
158
- }, [threadId, stream]);
159
- const historyLimit = typeof options.fetchStateHistory === "object" && options.fetchStateHistory != null ? options.fetchStateHistory.limit ?? false : options.fetchStateHistory ?? false;
160
- const builtInHistory = useThreadHistory(client, threadId, historyLimit, {
161
- passthrough: options.thread != null,
162
- submittingRef: threadIdStreamingRef,
163
- onError: options.onError
164
- });
165
- const history = options.thread ?? builtInHistory;
166
- const getMessages = (value) => {
167
- const messagesKey = options.messagesKey ?? "messages";
168
- return Array.isArray(value[messagesKey]) ? value[messagesKey] : [];
169
- };
170
- const setMessages = (current, messages) => {
171
- const messagesKey = options.messagesKey ?? "messages";
172
- return {
173
- ...current,
174
- [messagesKey]: messages
175
- };
176
- };
177
- const [branch, setBranch] = useState("");
178
- const branchContext = getBranchContext(branch, history.data ?? void 0);
179
- const historyValues = branchContext.threadHead?.values ?? options.initialValues ?? {};
180
- const historyError = (() => {
181
- const error$1 = branchContext.threadHead?.tasks?.at(-1)?.error;
182
- if (error$1 == null) return void 0;
183
- try {
184
- const parsed = JSON.parse(error$1);
185
- if (StreamError.isStructuredError(parsed)) return new StreamError(parsed);
186
- return parsed;
187
- } catch {
188
- }
189
- return error$1;
190
- })();
191
- const messageMetadata = (() => {
192
- const alreadyShown = /* @__PURE__ */ new Set();
193
- return getMessages(historyValues).map((message, idx) => {
194
- const messageId = message.id ?? idx;
195
- const firstSeenState = findLast(history.data ?? [], (state) => getMessages(state.values).map((m, idx$1) => m.id ?? idx$1).includes(messageId));
196
- const checkpointId = firstSeenState?.checkpoint?.checkpoint_id;
197
- let branch$1 = checkpointId != null ? branchContext.branchByCheckpoint[checkpointId] : void 0;
198
- if (!branch$1?.branch?.length) branch$1 = void 0;
199
- const optionsShown = branch$1?.branchOptions?.flat(2).join(",");
200
- if (optionsShown) {
201
- if (alreadyShown.has(optionsShown)) branch$1 = void 0;
202
- alreadyShown.add(optionsShown);
203
- }
204
- return {
205
- messageId: messageId.toString(),
206
- firstSeenState,
207
- branch: branch$1?.branch,
208
- branchOptions: branch$1?.branchOptions
209
- };
210
- });
211
- })();
212
- const stop = () => stream.stop(historyValues, { onStop: (args) => {
213
- if (runMetadataStorage && threadId) {
214
- const runId = runMetadataStorage.getItem(`lg:stream:${threadId}`);
215
- if (runId) client.runs.cancel(threadId, runId);
216
- runMetadataStorage.removeItem(`lg:stream:${threadId}`);
217
- }
218
- options.onStop?.(args);
219
- } });
220
- const submit = async (values$1, submitOptions) => {
221
- const checkpointId = submitOptions?.checkpoint?.checkpoint_id;
222
- setBranch(checkpointId != null ? branchContext.branchByCheckpoint[checkpointId]?.branch ?? "" : "");
223
- const includeImplicitBranch = historyLimit === true || typeof historyLimit === "number";
224
- const shouldRefetch = options.onFinish != null || includeImplicitBranch;
225
- let callbackMeta;
226
- let rejoinKey;
227
- let usableThreadId = threadId;
228
- await stream.start(async (signal) => {
229
- stream.setStreamValues((values$2) => {
230
- const prev = {
231
- ...historyValues,
232
- ...values$2 ?? {}
233
- };
234
- if (submitOptions?.optimisticValues != null) return {
235
- ...prev,
236
- ...typeof submitOptions.optimisticValues === "function" ? submitOptions.optimisticValues(prev) : submitOptions.optimisticValues
237
- };
238
- return { ...prev };
239
- });
240
- if (!usableThreadId) {
241
- usableThreadId = (await client.threads.create({
242
- threadId: submitOptions?.threadId,
243
- metadata: submitOptions?.metadata,
244
- signal
245
- })).thread_id;
246
- threadIdRef.current = usableThreadId;
247
- threadIdStreamingRef.current = usableThreadId;
248
- onThreadId(usableThreadId);
249
- }
250
- if (!usableThreadId) throw new Error("Failed to obtain valid thread ID.");
251
- threadIdStreamingRef.current = usableThreadId;
252
- const streamMode = unique([
253
- ...submitOptions?.streamMode ?? [],
254
- ...trackStreamModeRef.current,
255
- ...callbackStreamMode
256
- ]);
257
- let checkpoint = submitOptions?.checkpoint ?? (includeImplicitBranch ? branchContext.threadHead?.checkpoint : void 0) ?? void 0;
258
- if (submitOptions?.checkpoint === null) checkpoint = void 0;
259
- if (checkpoint != null) delete checkpoint.thread_id;
260
- const streamResumable = submitOptions?.streamResumable ?? !!runMetadataStorage;
261
- return client.runs.stream(usableThreadId, options.assistantId, {
262
- input: values$1,
263
- config: submitOptions?.config,
264
- context: submitOptions?.context,
265
- command: submitOptions?.command,
266
- interruptBefore: submitOptions?.interruptBefore,
267
- interruptAfter: submitOptions?.interruptAfter,
268
- metadata: submitOptions?.metadata,
269
- multitaskStrategy: submitOptions?.multitaskStrategy,
270
- onCompletion: submitOptions?.onCompletion,
271
- onDisconnect: submitOptions?.onDisconnect ?? (streamResumable ? "continue" : "cancel"),
272
- signal,
273
- checkpoint,
274
- streamMode,
275
- streamSubgraphs: submitOptions?.streamSubgraphs,
276
- streamResumable,
277
- durability: submitOptions?.durability,
278
- onRunCreated(params) {
279
- callbackMeta = {
280
- run_id: params.run_id,
281
- thread_id: params.thread_id ?? usableThreadId
282
- };
283
- if (runMetadataStorage) {
284
- rejoinKey = `lg:stream:${usableThreadId}`;
285
- runMetadataStorage.setItem(rejoinKey, callbackMeta.run_id);
286
- }
287
- options.onCreated?.(callbackMeta);
288
- }
289
- });
290
- }, {
291
- getMessages,
292
- setMessages,
293
- initialValues: historyValues,
294
- callbacks: options,
295
- async onSuccess() {
296
- if (rejoinKey) runMetadataStorage?.removeItem(rejoinKey);
297
- if (shouldRefetch) {
298
- const lastHead = (await history.mutate(usableThreadId))?.at(0);
299
- if (lastHead) {
300
- options.onFinish?.(lastHead, callbackMeta);
301
- return null;
302
- }
303
- }
304
- },
305
- onError(error$1) {
306
- options.onError?.(error$1, callbackMeta);
307
- },
308
- onFinish() {
309
- threadIdStreamingRef.current = null;
310
- }
311
- });
312
- };
313
- const joinStream = async (runId, lastEventId, joinOptions) => {
314
- lastEventId ??= "-1";
315
- if (!threadId) return;
316
- const callbackMeta = {
317
- thread_id: threadId,
318
- run_id: runId
319
- };
320
- await stream.start(async (signal) => {
321
- threadIdStreamingRef.current = threadId;
322
- return client.runs.joinStream(threadId, runId, {
323
- signal,
324
- lastEventId,
325
- streamMode: joinOptions?.streamMode
326
- });
327
- }, {
328
- getMessages,
329
- setMessages,
330
- initialValues: historyValues,
331
- callbacks: options,
332
- async onSuccess() {
333
- runMetadataStorage?.removeItem(`lg:stream:${threadId}`);
334
- const lastHead = (await history.mutate(threadId))?.at(0);
335
- if (lastHead) options.onFinish?.(lastHead, callbackMeta);
336
- },
337
- onError(error$1) {
338
- options.onError?.(error$1, callbackMeta);
339
- },
340
- onFinish() {
341
- threadIdStreamingRef.current = null;
342
- }
343
- });
344
- };
345
- const reconnectKey = useMemo(() => {
346
- if (!runMetadataStorage || stream.isLoading) return void 0;
347
- if (typeof window === "undefined") return void 0;
348
- const runId = runMetadataStorage?.getItem(`lg:stream:${threadId}`);
349
- if (!runId) return void 0;
350
- return {
351
- runId,
352
- threadId
353
- };
354
- }, [
355
- runMetadataStorage,
356
- stream.isLoading,
357
- threadId
358
- ]);
359
- const shouldReconnect = !!runMetadataStorage;
360
- const reconnectRef = useRef({
361
- threadId,
362
- shouldReconnect
363
- });
364
- const joinStreamRef = useRef(joinStream);
365
- joinStreamRef.current = joinStream;
366
- useEffect(() => {
367
- if (reconnectRef.current.threadId !== threadId) reconnectRef.current = {
368
- threadId,
369
- shouldReconnect
370
- };
371
- }, [threadId, shouldReconnect]);
372
- useEffect(() => {
373
- if (reconnectKey && reconnectRef.current.shouldReconnect) {
374
- reconnectRef.current.shouldReconnect = false;
375
- joinStreamRef.current?.(reconnectKey.runId);
376
- }
377
- }, [reconnectKey]);
378
- const error = stream.error ?? historyError ?? history.error;
379
- const values = stream.values ?? historyValues;
380
- return {
381
- get values() {
382
- trackStreamMode("values");
383
- return values;
384
- },
385
- client,
386
- assistantId: options.assistantId,
387
- error,
388
- isLoading: stream.isLoading,
389
- stop,
390
- submit,
391
- joinStream,
392
- branch,
393
- setBranch,
394
- get history() {
395
- if (historyLimit === false) throw new Error("`fetchStateHistory` must be set to `true` to use `history`");
396
- return branchContext.flatHistory;
397
- },
398
- isThreadLoading: history.isLoading && history.data == null,
399
- get experimental_branchTree() {
400
- if (historyLimit === false) throw new Error("`fetchStateHistory` must be set to `true` to use `experimental_branchTree`");
401
- return branchContext.branchTree;
402
- },
403
- get interrupt() {
404
- if (values != null && "__interrupt__" in values && Array.isArray(values.__interrupt__)) {
405
- const valueInterrupts = values.__interrupt__;
406
- if (valueInterrupts.length === 0) return { when: "breakpoint" };
407
- if (valueInterrupts.length === 1) return valueInterrupts[0];
408
- return valueInterrupts;
409
- }
410
- if (stream.isLoading) return void 0;
411
- const interrupts = branchContext.threadHead?.tasks?.at(-1)?.interrupts;
412
- if (interrupts == null || interrupts.length === 0) {
413
- if (!(branchContext.threadHead?.next ?? []).length || error != null) return void 0;
414
- return { when: "breakpoint" };
415
- }
416
- return interrupts.at(-1);
417
- },
418
- get messages() {
419
- trackStreamMode("messages-tuple", "values");
420
- return getMessages(values);
421
- },
422
- get toolCalls() {
423
- trackStreamMode("messages-tuple", "values");
424
- return getToolCallsWithResults(getMessages(values));
425
- },
426
- getToolCalls(message) {
427
- trackStreamMode("messages-tuple", "values");
428
- return getToolCallsWithResults(getMessages(values)).filter((tc) => tc.aiMessage.id === message.id);
429
- },
430
- getMessagesMetadata(message, index) {
431
- trackStreamMode("values");
432
- const streamMetadata = messageManager.get(message.id)?.metadata;
433
- const historyMetadata = messageMetadata?.find((m) => m.messageId === (message.id ?? index));
434
- if (streamMetadata != null || historyMetadata != null) return {
435
- ...historyMetadata,
436
- streamMetadata
437
- };
438
- }
439
- };
24
+ }
25
+ return results;
440
26
  }
441
27
  export {
442
- useStreamLGP
28
+ getToolCallsWithResults
443
29
  };
444
30
  //# sourceMappingURL=index.es30.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es30.js","sources":["../node_modules/.pnpm/@langchain+langgraph-sdk@1.5.3_@langchain+core@1.1.13_openai@6.16.0_zod@4.3.5___react-d_6e8116ad15c37793c6138fe0d58aa04e/node_modules/@langchain/langgraph-sdk/dist/react/stream.lgp.js"],"sourcesContent":["\"use client\";\n\nimport { Client, getClientConfigHash } from \"../client.js\";\nimport { findLast, unique } from \"../ui/utils.js\";\nimport { StreamError } from \"../ui/errors.js\";\nimport { getBranchContext } from \"../ui/branching.js\";\nimport { MessageTupleManager } from \"../ui/messages.js\";\nimport { StreamManager } from \"../ui/manager.js\";\nimport { getToolCallsWithResults } from \"../utils/tools.js\";\nimport { useControllableThreadId } from \"./thread.js\";\nimport { useCallback, useEffect, useMemo, useRef, useState, useSyncExternalStore } from \"react\";\n\n//#region src/react/stream.lgp.tsx\nfunction getFetchHistoryKey(client, threadId, limit) {\n\treturn [\n\t\tgetClientConfigHash(client),\n\t\tthreadId,\n\t\tlimit\n\t].join(\":\");\n}\nfunction fetchHistory(client, threadId, options) {\n\tif (options?.limit === false) return client.threads.getState(threadId).then((state) => {\n\t\tif (state.checkpoint == null) return [];\n\t\treturn [state];\n\t});\n\tconst limit = typeof options?.limit === \"number\" ? options.limit : 10;\n\treturn client.threads.getHistory(threadId, { limit });\n}\nfunction useThreadHistory(client, threadId, limit, options) {\n\tconst key = getFetchHistoryKey(client, threadId, limit);\n\tconst [state, setState] = useState(() => ({\n\t\tkey: void 0,\n\t\tdata: void 0,\n\t\terror: void 0,\n\t\tisLoading: threadId != null\n\t}));\n\tconst clientRef = useRef(client);\n\tclientRef.current = client;\n\tconst onErrorRef = useRef(options?.onError);\n\tonErrorRef.current = options?.onError;\n\tconst fetcher = useCallback((threadId$1, limit$1) => {\n\t\tif (options.passthrough) return Promise.resolve([]);\n\t\tconst client$1 = clientRef.current;\n\t\tconst key$1 = getFetchHistoryKey(client$1, threadId$1, limit$1);\n\t\tif (threadId$1 != null) {\n\t\t\tsetState((state$1) => {\n\t\t\t\tif (state$1.key === key$1) return {\n\t\t\t\t\t...state$1,\n\t\t\t\t\tisLoading: true\n\t\t\t\t};\n\t\t\t\treturn {\n\t\t\t\t\tkey: key$1,\n\t\t\t\t\tdata: void 0,\n\t\t\t\t\terror: void 0,\n\t\t\t\t\tisLoading: true\n\t\t\t\t};\n\t\t\t});\n\t\t\treturn fetchHistory(client$1, threadId$1, { limit: limit$1 }).then((data) => {\n\t\t\t\tsetState((state$1) => {\n\t\t\t\t\tif (state$1.key !== key$1) return state$1;\n\t\t\t\t\treturn {\n\t\t\t\t\t\tkey: key$1,\n\t\t\t\t\t\tdata,\n\t\t\t\t\t\terror: void 0,\n\t\t\t\t\t\tisLoading: false\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t\treturn data;\n\t\t\t}, (error) => {\n\t\t\t\tsetState((state$1) => {\n\t\t\t\t\tif (state$1.key !== key$1) return state$1;\n\t\t\t\t\treturn {\n\t\t\t\t\t\tkey: key$1,\n\t\t\t\t\t\tdata: state$1.data,\n\t\t\t\t\t\terror,\n\t\t\t\t\t\tisLoading: false\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t\tonErrorRef.current?.(error);\n\t\t\t\treturn Promise.reject(error);\n\t\t\t});\n\t\t}\n\t\tsetState({\n\t\t\tkey: key$1,\n\t\t\tdata: void 0,\n\t\t\terror: void 0,\n\t\t\tisLoading: false\n\t\t});\n\t\treturn Promise.resolve([]);\n\t}, [options.passthrough]);\n\tuseEffect(() => {\n\t\tif (options.submittingRef.current != null && options.submittingRef.current === threadId) return;\n\t\tfetcher(threadId, limit);\n\t}, [fetcher, key]);\n\treturn {\n\t\tdata: state.data,\n\t\terror: state.error,\n\t\tisLoading: state.isLoading,\n\t\tmutate: (mutateId) => fetcher(mutateId ?? threadId, limit)\n\t};\n}\nfunction useStreamLGP(options) {\n\tconst reconnectOnMountRef = useRef(options.reconnectOnMount);\n\tconst runMetadataStorage = useMemo(() => {\n\t\tif (typeof window === \"undefined\") return null;\n\t\tconst storage = reconnectOnMountRef.current;\n\t\tif (storage === true) return window.sessionStorage;\n\t\tif (typeof storage === \"function\") return storage();\n\t\treturn null;\n\t}, []);\n\tconst client = useMemo(() => options.client ?? new Client({\n\t\tapiUrl: options.apiUrl,\n\t\tapiKey: options.apiKey,\n\t\tcallerOptions: options.callerOptions,\n\t\tdefaultHeaders: options.defaultHeaders\n\t}), [\n\t\toptions.client,\n\t\toptions.apiKey,\n\t\toptions.apiUrl,\n\t\toptions.callerOptions,\n\t\toptions.defaultHeaders\n\t]);\n\tconst [messageManager] = useState(() => new MessageTupleManager());\n\tconst [stream] = useState(() => new StreamManager(messageManager, { throttle: options.throttle ?? false }));\n\tuseSyncExternalStore(stream.subscribe, stream.getSnapshot, stream.getSnapshot);\n\tconst [threadId, onThreadId] = useControllableThreadId(options);\n\tconst trackStreamModeRef = useRef([]);\n\tconst trackStreamMode = useCallback((...mode) => {\n\t\tconst ref = trackStreamModeRef.current;\n\t\tfor (const m of mode) if (!ref.includes(m)) ref.push(m);\n\t}, []);\n\tconst hasUpdateListener = options.onUpdateEvent != null;\n\tconst hasCustomListener = options.onCustomEvent != null;\n\tconst hasLangChainListener = options.onLangChainEvent != null;\n\tconst hasDebugListener = options.onDebugEvent != null;\n\tconst hasCheckpointListener = options.onCheckpointEvent != null;\n\tconst hasTaskListener = options.onTaskEvent != null;\n\tconst callbackStreamMode = useMemo(() => {\n\t\tconst modes = [];\n\t\tif (hasUpdateListener) modes.push(\"updates\");\n\t\tif (hasCustomListener) modes.push(\"custom\");\n\t\tif (hasLangChainListener) modes.push(\"events\");\n\t\tif (hasDebugListener) modes.push(\"debug\");\n\t\tif (hasCheckpointListener) modes.push(\"checkpoints\");\n\t\tif (hasTaskListener) modes.push(\"tasks\");\n\t\treturn modes;\n\t}, [\n\t\thasUpdateListener,\n\t\thasCustomListener,\n\t\thasLangChainListener,\n\t\thasDebugListener,\n\t\thasCheckpointListener,\n\t\thasTaskListener\n\t]);\n\tconst threadIdRef = useRef(threadId);\n\tconst threadIdStreamingRef = useRef(null);\n\tuseEffect(() => {\n\t\tif (threadIdRef.current !== threadId) {\n\t\t\tthreadIdRef.current = threadId;\n\t\t\tstream.clear();\n\t\t}\n\t}, [threadId, stream]);\n\tconst historyLimit = typeof options.fetchStateHistory === \"object\" && options.fetchStateHistory != null ? options.fetchStateHistory.limit ?? false : options.fetchStateHistory ?? false;\n\tconst builtInHistory = useThreadHistory(client, threadId, historyLimit, {\n\t\tpassthrough: options.thread != null,\n\t\tsubmittingRef: threadIdStreamingRef,\n\t\tonError: options.onError\n\t});\n\tconst history = options.thread ?? builtInHistory;\n\tconst getMessages = (value) => {\n\t\tconst messagesKey = options.messagesKey ?? \"messages\";\n\t\treturn Array.isArray(value[messagesKey]) ? value[messagesKey] : [];\n\t};\n\tconst setMessages = (current, messages) => {\n\t\tconst messagesKey = options.messagesKey ?? \"messages\";\n\t\treturn {\n\t\t\t...current,\n\t\t\t[messagesKey]: messages\n\t\t};\n\t};\n\tconst [branch, setBranch] = useState(\"\");\n\tconst branchContext = getBranchContext(branch, history.data ?? void 0);\n\tconst historyValues = branchContext.threadHead?.values ?? options.initialValues ?? {};\n\tconst historyError = (() => {\n\t\tconst error$1 = branchContext.threadHead?.tasks?.at(-1)?.error;\n\t\tif (error$1 == null) return void 0;\n\t\ttry {\n\t\t\tconst parsed = JSON.parse(error$1);\n\t\t\tif (StreamError.isStructuredError(parsed)) return new StreamError(parsed);\n\t\t\treturn parsed;\n\t\t} catch {}\n\t\treturn error$1;\n\t})();\n\tconst messageMetadata = (() => {\n\t\tconst alreadyShown = /* @__PURE__ */ new Set();\n\t\treturn getMessages(historyValues).map((message, idx) => {\n\t\t\tconst messageId = message.id ?? idx;\n\t\t\tconst firstSeenState = findLast(history.data ?? [], (state) => getMessages(state.values).map((m, idx$1) => m.id ?? idx$1).includes(messageId));\n\t\t\tconst checkpointId = firstSeenState?.checkpoint?.checkpoint_id;\n\t\t\tlet branch$1 = checkpointId != null ? branchContext.branchByCheckpoint[checkpointId] : void 0;\n\t\t\tif (!branch$1?.branch?.length) branch$1 = void 0;\n\t\t\tconst optionsShown = branch$1?.branchOptions?.flat(2).join(\",\");\n\t\t\tif (optionsShown) {\n\t\t\t\tif (alreadyShown.has(optionsShown)) branch$1 = void 0;\n\t\t\t\talreadyShown.add(optionsShown);\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tmessageId: messageId.toString(),\n\t\t\t\tfirstSeenState,\n\t\t\t\tbranch: branch$1?.branch,\n\t\t\t\tbranchOptions: branch$1?.branchOptions\n\t\t\t};\n\t\t});\n\t})();\n\tconst stop = () => stream.stop(historyValues, { onStop: (args) => {\n\t\tif (runMetadataStorage && threadId) {\n\t\t\tconst runId = runMetadataStorage.getItem(`lg:stream:${threadId}`);\n\t\t\tif (runId) client.runs.cancel(threadId, runId);\n\t\t\trunMetadataStorage.removeItem(`lg:stream:${threadId}`);\n\t\t}\n\t\toptions.onStop?.(args);\n\t} });\n\tconst submit = async (values$1, submitOptions) => {\n\t\tconst checkpointId = submitOptions?.checkpoint?.checkpoint_id;\n\t\tsetBranch(checkpointId != null ? branchContext.branchByCheckpoint[checkpointId]?.branch ?? \"\" : \"\");\n\t\tconst includeImplicitBranch = historyLimit === true || typeof historyLimit === \"number\";\n\t\tconst shouldRefetch = options.onFinish != null || includeImplicitBranch;\n\t\tlet callbackMeta;\n\t\tlet rejoinKey;\n\t\tlet usableThreadId = threadId;\n\t\tawait stream.start(async (signal) => {\n\t\t\tstream.setStreamValues((values$2) => {\n\t\t\t\tconst prev = {\n\t\t\t\t\t...historyValues,\n\t\t\t\t\t...values$2 ?? {}\n\t\t\t\t};\n\t\t\t\tif (submitOptions?.optimisticValues != null) return {\n\t\t\t\t\t...prev,\n\t\t\t\t\t...typeof submitOptions.optimisticValues === \"function\" ? submitOptions.optimisticValues(prev) : submitOptions.optimisticValues\n\t\t\t\t};\n\t\t\t\treturn { ...prev };\n\t\t\t});\n\t\t\tif (!usableThreadId) {\n\t\t\t\tusableThreadId = (await client.threads.create({\n\t\t\t\t\tthreadId: submitOptions?.threadId,\n\t\t\t\t\tmetadata: submitOptions?.metadata,\n\t\t\t\t\tsignal\n\t\t\t\t})).thread_id;\n\t\t\t\tthreadIdRef.current = usableThreadId;\n\t\t\t\tthreadIdStreamingRef.current = usableThreadId;\n\t\t\t\tonThreadId(usableThreadId);\n\t\t\t}\n\t\t\tif (!usableThreadId) throw new Error(\"Failed to obtain valid thread ID.\");\n\t\t\tthreadIdStreamingRef.current = usableThreadId;\n\t\t\tconst streamMode = unique([\n\t\t\t\t...submitOptions?.streamMode ?? [],\n\t\t\t\t...trackStreamModeRef.current,\n\t\t\t\t...callbackStreamMode\n\t\t\t]);\n\t\t\tlet checkpoint = submitOptions?.checkpoint ?? (includeImplicitBranch ? branchContext.threadHead?.checkpoint : void 0) ?? void 0;\n\t\t\tif (submitOptions?.checkpoint === null) checkpoint = void 0;\n\t\t\tif (checkpoint != null) delete checkpoint.thread_id;\n\t\t\tconst streamResumable = submitOptions?.streamResumable ?? !!runMetadataStorage;\n\t\t\treturn client.runs.stream(usableThreadId, options.assistantId, {\n\t\t\t\tinput: values$1,\n\t\t\t\tconfig: submitOptions?.config,\n\t\t\t\tcontext: submitOptions?.context,\n\t\t\t\tcommand: submitOptions?.command,\n\t\t\t\tinterruptBefore: submitOptions?.interruptBefore,\n\t\t\t\tinterruptAfter: submitOptions?.interruptAfter,\n\t\t\t\tmetadata: submitOptions?.metadata,\n\t\t\t\tmultitaskStrategy: submitOptions?.multitaskStrategy,\n\t\t\t\tonCompletion: submitOptions?.onCompletion,\n\t\t\t\tonDisconnect: submitOptions?.onDisconnect ?? (streamResumable ? \"continue\" : \"cancel\"),\n\t\t\t\tsignal,\n\t\t\t\tcheckpoint,\n\t\t\t\tstreamMode,\n\t\t\t\tstreamSubgraphs: submitOptions?.streamSubgraphs,\n\t\t\t\tstreamResumable,\n\t\t\t\tdurability: submitOptions?.durability,\n\t\t\t\tonRunCreated(params) {\n\t\t\t\t\tcallbackMeta = {\n\t\t\t\t\t\trun_id: params.run_id,\n\t\t\t\t\t\tthread_id: params.thread_id ?? usableThreadId\n\t\t\t\t\t};\n\t\t\t\t\tif (runMetadataStorage) {\n\t\t\t\t\t\trejoinKey = `lg:stream:${usableThreadId}`;\n\t\t\t\t\t\trunMetadataStorage.setItem(rejoinKey, callbackMeta.run_id);\n\t\t\t\t\t}\n\t\t\t\t\toptions.onCreated?.(callbackMeta);\n\t\t\t\t}\n\t\t\t});\n\t\t}, {\n\t\t\tgetMessages,\n\t\t\tsetMessages,\n\t\t\tinitialValues: historyValues,\n\t\t\tcallbacks: options,\n\t\t\tasync onSuccess() {\n\t\t\t\tif (rejoinKey) runMetadataStorage?.removeItem(rejoinKey);\n\t\t\t\tif (shouldRefetch) {\n\t\t\t\t\tconst lastHead = (await history.mutate(usableThreadId))?.at(0);\n\t\t\t\t\tif (lastHead) {\n\t\t\t\t\t\toptions.onFinish?.(lastHead, callbackMeta);\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tonError(error$1) {\n\t\t\t\toptions.onError?.(error$1, callbackMeta);\n\t\t\t},\n\t\t\tonFinish() {\n\t\t\t\tthreadIdStreamingRef.current = null;\n\t\t\t}\n\t\t});\n\t};\n\tconst joinStream = async (runId, lastEventId, joinOptions) => {\n\t\tlastEventId ??= \"-1\";\n\t\tif (!threadId) return;\n\t\tconst callbackMeta = {\n\t\t\tthread_id: threadId,\n\t\t\trun_id: runId\n\t\t};\n\t\tawait stream.start(async (signal) => {\n\t\t\tthreadIdStreamingRef.current = threadId;\n\t\t\treturn client.runs.joinStream(threadId, runId, {\n\t\t\t\tsignal,\n\t\t\t\tlastEventId,\n\t\t\t\tstreamMode: joinOptions?.streamMode\n\t\t\t});\n\t\t}, {\n\t\t\tgetMessages,\n\t\t\tsetMessages,\n\t\t\tinitialValues: historyValues,\n\t\t\tcallbacks: options,\n\t\t\tasync onSuccess() {\n\t\t\t\trunMetadataStorage?.removeItem(`lg:stream:${threadId}`);\n\t\t\t\tconst lastHead = (await history.mutate(threadId))?.at(0);\n\t\t\t\tif (lastHead) options.onFinish?.(lastHead, callbackMeta);\n\t\t\t},\n\t\t\tonError(error$1) {\n\t\t\t\toptions.onError?.(error$1, callbackMeta);\n\t\t\t},\n\t\t\tonFinish() {\n\t\t\t\tthreadIdStreamingRef.current = null;\n\t\t\t}\n\t\t});\n\t};\n\tconst reconnectKey = useMemo(() => {\n\t\tif (!runMetadataStorage || stream.isLoading) return void 0;\n\t\tif (typeof window === \"undefined\") return void 0;\n\t\tconst runId = runMetadataStorage?.getItem(`lg:stream:${threadId}`);\n\t\tif (!runId) return void 0;\n\t\treturn {\n\t\t\trunId,\n\t\t\tthreadId\n\t\t};\n\t}, [\n\t\trunMetadataStorage,\n\t\tstream.isLoading,\n\t\tthreadId\n\t]);\n\tconst shouldReconnect = !!runMetadataStorage;\n\tconst reconnectRef = useRef({\n\t\tthreadId,\n\t\tshouldReconnect\n\t});\n\tconst joinStreamRef = useRef(joinStream);\n\tjoinStreamRef.current = joinStream;\n\tuseEffect(() => {\n\t\tif (reconnectRef.current.threadId !== threadId) reconnectRef.current = {\n\t\t\tthreadId,\n\t\t\tshouldReconnect\n\t\t};\n\t}, [threadId, shouldReconnect]);\n\tuseEffect(() => {\n\t\tif (reconnectKey && reconnectRef.current.shouldReconnect) {\n\t\t\treconnectRef.current.shouldReconnect = false;\n\t\t\tjoinStreamRef.current?.(reconnectKey.runId);\n\t\t}\n\t}, [reconnectKey]);\n\tconst error = stream.error ?? historyError ?? history.error;\n\tconst values = stream.values ?? historyValues;\n\treturn {\n\t\tget values() {\n\t\t\ttrackStreamMode(\"values\");\n\t\t\treturn values;\n\t\t},\n\t\tclient,\n\t\tassistantId: options.assistantId,\n\t\terror,\n\t\tisLoading: stream.isLoading,\n\t\tstop,\n\t\tsubmit,\n\t\tjoinStream,\n\t\tbranch,\n\t\tsetBranch,\n\t\tget history() {\n\t\t\tif (historyLimit === false) throw new Error(\"`fetchStateHistory` must be set to `true` to use `history`\");\n\t\t\treturn branchContext.flatHistory;\n\t\t},\n\t\tisThreadLoading: history.isLoading && history.data == null,\n\t\tget experimental_branchTree() {\n\t\t\tif (historyLimit === false) throw new Error(\"`fetchStateHistory` must be set to `true` to use `experimental_branchTree`\");\n\t\t\treturn branchContext.branchTree;\n\t\t},\n\t\tget interrupt() {\n\t\t\tif (values != null && \"__interrupt__\" in values && Array.isArray(values.__interrupt__)) {\n\t\t\t\tconst valueInterrupts = values.__interrupt__;\n\t\t\t\tif (valueInterrupts.length === 0) return { when: \"breakpoint\" };\n\t\t\t\tif (valueInterrupts.length === 1) return valueInterrupts[0];\n\t\t\t\treturn valueInterrupts;\n\t\t\t}\n\t\t\tif (stream.isLoading) return void 0;\n\t\t\tconst interrupts = branchContext.threadHead?.tasks?.at(-1)?.interrupts;\n\t\t\tif (interrupts == null || interrupts.length === 0) {\n\t\t\t\tif (!(branchContext.threadHead?.next ?? []).length || error != null) return void 0;\n\t\t\t\treturn { when: \"breakpoint\" };\n\t\t\t}\n\t\t\treturn interrupts.at(-1);\n\t\t},\n\t\tget messages() {\n\t\t\ttrackStreamMode(\"messages-tuple\", \"values\");\n\t\t\treturn getMessages(values);\n\t\t},\n\t\tget toolCalls() {\n\t\t\ttrackStreamMode(\"messages-tuple\", \"values\");\n\t\t\treturn getToolCallsWithResults(getMessages(values));\n\t\t},\n\t\tgetToolCalls(message) {\n\t\t\ttrackStreamMode(\"messages-tuple\", \"values\");\n\t\t\treturn getToolCallsWithResults(getMessages(values)).filter((tc) => tc.aiMessage.id === message.id);\n\t\t},\n\t\tgetMessagesMetadata(message, index) {\n\t\t\ttrackStreamMode(\"values\");\n\t\t\tconst streamMetadata = messageManager.get(message.id)?.metadata;\n\t\t\tconst historyMetadata = messageMetadata?.find((m) => m.messageId === (message.id ?? index));\n\t\t\tif (streamMetadata != null || historyMetadata != null) return {\n\t\t\t\t...historyMetadata,\n\t\t\t\tstreamMetadata\n\t\t\t};\n\t\t}\n\t};\n}\n\n//#endregion\nexport { useStreamLGP };\n//# sourceMappingURL=stream.lgp.js.map"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.es30.js","sources":["../node_modules/.pnpm/@langchain+langgraph-sdk@1.5.3_@langchain+core@1.1.13_openai@6.16.0_zod@4.3.5___react-d_6e8116ad15c37793c6138fe0d58aa04e/node_modules/@langchain/langgraph-sdk/dist/utils/tools.js"],"sourcesContent":["//#region src/utils/tools.ts\n/**\n* Extracts tool calls with their results from a list of messages.\n*\n* @template ToolCall The type of tool calls.\n* @param messages The list of messages to extract tool calls from.\n* @returns An array of ToolCallWithResult objects.\n*\n* @example\n* ```ts\n* const toolCalls = getToolCallsWithResults(messages);\n* for (const { call, result } of toolCalls) {\n* if (call.name === \"get_weather\") {\n* console.log(`Weather for ${call.args.location}:`, result?.content);\n* }\n* }\n* ```\n*/\n/**\n* Computes the lifecycle state of a tool call based on its result.\n*/\nfunction computeToolCallState(result) {\n\tif (!result) return \"pending\";\n\treturn result.status === \"error\" ? \"error\" : \"completed\";\n}\nfunction getToolCallsWithResults(messages) {\n\tconst results = [];\n\tconst toolResultsById = /* @__PURE__ */ new Map();\n\tfor (const msg of messages) if (msg.type === \"tool\") toolResultsById.set(msg.tool_call_id, msg);\n\tfor (const msg of messages) if (msg.type === \"ai\" && msg.tool_calls && msg.tool_calls.length > 0) {\n\t\tconst aiMessage = msg;\n\t\tfor (let i = 0; i < aiMessage.tool_calls.length; i += 1) {\n\t\t\tconst call = aiMessage.tool_calls[i];\n\t\t\tconst callId = call.id;\n\t\t\tconst result = callId ? toolResultsById.get(callId) : void 0;\n\t\t\tresults.push({\n\t\t\t\tid: callId ?? `${aiMessage.id ?? \"unknown\"}-${i}`,\n\t\t\t\tcall,\n\t\t\t\tresult,\n\t\t\t\taiMessage,\n\t\t\t\tindex: i,\n\t\t\t\tstate: computeToolCallState(result)\n\t\t\t});\n\t\t}\n\t}\n\treturn results;\n}\n\n//#endregion\nexport { getToolCallsWithResults };\n//# sourceMappingURL=tools.js.map"],"names":[],"mappings":"AAqBA,SAAS,qBAAqB,QAAQ;AACrC,MAAI,CAAC,OAAQ,QAAO;AACpB,SAAO,OAAO,WAAW,UAAU,UAAU;AAC9C;AACA,SAAS,wBAAwB,UAAU;AAC1C,QAAM,UAAU,CAAA;AAChB,QAAM,kBAAkC,oBAAI,IAAG;AAC/C,aAAW,OAAO,SAAU,KAAI,IAAI,SAAS,OAAQ,iBAAgB,IAAI,IAAI,cAAc,GAAG;AAC9F,aAAW,OAAO,SAAU,KAAI,IAAI,SAAS,QAAQ,IAAI,cAAc,IAAI,WAAW,SAAS,GAAG;AACjG,UAAM,YAAY;AAClB,aAAS,IAAI,GAAG,IAAI,UAAU,WAAW,QAAQ,KAAK,GAAG;AACxD,YAAM,OAAO,UAAU,WAAW,CAAC;AACnC,YAAM,SAAS,KAAK;AACpB,YAAM,SAAS,SAAS,gBAAgB,IAAI,MAAM,IAAI;AACtD,cAAQ,KAAK;AAAA,QACZ,IAAI,UAAU,GAAG,UAAU,MAAM,SAAS,IAAI,CAAC;AAAA,QAC/C;AAAA,QACA;AAAA,QACA;AAAA,QACA,OAAO;AAAA,QACP,OAAO,qBAAqB,MAAM;AAAA,MACtC,CAAI;AAAA,IACF;AAAA,EACD;AACA,SAAO;AACR;","x_google_ignoreList":[0]}
@@ -1,18 +1,16 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import ReactMarkdown from "react-markdown";
3
- import remarkGfm from "remark-gfm";
4
- import rehypeHighlight from "rehype-highlight";
5
- function AgentMarkdown({ content }) {
6
- return /* @__PURE__ */ jsx(
7
- ReactMarkdown,
8
- {
9
- remarkPlugins: [remarkGfm],
10
- rehypePlugins: [rehypeHighlight],
11
- children: content
12
- }
13
- );
14
- }
1
+ import { useState, useRef, useCallback } from "react";
2
+ const useControllableThreadId = (options) => {
3
+ const [localThreadId, _setLocalThreadId] = useState(options?.threadId ?? null);
4
+ const onThreadIdRef = useRef(options?.onThreadId);
5
+ onThreadIdRef.current = options?.onThreadId;
6
+ const setThreadId = useCallback((threadId) => {
7
+ _setLocalThreadId(threadId);
8
+ onThreadIdRef.current?.(threadId);
9
+ }, []);
10
+ if (!options || !("threadId" in options)) return [localThreadId, setThreadId];
11
+ return [options.threadId ?? null, setThreadId];
12
+ };
15
13
  export {
16
- AgentMarkdown
14
+ useControllableThreadId
17
15
  };
18
16
  //# sourceMappingURL=index.es31.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es31.js","sources":["../src/components/messages/AgentMarkdown.tsx"],"sourcesContent":["import ReactMarkdown from \"react-markdown\";\nimport remarkGfm from \"remark-gfm\";\nimport rehypeHighlight from \"rehype-highlight\";\n// import \"highlight.js/styles/github.css\";\n\nexport function AgentMarkdown({ content }: { content: string }) {\n return (\n <ReactMarkdown\n remarkPlugins={[remarkGfm]}\n rehypePlugins={[rehypeHighlight]}\n >\n {content}\n </ReactMarkdown>\n );\n}\n"],"names":[],"mappings":";;;;AAKO,SAAS,cAAc,EAAE,WAAgC;AAC9D,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,eAAe,CAAC,SAAS;AAAA,MACzB,eAAe,CAAC,eAAe;AAAA,MAE9B,UAAA;AAAA,IAAA;AAAA,EAAA;AAGP;"}
1
+ {"version":3,"file":"index.es31.js","sources":["../node_modules/.pnpm/@langchain+langgraph-sdk@1.5.3_@langchain+core@1.1.13_openai@6.16.0_zod@4.3.5___react-d_6e8116ad15c37793c6138fe0d58aa04e/node_modules/@langchain/langgraph-sdk/dist/react/thread.js"],"sourcesContent":["\"use client\";\n\nimport { useCallback, useRef, useState } from \"react\";\n\n//#region src/react/thread.tsx\nconst useControllableThreadId = (options) => {\n\tconst [localThreadId, _setLocalThreadId] = useState(options?.threadId ?? null);\n\tconst onThreadIdRef = useRef(options?.onThreadId);\n\tonThreadIdRef.current = options?.onThreadId;\n\tconst setThreadId = useCallback((threadId) => {\n\t\t_setLocalThreadId(threadId);\n\t\tonThreadIdRef.current?.(threadId);\n\t}, []);\n\tif (!options || !(\"threadId\" in options)) return [localThreadId, setThreadId];\n\treturn [options.threadId ?? null, setThreadId];\n};\n\n//#endregion\nexport { useControllableThreadId };\n//# sourceMappingURL=thread.js.map"],"names":[],"mappings":";AAKK,MAAC,0BAA0B,CAAC,YAAY;AAC5C,QAAM,CAAC,eAAe,iBAAiB,IAAI,SAAS,SAAS,YAAY,IAAI;AAC7E,QAAM,gBAAgB,OAAO,SAAS,UAAU;AAChD,gBAAc,UAAU,SAAS;AACjC,QAAM,cAAc,YAAY,CAAC,aAAa;AAC7C,sBAAkB,QAAQ;AAC1B,kBAAc,UAAU,QAAQ;AAAA,EACjC,GAAG,CAAA,CAAE;AACL,MAAI,CAAC,WAAW,EAAE,cAAc,SAAU,QAAO,CAAC,eAAe,WAAW;AAC5E,SAAO,CAAC,QAAQ,YAAY,MAAM,WAAW;AAC9C;","x_google_ignoreList":[0]}