langgraph-ui-components 0.0.3 → 0.0.4

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 (502) hide show
  1. package/README.md +32 -0
  2. package/dist/index.es100.js +3157 -5
  3. package/dist/index.es100.js.map +1 -1
  4. package/dist/index.es101.js +35 -71
  5. package/dist/index.es101.js.map +1 -1
  6. package/dist/index.es102.js +5 -37
  7. package/dist/index.es102.js.map +1 -1
  8. package/dist/index.es103.js +73 -5
  9. package/dist/index.es103.js.map +1 -1
  10. package/dist/index.es104.js +39 -2
  11. package/dist/index.es104.js.map +1 -1
  12. package/dist/index.es105.js +5 -11
  13. package/dist/index.es105.js.map +1 -1
  14. package/dist/index.es106.js +2 -503
  15. package/dist/index.es106.js.map +1 -1
  16. package/dist/index.es107.js +11 -5
  17. package/dist/index.es107.js.map +1 -1
  18. package/dist/index.es108.js +503 -2
  19. package/dist/index.es108.js.map +1 -1
  20. package/dist/index.es109.js +5 -146
  21. package/dist/index.es109.js.map +1 -1
  22. package/dist/index.es110.js +2 -908
  23. package/dist/index.es110.js.map +1 -1
  24. package/dist/index.es111.js +128 -262
  25. package/dist/index.es111.js.map +1 -1
  26. package/dist/index.es112.js +907 -3
  27. package/dist/index.es112.js.map +1 -1
  28. package/dist/index.es113.js +262 -426
  29. package/dist/index.es113.js.map +1 -1
  30. package/dist/index.es114.js +3 -47
  31. package/dist/index.es114.js.map +1 -1
  32. package/dist/index.es115.js +443 -21
  33. package/dist/index.es115.js.map +1 -1
  34. package/dist/index.es116.js +42 -75
  35. package/dist/index.es116.js.map +1 -1
  36. package/dist/index.es117.js +22 -129
  37. package/dist/index.es117.js.map +1 -1
  38. package/dist/index.es118.js +74 -44
  39. package/dist/index.es118.js.map +1 -1
  40. package/dist/index.es119.js +129 -10
  41. package/dist/index.es119.js.map +1 -1
  42. package/dist/index.es12.js +7 -7
  43. package/dist/index.es12.js.map +1 -1
  44. package/dist/index.es120.js +47 -43
  45. package/dist/index.es120.js.map +1 -1
  46. package/dist/index.es121.js +9 -98
  47. package/dist/index.es121.js.map +1 -1
  48. package/dist/index.es122.js +43 -51
  49. package/dist/index.es122.js.map +1 -1
  50. package/dist/index.es123.js +96 -13
  51. package/dist/index.es123.js.map +1 -1
  52. package/dist/index.es124.js +52 -14
  53. package/dist/index.es124.js.map +1 -1
  54. package/dist/index.es125.js +13 -86
  55. package/dist/index.es125.js.map +1 -1
  56. package/dist/index.es126.js +15 -2
  57. package/dist/index.es126.js.map +1 -1
  58. package/dist/index.es127.js +87 -54
  59. package/dist/index.es127.js.map +1 -1
  60. package/dist/index.es128.js +2 -100
  61. package/dist/index.es128.js.map +1 -1
  62. package/dist/index.es129.js +51 -186
  63. package/dist/index.es129.js.map +1 -1
  64. package/dist/index.es13.js +5 -6
  65. package/dist/index.es13.js.map +1 -1
  66. package/dist/index.es130.js +87 -97
  67. package/dist/index.es130.js.map +1 -1
  68. package/dist/index.es131.js +187 -31
  69. package/dist/index.es131.js.map +1 -1
  70. package/dist/index.es132.js +110 -10
  71. package/dist/index.es132.js.map +1 -1
  72. package/dist/index.es133.js +35 -11
  73. package/dist/index.es133.js.map +1 -1
  74. package/dist/index.es134.js +10 -12
  75. package/dist/index.es134.js.map +1 -1
  76. package/dist/index.es135.js +10 -90
  77. package/dist/index.es135.js.map +1 -1
  78. package/dist/index.es136.js +11 -274
  79. package/dist/index.es136.js.map +1 -1
  80. package/dist/index.es137.js +91 -2
  81. package/dist/index.es137.js.map +1 -1
  82. package/dist/index.es138.js +261 -150
  83. package/dist/index.es138.js.map +1 -1
  84. package/dist/index.es139.js +2 -51
  85. package/dist/index.es139.js.map +1 -1
  86. package/dist/index.es140.js +158 -34
  87. package/dist/index.es140.js.map +1 -1
  88. package/dist/index.es141.js +50 -34
  89. package/dist/index.es141.js.map +1 -1
  90. package/dist/index.es142.js +32 -32
  91. package/dist/index.es142.js.map +1 -1
  92. package/dist/index.es143.js +34 -23
  93. package/dist/index.es143.js.map +1 -1
  94. package/dist/index.es144.js +32 -583
  95. package/dist/index.es144.js.map +1 -1
  96. package/dist/index.es145.js +20 -121
  97. package/dist/index.es145.js.map +1 -1
  98. package/dist/index.es146.js +585 -158
  99. package/dist/index.es146.js.map +1 -1
  100. package/dist/index.es147.js +125 -2
  101. package/dist/index.es147.js.map +1 -1
  102. package/dist/index.es148.js +164 -2
  103. package/dist/index.es148.js.map +1 -1
  104. package/dist/index.es149.js +2 -2
  105. package/dist/index.es15.js +15 -15
  106. package/dist/index.es150.js +2 -22
  107. package/dist/index.es150.js.map +1 -1
  108. package/dist/index.es151.js +2 -2
  109. package/dist/index.es152.js +21 -24
  110. package/dist/index.es152.js.map +1 -1
  111. package/dist/index.es153.js +2 -4
  112. package/dist/index.es153.js.map +1 -1
  113. package/dist/index.es154.js +25 -5
  114. package/dist/index.es154.js.map +1 -1
  115. package/dist/index.es155.js +7 -12
  116. package/dist/index.es155.js.map +1 -1
  117. package/dist/index.es156.js +5 -6
  118. package/dist/index.es156.js.map +1 -1
  119. package/dist/index.es157.js +12 -7
  120. package/dist/index.es157.js.map +1 -1
  121. package/dist/index.es158.js +6 -64
  122. package/dist/index.es158.js.map +1 -1
  123. package/dist/index.es159.js +63 -21
  124. package/dist/index.es159.js.map +1 -1
  125. package/dist/index.es16.js +2 -2
  126. package/dist/index.es160.js +21 -5
  127. package/dist/index.es160.js.map +1 -1
  128. package/dist/index.es161.js +5 -348
  129. package/dist/index.es161.js.map +1 -1
  130. package/dist/index.es162.js +346 -22
  131. package/dist/index.es162.js.map +1 -1
  132. package/dist/index.es163.js +25 -12
  133. package/dist/index.es163.js.map +1 -1
  134. package/dist/index.es164.js +11 -53
  135. package/dist/index.es164.js.map +1 -1
  136. package/dist/index.es165.js +53 -6
  137. package/dist/index.es165.js.map +1 -1
  138. package/dist/index.es166.js +7 -103
  139. package/dist/index.es166.js.map +1 -1
  140. package/dist/index.es167.js +101 -117
  141. package/dist/index.es167.js.map +1 -1
  142. package/dist/index.es168.js +110 -127
  143. package/dist/index.es168.js.map +1 -1
  144. package/dist/index.es169.js +128 -107
  145. package/dist/index.es169.js.map +1 -1
  146. package/dist/index.es17.js +2 -2
  147. package/dist/index.es170.js +115 -6
  148. package/dist/index.es170.js.map +1 -1
  149. package/dist/index.es171.js +6 -2
  150. package/dist/index.es171.js.map +1 -1
  151. package/dist/index.es172.js +3 -141
  152. package/dist/index.es172.js.map +1 -1
  153. package/dist/index.es173.js +2 -2
  154. package/dist/index.es174.js +2 -2
  155. package/dist/index.es175.js +1 -1
  156. package/dist/index.es177.js +2 -2
  157. package/dist/index.es179.js +1 -1
  158. package/dist/index.es182.js +1 -1
  159. package/dist/index.es19.js +15 -119
  160. package/dist/index.es19.js.map +1 -1
  161. package/dist/index.es190.js +142 -32
  162. package/dist/index.es190.js.map +1 -1
  163. package/dist/index.es191.js +2 -6
  164. package/dist/index.es191.js.map +1 -1
  165. package/dist/index.es192.js +31 -105
  166. package/dist/index.es192.js.map +1 -1
  167. package/dist/index.es193.js +6 -13
  168. package/dist/index.es193.js.map +1 -1
  169. package/dist/index.es194.js +105 -17
  170. package/dist/index.es194.js.map +1 -1
  171. package/dist/index.es195.js +11 -29
  172. package/dist/index.es195.js.map +1 -1
  173. package/dist/index.es196.js +17 -3
  174. package/dist/index.es196.js.map +1 -1
  175. package/dist/index.es197.js +30 -4
  176. package/dist/index.es197.js.map +1 -1
  177. package/dist/index.es198.js +4 -5
  178. package/dist/index.es198.js.map +1 -1
  179. package/dist/index.es199.js +4 -36
  180. package/dist/index.es199.js.map +1 -1
  181. package/dist/index.es2.js +2 -2
  182. package/dist/index.es2.js.map +1 -1
  183. package/dist/index.es20.js +68 -17
  184. package/dist/index.es20.js.map +1 -1
  185. package/dist/index.es200.js +5 -8
  186. package/dist/index.es200.js.map +1 -1
  187. package/dist/index.es201.js +36 -5
  188. package/dist/index.es201.js.map +1 -1
  189. package/dist/index.es202.js +5 -4
  190. package/dist/index.es202.js.map +1 -1
  191. package/dist/index.es203.js +5 -41
  192. package/dist/index.es203.js.map +1 -1
  193. package/dist/index.es204.js +4 -10
  194. package/dist/index.es204.js.map +1 -1
  195. package/dist/index.es205.js +39 -239
  196. package/dist/index.es205.js.map +1 -1
  197. package/dist/index.es206.js +10 -48
  198. package/dist/index.es206.js.map +1 -1
  199. package/dist/index.es207.js +239 -32
  200. package/dist/index.es207.js.map +1 -1
  201. package/dist/index.es208.js +49 -11
  202. package/dist/index.es208.js.map +1 -1
  203. package/dist/index.es209.js +33 -6
  204. package/dist/index.es209.js.map +1 -1
  205. package/dist/index.es21.js +36 -67
  206. package/dist/index.es21.js.map +1 -1
  207. package/dist/index.es210.js +12 -6
  208. package/dist/index.es210.js.map +1 -1
  209. package/dist/index.es211.js +7 -64
  210. package/dist/index.es211.js.map +1 -1
  211. package/dist/index.es212.js +6 -40
  212. package/dist/index.es212.js.map +1 -1
  213. package/dist/index.es213.js +63 -30
  214. package/dist/index.es213.js.map +1 -1
  215. package/dist/index.es214.js +35 -56
  216. package/dist/index.es214.js.map +1 -1
  217. package/dist/index.es215.js +32 -15
  218. package/dist/index.es215.js.map +1 -1
  219. package/dist/index.es216.js +60 -21
  220. package/dist/index.es216.js.map +1 -1
  221. package/dist/index.es217.js +15 -5
  222. package/dist/index.es217.js.map +1 -1
  223. package/dist/index.es218.js +21 -15
  224. package/dist/index.es218.js.map +1 -1
  225. package/dist/index.es219.js +4 -32
  226. package/dist/index.es219.js.map +1 -1
  227. package/dist/index.es22.js +25 -34
  228. package/dist/index.es22.js.map +1 -1
  229. package/dist/index.es220.js +16 -4
  230. package/dist/index.es220.js.map +1 -1
  231. package/dist/index.es221.js +32 -4
  232. package/dist/index.es221.js.map +1 -1
  233. package/dist/index.es222.js +5 -5
  234. package/dist/index.es222.js.map +1 -1
  235. package/dist/index.es223.js +4 -7
  236. package/dist/index.es223.js.map +1 -1
  237. package/dist/index.es224.js +4 -91
  238. package/dist/index.es224.js.map +1 -1
  239. package/dist/index.es225.js +7 -17
  240. package/dist/index.es225.js.map +1 -1
  241. package/dist/index.es226.js +90 -760
  242. package/dist/index.es226.js.map +1 -1
  243. package/dist/index.es227.js +18 -66
  244. package/dist/index.es227.js.map +1 -1
  245. package/dist/index.es228.js +749 -161
  246. package/dist/index.es228.js.map +1 -1
  247. package/dist/index.es229.js +66 -38
  248. package/dist/index.es229.js.map +1 -1
  249. package/dist/index.es23.js +144 -29
  250. package/dist/index.es23.js.map +1 -1
  251. package/dist/index.es230.js +172 -135
  252. package/dist/index.es230.js.map +1 -1
  253. package/dist/index.es231.js +37 -92
  254. package/dist/index.es231.js.map +1 -1
  255. package/dist/index.es232.js +135 -31
  256. package/dist/index.es232.js.map +1 -1
  257. package/dist/index.es233.js +92 -284
  258. package/dist/index.es233.js.map +1 -1
  259. package/dist/index.es234.js +31 -24
  260. package/dist/index.es234.js.map +1 -1
  261. package/dist/index.es235.js +284 -23
  262. package/dist/index.es235.js.map +1 -1
  263. package/dist/index.es236.js +24 -13
  264. package/dist/index.es236.js.map +1 -1
  265. package/dist/index.es237.js +22 -13
  266. package/dist/index.es237.js.map +1 -1
  267. package/dist/index.es238.js +13 -24
  268. package/dist/index.es238.js.map +1 -1
  269. package/dist/index.es239.js +12 -43
  270. package/dist/index.es239.js.map +1 -1
  271. package/dist/index.es24.js +291 -133
  272. package/dist/index.es24.js.map +1 -1
  273. package/dist/index.es240.js +24 -10
  274. package/dist/index.es240.js.map +1 -1
  275. package/dist/index.es241.js +45 -11
  276. package/dist/index.es241.js.map +1 -1
  277. package/dist/index.es242.js +10 -10
  278. package/dist/index.es242.js.map +1 -1
  279. package/dist/index.es243.js +11 -14
  280. package/dist/index.es243.js.map +1 -1
  281. package/dist/index.es244.js +10 -10
  282. package/dist/index.es244.js.map +1 -1
  283. package/dist/index.es245.js +14 -11
  284. package/dist/index.es245.js.map +1 -1
  285. package/dist/index.es246.js +11 -11
  286. package/dist/index.es246.js.map +1 -1
  287. package/dist/index.es247.js +11 -15
  288. package/dist/index.es247.js.map +1 -1
  289. package/dist/index.es248.js +11 -11
  290. package/dist/index.es248.js.map +1 -1
  291. package/dist/index.es249.js +15 -11
  292. package/dist/index.es249.js.map +1 -1
  293. package/dist/index.es25.js +116 -96
  294. package/dist/index.es25.js.map +1 -1
  295. package/dist/index.es250.js +11 -11
  296. package/dist/index.es250.js.map +1 -1
  297. package/dist/index.es251.js +11 -11
  298. package/dist/index.es251.js.map +1 -1
  299. package/dist/index.es252.js +10 -10
  300. package/dist/index.es252.js.map +1 -1
  301. package/dist/index.es253.js +10 -10
  302. package/dist/index.es253.js.map +1 -1
  303. package/dist/index.es254.js +10 -10
  304. package/dist/index.es254.js.map +1 -1
  305. package/dist/index.es255.js +10 -10
  306. package/dist/index.es255.js.map +1 -1
  307. package/dist/index.es256.js +11 -56
  308. package/dist/index.es256.js.map +1 -1
  309. package/dist/index.es257.js +11 -49
  310. package/dist/index.es257.js.map +1 -1
  311. package/dist/index.es258.js +51 -114
  312. package/dist/index.es258.js.map +1 -1
  313. package/dist/index.es259.js +43 -378
  314. package/dist/index.es259.js.map +1 -1
  315. package/dist/index.es26.js +5 -70
  316. package/dist/index.es26.js.map +1 -1
  317. package/dist/index.es260.js +117 -16
  318. package/dist/index.es260.js.map +1 -1
  319. package/dist/index.es261.js +384 -11
  320. package/dist/index.es261.js.map +1 -1
  321. package/dist/index.es262.js +13 -26
  322. package/dist/index.es262.js.map +1 -1
  323. package/dist/index.es263.js +10 -30
  324. package/dist/index.es263.js.map +1 -1
  325. package/dist/index.es264.js +25 -56
  326. package/dist/index.es264.js.map +1 -1
  327. package/dist/index.es265.js +25 -11
  328. package/dist/index.es265.js.map +1 -1
  329. package/dist/index.es266.js +49 -64
  330. package/dist/index.es266.js.map +1 -1
  331. package/dist/index.es267.js +17 -11
  332. package/dist/index.es267.js.map +1 -1
  333. package/dist/index.es268.js +77 -11
  334. package/dist/index.es268.js.map +1 -1
  335. package/dist/index.es269.js +11 -15
  336. package/dist/index.es269.js.map +1 -1
  337. package/dist/index.es27.js +91 -168
  338. package/dist/index.es27.js.map +1 -1
  339. package/dist/index.es270.js +11 -52
  340. package/dist/index.es270.js.map +1 -1
  341. package/dist/index.es271.js +13 -164
  342. package/dist/index.es271.js.map +1 -1
  343. package/dist/index.es272.js +53 -2
  344. package/dist/index.es272.js.map +1 -1
  345. package/dist/index.es273.js +166 -10
  346. package/dist/index.es273.js.map +1 -1
  347. package/dist/index.es274.js +2 -20
  348. package/dist/index.es274.js.map +1 -1
  349. package/dist/index.es275.js +10 -38
  350. package/dist/index.es275.js.map +1 -1
  351. package/dist/index.es276.js +23 -0
  352. package/dist/index.es276.js.map +1 -0
  353. package/dist/index.es277.js +42 -0
  354. package/dist/index.es277.js.map +1 -0
  355. package/dist/index.es28.js +68 -24
  356. package/dist/index.es28.js.map +1 -1
  357. package/dist/index.es29.js +178 -12
  358. package/dist/index.es29.js.map +1 -1
  359. package/dist/index.es30.js +23 -437
  360. package/dist/index.es30.js.map +1 -1
  361. package/dist/index.es31.js +13 -15
  362. package/dist/index.es31.js.map +1 -1
  363. package/dist/index.es32.js +429 -107
  364. package/dist/index.es32.js.map +1 -1
  365. package/dist/index.es33.js +13 -70
  366. package/dist/index.es33.js.map +1 -1
  367. package/dist/index.es34.js +119 -19
  368. package/dist/index.es34.js.map +1 -1
  369. package/dist/index.es35.js +66 -256
  370. package/dist/index.es35.js.map +1 -1
  371. package/dist/index.es36.js +17 -42
  372. package/dist/index.es36.js.map +1 -1
  373. package/dist/index.es37.js +239 -193
  374. package/dist/index.es37.js.map +1 -1
  375. package/dist/index.es38.js +17 -41
  376. package/dist/index.es38.js.map +1 -1
  377. package/dist/index.es39.js +193 -120
  378. package/dist/index.es39.js.map +1 -1
  379. package/dist/index.es40.js +60 -17
  380. package/dist/index.es40.js.map +1 -1
  381. package/dist/index.es41.js +123 -211
  382. package/dist/index.es41.js.map +1 -1
  383. package/dist/index.es42.js +22 -7
  384. package/dist/index.es42.js.map +1 -1
  385. package/dist/index.es43.js +214 -1176
  386. package/dist/index.es43.js.map +1 -1
  387. package/dist/index.es44.js +10 -8
  388. package/dist/index.es44.js.map +1 -1
  389. package/dist/index.es45.js +1182 -137
  390. package/dist/index.es45.js.map +1 -1
  391. package/dist/index.es46.js +8 -8
  392. package/dist/index.es46.js.map +1 -1
  393. package/dist/index.es47.js +138 -84
  394. package/dist/index.es47.js.map +1 -1
  395. package/dist/index.es48.js +8 -4
  396. package/dist/index.es48.js.map +1 -1
  397. package/dist/index.es49.js +91 -33
  398. package/dist/index.es49.js.map +1 -1
  399. package/dist/index.es50.js +3 -71
  400. package/dist/index.es50.js.map +1 -1
  401. package/dist/index.es51.js +34 -36
  402. package/dist/index.es51.js.map +1 -1
  403. package/dist/index.es52.js +61 -295
  404. package/dist/index.es52.js.map +1 -1
  405. package/dist/index.es53.js +38 -9
  406. package/dist/index.es53.js.map +1 -1
  407. package/dist/index.es54.js +296 -81
  408. package/dist/index.es54.js.map +1 -1
  409. package/dist/index.es55.js +9 -8
  410. package/dist/index.es55.js.map +1 -1
  411. package/dist/index.es56.js +89 -13
  412. package/dist/index.es56.js.map +1 -1
  413. package/dist/index.es57.js +6 -141
  414. package/dist/index.es57.js.map +1 -1
  415. package/dist/index.es58.js +12 -297
  416. package/dist/index.es58.js.map +1 -1
  417. package/dist/index.es59.js +137 -60
  418. package/dist/index.es59.js.map +1 -1
  419. package/dist/index.es6.js +21 -5
  420. package/dist/index.es6.js.map +1 -1
  421. package/dist/index.es60.js +247 -160
  422. package/dist/index.es60.js.map +1 -1
  423. package/dist/index.es61.js +63 -31
  424. package/dist/index.es61.js.map +1 -1
  425. package/dist/index.es62.js +212 -8
  426. package/dist/index.es62.js.map +1 -1
  427. package/dist/index.es63.js +32 -10
  428. package/dist/index.es63.js.map +1 -1
  429. package/dist/index.es64.js +8 -186
  430. package/dist/index.es64.js.map +1 -1
  431. package/dist/index.es65.js +11 -23
  432. package/dist/index.es65.js.map +1 -1
  433. package/dist/index.es66.js +183 -1396
  434. package/dist/index.es66.js.map +1 -1
  435. package/dist/index.es67.js +24 -9
  436. package/dist/index.es67.js.map +1 -1
  437. package/dist/index.es68.js +1400 -8
  438. package/dist/index.es68.js.map +1 -1
  439. package/dist/index.es69.js +9 -6
  440. package/dist/index.es69.js.map +1 -1
  441. package/dist/index.es70.js +8 -163
  442. package/dist/index.es70.js.map +1 -1
  443. package/dist/index.es71.js +6 -672
  444. package/dist/index.es71.js.map +1 -1
  445. package/dist/index.es72.js +161 -10
  446. package/dist/index.es72.js.map +1 -1
  447. package/dist/index.es73.js +671 -39
  448. package/dist/index.es73.js.map +1 -1
  449. package/dist/index.es74.js +10 -32
  450. package/dist/index.es74.js.map +1 -1
  451. package/dist/index.es75.js +31 -223
  452. package/dist/index.es75.js.map +1 -1
  453. package/dist/index.es76.js +33 -29
  454. package/dist/index.es76.js.map +1 -1
  455. package/dist/index.es77.js +193 -36
  456. package/dist/index.es77.js.map +1 -1
  457. package/dist/index.es78.js +26 -72
  458. package/dist/index.es78.js.map +1 -1
  459. package/dist/index.es79.js +70 -47
  460. package/dist/index.es79.js.map +1 -1
  461. package/dist/index.es80.js +72 -26
  462. package/dist/index.es80.js.map +1 -1
  463. package/dist/index.es81.js +37 -28
  464. package/dist/index.es81.js.map +1 -1
  465. package/dist/index.es82.js +28 -55
  466. package/dist/index.es82.js.map +1 -1
  467. package/dist/index.es83.js +43 -13
  468. package/dist/index.es83.js.map +1 -1
  469. package/dist/index.es84.js +52 -132
  470. package/dist/index.es84.js.map +1 -1
  471. package/dist/index.es85.js +13 -21
  472. package/dist/index.es85.js.map +1 -1
  473. package/dist/index.es86.js +124 -169
  474. package/dist/index.es86.js.map +1 -1
  475. package/dist/index.es87.js +19 -239
  476. package/dist/index.es87.js.map +1 -1
  477. package/dist/index.es88.js +165 -338
  478. package/dist/index.es88.js.map +1 -1
  479. package/dist/index.es89.js +231 -127
  480. package/dist/index.es89.js.map +1 -1
  481. package/dist/index.es90.js +348 -63
  482. package/dist/index.es90.js.map +1 -1
  483. package/dist/index.es91.js +133 -33
  484. package/dist/index.es91.js.map +1 -1
  485. package/dist/index.es92.js +67 -34
  486. package/dist/index.es92.js.map +1 -1
  487. package/dist/index.es93.js +33 -162
  488. package/dist/index.es93.js.map +1 -1
  489. package/dist/index.es94.js +34 -200
  490. package/dist/index.es94.js.map +1 -1
  491. package/dist/index.es95.js +165 -13
  492. package/dist/index.es95.js.map +1 -1
  493. package/dist/index.es96.js +198 -25
  494. package/dist/index.es96.js.map +1 -1
  495. package/dist/index.es97.js +13 -33
  496. package/dist/index.es97.js.map +1 -1
  497. package/dist/index.es98.js +24 -3151
  498. package/dist/index.es98.js.map +1 -1
  499. package/dist/index.es99.js +30 -33
  500. package/dist/index.es99.js.map +1 -1
  501. package/dist/styles.css +1 -1
  502. package/package.json +5 -1
