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,33 +1,358 @@
1
- import { AsyncLocalStorageProviderSingleton } from "./index.es82.js";
2
- import "./index.es83.js";
3
- import { pickRunnableConfigKeys } from "./index.es84.js";
4
- function isIterableIterator(thing) {
5
- return typeof thing === "object" && thing !== null && typeof thing[Symbol.iterator] === "function" && typeof thing.next === "function";
1
+ import { AIMessageChunk } from "./index.es38.js";
2
+ import { BaseTracer } from "./index.es118.js";
3
+ import { IterableReadableStream } from "./index.es94.js";
4
+ import { GenerationChunk } from "./index.es119.js";
5
+ function assignName({ name, serialized }) {
6
+ if (name !== void 0) return name;
7
+ if (serialized?.name !== void 0) return serialized.name;
8
+ else if (serialized?.id !== void 0 && Array.isArray(serialized?.id)) return serialized.id[serialized.id.length - 1];
9
+ return "Unnamed";
6
10
  }
7
- const isIterator = (x) => x != null && typeof x === "object" && "next" in x && typeof x.next === "function";
8
- function isAsyncIterable(thing) {
9
- return typeof thing === "object" && thing !== null && typeof thing[Symbol.asyncIterator] === "function";
10
- }
11
- function* consumeIteratorInContext(context, iter) {
12
- while (true) {
13
- const { value, done } = AsyncLocalStorageProviderSingleton.runWithConfig(pickRunnableConfigKeys(context), iter.next.bind(iter), true);
14
- if (done) break;
15
- else yield value;
11
+ const isStreamEventsHandler = (handler) => handler.name === "event_stream_tracer";
12
+ var EventStreamCallbackHandler = class extends BaseTracer {
13
+ autoClose = true;
14
+ includeNames;
15
+ includeTypes;
16
+ includeTags;
17
+ excludeNames;
18
+ excludeTypes;
19
+ excludeTags;
20
+ runInfoMap = /* @__PURE__ */ new Map();
21
+ tappedPromises = /* @__PURE__ */ new Map();
22
+ transformStream;
23
+ writer;
24
+ receiveStream;
25
+ readableStreamClosed = false;
26
+ name = "event_stream_tracer";
27
+ lc_prefer_streaming = true;
28
+ constructor(fields) {
29
+ super({
30
+ _awaitHandler: true,
31
+ ...fields
32
+ });
33
+ this.autoClose = fields?.autoClose ?? true;
34
+ this.includeNames = fields?.includeNames;
35
+ this.includeTypes = fields?.includeTypes;
36
+ this.includeTags = fields?.includeTags;
37
+ this.excludeNames = fields?.excludeNames;
38
+ this.excludeTypes = fields?.excludeTypes;
39
+ this.excludeTags = fields?.excludeTags;
40
+ this.transformStream = new TransformStream({ flush: () => {
41
+ this.readableStreamClosed = true;
42
+ } });
43
+ this.writer = this.transformStream.writable.getWriter();
44
+ this.receiveStream = IterableReadableStream.fromReadableStream(this.transformStream.readable);
16
45
  }
17
- }
18
- async function* consumeAsyncIterableInContext(context, iter) {
19
- const iterator = iter[Symbol.asyncIterator]();
20
- while (true) {
21
- const { value, done } = await AsyncLocalStorageProviderSingleton.runWithConfig(pickRunnableConfigKeys(context), iterator.next.bind(iter), true);
22
- if (done) break;
23
- else yield value;
46
+ [Symbol.asyncIterator]() {
47
+ return this.receiveStream;
24
48
  }
25
- }
49
+ async persistRun(_run) {
50
+ }
51
+ _includeRun(run) {
52
+ const runTags = run.tags ?? [];
53
+ let include = this.includeNames === void 0 && this.includeTags === void 0 && this.includeTypes === void 0;
54
+ if (this.includeNames !== void 0) include = include || this.includeNames.includes(run.name);
55
+ if (this.includeTypes !== void 0) include = include || this.includeTypes.includes(run.runType);
56
+ if (this.includeTags !== void 0) include = include || runTags.find((tag) => this.includeTags?.includes(tag)) !== void 0;
57
+ if (this.excludeNames !== void 0) include = include && !this.excludeNames.includes(run.name);
58
+ if (this.excludeTypes !== void 0) include = include && !this.excludeTypes.includes(run.runType);
59
+ if (this.excludeTags !== void 0) include = include && runTags.every((tag) => !this.excludeTags?.includes(tag));
60
+ return include;
61
+ }
62
+ async *tapOutputIterable(runId, outputStream) {
63
+ const firstChunk = await outputStream.next();
64
+ if (firstChunk.done) return;
65
+ const runInfo = this.runInfoMap.get(runId);
66
+ if (runInfo === void 0) {
67
+ yield firstChunk.value;
68
+ return;
69
+ }
70
+ function _formatOutputChunk(eventType, data) {
71
+ if (eventType === "llm" && typeof data === "string") return new GenerationChunk({ text: data });
72
+ return data;
73
+ }
74
+ let tappedPromise = this.tappedPromises.get(runId);
75
+ if (tappedPromise === void 0) {
76
+ let tappedPromiseResolver;
77
+ tappedPromise = new Promise((resolve) => {
78
+ tappedPromiseResolver = resolve;
79
+ });
80
+ this.tappedPromises.set(runId, tappedPromise);
81
+ try {
82
+ const event = {
83
+ event: `on_${runInfo.runType}_stream`,
84
+ run_id: runId,
85
+ name: runInfo.name,
86
+ tags: runInfo.tags,
87
+ metadata: runInfo.metadata,
88
+ data: {}
89
+ };
90
+ await this.send({
91
+ ...event,
92
+ data: { chunk: _formatOutputChunk(runInfo.runType, firstChunk.value) }
93
+ }, runInfo);
94
+ yield firstChunk.value;
95
+ for await (const chunk of outputStream) {
96
+ if (runInfo.runType !== "tool" && runInfo.runType !== "retriever") await this.send({
97
+ ...event,
98
+ data: { chunk: _formatOutputChunk(runInfo.runType, chunk) }
99
+ }, runInfo);
100
+ yield chunk;
101
+ }
102
+ } finally {
103
+ tappedPromiseResolver?.();
104
+ }
105
+ } else {
106
+ yield firstChunk.value;
107
+ for await (const chunk of outputStream) yield chunk;
108
+ }
109
+ }
110
+ async send(payload, run) {
111
+ if (this.readableStreamClosed) return;
112
+ if (this._includeRun(run)) await this.writer.write(payload);
113
+ }
114
+ async sendEndEvent(payload, run) {
115
+ const tappedPromise = this.tappedPromises.get(payload.run_id);
116
+ if (tappedPromise !== void 0) tappedPromise.then(() => {
117
+ this.send(payload, run);
118
+ });
119
+ else await this.send(payload, run);
120
+ }
121
+ async onLLMStart(run) {
122
+ const runName = assignName(run);
123
+ const runType = run.inputs.messages !== void 0 ? "chat_model" : "llm";
124
+ const runInfo = {
125
+ tags: run.tags ?? [],
126
+ metadata: run.extra?.metadata ?? {},
127
+ name: runName,
128
+ runType,
129
+ inputs: run.inputs
130
+ };
131
+ this.runInfoMap.set(run.id, runInfo);
132
+ const eventName = `on_${runType}_start`;
133
+ await this.send({
134
+ event: eventName,
135
+ data: { input: run.inputs },
136
+ name: runName,
137
+ tags: run.tags ?? [],
138
+ run_id: run.id,
139
+ metadata: run.extra?.metadata ?? {}
140
+ }, runInfo);
141
+ }
142
+ async onLLMNewToken(run, token, kwargs) {
143
+ const runInfo = this.runInfoMap.get(run.id);
144
+ let chunk;
145
+ let eventName;
146
+ if (runInfo === void 0) throw new Error(`onLLMNewToken: Run ID ${run.id} not found in run map.`);
147
+ if (this.runInfoMap.size === 1) return;
148
+ if (runInfo.runType === "chat_model") {
149
+ eventName = "on_chat_model_stream";
150
+ if (kwargs?.chunk === void 0) chunk = new AIMessageChunk({
151
+ content: token,
152
+ id: `run-${run.id}`
153
+ });
154
+ else chunk = kwargs.chunk.message;
155
+ } else if (runInfo.runType === "llm") {
156
+ eventName = "on_llm_stream";
157
+ if (kwargs?.chunk === void 0) chunk = new GenerationChunk({ text: token });
158
+ else chunk = kwargs.chunk;
159
+ } else throw new Error(`Unexpected run type ${runInfo.runType}`);
160
+ await this.send({
161
+ event: eventName,
162
+ data: { chunk },
163
+ run_id: run.id,
164
+ name: runInfo.name,
165
+ tags: runInfo.tags,
166
+ metadata: runInfo.metadata
167
+ }, runInfo);
168
+ }
169
+ async onLLMEnd(run) {
170
+ const runInfo = this.runInfoMap.get(run.id);
171
+ this.runInfoMap.delete(run.id);
172
+ let eventName;
173
+ if (runInfo === void 0) throw new Error(`onLLMEnd: Run ID ${run.id} not found in run map.`);
174
+ const generations = run.outputs?.generations;
175
+ let output;
176
+ if (runInfo.runType === "chat_model") {
177
+ for (const generation of generations ?? []) {
178
+ if (output !== void 0) break;
179
+ output = generation[0]?.message;
180
+ }
181
+ eventName = "on_chat_model_end";
182
+ } else if (runInfo.runType === "llm") {
183
+ output = {
184
+ generations: generations?.map((generation) => {
185
+ return generation.map((chunk) => {
186
+ return {
187
+ text: chunk.text,
188
+ generationInfo: chunk.generationInfo
189
+ };
190
+ });
191
+ }),
192
+ llmOutput: run.outputs?.llmOutput ?? {}
193
+ };
194
+ eventName = "on_llm_end";
195
+ } else throw new Error(`onLLMEnd: Unexpected run type: ${runInfo.runType}`);
196
+ await this.sendEndEvent({
197
+ event: eventName,
198
+ data: {
199
+ output,
200
+ input: runInfo.inputs
201
+ },
202
+ run_id: run.id,
203
+ name: runInfo.name,
204
+ tags: runInfo.tags,
205
+ metadata: runInfo.metadata
206
+ }, runInfo);
207
+ }
208
+ async onChainStart(run) {
209
+ const runName = assignName(run);
210
+ const runType = run.run_type ?? "chain";
211
+ const runInfo = {
212
+ tags: run.tags ?? [],
213
+ metadata: run.extra?.metadata ?? {},
214
+ name: runName,
215
+ runType: run.run_type
216
+ };
217
+ let eventData = {};
218
+ if (run.inputs.input === "" && Object.keys(run.inputs).length === 1) {
219
+ eventData = {};
220
+ runInfo.inputs = {};
221
+ } else if (run.inputs.input !== void 0) {
222
+ eventData.input = run.inputs.input;
223
+ runInfo.inputs = run.inputs.input;
224
+ } else {
225
+ eventData.input = run.inputs;
226
+ runInfo.inputs = run.inputs;
227
+ }
228
+ this.runInfoMap.set(run.id, runInfo);
229
+ await this.send({
230
+ event: `on_${runType}_start`,
231
+ data: eventData,
232
+ name: runName,
233
+ tags: run.tags ?? [],
234
+ run_id: run.id,
235
+ metadata: run.extra?.metadata ?? {}
236
+ }, runInfo);
237
+ }
238
+ async onChainEnd(run) {
239
+ const runInfo = this.runInfoMap.get(run.id);
240
+ this.runInfoMap.delete(run.id);
241
+ if (runInfo === void 0) throw new Error(`onChainEnd: Run ID ${run.id} not found in run map.`);
242
+ const eventName = `on_${run.run_type}_end`;
243
+ const inputs = run.inputs ?? runInfo.inputs ?? {};
244
+ const outputs = run.outputs?.output ?? run.outputs;
245
+ const data = {
246
+ output: outputs,
247
+ input: inputs
248
+ };
249
+ if (inputs.input && Object.keys(inputs).length === 1) {
250
+ data.input = inputs.input;
251
+ runInfo.inputs = inputs.input;
252
+ }
253
+ await this.sendEndEvent({
254
+ event: eventName,
255
+ data,
256
+ run_id: run.id,
257
+ name: runInfo.name,
258
+ tags: runInfo.tags,
259
+ metadata: runInfo.metadata ?? {}
260
+ }, runInfo);
261
+ }
262
+ async onToolStart(run) {
263
+ const runName = assignName(run);
264
+ const runInfo = {
265
+ tags: run.tags ?? [],
266
+ metadata: run.extra?.metadata ?? {},
267
+ name: runName,
268
+ runType: "tool",
269
+ inputs: run.inputs ?? {}
270
+ };
271
+ this.runInfoMap.set(run.id, runInfo);
272
+ await this.send({
273
+ event: "on_tool_start",
274
+ data: { input: run.inputs ?? {} },
275
+ name: runName,
276
+ run_id: run.id,
277
+ tags: run.tags ?? [],
278
+ metadata: run.extra?.metadata ?? {}
279
+ }, runInfo);
280
+ }
281
+ async onToolEnd(run) {
282
+ const runInfo = this.runInfoMap.get(run.id);
283
+ this.runInfoMap.delete(run.id);
284
+ if (runInfo === void 0) throw new Error(`onToolEnd: Run ID ${run.id} not found in run map.`);
285
+ if (runInfo.inputs === void 0) throw new Error(`onToolEnd: Run ID ${run.id} is a tool call, and is expected to have traced inputs.`);
286
+ const output = run.outputs?.output === void 0 ? run.outputs : run.outputs.output;
287
+ await this.sendEndEvent({
288
+ event: "on_tool_end",
289
+ data: {
290
+ output,
291
+ input: runInfo.inputs
292
+ },
293
+ run_id: run.id,
294
+ name: runInfo.name,
295
+ tags: runInfo.tags,
296
+ metadata: runInfo.metadata
297
+ }, runInfo);
298
+ }
299
+ async onRetrieverStart(run) {
300
+ const runName = assignName(run);
301
+ const runType = "retriever";
302
+ const runInfo = {
303
+ tags: run.tags ?? [],
304
+ metadata: run.extra?.metadata ?? {},
305
+ name: runName,
306
+ runType,
307
+ inputs: { query: run.inputs.query }
308
+ };
309
+ this.runInfoMap.set(run.id, runInfo);
310
+ await this.send({
311
+ event: "on_retriever_start",
312
+ data: { input: { query: run.inputs.query } },
313
+ name: runName,
314
+ tags: run.tags ?? [],
315
+ run_id: run.id,
316
+ metadata: run.extra?.metadata ?? {}
317
+ }, runInfo);
318
+ }
319
+ async onRetrieverEnd(run) {
320
+ const runInfo = this.runInfoMap.get(run.id);
321
+ this.runInfoMap.delete(run.id);
322
+ if (runInfo === void 0) throw new Error(`onRetrieverEnd: Run ID ${run.id} not found in run map.`);
323
+ await this.sendEndEvent({
324
+ event: "on_retriever_end",
325
+ data: {
326
+ output: run.outputs?.documents ?? run.outputs,
327
+ input: runInfo.inputs
328
+ },
329
+ run_id: run.id,
330
+ name: runInfo.name,
331
+ tags: runInfo.tags,
332
+ metadata: runInfo.metadata
333
+ }, runInfo);
334
+ }
335
+ async handleCustomEvent(eventName, data, runId) {
336
+ const runInfo = this.runInfoMap.get(runId);
337
+ if (runInfo === void 0) throw new Error(`handleCustomEvent: Run ID ${runId} not found in run map.`);
338
+ await this.send({
339
+ event: "on_custom_event",
340
+ run_id: runId,
341
+ name: eventName,
342
+ tags: runInfo.tags,
343
+ metadata: runInfo.metadata,
344
+ data
345
+ }, runInfo);
346
+ }
347
+ async finish() {
348
+ const pendingPromises = [...this.tappedPromises.values()];
349
+ Promise.all(pendingPromises).finally(() => {
350
+ this.writer.close();
351
+ });
352
+ }
353
+ };
26
354
  export {
27
- consumeAsyncIterableInContext,
28
- consumeIteratorInContext,
29
- isAsyncIterable,
30
- isIterableIterator,
31
- isIterator
355
+ EventStreamCallbackHandler,
356
+ isStreamEventsHandler
32
357
  };
33
358
  //# sourceMappingURL=index.es96.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es96.js","sources":["../node_modules/.pnpm/@langchain+core@1.1.13_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/runnables/iter.js"],"sourcesContent":["import { AsyncLocalStorageProviderSingleton } from \"../singletons/async_local_storage/index.js\";\nimport \"../singletons/index.js\";\nimport { pickRunnableConfigKeys } from \"./config.js\";\n\n//#region src/runnables/iter.ts\nfunction isIterableIterator(thing) {\n\treturn typeof thing === \"object\" && thing !== null && typeof thing[Symbol.iterator] === \"function\" && typeof thing.next === \"function\";\n}\nconst isIterator = (x) => x != null && typeof x === \"object\" && \"next\" in x && typeof x.next === \"function\";\nfunction isAsyncIterable(thing) {\n\treturn typeof thing === \"object\" && thing !== null && typeof thing[Symbol.asyncIterator] === \"function\";\n}\nfunction* consumeIteratorInContext(context, iter) {\n\twhile (true) {\n\t\tconst { value, done } = AsyncLocalStorageProviderSingleton.runWithConfig(pickRunnableConfigKeys(context), iter.next.bind(iter), true);\n\t\tif (done) break;\n\t\telse yield value;\n\t}\n}\nasync function* consumeAsyncIterableInContext(context, iter) {\n\tconst iterator = iter[Symbol.asyncIterator]();\n\twhile (true) {\n\t\tconst { value, done } = await AsyncLocalStorageProviderSingleton.runWithConfig(pickRunnableConfigKeys(context), iterator.next.bind(iter), true);\n\t\tif (done) break;\n\t\telse yield value;\n\t}\n}\n\n//#endregion\nexport { consumeAsyncIterableInContext, consumeIteratorInContext, isAsyncIterable, isIterableIterator, isIterator };\n//# sourceMappingURL=iter.js.map"],"names":[],"mappings":";;;AAKA,SAAS,mBAAmB,OAAO;AAClC,SAAO,OAAO,UAAU,YAAY,UAAU,QAAQ,OAAO,MAAM,OAAO,QAAQ,MAAM,cAAc,OAAO,MAAM,SAAS;AAC7H;AACK,MAAC,aAAa,CAAC,MAAM,KAAK,QAAQ,OAAO,MAAM,YAAY,UAAU,KAAK,OAAO,EAAE,SAAS;AACjG,SAAS,gBAAgB,OAAO;AAC/B,SAAO,OAAO,UAAU,YAAY,UAAU,QAAQ,OAAO,MAAM,OAAO,aAAa,MAAM;AAC9F;AACA,UAAU,yBAAyB,SAAS,MAAM;AACjD,SAAO,MAAM;AACZ,UAAM,EAAE,OAAO,KAAI,IAAK,mCAAmC,cAAc,uBAAuB,OAAO,GAAG,KAAK,KAAK,KAAK,IAAI,GAAG,IAAI;AACpI,QAAI,KAAM;AAAA,QACL,OAAM;AAAA,EACZ;AACD;AACA,gBAAgB,8BAA8B,SAAS,MAAM;AAC5D,QAAM,WAAW,KAAK,OAAO,aAAa,EAAC;AAC3C,SAAO,MAAM;AACZ,UAAM,EAAE,OAAO,KAAI,IAAK,MAAM,mCAAmC,cAAc,uBAAuB,OAAO,GAAG,SAAS,KAAK,KAAK,IAAI,GAAG,IAAI;AAC9I,QAAI,KAAM;AAAA,QACL,OAAM;AAAA,EACZ;AACD;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.es96.js","sources":["../node_modules/.pnpm/@langchain+core@1.1.13_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/tracers/event_stream.js"],"sourcesContent":["import { AIMessageChunk } from \"../messages/ai.js\";\nimport { BaseTracer } from \"./base.js\";\nimport { IterableReadableStream } from \"../utils/stream.js\";\nimport { GenerationChunk } from \"../outputs.js\";\n\n//#region src/tracers/event_stream.ts\nfunction assignName({ name, serialized }) {\n\tif (name !== void 0) return name;\n\tif (serialized?.name !== void 0) return serialized.name;\n\telse if (serialized?.id !== void 0 && Array.isArray(serialized?.id)) return serialized.id[serialized.id.length - 1];\n\treturn \"Unnamed\";\n}\nconst isStreamEventsHandler = (handler) => handler.name === \"event_stream_tracer\";\n/**\n* Class that extends the `BaseTracer` class from the\n* `langchain.callbacks.tracers.base` module. It represents a callback\n* handler that logs the execution of runs and emits `RunLog` instances to a\n* `RunLogStream`.\n*/\nvar EventStreamCallbackHandler = class extends BaseTracer {\n\tautoClose = true;\n\tincludeNames;\n\tincludeTypes;\n\tincludeTags;\n\texcludeNames;\n\texcludeTypes;\n\texcludeTags;\n\trunInfoMap = /* @__PURE__ */ new Map();\n\ttappedPromises = /* @__PURE__ */ new Map();\n\ttransformStream;\n\twriter;\n\treceiveStream;\n\treadableStreamClosed = false;\n\tname = \"event_stream_tracer\";\n\tlc_prefer_streaming = true;\n\tconstructor(fields) {\n\t\tsuper({\n\t\t\t_awaitHandler: true,\n\t\t\t...fields\n\t\t});\n\t\tthis.autoClose = fields?.autoClose ?? true;\n\t\tthis.includeNames = fields?.includeNames;\n\t\tthis.includeTypes = fields?.includeTypes;\n\t\tthis.includeTags = fields?.includeTags;\n\t\tthis.excludeNames = fields?.excludeNames;\n\t\tthis.excludeTypes = fields?.excludeTypes;\n\t\tthis.excludeTags = fields?.excludeTags;\n\t\tthis.transformStream = new TransformStream({ flush: () => {\n\t\t\tthis.readableStreamClosed = true;\n\t\t} });\n\t\tthis.writer = this.transformStream.writable.getWriter();\n\t\tthis.receiveStream = IterableReadableStream.fromReadableStream(this.transformStream.readable);\n\t}\n\t[Symbol.asyncIterator]() {\n\t\treturn this.receiveStream;\n\t}\n\tasync persistRun(_run) {}\n\t_includeRun(run) {\n\t\tconst runTags = run.tags ?? [];\n\t\tlet include = this.includeNames === void 0 && this.includeTags === void 0 && this.includeTypes === void 0;\n\t\tif (this.includeNames !== void 0) include = include || this.includeNames.includes(run.name);\n\t\tif (this.includeTypes !== void 0) include = include || this.includeTypes.includes(run.runType);\n\t\tif (this.includeTags !== void 0) include = include || runTags.find((tag) => this.includeTags?.includes(tag)) !== void 0;\n\t\tif (this.excludeNames !== void 0) include = include && !this.excludeNames.includes(run.name);\n\t\tif (this.excludeTypes !== void 0) include = include && !this.excludeTypes.includes(run.runType);\n\t\tif (this.excludeTags !== void 0) include = include && runTags.every((tag) => !this.excludeTags?.includes(tag));\n\t\treturn include;\n\t}\n\tasync *tapOutputIterable(runId, outputStream) {\n\t\tconst firstChunk = await outputStream.next();\n\t\tif (firstChunk.done) return;\n\t\tconst runInfo = this.runInfoMap.get(runId);\n\t\tif (runInfo === void 0) {\n\t\t\tyield firstChunk.value;\n\t\t\treturn;\n\t\t}\n\t\tfunction _formatOutputChunk(eventType, data) {\n\t\t\tif (eventType === \"llm\" && typeof data === \"string\") return new GenerationChunk({ text: data });\n\t\t\treturn data;\n\t\t}\n\t\tlet tappedPromise = this.tappedPromises.get(runId);\n\t\tif (tappedPromise === void 0) {\n\t\t\tlet tappedPromiseResolver;\n\t\t\ttappedPromise = new Promise((resolve) => {\n\t\t\t\ttappedPromiseResolver = resolve;\n\t\t\t});\n\t\t\tthis.tappedPromises.set(runId, tappedPromise);\n\t\t\ttry {\n\t\t\t\tconst event = {\n\t\t\t\t\tevent: `on_${runInfo.runType}_stream`,\n\t\t\t\t\trun_id: runId,\n\t\t\t\t\tname: runInfo.name,\n\t\t\t\t\ttags: runInfo.tags,\n\t\t\t\t\tmetadata: runInfo.metadata,\n\t\t\t\t\tdata: {}\n\t\t\t\t};\n\t\t\t\tawait this.send({\n\t\t\t\t\t...event,\n\t\t\t\t\tdata: { chunk: _formatOutputChunk(runInfo.runType, firstChunk.value) }\n\t\t\t\t}, runInfo);\n\t\t\t\tyield firstChunk.value;\n\t\t\t\tfor await (const chunk of outputStream) {\n\t\t\t\t\tif (runInfo.runType !== \"tool\" && runInfo.runType !== \"retriever\") await this.send({\n\t\t\t\t\t\t...event,\n\t\t\t\t\t\tdata: { chunk: _formatOutputChunk(runInfo.runType, chunk) }\n\t\t\t\t\t}, runInfo);\n\t\t\t\t\tyield chunk;\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\ttappedPromiseResolver?.();\n\t\t\t}\n\t\t} else {\n\t\t\tyield firstChunk.value;\n\t\t\tfor await (const chunk of outputStream) yield chunk;\n\t\t}\n\t}\n\tasync send(payload, run) {\n\t\tif (this.readableStreamClosed) return;\n\t\tif (this._includeRun(run)) await this.writer.write(payload);\n\t}\n\tasync sendEndEvent(payload, run) {\n\t\tconst tappedPromise = this.tappedPromises.get(payload.run_id);\n\t\tif (tappedPromise !== void 0) tappedPromise.then(() => {\n\t\t\tthis.send(payload, run);\n\t\t});\n\t\telse await this.send(payload, run);\n\t}\n\tasync onLLMStart(run) {\n\t\tconst runName = assignName(run);\n\t\tconst runType = run.inputs.messages !== void 0 ? \"chat_model\" : \"llm\";\n\t\tconst runInfo = {\n\t\t\ttags: run.tags ?? [],\n\t\t\tmetadata: run.extra?.metadata ?? {},\n\t\t\tname: runName,\n\t\t\trunType,\n\t\t\tinputs: run.inputs\n\t\t};\n\t\tthis.runInfoMap.set(run.id, runInfo);\n\t\tconst eventName = `on_${runType}_start`;\n\t\tawait this.send({\n\t\t\tevent: eventName,\n\t\t\tdata: { input: run.inputs },\n\t\t\tname: runName,\n\t\t\ttags: run.tags ?? [],\n\t\t\trun_id: run.id,\n\t\t\tmetadata: run.extra?.metadata ?? {}\n\t\t}, runInfo);\n\t}\n\tasync onLLMNewToken(run, token, kwargs) {\n\t\tconst runInfo = this.runInfoMap.get(run.id);\n\t\tlet chunk;\n\t\tlet eventName;\n\t\tif (runInfo === void 0) throw new Error(`onLLMNewToken: Run ID ${run.id} not found in run map.`);\n\t\tif (this.runInfoMap.size === 1) return;\n\t\tif (runInfo.runType === \"chat_model\") {\n\t\t\teventName = \"on_chat_model_stream\";\n\t\t\tif (kwargs?.chunk === void 0) chunk = new AIMessageChunk({\n\t\t\t\tcontent: token,\n\t\t\t\tid: `run-${run.id}`\n\t\t\t});\n\t\t\telse chunk = kwargs.chunk.message;\n\t\t} else if (runInfo.runType === \"llm\") {\n\t\t\teventName = \"on_llm_stream\";\n\t\t\tif (kwargs?.chunk === void 0) chunk = new GenerationChunk({ text: token });\n\t\t\telse chunk = kwargs.chunk;\n\t\t} else throw new Error(`Unexpected run type ${runInfo.runType}`);\n\t\tawait this.send({\n\t\t\tevent: eventName,\n\t\t\tdata: { chunk },\n\t\t\trun_id: run.id,\n\t\t\tname: runInfo.name,\n\t\t\ttags: runInfo.tags,\n\t\t\tmetadata: runInfo.metadata\n\t\t}, runInfo);\n\t}\n\tasync onLLMEnd(run) {\n\t\tconst runInfo = this.runInfoMap.get(run.id);\n\t\tthis.runInfoMap.delete(run.id);\n\t\tlet eventName;\n\t\tif (runInfo === void 0) throw new Error(`onLLMEnd: Run ID ${run.id} not found in run map.`);\n\t\tconst generations = run.outputs?.generations;\n\t\tlet output;\n\t\tif (runInfo.runType === \"chat_model\") {\n\t\t\tfor (const generation of generations ?? []) {\n\t\t\t\tif (output !== void 0) break;\n\t\t\t\toutput = generation[0]?.message;\n\t\t\t}\n\t\t\teventName = \"on_chat_model_end\";\n\t\t} else if (runInfo.runType === \"llm\") {\n\t\t\toutput = {\n\t\t\t\tgenerations: generations?.map((generation) => {\n\t\t\t\t\treturn generation.map((chunk) => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttext: chunk.text,\n\t\t\t\t\t\t\tgenerationInfo: chunk.generationInfo\n\t\t\t\t\t\t};\n\t\t\t\t\t});\n\t\t\t\t}),\n\t\t\t\tllmOutput: run.outputs?.llmOutput ?? {}\n\t\t\t};\n\t\t\teventName = \"on_llm_end\";\n\t\t} else throw new Error(`onLLMEnd: Unexpected run type: ${runInfo.runType}`);\n\t\tawait this.sendEndEvent({\n\t\t\tevent: eventName,\n\t\t\tdata: {\n\t\t\t\toutput,\n\t\t\t\tinput: runInfo.inputs\n\t\t\t},\n\t\t\trun_id: run.id,\n\t\t\tname: runInfo.name,\n\t\t\ttags: runInfo.tags,\n\t\t\tmetadata: runInfo.metadata\n\t\t}, runInfo);\n\t}\n\tasync onChainStart(run) {\n\t\tconst runName = assignName(run);\n\t\tconst runType = run.run_type ?? \"chain\";\n\t\tconst runInfo = {\n\t\t\ttags: run.tags ?? [],\n\t\t\tmetadata: run.extra?.metadata ?? {},\n\t\t\tname: runName,\n\t\t\trunType: run.run_type\n\t\t};\n\t\tlet eventData = {};\n\t\tif (run.inputs.input === \"\" && Object.keys(run.inputs).length === 1) {\n\t\t\teventData = {};\n\t\t\trunInfo.inputs = {};\n\t\t} else if (run.inputs.input !== void 0) {\n\t\t\teventData.input = run.inputs.input;\n\t\t\trunInfo.inputs = run.inputs.input;\n\t\t} else {\n\t\t\teventData.input = run.inputs;\n\t\t\trunInfo.inputs = run.inputs;\n\t\t}\n\t\tthis.runInfoMap.set(run.id, runInfo);\n\t\tawait this.send({\n\t\t\tevent: `on_${runType}_start`,\n\t\t\tdata: eventData,\n\t\t\tname: runName,\n\t\t\ttags: run.tags ?? [],\n\t\t\trun_id: run.id,\n\t\t\tmetadata: run.extra?.metadata ?? {}\n\t\t}, runInfo);\n\t}\n\tasync onChainEnd(run) {\n\t\tconst runInfo = this.runInfoMap.get(run.id);\n\t\tthis.runInfoMap.delete(run.id);\n\t\tif (runInfo === void 0) throw new Error(`onChainEnd: Run ID ${run.id} not found in run map.`);\n\t\tconst eventName = `on_${run.run_type}_end`;\n\t\tconst inputs = run.inputs ?? runInfo.inputs ?? {};\n\t\tconst outputs = run.outputs?.output ?? run.outputs;\n\t\tconst data = {\n\t\t\toutput: outputs,\n\t\t\tinput: inputs\n\t\t};\n\t\tif (inputs.input && Object.keys(inputs).length === 1) {\n\t\t\tdata.input = inputs.input;\n\t\t\trunInfo.inputs = inputs.input;\n\t\t}\n\t\tawait this.sendEndEvent({\n\t\t\tevent: eventName,\n\t\t\tdata,\n\t\t\trun_id: run.id,\n\t\t\tname: runInfo.name,\n\t\t\ttags: runInfo.tags,\n\t\t\tmetadata: runInfo.metadata ?? {}\n\t\t}, runInfo);\n\t}\n\tasync onToolStart(run) {\n\t\tconst runName = assignName(run);\n\t\tconst runInfo = {\n\t\t\ttags: run.tags ?? [],\n\t\t\tmetadata: run.extra?.metadata ?? {},\n\t\t\tname: runName,\n\t\t\trunType: \"tool\",\n\t\t\tinputs: run.inputs ?? {}\n\t\t};\n\t\tthis.runInfoMap.set(run.id, runInfo);\n\t\tawait this.send({\n\t\t\tevent: \"on_tool_start\",\n\t\t\tdata: { input: run.inputs ?? {} },\n\t\t\tname: runName,\n\t\t\trun_id: run.id,\n\t\t\ttags: run.tags ?? [],\n\t\t\tmetadata: run.extra?.metadata ?? {}\n\t\t}, runInfo);\n\t}\n\tasync onToolEnd(run) {\n\t\tconst runInfo = this.runInfoMap.get(run.id);\n\t\tthis.runInfoMap.delete(run.id);\n\t\tif (runInfo === void 0) throw new Error(`onToolEnd: Run ID ${run.id} not found in run map.`);\n\t\tif (runInfo.inputs === void 0) throw new Error(`onToolEnd: Run ID ${run.id} is a tool call, and is expected to have traced inputs.`);\n\t\tconst output = run.outputs?.output === void 0 ? run.outputs : run.outputs.output;\n\t\tawait this.sendEndEvent({\n\t\t\tevent: \"on_tool_end\",\n\t\t\tdata: {\n\t\t\t\toutput,\n\t\t\t\tinput: runInfo.inputs\n\t\t\t},\n\t\t\trun_id: run.id,\n\t\t\tname: runInfo.name,\n\t\t\ttags: runInfo.tags,\n\t\t\tmetadata: runInfo.metadata\n\t\t}, runInfo);\n\t}\n\tasync onRetrieverStart(run) {\n\t\tconst runName = assignName(run);\n\t\tconst runType = \"retriever\";\n\t\tconst runInfo = {\n\t\t\ttags: run.tags ?? [],\n\t\t\tmetadata: run.extra?.metadata ?? {},\n\t\t\tname: runName,\n\t\t\trunType,\n\t\t\tinputs: { query: run.inputs.query }\n\t\t};\n\t\tthis.runInfoMap.set(run.id, runInfo);\n\t\tawait this.send({\n\t\t\tevent: \"on_retriever_start\",\n\t\t\tdata: { input: { query: run.inputs.query } },\n\t\t\tname: runName,\n\t\t\ttags: run.tags ?? [],\n\t\t\trun_id: run.id,\n\t\t\tmetadata: run.extra?.metadata ?? {}\n\t\t}, runInfo);\n\t}\n\tasync onRetrieverEnd(run) {\n\t\tconst runInfo = this.runInfoMap.get(run.id);\n\t\tthis.runInfoMap.delete(run.id);\n\t\tif (runInfo === void 0) throw new Error(`onRetrieverEnd: Run ID ${run.id} not found in run map.`);\n\t\tawait this.sendEndEvent({\n\t\t\tevent: \"on_retriever_end\",\n\t\t\tdata: {\n\t\t\t\toutput: run.outputs?.documents ?? run.outputs,\n\t\t\t\tinput: runInfo.inputs\n\t\t\t},\n\t\t\trun_id: run.id,\n\t\t\tname: runInfo.name,\n\t\t\ttags: runInfo.tags,\n\t\t\tmetadata: runInfo.metadata\n\t\t}, runInfo);\n\t}\n\tasync handleCustomEvent(eventName, data, runId) {\n\t\tconst runInfo = this.runInfoMap.get(runId);\n\t\tif (runInfo === void 0) throw new Error(`handleCustomEvent: Run ID ${runId} not found in run map.`);\n\t\tawait this.send({\n\t\t\tevent: \"on_custom_event\",\n\t\t\trun_id: runId,\n\t\t\tname: eventName,\n\t\t\ttags: runInfo.tags,\n\t\t\tmetadata: runInfo.metadata,\n\t\t\tdata\n\t\t}, runInfo);\n\t}\n\tasync finish() {\n\t\tconst pendingPromises = [...this.tappedPromises.values()];\n\t\tPromise.all(pendingPromises).finally(() => {\n\t\t\tthis.writer.close();\n\t\t});\n\t}\n};\n\n//#endregion\nexport { EventStreamCallbackHandler, isStreamEventsHandler };\n//# sourceMappingURL=event_stream.js.map"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,37 +1,140 @@
1
- class MockAsyncLocalStorage {
2
- getStore() {
3
- return void 0;
4
- }
5
- run(_, callback) {
6
- return callback();
7
- }
1
+ import { isNetworkError } from "./index.es120.js";
2
+ function validateRetries(retries) {
3
+ if (typeof retries === "number") {
4
+ if (retries < 0) throw new TypeError("Expected `retries` to be a non-negative number.");
5
+ if (Number.isNaN(retries)) throw new TypeError("Expected `retries` to be a valid number or Infinity, got NaN.");
6
+ } else if (retries !== void 0) throw new TypeError("Expected `retries` to be a number or Infinity.");
8
7
  }
9
- const TRACING_ALS_KEY = /* @__PURE__ */ Symbol.for("ls:tracing_async_local_storage");
10
- const mockAsyncLocalStorage = new MockAsyncLocalStorage();
11
- class AsyncLocalStorageProvider {
12
- getInstance() {
13
- return globalThis[TRACING_ALS_KEY] ?? mockAsyncLocalStorage;
14
- }
15
- initializeGlobalInstance(instance) {
16
- if (globalThis[TRACING_ALS_KEY] === void 0) {
17
- globalThis[TRACING_ALS_KEY] = instance;
8
+ function validateNumberOption(name, value, { min = 0, allowInfinity = false } = {}) {
9
+ if (value === void 0) return;
10
+ if (typeof value !== "number" || Number.isNaN(value)) throw new TypeError(`Expected \`${name}\` to be a number${allowInfinity ? " or Infinity" : ""}.`);
11
+ if (!allowInfinity && !Number.isFinite(value)) throw new TypeError(`Expected \`${name}\` to be a finite number.`);
12
+ if (value < min) throw new TypeError(`Expected \`${name}\` to be ≥ ${min}.`);
13
+ }
14
+ var AbortError = class extends Error {
15
+ constructor(message) {
16
+ super();
17
+ if (message instanceof Error) {
18
+ this.originalError = message;
19
+ ({ message } = message);
20
+ } else {
21
+ this.originalError = new Error(message);
22
+ this.originalError.stack = this.stack;
18
23
  }
24
+ this.name = "AbortError";
25
+ this.message = message;
19
26
  }
27
+ };
28
+ function calculateDelay(retriesConsumed, options) {
29
+ const attempt = Math.max(1, retriesConsumed + 1);
30
+ const random = options.randomize ? Math.random() + 1 : 1;
31
+ let timeout = Math.round(random * options.minTimeout * options.factor ** (attempt - 1));
32
+ timeout = Math.min(timeout, options.maxTimeout);
33
+ return timeout;
20
34
  }
21
- const AsyncLocalStorageProviderSingleton = new AsyncLocalStorageProvider();
22
- function getCurrentRunTree(permitAbsentRunTree = false) {
23
- const runTree = AsyncLocalStorageProviderSingleton.getInstance().getStore();
24
- if (!permitAbsentRunTree && runTree === void 0) {
25
- throw new Error("Could not get the current run tree.\n\nPlease make sure you are calling this method within a traceable function and that tracing is enabled.");
35
+ function calculateRemainingTime(start, max) {
36
+ if (!Number.isFinite(max)) return max;
37
+ return max - (performance.now() - start);
38
+ }
39
+ async function onAttemptFailure({ error, attemptNumber, retriesConsumed, startTime, options }) {
40
+ const normalizedError = error instanceof Error ? error : /* @__PURE__ */ new TypeError(`Non-error was thrown: "${error}". You should only throw errors.`);
41
+ if (normalizedError instanceof AbortError) throw normalizedError.originalError;
42
+ const retriesLeft = Number.isFinite(options.retries) ? Math.max(0, options.retries - retriesConsumed) : options.retries;
43
+ const maxRetryTime = options.maxRetryTime ?? Number.POSITIVE_INFINITY;
44
+ const context = Object.freeze({
45
+ error: normalizedError,
46
+ attemptNumber,
47
+ retriesLeft,
48
+ retriesConsumed
49
+ });
50
+ await options.onFailedAttempt(context);
51
+ if (calculateRemainingTime(startTime, maxRetryTime) <= 0) throw normalizedError;
52
+ const consumeRetry = await options.shouldConsumeRetry(context);
53
+ const remainingTime = calculateRemainingTime(startTime, maxRetryTime);
54
+ if (remainingTime <= 0 || retriesLeft <= 0) throw normalizedError;
55
+ if (normalizedError instanceof TypeError && !isNetworkError(normalizedError)) {
56
+ if (consumeRetry) throw normalizedError;
57
+ options.signal?.throwIfAborted();
58
+ return false;
59
+ }
60
+ if (!await options.shouldRetry(context)) throw normalizedError;
61
+ if (!consumeRetry) {
62
+ options.signal?.throwIfAborted();
63
+ return false;
26
64
  }
27
- return runTree;
65
+ const delayTime = calculateDelay(retriesConsumed, options);
66
+ const finalDelay = Math.min(delayTime, remainingTime);
67
+ if (finalDelay > 0) await new Promise((resolve, reject) => {
68
+ const onAbort = () => {
69
+ clearTimeout(timeoutToken);
70
+ options.signal?.removeEventListener("abort", onAbort);
71
+ reject(options.signal.reason);
72
+ };
73
+ const timeoutToken = setTimeout(() => {
74
+ options.signal?.removeEventListener("abort", onAbort);
75
+ resolve();
76
+ }, finalDelay);
77
+ if (options.unref) timeoutToken.unref?.();
78
+ options.signal?.addEventListener("abort", onAbort, { once: true });
79
+ });
80
+ options.signal?.throwIfAborted();
81
+ return true;
28
82
  }
29
- function isTraceableFunction(x) {
30
- return typeof x === "function" && "langsmith:traceable" in x;
83
+ async function pRetry(input, options = {}) {
84
+ options = { ...options };
85
+ validateRetries(options.retries);
86
+ if (Object.hasOwn(options, "forever")) throw new Error("The `forever` option is no longer supported. For many use-cases, you can set `retries: Infinity` instead.");
87
+ options.retries ??= 10;
88
+ options.factor ??= 2;
89
+ options.minTimeout ??= 1e3;
90
+ options.maxTimeout ??= Number.POSITIVE_INFINITY;
91
+ options.maxRetryTime ??= Number.POSITIVE_INFINITY;
92
+ options.randomize ??= false;
93
+ options.onFailedAttempt ??= () => {
94
+ };
95
+ options.shouldRetry ??= () => true;
96
+ options.shouldConsumeRetry ??= () => true;
97
+ validateNumberOption("factor", options.factor, {
98
+ min: 0,
99
+ allowInfinity: false
100
+ });
101
+ validateNumberOption("minTimeout", options.minTimeout, {
102
+ min: 0,
103
+ allowInfinity: false
104
+ });
105
+ validateNumberOption("maxTimeout", options.maxTimeout, {
106
+ min: 0,
107
+ allowInfinity: true
108
+ });
109
+ validateNumberOption("maxRetryTime", options.maxRetryTime, {
110
+ min: 0,
111
+ allowInfinity: true
112
+ });
113
+ if (!(options.factor > 0)) options.factor = 1;
114
+ options.signal?.throwIfAborted();
115
+ let attemptNumber = 0;
116
+ let retriesConsumed = 0;
117
+ const startTime = performance.now();
118
+ while (Number.isFinite(options.retries) ? retriesConsumed <= options.retries : true) {
119
+ attemptNumber++;
120
+ try {
121
+ options.signal?.throwIfAborted();
122
+ const result = await input(attemptNumber);
123
+ options.signal?.throwIfAborted();
124
+ return result;
125
+ } catch (error) {
126
+ if (await onAttemptFailure({
127
+ error,
128
+ attemptNumber,
129
+ retriesConsumed,
130
+ startTime,
131
+ options
132
+ })) retriesConsumed++;
133
+ }
134
+ }
135
+ throw new Error("Retry attempts exhausted without throwing an error.");
31
136
  }
32
137
  export {
33
- AsyncLocalStorageProviderSingleton,
34
- getCurrentRunTree,
35
- isTraceableFunction
138
+ pRetry
36
139
  };
37
140
  //# sourceMappingURL=index.es97.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es97.js","sources":["../node_modules/.pnpm/langsmith@0.4.6_openai@6.16.0_zod@4.3.5_/node_modules/langsmith/dist/singletons/traceable.js"],"sourcesContent":["class MockAsyncLocalStorage {\n getStore() {\n return undefined;\n }\n run(_, callback) {\n return callback();\n }\n}\nconst TRACING_ALS_KEY = Symbol.for(\"ls:tracing_async_local_storage\");\nconst mockAsyncLocalStorage = new MockAsyncLocalStorage();\nclass AsyncLocalStorageProvider {\n getInstance() {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return globalThis[TRACING_ALS_KEY] ?? mockAsyncLocalStorage;\n }\n initializeGlobalInstance(instance) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (globalThis[TRACING_ALS_KEY] === undefined) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n globalThis[TRACING_ALS_KEY] = instance;\n }\n }\n}\nexport const AsyncLocalStorageProviderSingleton = new AsyncLocalStorageProvider();\nexport function getCurrentRunTree(permitAbsentRunTree = false) {\n const runTree = AsyncLocalStorageProviderSingleton.getInstance().getStore();\n if (!permitAbsentRunTree && runTree === undefined) {\n throw new Error(\"Could not get the current run tree.\\n\\nPlease make sure you are calling this method within a traceable function and that tracing is enabled.\");\n }\n return runTree;\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function withRunTree(runTree, fn) {\n const storage = AsyncLocalStorageProviderSingleton.getInstance();\n return new Promise((resolve, reject) => {\n storage.run(runTree, () => void Promise.resolve(fn()).then(resolve).catch(reject));\n });\n}\nexport const ROOT = Symbol.for(\"langsmith:traceable:root\");\nexport function isTraceableFunction(x\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n) {\n return typeof x === \"function\" && \"langsmith:traceable\" in x;\n}\n"],"names":[],"mappings":"AAAA,MAAM,sBAAsB;AAAA,EACxB,WAAW;AACP,WAAO;AAAA,EACX;AAAA,EACA,IAAI,GAAG,UAAU;AACb,WAAO,SAAQ;AAAA,EACnB;AACJ;AACA,MAAM,kBAAkB,uBAAO,IAAI,gCAAgC;AACnE,MAAM,wBAAwB,IAAI,sBAAqB;AACvD,MAAM,0BAA0B;AAAA,EAC5B,cAAc;AAEV,WAAO,WAAW,eAAe,KAAK;AAAA,EAC1C;AAAA,EACA,yBAAyB,UAAU;AAE/B,QAAI,WAAW,eAAe,MAAM,QAAW;AAE3C,iBAAW,eAAe,IAAI;AAAA,IAClC;AAAA,EACJ;AACJ;AACY,MAAC,qCAAqC,IAAI,0BAAyB;AACxE,SAAS,kBAAkB,sBAAsB,OAAO;AAC3D,QAAM,UAAU,mCAAmC,YAAW,EAAG,SAAQ;AACzE,MAAI,CAAC,uBAAuB,YAAY,QAAW;AAC/C,UAAM,IAAI,MAAM,8IAA8I;AAAA,EAClK;AACA,SAAO;AACX;AASO,SAAS,oBAAoB,GAElC;AACE,SAAO,OAAO,MAAM,cAAc,yBAAyB;AAC/D;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.es97.js","sources":["../node_modules/.pnpm/@langchain+core@1.1.13_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/utils/p-retry/index.js"],"sourcesContent":["import { isNetworkError } from \"../is-network-error/index.js\";\n\n//#region src/utils/p-retry/index.js\nfunction validateRetries(retries) {\n\tif (typeof retries === \"number\") {\n\t\tif (retries < 0) throw new TypeError(\"Expected `retries` to be a non-negative number.\");\n\t\tif (Number.isNaN(retries)) throw new TypeError(\"Expected `retries` to be a valid number or Infinity, got NaN.\");\n\t} else if (retries !== void 0) throw new TypeError(\"Expected `retries` to be a number or Infinity.\");\n}\nfunction validateNumberOption(name, value, { min = 0, allowInfinity = false } = {}) {\n\tif (value === void 0) return;\n\tif (typeof value !== \"number\" || Number.isNaN(value)) throw new TypeError(`Expected \\`${name}\\` to be a number${allowInfinity ? \" or Infinity\" : \"\"}.`);\n\tif (!allowInfinity && !Number.isFinite(value)) throw new TypeError(`Expected \\`${name}\\` to be a finite number.`);\n\tif (value < min) throw new TypeError(`Expected \\`${name}\\` to be \\u2265 ${min}.`);\n}\nvar AbortError = class extends Error {\n\tconstructor(message) {\n\t\tsuper();\n\t\tif (message instanceof Error) {\n\t\t\tthis.originalError = message;\n\t\t\t({message} = message);\n\t\t} else {\n\t\t\tthis.originalError = new Error(message);\n\t\t\tthis.originalError.stack = this.stack;\n\t\t}\n\t\tthis.name = \"AbortError\";\n\t\tthis.message = message;\n\t}\n};\nfunction calculateDelay(retriesConsumed, options) {\n\tconst attempt = Math.max(1, retriesConsumed + 1);\n\tconst random = options.randomize ? Math.random() + 1 : 1;\n\tlet timeout = Math.round(random * options.minTimeout * options.factor ** (attempt - 1));\n\ttimeout = Math.min(timeout, options.maxTimeout);\n\treturn timeout;\n}\nfunction calculateRemainingTime(start, max) {\n\tif (!Number.isFinite(max)) return max;\n\treturn max - (performance.now() - start);\n}\nasync function onAttemptFailure({ error, attemptNumber, retriesConsumed, startTime, options }) {\n\tconst normalizedError = error instanceof Error ? error : /* @__PURE__ */ new TypeError(`Non-error was thrown: \"${error}\". You should only throw errors.`);\n\tif (normalizedError instanceof AbortError) throw normalizedError.originalError;\n\tconst retriesLeft = Number.isFinite(options.retries) ? Math.max(0, options.retries - retriesConsumed) : options.retries;\n\tconst maxRetryTime = options.maxRetryTime ?? Number.POSITIVE_INFINITY;\n\tconst context = Object.freeze({\n\t\terror: normalizedError,\n\t\tattemptNumber,\n\t\tretriesLeft,\n\t\tretriesConsumed\n\t});\n\tawait options.onFailedAttempt(context);\n\tif (calculateRemainingTime(startTime, maxRetryTime) <= 0) throw normalizedError;\n\tconst consumeRetry = await options.shouldConsumeRetry(context);\n\tconst remainingTime = calculateRemainingTime(startTime, maxRetryTime);\n\tif (remainingTime <= 0 || retriesLeft <= 0) throw normalizedError;\n\tif (normalizedError instanceof TypeError && !isNetworkError(normalizedError)) {\n\t\tif (consumeRetry) throw normalizedError;\n\t\toptions.signal?.throwIfAborted();\n\t\treturn false;\n\t}\n\tif (!await options.shouldRetry(context)) throw normalizedError;\n\tif (!consumeRetry) {\n\t\toptions.signal?.throwIfAborted();\n\t\treturn false;\n\t}\n\tconst delayTime = calculateDelay(retriesConsumed, options);\n\tconst finalDelay = Math.min(delayTime, remainingTime);\n\tif (finalDelay > 0) await new Promise((resolve, reject) => {\n\t\tconst onAbort = () => {\n\t\t\tclearTimeout(timeoutToken);\n\t\t\toptions.signal?.removeEventListener(\"abort\", onAbort);\n\t\t\treject(options.signal.reason);\n\t\t};\n\t\tconst timeoutToken = setTimeout(() => {\n\t\t\toptions.signal?.removeEventListener(\"abort\", onAbort);\n\t\t\tresolve();\n\t\t}, finalDelay);\n\t\tif (options.unref) timeoutToken.unref?.();\n\t\toptions.signal?.addEventListener(\"abort\", onAbort, { once: true });\n\t});\n\toptions.signal?.throwIfAborted();\n\treturn true;\n}\nasync function pRetry(input, options = {}) {\n\toptions = { ...options };\n\tvalidateRetries(options.retries);\n\tif (Object.hasOwn(options, \"forever\")) throw new Error(\"The `forever` option is no longer supported. For many use-cases, you can set `retries: Infinity` instead.\");\n\toptions.retries ??= 10;\n\toptions.factor ??= 2;\n\toptions.minTimeout ??= 1e3;\n\toptions.maxTimeout ??= Number.POSITIVE_INFINITY;\n\toptions.maxRetryTime ??= Number.POSITIVE_INFINITY;\n\toptions.randomize ??= false;\n\toptions.onFailedAttempt ??= () => {};\n\toptions.shouldRetry ??= () => true;\n\toptions.shouldConsumeRetry ??= () => true;\n\tvalidateNumberOption(\"factor\", options.factor, {\n\t\tmin: 0,\n\t\tallowInfinity: false\n\t});\n\tvalidateNumberOption(\"minTimeout\", options.minTimeout, {\n\t\tmin: 0,\n\t\tallowInfinity: false\n\t});\n\tvalidateNumberOption(\"maxTimeout\", options.maxTimeout, {\n\t\tmin: 0,\n\t\tallowInfinity: true\n\t});\n\tvalidateNumberOption(\"maxRetryTime\", options.maxRetryTime, {\n\t\tmin: 0,\n\t\tallowInfinity: true\n\t});\n\tif (!(options.factor > 0)) options.factor = 1;\n\toptions.signal?.throwIfAborted();\n\tlet attemptNumber = 0;\n\tlet retriesConsumed = 0;\n\tconst startTime = performance.now();\n\twhile (Number.isFinite(options.retries) ? retriesConsumed <= options.retries : true) {\n\t\tattemptNumber++;\n\t\ttry {\n\t\t\toptions.signal?.throwIfAborted();\n\t\t\tconst result = await input(attemptNumber);\n\t\t\toptions.signal?.throwIfAborted();\n\t\t\treturn result;\n\t\t} catch (error) {\n\t\t\tif (await onAttemptFailure({\n\t\t\t\terror,\n\t\t\t\tattemptNumber,\n\t\t\t\tretriesConsumed,\n\t\t\t\tstartTime,\n\t\t\t\toptions\n\t\t\t})) retriesConsumed++;\n\t\t}\n\t}\n\tthrow new Error(\"Retry attempts exhausted without throwing an error.\");\n}\n\n//#endregion\nexport { pRetry };\n//# sourceMappingURL=index.js.map"],"names":[],"mappings":";AAGA,SAAS,gBAAgB,SAAS;AACjC,MAAI,OAAO,YAAY,UAAU;AAChC,QAAI,UAAU,EAAG,OAAM,IAAI,UAAU,iDAAiD;AACtF,QAAI,OAAO,MAAM,OAAO,EAAG,OAAM,IAAI,UAAU,+DAA+D;AAAA,EAC/G,WAAW,YAAY,OAAQ,OAAM,IAAI,UAAU,gDAAgD;AACpG;AACA,SAAS,qBAAqB,MAAM,OAAO,EAAE,MAAM,GAAG,gBAAgB,MAAK,IAAK,IAAI;AACnF,MAAI,UAAU,OAAQ;AACtB,MAAI,OAAO,UAAU,YAAY,OAAO,MAAM,KAAK,EAAG,OAAM,IAAI,UAAU,cAAc,IAAI,oBAAoB,gBAAgB,iBAAiB,EAAE,GAAG;AACtJ,MAAI,CAAC,iBAAiB,CAAC,OAAO,SAAS,KAAK,EAAG,OAAM,IAAI,UAAU,cAAc,IAAI,2BAA2B;AAChH,MAAI,QAAQ,IAAK,OAAM,IAAI,UAAU,cAAc,IAAI,cAAmB,GAAG,GAAG;AACjF;AACA,IAAI,aAAa,cAAc,MAAM;AAAA,EACpC,YAAY,SAAS;AACpB,UAAK;AACL,QAAI,mBAAmB,OAAO;AAC7B,WAAK,gBAAgB;AACrB,OAAC,EAAC,QAAO,IAAI;AAAA,IACd,OAAO;AACN,WAAK,gBAAgB,IAAI,MAAM,OAAO;AACtC,WAAK,cAAc,QAAQ,KAAK;AAAA,IACjC;AACA,SAAK,OAAO;AACZ,SAAK,UAAU;AAAA,EAChB;AACD;AACA,SAAS,eAAe,iBAAiB,SAAS;AACjD,QAAM,UAAU,KAAK,IAAI,GAAG,kBAAkB,CAAC;AAC/C,QAAM,SAAS,QAAQ,YAAY,KAAK,OAAM,IAAK,IAAI;AACvD,MAAI,UAAU,KAAK,MAAM,SAAS,QAAQ,aAAa,QAAQ,WAAW,UAAU,EAAE;AACtF,YAAU,KAAK,IAAI,SAAS,QAAQ,UAAU;AAC9C,SAAO;AACR;AACA,SAAS,uBAAuB,OAAO,KAAK;AAC3C,MAAI,CAAC,OAAO,SAAS,GAAG,EAAG,QAAO;AAClC,SAAO,OAAO,YAAY,IAAG,IAAK;AACnC;AACA,eAAe,iBAAiB,EAAE,OAAO,eAAe,iBAAiB,WAAW,WAAW;AAC9F,QAAM,kBAAkB,iBAAiB,QAAQ,QAAwB,oBAAI,UAAU,0BAA0B,KAAK,kCAAkC;AACxJ,MAAI,2BAA2B,WAAY,OAAM,gBAAgB;AACjE,QAAM,cAAc,OAAO,SAAS,QAAQ,OAAO,IAAI,KAAK,IAAI,GAAG,QAAQ,UAAU,eAAe,IAAI,QAAQ;AAChH,QAAM,eAAe,QAAQ,gBAAgB,OAAO;AACpD,QAAM,UAAU,OAAO,OAAO;AAAA,IAC7B,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAE;AACD,QAAM,QAAQ,gBAAgB,OAAO;AACrC,MAAI,uBAAuB,WAAW,YAAY,KAAK,EAAG,OAAM;AAChE,QAAM,eAAe,MAAM,QAAQ,mBAAmB,OAAO;AAC7D,QAAM,gBAAgB,uBAAuB,WAAW,YAAY;AACpE,MAAI,iBAAiB,KAAK,eAAe,EAAG,OAAM;AAClD,MAAI,2BAA2B,aAAa,CAAC,eAAe,eAAe,GAAG;AAC7E,QAAI,aAAc,OAAM;AACxB,YAAQ,QAAQ,eAAc;AAC9B,WAAO;AAAA,EACR;AACA,MAAI,CAAC,MAAM,QAAQ,YAAY,OAAO,EAAG,OAAM;AAC/C,MAAI,CAAC,cAAc;AAClB,YAAQ,QAAQ,eAAc;AAC9B,WAAO;AAAA,EACR;AACA,QAAM,YAAY,eAAe,iBAAiB,OAAO;AACzD,QAAM,aAAa,KAAK,IAAI,WAAW,aAAa;AACpD,MAAI,aAAa,EAAG,OAAM,IAAI,QAAQ,CAAC,SAAS,WAAW;AAC1D,UAAM,UAAU,MAAM;AACrB,mBAAa,YAAY;AACzB,cAAQ,QAAQ,oBAAoB,SAAS,OAAO;AACpD,aAAO,QAAQ,OAAO,MAAM;AAAA,IAC7B;AACA,UAAM,eAAe,WAAW,MAAM;AACrC,cAAQ,QAAQ,oBAAoB,SAAS,OAAO;AACpD,cAAO;AAAA,IACR,GAAG,UAAU;AACb,QAAI,QAAQ,MAAO,cAAa,QAAK;AACrC,YAAQ,QAAQ,iBAAiB,SAAS,SAAS,EAAE,MAAM,MAAM;AAAA,EAClE,CAAC;AACD,UAAQ,QAAQ,eAAc;AAC9B,SAAO;AACR;AACA,eAAe,OAAO,OAAO,UAAU,IAAI;AAC1C,YAAU,EAAE,GAAG,QAAO;AACtB,kBAAgB,QAAQ,OAAO;AAC/B,MAAI,OAAO,OAAO,SAAS,SAAS,EAAG,OAAM,IAAI,MAAM,2GAA2G;AAClK,UAAQ,YAAY;AACpB,UAAQ,WAAW;AACnB,UAAQ,eAAe;AACvB,UAAQ,eAAe,OAAO;AAC9B,UAAQ,iBAAiB,OAAO;AAChC,UAAQ,cAAc;AACtB,UAAQ,oBAAoB,MAAM;AAAA,EAAC;AACnC,UAAQ,gBAAgB,MAAM;AAC9B,UAAQ,uBAAuB,MAAM;AACrC,uBAAqB,UAAU,QAAQ,QAAQ;AAAA,IAC9C,KAAK;AAAA,IACL,eAAe;AAAA,EACjB,CAAE;AACD,uBAAqB,cAAc,QAAQ,YAAY;AAAA,IACtD,KAAK;AAAA,IACL,eAAe;AAAA,EACjB,CAAE;AACD,uBAAqB,cAAc,QAAQ,YAAY;AAAA,IACtD,KAAK;AAAA,IACL,eAAe;AAAA,EACjB,CAAE;AACD,uBAAqB,gBAAgB,QAAQ,cAAc;AAAA,IAC1D,KAAK;AAAA,IACL,eAAe;AAAA,EACjB,CAAE;AACD,MAAI,EAAE,QAAQ,SAAS,GAAI,SAAQ,SAAS;AAC5C,UAAQ,QAAQ,eAAc;AAC9B,MAAI,gBAAgB;AACpB,MAAI,kBAAkB;AACtB,QAAM,YAAY,YAAY,IAAG;AACjC,SAAO,OAAO,SAAS,QAAQ,OAAO,IAAI,mBAAmB,QAAQ,UAAU,MAAM;AACpF;AACA,QAAI;AACH,cAAQ,QAAQ,eAAc;AAC9B,YAAM,SAAS,MAAM,MAAM,aAAa;AACxC,cAAQ,QAAQ,eAAc;AAC9B,aAAO;AAAA,IACR,SAAS,OAAO;AACf,UAAI,MAAM,iBAAiB;AAAA,QAC1B;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACJ,CAAI,EAAG;AAAA,IACL;AAAA,EACD;AACA,QAAM,IAAI,MAAM,qDAAqD;AACtE;","x_google_ignoreList":[0]}