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 +1 @@
1
- {"version":3,"file":"index.es94.js","sources":["../node_modules/.pnpm/@langchain+core@1.1.13_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/runnables/graph.js"],"sourcesContent":["import { __export } from \"../_virtual/rolldown_runtime.js\";\nimport { isRunnableInterface } from \"./utils.js\";\nimport { drawMermaid, drawMermaidImage } from \"./graph_mermaid.js\";\nimport { toJsonSchema } from \"../utils/json_schema.js\";\nimport { v4, validate } from \"uuid\";\n\n//#region src/runnables/graph.ts\nvar graph_exports = {};\n__export(graph_exports, { Graph: () => Graph });\nfunction nodeDataStr(id, data) {\n\tif (id !== void 0 && !validate(id)) return id;\n\telse if (isRunnableInterface(data)) try {\n\t\tlet dataStr = data.getName();\n\t\tdataStr = dataStr.startsWith(\"Runnable\") ? dataStr.slice(8) : dataStr;\n\t\treturn dataStr;\n\t} catch {\n\t\treturn data.getName();\n\t}\n\telse return data.name ?? \"UnknownSchema\";\n}\nfunction nodeDataJson(node) {\n\tif (isRunnableInterface(node.data)) return {\n\t\ttype: \"runnable\",\n\t\tdata: {\n\t\t\tid: node.data.lc_id,\n\t\t\tname: node.data.getName()\n\t\t}\n\t};\n\telse return {\n\t\ttype: \"schema\",\n\t\tdata: {\n\t\t\t...toJsonSchema(node.data.schema),\n\t\t\ttitle: node.data.name\n\t\t}\n\t};\n}\nvar Graph = class Graph {\n\tnodes = {};\n\tedges = [];\n\tconstructor(params) {\n\t\tthis.nodes = params?.nodes ?? this.nodes;\n\t\tthis.edges = params?.edges ?? this.edges;\n\t}\n\ttoJSON() {\n\t\tconst stableNodeIds = {};\n\t\tObject.values(this.nodes).forEach((node, i) => {\n\t\t\tstableNodeIds[node.id] = validate(node.id) ? i : node.id;\n\t\t});\n\t\treturn {\n\t\t\tnodes: Object.values(this.nodes).map((node) => ({\n\t\t\t\tid: stableNodeIds[node.id],\n\t\t\t\t...nodeDataJson(node)\n\t\t\t})),\n\t\t\tedges: this.edges.map((edge) => {\n\t\t\t\tconst item = {\n\t\t\t\t\tsource: stableNodeIds[edge.source],\n\t\t\t\t\ttarget: stableNodeIds[edge.target]\n\t\t\t\t};\n\t\t\t\tif (typeof edge.data !== \"undefined\") item.data = edge.data;\n\t\t\t\tif (typeof edge.conditional !== \"undefined\") item.conditional = edge.conditional;\n\t\t\t\treturn item;\n\t\t\t})\n\t\t};\n\t}\n\taddNode(data, id, metadata) {\n\t\tif (id !== void 0 && this.nodes[id] !== void 0) throw new Error(`Node with id ${id} already exists`);\n\t\tconst nodeId = id ?? v4();\n\t\tconst node = {\n\t\t\tid: nodeId,\n\t\t\tdata,\n\t\t\tname: nodeDataStr(id, data),\n\t\t\tmetadata\n\t\t};\n\t\tthis.nodes[nodeId] = node;\n\t\treturn node;\n\t}\n\tremoveNode(node) {\n\t\tdelete this.nodes[node.id];\n\t\tthis.edges = this.edges.filter((edge) => edge.source !== node.id && edge.target !== node.id);\n\t}\n\taddEdge(source, target, data, conditional) {\n\t\tif (this.nodes[source.id] === void 0) throw new Error(`Source node ${source.id} not in graph`);\n\t\tif (this.nodes[target.id] === void 0) throw new Error(`Target node ${target.id} not in graph`);\n\t\tconst edge = {\n\t\t\tsource: source.id,\n\t\t\ttarget: target.id,\n\t\t\tdata,\n\t\t\tconditional\n\t\t};\n\t\tthis.edges.push(edge);\n\t\treturn edge;\n\t}\n\tfirstNode() {\n\t\treturn _firstNode(this);\n\t}\n\tlastNode() {\n\t\treturn _lastNode(this);\n\t}\n\t/**\n\t* Add all nodes and edges from another graph.\n\t* Note this doesn't check for duplicates, nor does it connect the graphs.\n\t*/\n\textend(graph, prefix = \"\") {\n\t\tlet finalPrefix = prefix;\n\t\tconst nodeIds = Object.values(graph.nodes).map((node) => node.id);\n\t\tif (nodeIds.every(validate)) finalPrefix = \"\";\n\t\tconst prefixed = (id) => {\n\t\t\treturn finalPrefix ? `${finalPrefix}:${id}` : id;\n\t\t};\n\t\tObject.entries(graph.nodes).forEach(([key, value]) => {\n\t\t\tthis.nodes[prefixed(key)] = {\n\t\t\t\t...value,\n\t\t\t\tid: prefixed(key)\n\t\t\t};\n\t\t});\n\t\tconst newEdges = graph.edges.map((edge) => {\n\t\t\treturn {\n\t\t\t\t...edge,\n\t\t\t\tsource: prefixed(edge.source),\n\t\t\t\ttarget: prefixed(edge.target)\n\t\t\t};\n\t\t});\n\t\tthis.edges = [...this.edges, ...newEdges];\n\t\tconst first = graph.firstNode();\n\t\tconst last = graph.lastNode();\n\t\treturn [first ? {\n\t\t\tid: prefixed(first.id),\n\t\t\tdata: first.data\n\t\t} : void 0, last ? {\n\t\t\tid: prefixed(last.id),\n\t\t\tdata: last.data\n\t\t} : void 0];\n\t}\n\ttrimFirstNode() {\n\t\tconst firstNode = this.firstNode();\n\t\tif (firstNode && _firstNode(this, [firstNode.id])) this.removeNode(firstNode);\n\t}\n\ttrimLastNode() {\n\t\tconst lastNode = this.lastNode();\n\t\tif (lastNode && _lastNode(this, [lastNode.id])) this.removeNode(lastNode);\n\t}\n\t/**\n\t* Return a new graph with all nodes re-identified,\n\t* using their unique, readable names where possible.\n\t*/\n\treid() {\n\t\tconst nodeLabels = Object.fromEntries(Object.values(this.nodes).map((node) => [node.id, node.name]));\n\t\tconst nodeLabelCounts = /* @__PURE__ */ new Map();\n\t\tObject.values(nodeLabels).forEach((label) => {\n\t\t\tnodeLabelCounts.set(label, (nodeLabelCounts.get(label) || 0) + 1);\n\t\t});\n\t\tconst getNodeId = (nodeId) => {\n\t\t\tconst label = nodeLabels[nodeId];\n\t\t\tif (validate(nodeId) && nodeLabelCounts.get(label) === 1) return label;\n\t\t\telse return nodeId;\n\t\t};\n\t\treturn new Graph({\n\t\t\tnodes: Object.fromEntries(Object.entries(this.nodes).map(([id, node]) => [getNodeId(id), {\n\t\t\t\t...node,\n\t\t\t\tid: getNodeId(id)\n\t\t\t}])),\n\t\t\tedges: this.edges.map((edge) => ({\n\t\t\t\t...edge,\n\t\t\t\tsource: getNodeId(edge.source),\n\t\t\t\ttarget: getNodeId(edge.target)\n\t\t\t}))\n\t\t});\n\t}\n\tdrawMermaid(params) {\n\t\tconst { withStyles, curveStyle, nodeColors = {\n\t\t\tdefault: \"fill:#f2f0ff,line-height:1.2\",\n\t\t\tfirst: \"fill-opacity:0\",\n\t\t\tlast: \"fill:#bfb6fc\"\n\t\t}, wrapLabelNWords } = params ?? {};\n\t\tconst graph = this.reid();\n\t\tconst firstNode = graph.firstNode();\n\t\tconst lastNode = graph.lastNode();\n\t\treturn drawMermaid(graph.nodes, graph.edges, {\n\t\t\tfirstNode: firstNode?.id,\n\t\t\tlastNode: lastNode?.id,\n\t\t\twithStyles,\n\t\t\tcurveStyle,\n\t\t\tnodeColors,\n\t\t\twrapLabelNWords\n\t\t});\n\t}\n\tasync drawMermaidPng(params) {\n\t\tconst mermaidSyntax = this.drawMermaid(params);\n\t\treturn drawMermaidImage(mermaidSyntax, { backgroundColor: params?.backgroundColor });\n\t}\n};\n/**\n* Find the single node that is not a target of any edge.\n* Exclude nodes/sources with ids in the exclude list.\n* If there is no such node, or there are multiple, return undefined.\n* When drawing the graph, this node would be the origin.\n*/\nfunction _firstNode(graph, exclude = []) {\n\tconst targets = new Set(graph.edges.filter((edge) => !exclude.includes(edge.source)).map((edge) => edge.target));\n\tconst found = [];\n\tfor (const node of Object.values(graph.nodes)) if (!exclude.includes(node.id) && !targets.has(node.id)) found.push(node);\n\treturn found.length === 1 ? found[0] : void 0;\n}\n/**\n* Find the single node that is not a source of any edge.\n* Exclude nodes/targets with ids in the exclude list.\n* If there is no such node, or there are multiple, return undefined.\n* When drawing the graph, this node would be the destination.\n*/\nfunction _lastNode(graph, exclude = []) {\n\tconst sources = new Set(graph.edges.filter((edge) => !exclude.includes(edge.target)).map((edge) => edge.source));\n\tconst found = [];\n\tfor (const node of Object.values(graph.nodes)) if (!exclude.includes(node.id) && !sources.has(node.id)) found.push(node);\n\treturn found.length === 1 ? found[0] : void 0;\n}\n\n//#endregion\nexport { Graph, graph_exports };\n//# sourceMappingURL=graph.js.map"],"names":["Graph"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.es94.js","sources":["../node_modules/.pnpm/@langchain+core@1.1.13_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/utils/stream.js"],"sourcesContent":["import { __export } from \"../_virtual/rolldown_runtime.js\";\nimport { AsyncLocalStorageProviderSingleton } from \"../singletons/async_local_storage/index.js\";\nimport \"../singletons/index.js\";\nimport { pickRunnableConfigKeys } from \"../runnables/config.js\";\nimport { raceWithSignal } from \"./signal.js\";\n\n//#region src/utils/stream.ts\nvar stream_exports = {};\n__export(stream_exports, {\n\tAsyncGeneratorWithSetup: () => AsyncGeneratorWithSetup,\n\tIterableReadableStream: () => IterableReadableStream,\n\tatee: () => atee,\n\tconcat: () => concat,\n\tpipeGeneratorWithSetup: () => pipeGeneratorWithSetup\n});\nvar IterableReadableStream = class IterableReadableStream extends ReadableStream {\n\treader;\n\tensureReader() {\n\t\tif (!this.reader) this.reader = this.getReader();\n\t}\n\tasync next() {\n\t\tthis.ensureReader();\n\t\ttry {\n\t\t\tconst result = await this.reader.read();\n\t\t\tif (result.done) {\n\t\t\t\tthis.reader.releaseLock();\n\t\t\t\treturn {\n\t\t\t\t\tdone: true,\n\t\t\t\t\tvalue: void 0\n\t\t\t\t};\n\t\t\t} else return {\n\t\t\t\tdone: false,\n\t\t\t\tvalue: result.value\n\t\t\t};\n\t\t} catch (e) {\n\t\t\tthis.reader.releaseLock();\n\t\t\tthrow e;\n\t\t}\n\t}\n\tasync return() {\n\t\tthis.ensureReader();\n\t\tif (this.locked) {\n\t\t\tconst cancelPromise = this.reader.cancel();\n\t\t\tthis.reader.releaseLock();\n\t\t\tawait cancelPromise;\n\t\t}\n\t\treturn {\n\t\t\tdone: true,\n\t\t\tvalue: void 0\n\t\t};\n\t}\n\tasync throw(e) {\n\t\tthis.ensureReader();\n\t\tif (this.locked) {\n\t\t\tconst cancelPromise = this.reader.cancel();\n\t\t\tthis.reader.releaseLock();\n\t\t\tawait cancelPromise;\n\t\t}\n\t\tthrow e;\n\t}\n\t[Symbol.asyncIterator]() {\n\t\treturn this;\n\t}\n\tasync [Symbol.asyncDispose]() {\n\t\tawait this.return();\n\t}\n\tstatic fromReadableStream(stream) {\n\t\tconst reader = stream.getReader();\n\t\treturn new IterableReadableStream({\n\t\t\tstart(controller) {\n\t\t\t\treturn pump();\n\t\t\t\tfunction pump() {\n\t\t\t\t\treturn reader.read().then(({ done, value }) => {\n\t\t\t\t\t\tif (done) {\n\t\t\t\t\t\t\tcontroller.close();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontroller.enqueue(value);\n\t\t\t\t\t\treturn pump();\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tcancel() {\n\t\t\t\treader.releaseLock();\n\t\t\t}\n\t\t});\n\t}\n\tstatic fromAsyncGenerator(generator) {\n\t\treturn new IterableReadableStream({\n\t\t\tasync pull(controller) {\n\t\t\t\tconst { value, done } = await generator.next();\n\t\t\t\tif (done) controller.close();\n\t\t\t\tcontroller.enqueue(value);\n\t\t\t},\n\t\t\tasync cancel(reason) {\n\t\t\t\tawait generator.return(reason);\n\t\t\t}\n\t\t});\n\t}\n};\nfunction atee(iter, length = 2) {\n\tconst buffers = Array.from({ length }, () => []);\n\treturn buffers.map(async function* makeIter(buffer) {\n\t\twhile (true) if (buffer.length === 0) {\n\t\t\tconst result = await iter.next();\n\t\t\tfor (const buffer$1 of buffers) buffer$1.push(result);\n\t\t} else if (buffer[0].done) return;\n\t\telse yield buffer.shift().value;\n\t});\n}\nfunction concat(first, second) {\n\tif (Array.isArray(first) && Array.isArray(second)) return first.concat(second);\n\telse if (typeof first === \"string\" && typeof second === \"string\") return first + second;\n\telse if (typeof first === \"number\" && typeof second === \"number\") return first + second;\n\telse if (\"concat\" in first && typeof first.concat === \"function\") return first.concat(second);\n\telse if (typeof first === \"object\" && typeof second === \"object\") {\n\t\tconst chunk = { ...first };\n\t\tfor (const [key, value] of Object.entries(second)) if (key in chunk && !Array.isArray(chunk[key])) chunk[key] = concat(chunk[key], value);\n\t\telse chunk[key] = value;\n\t\treturn chunk;\n\t} else throw new Error(`Cannot concat ${typeof first} and ${typeof second}`);\n}\nvar AsyncGeneratorWithSetup = class {\n\tgenerator;\n\tsetup;\n\tconfig;\n\tsignal;\n\tfirstResult;\n\tfirstResultUsed = false;\n\tconstructor(params) {\n\t\tthis.generator = params.generator;\n\t\tthis.config = params.config;\n\t\tthis.signal = params.signal ?? this.config?.signal;\n\t\tthis.setup = new Promise((resolve, reject) => {\n\t\t\tAsyncLocalStorageProviderSingleton.runWithConfig(pickRunnableConfigKeys(params.config), async () => {\n\t\t\t\tthis.firstResult = params.generator.next();\n\t\t\t\tif (params.startSetup) this.firstResult.then(params.startSetup).then(resolve, reject);\n\t\t\t\telse this.firstResult.then((_result) => resolve(void 0), reject);\n\t\t\t}, true);\n\t\t});\n\t}\n\tasync next(...args) {\n\t\tthis.signal?.throwIfAborted();\n\t\tif (!this.firstResultUsed) {\n\t\t\tthis.firstResultUsed = true;\n\t\t\treturn this.firstResult;\n\t\t}\n\t\treturn AsyncLocalStorageProviderSingleton.runWithConfig(pickRunnableConfigKeys(this.config), this.signal ? async () => {\n\t\t\treturn raceWithSignal(this.generator.next(...args), this.signal);\n\t\t} : async () => {\n\t\t\treturn this.generator.next(...args);\n\t\t}, true);\n\t}\n\tasync return(value) {\n\t\treturn this.generator.return(value);\n\t}\n\tasync throw(e) {\n\t\treturn this.generator.throw(e);\n\t}\n\t[Symbol.asyncIterator]() {\n\t\treturn this;\n\t}\n\tasync [Symbol.asyncDispose]() {\n\t\tawait this.return();\n\t}\n};\nasync function pipeGeneratorWithSetup(to, generator, startSetup, signal, ...args) {\n\tconst gen = new AsyncGeneratorWithSetup({\n\t\tgenerator,\n\t\tstartSetup,\n\t\tsignal\n\t});\n\tconst setup = await gen.setup;\n\treturn {\n\t\toutput: to(gen, setup, ...args),\n\t\tsetup\n\t};\n}\n\n//#endregion\nexport { AsyncGeneratorWithSetup, IterableReadableStream, atee, concat, pipeGeneratorWithSetup, stream_exports };\n//# sourceMappingURL=stream.js.map"],"names":["IterableReadableStream"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,17 +1,244 @@
1
- import { IterableReadableStream } from "./index.es86.js";
2
- function convertToHttpEventStream(stream) {
3
- const encoder = new TextEncoder();
4
- const finalStream = new ReadableStream({ async start(controller) {
5
- for await (const chunk of stream) controller.enqueue(encoder.encode(`event: data
6
- data: ${JSON.stringify(chunk)}
7
-
8
- `));
9
- controller.enqueue(encoder.encode("event: end\n\n"));
10
- controller.close();
11
- } });
12
- return IterableReadableStream.fromReadableStream(finalStream);
1
+ import { __export } from "./index.es50.js";
2
+ import { AIMessageChunk } from "./index.es38.js";
3
+ import { applyPatch } from "./index.es116.js";
4
+ import "./index.es117.js";
5
+ import { BaseTracer } from "./index.es118.js";
6
+ import { IterableReadableStream } from "./index.es94.js";
7
+ var log_stream_exports = {};
8
+ __export(log_stream_exports, {
9
+ LogStreamCallbackHandler: () => LogStreamCallbackHandler,
10
+ RunLog: () => RunLog,
11
+ RunLogPatch: () => RunLogPatch,
12
+ isLogStreamHandler: () => isLogStreamHandler
13
+ });
14
+ var RunLogPatch = class {
15
+ ops;
16
+ constructor(fields) {
17
+ this.ops = fields.ops ?? [];
18
+ }
19
+ concat(other) {
20
+ const ops = this.ops.concat(other.ops);
21
+ const states = applyPatch({}, ops);
22
+ return new RunLog({
23
+ ops,
24
+ state: states[states.length - 1].newDocument
25
+ });
26
+ }
27
+ };
28
+ var RunLog = class RunLog2 extends RunLogPatch {
29
+ state;
30
+ constructor(fields) {
31
+ super(fields);
32
+ this.state = fields.state;
33
+ }
34
+ concat(other) {
35
+ const ops = this.ops.concat(other.ops);
36
+ const states = applyPatch(this.state, other.ops);
37
+ return new RunLog2({
38
+ ops,
39
+ state: states[states.length - 1].newDocument
40
+ });
41
+ }
42
+ static fromRunLogPatch(patch) {
43
+ const states = applyPatch({}, patch.ops);
44
+ return new RunLog2({
45
+ ops: patch.ops,
46
+ state: states[states.length - 1].newDocument
47
+ });
48
+ }
49
+ };
50
+ const isLogStreamHandler = (handler) => handler.name === "log_stream_tracer";
51
+ async function _getStandardizedInputs(run, schemaFormat) {
52
+ if (schemaFormat === "original") throw new Error("Do not assign inputs with original schema drop the key for now. When inputs are added to streamLog they should be added with standardized schema for streaming events.");
53
+ const { inputs } = run;
54
+ if ([
55
+ "retriever",
56
+ "llm",
57
+ "prompt"
58
+ ].includes(run.run_type)) return inputs;
59
+ if (Object.keys(inputs).length === 1 && inputs?.input === "") return void 0;
60
+ return inputs.input;
61
+ }
62
+ async function _getStandardizedOutputs(run, schemaFormat) {
63
+ const { outputs } = run;
64
+ if (schemaFormat === "original") return outputs;
65
+ if ([
66
+ "retriever",
67
+ "llm",
68
+ "prompt"
69
+ ].includes(run.run_type)) return outputs;
70
+ if (outputs !== void 0 && Object.keys(outputs).length === 1 && outputs?.output !== void 0) return outputs.output;
71
+ return outputs;
13
72
  }
73
+ function isChatGenerationChunk(x) {
74
+ return x !== void 0 && x.message !== void 0;
75
+ }
76
+ var LogStreamCallbackHandler = class extends BaseTracer {
77
+ autoClose = true;
78
+ includeNames;
79
+ includeTypes;
80
+ includeTags;
81
+ excludeNames;
82
+ excludeTypes;
83
+ excludeTags;
84
+ _schemaFormat = "original";
85
+ rootId;
86
+ keyMapByRunId = {};
87
+ counterMapByRunName = {};
88
+ transformStream;
89
+ writer;
90
+ receiveStream;
91
+ name = "log_stream_tracer";
92
+ lc_prefer_streaming = true;
93
+ constructor(fields) {
94
+ super({
95
+ _awaitHandler: true,
96
+ ...fields
97
+ });
98
+ this.autoClose = fields?.autoClose ?? true;
99
+ this.includeNames = fields?.includeNames;
100
+ this.includeTypes = fields?.includeTypes;
101
+ this.includeTags = fields?.includeTags;
102
+ this.excludeNames = fields?.excludeNames;
103
+ this.excludeTypes = fields?.excludeTypes;
104
+ this.excludeTags = fields?.excludeTags;
105
+ this._schemaFormat = fields?._schemaFormat ?? this._schemaFormat;
106
+ this.transformStream = new TransformStream();
107
+ this.writer = this.transformStream.writable.getWriter();
108
+ this.receiveStream = IterableReadableStream.fromReadableStream(this.transformStream.readable);
109
+ }
110
+ [Symbol.asyncIterator]() {
111
+ return this.receiveStream;
112
+ }
113
+ async persistRun(_run) {
114
+ }
115
+ _includeRun(run) {
116
+ if (run.id === this.rootId) return false;
117
+ const runTags = run.tags ?? [];
118
+ let include = this.includeNames === void 0 && this.includeTags === void 0 && this.includeTypes === void 0;
119
+ if (this.includeNames !== void 0) include = include || this.includeNames.includes(run.name);
120
+ if (this.includeTypes !== void 0) include = include || this.includeTypes.includes(run.run_type);
121
+ if (this.includeTags !== void 0) include = include || runTags.find((tag) => this.includeTags?.includes(tag)) !== void 0;
122
+ if (this.excludeNames !== void 0) include = include && !this.excludeNames.includes(run.name);
123
+ if (this.excludeTypes !== void 0) include = include && !this.excludeTypes.includes(run.run_type);
124
+ if (this.excludeTags !== void 0) include = include && runTags.every((tag) => !this.excludeTags?.includes(tag));
125
+ return include;
126
+ }
127
+ async *tapOutputIterable(runId, output) {
128
+ for await (const chunk of output) {
129
+ if (runId !== this.rootId) {
130
+ const key = this.keyMapByRunId[runId];
131
+ if (key) await this.writer.write(new RunLogPatch({ ops: [{
132
+ op: "add",
133
+ path: `/logs/${key}/streamed_output/-`,
134
+ value: chunk
135
+ }] }));
136
+ }
137
+ yield chunk;
138
+ }
139
+ }
140
+ async onRunCreate(run) {
141
+ if (this.rootId === void 0) {
142
+ this.rootId = run.id;
143
+ await this.writer.write(new RunLogPatch({ ops: [{
144
+ op: "replace",
145
+ path: "",
146
+ value: {
147
+ id: run.id,
148
+ name: run.name,
149
+ type: run.run_type,
150
+ streamed_output: [],
151
+ final_output: void 0,
152
+ logs: {}
153
+ }
154
+ }] }));
155
+ }
156
+ if (!this._includeRun(run)) return;
157
+ if (this.counterMapByRunName[run.name] === void 0) this.counterMapByRunName[run.name] = 0;
158
+ this.counterMapByRunName[run.name] += 1;
159
+ const count = this.counterMapByRunName[run.name];
160
+ this.keyMapByRunId[run.id] = count === 1 ? run.name : `${run.name}:${count}`;
161
+ const logEntry = {
162
+ id: run.id,
163
+ name: run.name,
164
+ type: run.run_type,
165
+ tags: run.tags ?? [],
166
+ metadata: run.extra?.metadata ?? {},
167
+ start_time: new Date(run.start_time).toISOString(),
168
+ streamed_output: [],
169
+ streamed_output_str: [],
170
+ final_output: void 0,
171
+ end_time: void 0
172
+ };
173
+ if (this._schemaFormat === "streaming_events") logEntry.inputs = await _getStandardizedInputs(run, this._schemaFormat);
174
+ await this.writer.write(new RunLogPatch({ ops: [{
175
+ op: "add",
176
+ path: `/logs/${this.keyMapByRunId[run.id]}`,
177
+ value: logEntry
178
+ }] }));
179
+ }
180
+ async onRunUpdate(run) {
181
+ try {
182
+ const runName = this.keyMapByRunId[run.id];
183
+ if (runName === void 0) return;
184
+ const ops = [];
185
+ if (this._schemaFormat === "streaming_events") ops.push({
186
+ op: "replace",
187
+ path: `/logs/${runName}/inputs`,
188
+ value: await _getStandardizedInputs(run, this._schemaFormat)
189
+ });
190
+ ops.push({
191
+ op: "add",
192
+ path: `/logs/${runName}/final_output`,
193
+ value: await _getStandardizedOutputs(run, this._schemaFormat)
194
+ });
195
+ if (run.end_time !== void 0) ops.push({
196
+ op: "add",
197
+ path: `/logs/${runName}/end_time`,
198
+ value: new Date(run.end_time).toISOString()
199
+ });
200
+ const patch = new RunLogPatch({ ops });
201
+ await this.writer.write(patch);
202
+ } finally {
203
+ if (run.id === this.rootId) {
204
+ const patch = new RunLogPatch({ ops: [{
205
+ op: "replace",
206
+ path: "/final_output",
207
+ value: await _getStandardizedOutputs(run, this._schemaFormat)
208
+ }] });
209
+ await this.writer.write(patch);
210
+ if (this.autoClose) await this.writer.close();
211
+ }
212
+ }
213
+ }
214
+ async onLLMNewToken(run, token, kwargs) {
215
+ const runName = this.keyMapByRunId[run.id];
216
+ if (runName === void 0) return;
217
+ const isChatModel = run.inputs.messages !== void 0;
218
+ let streamedOutputValue;
219
+ if (isChatModel) if (isChatGenerationChunk(kwargs?.chunk)) streamedOutputValue = kwargs?.chunk;
220
+ else streamedOutputValue = new AIMessageChunk({
221
+ id: `run-${run.id}`,
222
+ content: token
223
+ });
224
+ else streamedOutputValue = token;
225
+ const patch = new RunLogPatch({ ops: [{
226
+ op: "add",
227
+ path: `/logs/${runName}/streamed_output_str/-`,
228
+ value: token
229
+ }, {
230
+ op: "add",
231
+ path: `/logs/${runName}/streamed_output/-`,
232
+ value: streamedOutputValue
233
+ }] });
234
+ await this.writer.write(patch);
235
+ }
236
+ };
14
237
  export {
15
- convertToHttpEventStream
238
+ LogStreamCallbackHandler,
239
+ RunLog,
240
+ RunLogPatch,
241
+ isLogStreamHandler,
242
+ log_stream_exports
16
243
  };
17
244
  //# sourceMappingURL=index.es95.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es95.js","sources":["../node_modules/.pnpm/@langchain+core@1.1.13_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/runnables/wrappers.js"],"sourcesContent":["import { IterableReadableStream } from \"../utils/stream.js\";\n\n//#region src/runnables/wrappers.ts\nfunction convertToHttpEventStream(stream) {\n\tconst encoder = new TextEncoder();\n\tconst finalStream = new ReadableStream({ async start(controller) {\n\t\tfor await (const chunk of stream) controller.enqueue(encoder.encode(`event: data\\ndata: ${JSON.stringify(chunk)}\\n\\n`));\n\t\tcontroller.enqueue(encoder.encode(\"event: end\\n\\n\"));\n\t\tcontroller.close();\n\t} });\n\treturn IterableReadableStream.fromReadableStream(finalStream);\n}\n\n//#endregion\nexport { convertToHttpEventStream };\n//# sourceMappingURL=wrappers.js.map"],"names":[],"mappings":";AAGA,SAAS,yBAAyB,QAAQ;AACzC,QAAM,UAAU,IAAI,YAAW;AAC/B,QAAM,cAAc,IAAI,eAAe,EAAE,MAAM,MAAM,YAAY;AAChE,qBAAiB,SAAS,OAAQ,YAAW,QAAQ,QAAQ,OAAO;AAAA,QAAsB,KAAK,UAAU,KAAK,CAAC;AAAA;AAAA,CAAM,CAAC;AACtH,eAAW,QAAQ,QAAQ,OAAO,gBAAgB,CAAC;AACnD,eAAW,MAAK;AAAA,EACjB,GAAG;AACH,SAAO,uBAAuB,mBAAmB,WAAW;AAC7D;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.es95.js","sources":["../node_modules/.pnpm/@langchain+core@1.1.13_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/tracers/log_stream.js"],"sourcesContent":["import { __export } from \"../_virtual/rolldown_runtime.js\";\nimport { AIMessageChunk } from \"../messages/ai.js\";\nimport { applyPatch } from \"../utils/fast-json-patch/src/core.js\";\nimport \"../utils/fast-json-patch/index.js\";\nimport { BaseTracer } from \"./base.js\";\nimport { IterableReadableStream } from \"../utils/stream.js\";\n\n//#region src/tracers/log_stream.ts\nvar log_stream_exports = {};\n__export(log_stream_exports, {\n\tLogStreamCallbackHandler: () => LogStreamCallbackHandler,\n\tRunLog: () => RunLog,\n\tRunLogPatch: () => RunLogPatch,\n\tisLogStreamHandler: () => isLogStreamHandler\n});\n/**\n* List of jsonpatch JSONPatchOperations, which describe how to create the run state\n* from an empty dict. This is the minimal representation of the log, designed to\n* be serialized as JSON and sent over the wire to reconstruct the log on the other\n* side. Reconstruction of the state can be done with any jsonpatch-compliant library,\n* see https://jsonpatch.com for more information.\n*/\nvar RunLogPatch = class {\n\tops;\n\tconstructor(fields) {\n\t\tthis.ops = fields.ops ?? [];\n\t}\n\tconcat(other) {\n\t\tconst ops = this.ops.concat(other.ops);\n\t\tconst states = applyPatch({}, ops);\n\t\treturn new RunLog({\n\t\t\tops,\n\t\t\tstate: states[states.length - 1].newDocument\n\t\t});\n\t}\n};\nvar RunLog = class RunLog extends RunLogPatch {\n\tstate;\n\tconstructor(fields) {\n\t\tsuper(fields);\n\t\tthis.state = fields.state;\n\t}\n\tconcat(other) {\n\t\tconst ops = this.ops.concat(other.ops);\n\t\tconst states = applyPatch(this.state, other.ops);\n\t\treturn new RunLog({\n\t\t\tops,\n\t\t\tstate: states[states.length - 1].newDocument\n\t\t});\n\t}\n\tstatic fromRunLogPatch(patch) {\n\t\tconst states = applyPatch({}, patch.ops);\n\t\treturn new RunLog({\n\t\t\tops: patch.ops,\n\t\t\tstate: states[states.length - 1].newDocument\n\t\t});\n\t}\n};\nconst isLogStreamHandler = (handler) => handler.name === \"log_stream_tracer\";\n/**\n* Extract standardized inputs from a run.\n*\n* Standardizes the inputs based on the type of the runnable used.\n*\n* @param run - Run object\n* @param schemaFormat - The schema format to use.\n*\n* @returns Valid inputs are only dict. By conventions, inputs always represented\n* invocation using named arguments.\n* A null means that the input is not yet known!\n*/\nasync function _getStandardizedInputs(run, schemaFormat) {\n\tif (schemaFormat === \"original\") throw new Error(\"Do not assign inputs with original schema drop the key for now. When inputs are added to streamLog they should be added with standardized schema for streaming events.\");\n\tconst { inputs } = run;\n\tif ([\n\t\t\"retriever\",\n\t\t\"llm\",\n\t\t\"prompt\"\n\t].includes(run.run_type)) return inputs;\n\tif (Object.keys(inputs).length === 1 && inputs?.input === \"\") return void 0;\n\treturn inputs.input;\n}\nasync function _getStandardizedOutputs(run, schemaFormat) {\n\tconst { outputs } = run;\n\tif (schemaFormat === \"original\") return outputs;\n\tif ([\n\t\t\"retriever\",\n\t\t\"llm\",\n\t\t\"prompt\"\n\t].includes(run.run_type)) return outputs;\n\tif (outputs !== void 0 && Object.keys(outputs).length === 1 && outputs?.output !== void 0) return outputs.output;\n\treturn outputs;\n}\nfunction isChatGenerationChunk(x) {\n\treturn x !== void 0 && x.message !== void 0;\n}\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 LogStreamCallbackHandler = class extends BaseTracer {\n\tautoClose = true;\n\tincludeNames;\n\tincludeTypes;\n\tincludeTags;\n\texcludeNames;\n\texcludeTypes;\n\texcludeTags;\n\t_schemaFormat = \"original\";\n\trootId;\n\tkeyMapByRunId = {};\n\tcounterMapByRunName = {};\n\ttransformStream;\n\twriter;\n\treceiveStream;\n\tname = \"log_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._schemaFormat = fields?._schemaFormat ?? this._schemaFormat;\n\t\tthis.transformStream = new TransformStream();\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\tif (run.id === this.rootId) return false;\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.run_type);\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.run_type);\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, output) {\n\t\tfor await (const chunk of output) {\n\t\t\tif (runId !== this.rootId) {\n\t\t\t\tconst key = this.keyMapByRunId[runId];\n\t\t\t\tif (key) await this.writer.write(new RunLogPatch({ ops: [{\n\t\t\t\t\top: \"add\",\n\t\t\t\t\tpath: `/logs/${key}/streamed_output/-`,\n\t\t\t\t\tvalue: chunk\n\t\t\t\t}] }));\n\t\t\t}\n\t\t\tyield chunk;\n\t\t}\n\t}\n\tasync onRunCreate(run) {\n\t\tif (this.rootId === void 0) {\n\t\t\tthis.rootId = run.id;\n\t\t\tawait this.writer.write(new RunLogPatch({ ops: [{\n\t\t\t\top: \"replace\",\n\t\t\t\tpath: \"\",\n\t\t\t\tvalue: {\n\t\t\t\t\tid: run.id,\n\t\t\t\t\tname: run.name,\n\t\t\t\t\ttype: run.run_type,\n\t\t\t\t\tstreamed_output: [],\n\t\t\t\t\tfinal_output: void 0,\n\t\t\t\t\tlogs: {}\n\t\t\t\t}\n\t\t\t}] }));\n\t\t}\n\t\tif (!this._includeRun(run)) return;\n\t\tif (this.counterMapByRunName[run.name] === void 0) this.counterMapByRunName[run.name] = 0;\n\t\tthis.counterMapByRunName[run.name] += 1;\n\t\tconst count = this.counterMapByRunName[run.name];\n\t\tthis.keyMapByRunId[run.id] = count === 1 ? run.name : `${run.name}:${count}`;\n\t\tconst logEntry = {\n\t\t\tid: run.id,\n\t\t\tname: run.name,\n\t\t\ttype: run.run_type,\n\t\t\ttags: run.tags ?? [],\n\t\t\tmetadata: run.extra?.metadata ?? {},\n\t\t\tstart_time: new Date(run.start_time).toISOString(),\n\t\t\tstreamed_output: [],\n\t\t\tstreamed_output_str: [],\n\t\t\tfinal_output: void 0,\n\t\t\tend_time: void 0\n\t\t};\n\t\tif (this._schemaFormat === \"streaming_events\") logEntry.inputs = await _getStandardizedInputs(run, this._schemaFormat);\n\t\tawait this.writer.write(new RunLogPatch({ ops: [{\n\t\t\top: \"add\",\n\t\t\tpath: `/logs/${this.keyMapByRunId[run.id]}`,\n\t\t\tvalue: logEntry\n\t\t}] }));\n\t}\n\tasync onRunUpdate(run) {\n\t\ttry {\n\t\t\tconst runName = this.keyMapByRunId[run.id];\n\t\t\tif (runName === void 0) return;\n\t\t\tconst ops = [];\n\t\t\tif (this._schemaFormat === \"streaming_events\") ops.push({\n\t\t\t\top: \"replace\",\n\t\t\t\tpath: `/logs/${runName}/inputs`,\n\t\t\t\tvalue: await _getStandardizedInputs(run, this._schemaFormat)\n\t\t\t});\n\t\t\tops.push({\n\t\t\t\top: \"add\",\n\t\t\t\tpath: `/logs/${runName}/final_output`,\n\t\t\t\tvalue: await _getStandardizedOutputs(run, this._schemaFormat)\n\t\t\t});\n\t\t\tif (run.end_time !== void 0) ops.push({\n\t\t\t\top: \"add\",\n\t\t\t\tpath: `/logs/${runName}/end_time`,\n\t\t\t\tvalue: new Date(run.end_time).toISOString()\n\t\t\t});\n\t\t\tconst patch = new RunLogPatch({ ops });\n\t\t\tawait this.writer.write(patch);\n\t\t} finally {\n\t\t\tif (run.id === this.rootId) {\n\t\t\t\tconst patch = new RunLogPatch({ ops: [{\n\t\t\t\t\top: \"replace\",\n\t\t\t\t\tpath: \"/final_output\",\n\t\t\t\t\tvalue: await _getStandardizedOutputs(run, this._schemaFormat)\n\t\t\t\t}] });\n\t\t\t\tawait this.writer.write(patch);\n\t\t\t\tif (this.autoClose) await this.writer.close();\n\t\t\t}\n\t\t}\n\t}\n\tasync onLLMNewToken(run, token, kwargs) {\n\t\tconst runName = this.keyMapByRunId[run.id];\n\t\tif (runName === void 0) return;\n\t\tconst isChatModel = run.inputs.messages !== void 0;\n\t\tlet streamedOutputValue;\n\t\tif (isChatModel) if (isChatGenerationChunk(kwargs?.chunk)) streamedOutputValue = kwargs?.chunk;\n\t\telse streamedOutputValue = new AIMessageChunk({\n\t\t\tid: `run-${run.id}`,\n\t\t\tcontent: token\n\t\t});\n\t\telse streamedOutputValue = token;\n\t\tconst patch = new RunLogPatch({ ops: [{\n\t\t\top: \"add\",\n\t\t\tpath: `/logs/${runName}/streamed_output_str/-`,\n\t\t\tvalue: token\n\t\t}, {\n\t\t\top: \"add\",\n\t\t\tpath: `/logs/${runName}/streamed_output/-`,\n\t\t\tvalue: streamedOutputValue\n\t\t}] });\n\t\tawait this.writer.write(patch);\n\t}\n};\n\n//#endregion\nexport { LogStreamCallbackHandler, RunLog, RunLogPatch, isLogStreamHandler, log_stream_exports };\n//# sourceMappingURL=log_stream.js.map"],"names":["RunLog"],"mappings":"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","x_google_ignoreList":[0]}