@@ -1,140 +1,244 @@
1
- import { isNetworkError } from "./index.es115.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.");
7
- }
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;
23
- }
24
- this.name = "AbortError";
25
- this.message = message;
1
+ import { __export } from "./index.es48.js";
2
+ import { AIMessageChunk } from "./index.es39.js";
3
+ import { applyPatch } from "./index.es113.js";
4
+ import "./index.es114.js";
5
+ import { BaseTracer } from "./index.es115.js";
6
+ import { IterableReadableStream } from "./index.es88.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
+ });
26
48
  }
27
49
  };
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;
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;
34
61
  }
35
- function calculateRemainingTime(start, max) {
36
- if (!Number.isFinite(max)) return max;
37
- return max - (performance.now() - start);
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;
38
72
  }
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;
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;
59
112
  }
60
- if (!await options.shouldRetry(context)) throw normalizedError;
61
- if (!consumeRetry) {
62
- options.signal?.throwIfAborted();
63
- return false;
113
+ async persistRun(_run) {
64
114
  }
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);
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
72
172
  };
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;
82
- }
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++;
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) {
120
181
  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++;
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
+ }
133
212
  }
134
213
  }
135
- throw new Error("Retry attempts exhausted without throwing an error.");
136
- }
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
+ };
137
237
  export {
138
- pRetry
238
+ LogStreamCallbackHandler,
239
+ RunLog,
240
+ RunLogPatch,
241
+ isLogStreamHandler,
242
+ log_stream_exports
139
243
  };
140
244
  //# sourceMappingURL=index.es89.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es89.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":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.es89.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]}