langgraph-ui-components 0.0.4 → 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 (525) hide show
  1. package/dist/index.es10.js +31 -16
  2. package/dist/index.es10.js.map +1 -1
  3. package/dist/index.es100.js +36 -3156
  4. package/dist/index.es100.js.map +1 -1
  5. package/dist/index.es101.js +162 -33
  6. package/dist/index.es101.js.map +1 -1
  7. package/dist/index.es102.js +203 -5
  8. package/dist/index.es102.js.map +1 -1
  9. package/dist/index.es103.js +13 -72
  10. package/dist/index.es103.js.map +1 -1
  11. package/dist/index.es104.js +27 -34
  12. package/dist/index.es104.js.map +1 -1
  13. package/dist/index.es105.js +34 -5
  14. package/dist/index.es105.js.map +1 -1
  15. package/dist/index.es106.js +3159 -2
  16. package/dist/index.es106.js.map +1 -1
  17. package/dist/index.es107.js +5 -11
  18. package/dist/index.es107.js.map +1 -1
  19. package/dist/index.es108.js +2 -503
  20. package/dist/index.es108.js.map +1 -1
  21. package/dist/index.es109.js +16 -5
  22. package/dist/index.es109.js.map +1 -1
  23. package/dist/index.es11.js +146 -120
  24. package/dist/index.es11.js.map +1 -1
  25. package/dist/index.es110.js +13 -2
  26. package/dist/index.es110.js.map +1 -1
  27. package/dist/index.es111.js +484 -129
  28. package/dist/index.es111.js.map +1 -1
  29. package/dist/index.es112.js +5 -906
  30. package/dist/index.es112.js.map +1 -1
  31. package/dist/index.es113.js +2 -282
  32. package/dist/index.es113.js.map +1 -1
  33. package/dist/index.es114.js +148 -4
  34. package/dist/index.es114.js.map +1 -1
  35. package/dist/index.es115.js +869 -407
  36. package/dist/index.es115.js.map +1 -1
  37. package/dist/index.es116.js +274 -40
  38. package/dist/index.es116.js.map +1 -1
  39. package/dist/index.es117.js +4 -24
  40. package/dist/index.es117.js.map +1 -1
  41. package/dist/index.es118.js +437 -72
  42. package/dist/index.es118.js.map +1 -1
  43. package/dist/index.es119.js +42 -125
  44. package/dist/index.es119.js.map +1 -1
  45. package/dist/index.es12.js +13 -103
  46. package/dist/index.es12.js.map +1 -1
  47. package/dist/index.es120.js +21 -48
  48. package/dist/index.es120.js.map +1 -1
  49. package/dist/index.es121.js +77 -8
  50. package/dist/index.es121.js.map +1 -1
  51. package/dist/index.es122.js +127 -43
  52. package/dist/index.es122.js.map +1 -1
  53. package/dist/index.es123.js +41 -91
  54. package/dist/index.es123.js.map +1 -1
  55. package/dist/index.es124.js +9 -52
  56. package/dist/index.es124.js.map +1 -1
  57. package/dist/index.es125.js +44 -15
  58. package/dist/index.es125.js.map +1 -1
  59. package/dist/index.es126.js +97 -13
  60. package/dist/index.es126.js.map +1 -1
  61. package/dist/index.es127.js +52 -88
  62. package/dist/index.es127.js.map +1 -1
  63. package/dist/index.es128.js +15 -2
  64. package/dist/index.es128.js.map +1 -1
  65. package/dist/index.es129.js +87 -54
  66. package/dist/index.es129.js.map +1 -1
  67. package/dist/index.es13.js +126 -32
  68. package/dist/index.es13.js.map +1 -1
  69. package/dist/index.es130.js +2 -100
  70. package/dist/index.es130.js.map +1 -1
  71. package/dist/index.es131.js +163 -190
  72. package/dist/index.es131.js.map +1 -1
  73. package/dist/index.es132.js +2 -110
  74. package/dist/index.es132.js.map +1 -1
  75. package/dist/index.es133.js +53 -32
  76. package/dist/index.es133.js.map +1 -1
  77. package/dist/index.es134.js +99 -9
  78. package/dist/index.es134.js.map +1 -1
  79. package/dist/index.es135.js +190 -10
  80. package/dist/index.es135.js.map +1 -1
  81. package/dist/index.es136.js +108 -10
  82. package/dist/index.es136.js.map +1 -1
  83. package/dist/index.es137.js +30 -86
  84. package/dist/index.es137.js.map +1 -1
  85. package/dist/index.es138.js +10 -275
  86. package/dist/index.es138.js.map +1 -1
  87. package/dist/index.es139.js +11 -2
  88. package/dist/index.es139.js.map +1 -1
  89. package/dist/index.es140.js +11 -163
  90. package/dist/index.es140.js.map +1 -1
  91. package/dist/index.es141.js +87 -47
  92. package/dist/index.es141.js.map +1 -1
  93. package/dist/index.es142.js +266 -31
  94. package/dist/index.es142.js.map +1 -1
  95. package/dist/index.es143.js +2 -35
  96. package/dist/index.es143.js.map +1 -1
  97. package/dist/index.es144.js +155 -31
  98. package/dist/index.es144.js.map +1 -1
  99. package/dist/index.es145.js +48 -21
  100. package/dist/index.es145.js.map +1 -1
  101. package/dist/index.es146.js +33 -584
  102. package/dist/index.es146.js.map +1 -1
  103. package/dist/index.es147.js +34 -124
  104. package/dist/index.es147.js.map +1 -1
  105. package/dist/index.es148.js +31 -155
  106. package/dist/index.es148.js.map +1 -1
  107. package/dist/index.es149.js +24 -2
  108. package/dist/index.es149.js.map +1 -1
  109. package/dist/index.es15.js +15 -15
  110. package/dist/index.es150.js +591 -2
  111. package/dist/index.es150.js.map +1 -1
  112. package/dist/index.es151.js +125 -2
  113. package/dist/index.es151.js.map +1 -1
  114. package/dist/index.es152.js +3 -21
  115. package/dist/index.es152.js.map +1 -1
  116. package/dist/index.es153.js +2 -2
  117. package/dist/index.es154.js +2 -25
  118. package/dist/index.es154.js.map +1 -1
  119. package/dist/index.es155.js +22 -8
  120. package/dist/index.es155.js.map +1 -1
  121. package/dist/index.es156.js +2 -5
  122. package/dist/index.es156.js.map +1 -1
  123. package/dist/index.es157.js +24 -12
  124. package/dist/index.es157.js.map +1 -1
  125. package/dist/index.es158.js +5 -6
  126. package/dist/index.es158.js.map +1 -1
  127. package/dist/index.es159.js +12 -63
  128. package/dist/index.es159.js.map +1 -1
  129. package/dist/index.es160.js +5 -21
  130. package/dist/index.es160.js.map +1 -1
  131. package/dist/index.es161.js +8 -6
  132. package/dist/index.es161.js.map +1 -1
  133. package/dist/index.es162.js +22 -346
  134. package/dist/index.es162.js.map +1 -1
  135. package/dist/index.es163.js +12 -25
  136. package/dist/index.es163.js.map +1 -1
  137. package/dist/index.es164.js +53 -11
  138. package/dist/index.es164.js.map +1 -1
  139. package/dist/index.es165.js +59 -49
  140. package/dist/index.es165.js.map +1 -1
  141. package/dist/index.es166.js +22 -7
  142. package/dist/index.es166.js.map +1 -1
  143. package/dist/index.es167.js +5 -102
  144. package/dist/index.es167.js.map +1 -1
  145. package/dist/index.es168.js +339 -109
  146. package/dist/index.es168.js.map +1 -1
  147. package/dist/index.es169.js +7 -136
  148. package/dist/index.es169.js.map +1 -1
  149. package/dist/index.es17.js +2 -2
  150. package/dist/index.es170.js +97 -109
  151. package/dist/index.es170.js.map +1 -1
  152. package/dist/index.es171.js +119 -6
  153. package/dist/index.es171.js.map +1 -1
  154. package/dist/index.es172.js +136 -4
  155. package/dist/index.es172.js.map +1 -1
  156. package/dist/index.es173.js +115 -2
  157. package/dist/index.es173.js.map +1 -1
  158. package/dist/index.es174.js +6 -3737
  159. package/dist/index.es174.js.map +1 -1
  160. package/dist/index.es175.js +2 -342
  161. package/dist/index.es175.js.map +1 -1
  162. package/dist/index.es176.js +138 -105
  163. package/dist/index.es176.js.map +1 -1
  164. package/dist/index.es177.js +2 -133
  165. package/dist/index.es177.js.map +1 -1
  166. package/dist/index.es178.js +3734 -12
  167. package/dist/index.es178.js.map +1 -1
  168. package/dist/index.es179.js +326 -136
  169. package/dist/index.es179.js.map +1 -1
  170. package/dist/index.es180.js +107 -13
  171. package/dist/index.es180.js.map +1 -1
  172. package/dist/index.es181.js +131 -6
  173. package/dist/index.es181.js.map +1 -1
  174. package/dist/index.es182.js +13 -19
  175. package/dist/index.es182.js.map +1 -1
  176. package/dist/index.es183.js +139 -77
  177. package/dist/index.es183.js.map +1 -1
  178. package/dist/index.es184.js +13 -241
  179. package/dist/index.es184.js.map +1 -1
  180. package/dist/index.es185.js +8 -24
  181. package/dist/index.es185.js.map +1 -1
  182. package/dist/index.es186.js +21 -6
  183. package/dist/index.es186.js.map +1 -1
  184. package/dist/index.es187.js +90 -4
  185. package/dist/index.es187.js.map +1 -1
  186. package/dist/index.es188.js +240 -15
  187. package/dist/index.es188.js.map +1 -1
  188. package/dist/index.es189.js +24 -8
  189. package/dist/index.es189.js.map +1 -1
  190. package/dist/index.es190.js +6 -142
  191. package/dist/index.es190.js.map +1 -1
  192. package/dist/index.es191.js +4 -2
  193. package/dist/index.es191.js.map +1 -1
  194. package/dist/index.es192.js +18 -32
  195. package/dist/index.es192.js.map +1 -1
  196. package/dist/index.es193.js +8 -6
  197. package/dist/index.es193.js.map +1 -1
  198. package/dist/index.es194.js +31 -105
  199. package/dist/index.es194.js.map +1 -1
  200. package/dist/index.es195.js +6 -13
  201. package/dist/index.es195.js.map +1 -1
  202. package/dist/index.es196.js +105 -17
  203. package/dist/index.es196.js.map +1 -1
  204. package/dist/index.es197.js +11 -29
  205. package/dist/index.es197.js.map +1 -1
  206. package/dist/index.es198.js +17 -3
  207. package/dist/index.es198.js.map +1 -1
  208. package/dist/index.es199.js +30 -4
  209. package/dist/index.es199.js.map +1 -1
  210. package/dist/index.es2.js +24 -15
  211. package/dist/index.es2.js.map +1 -1
  212. package/dist/index.es20.js +35 -66
  213. package/dist/index.es20.js.map +1 -1
  214. package/dist/index.es200.js +4 -5
  215. package/dist/index.es200.js.map +1 -1
  216. package/dist/index.es201.js +4 -36
  217. package/dist/index.es201.js.map +1 -1
  218. package/dist/index.es202.js +5 -8
  219. package/dist/index.es202.js.map +1 -1
  220. package/dist/index.es203.js +36 -5
  221. package/dist/index.es203.js.map +1 -1
  222. package/dist/index.es204.js +5 -4
  223. package/dist/index.es204.js.map +1 -1
  224. package/dist/index.es205.js +5 -41
  225. package/dist/index.es205.js.map +1 -1
  226. package/dist/index.es206.js +4 -10
  227. package/dist/index.es206.js.map +1 -1
  228. package/dist/index.es207.js +39 -239
  229. package/dist/index.es207.js.map +1 -1
  230. package/dist/index.es208.js +10 -48
  231. package/dist/index.es208.js.map +1 -1
  232. package/dist/index.es209.js +239 -32
  233. package/dist/index.es209.js.map +1 -1
  234. package/dist/index.es21.js +25 -34
  235. package/dist/index.es21.js.map +1 -1
  236. package/dist/index.es210.js +49 -11
  237. package/dist/index.es210.js.map +1 -1
  238. package/dist/index.es211.js +33 -6
  239. package/dist/index.es211.js.map +1 -1
  240. package/dist/index.es212.js +12 -6
  241. package/dist/index.es212.js.map +1 -1
  242. package/dist/index.es213.js +7 -64
  243. package/dist/index.es213.js.map +1 -1
  244. package/dist/index.es214.js +6 -40
  245. package/dist/index.es214.js.map +1 -1
  246. package/dist/index.es215.js +63 -30
  247. package/dist/index.es215.js.map +1 -1
  248. package/dist/index.es216.js +35 -56
  249. package/dist/index.es216.js.map +1 -1
  250. package/dist/index.es217.js +32 -15
  251. package/dist/index.es217.js.map +1 -1
  252. package/dist/index.es218.js +60 -21
  253. package/dist/index.es218.js.map +1 -1
  254. package/dist/index.es219.js +15 -5
  255. package/dist/index.es219.js.map +1 -1
  256. package/dist/index.es22.js +146 -27
  257. package/dist/index.es22.js.map +1 -1
  258. package/dist/index.es220.js +21 -15
  259. package/dist/index.es220.js.map +1 -1
  260. package/dist/index.es221.js +4 -32
  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 -4
  265. package/dist/index.es223.js.map +1 -1
  266. package/dist/index.es224.js +5 -5
  267. package/dist/index.es224.js.map +1 -1
  268. package/dist/index.es225.js +4 -7
  269. package/dist/index.es225.js.map +1 -1
  270. package/dist/index.es226.js +4 -91
  271. package/dist/index.es226.js.map +1 -1
  272. package/dist/index.es227.js +7 -17
  273. package/dist/index.es227.js.map +1 -1
  274. package/dist/index.es228.js +90 -760
  275. package/dist/index.es228.js.map +1 -1
  276. package/dist/index.es229.js +18 -66
  277. package/dist/index.es229.js.map +1 -1
  278. package/dist/index.es23.js +16 -146
  279. package/dist/index.es23.js.map +1 -1
  280. package/dist/index.es230.js +749 -161
  281. package/dist/index.es230.js.map +1 -1
  282. package/dist/index.es231.js +66 -38
  283. package/dist/index.es231.js.map +1 -1
  284. package/dist/index.es232.js +172 -135
  285. package/dist/index.es232.js.map +1 -1
  286. package/dist/index.es233.js +136 -92
  287. package/dist/index.es233.js.map +1 -1
  288. package/dist/index.es234.js +92 -32
  289. package/dist/index.es234.js.map +1 -1
  290. package/dist/index.es235.js +32 -284
  291. package/dist/index.es235.js.map +1 -1
  292. package/dist/index.es236.js +284 -25
  293. package/dist/index.es236.js.map +1 -1
  294. package/dist/index.es237.js +22 -20
  295. package/dist/index.es237.js.map +1 -1
  296. package/dist/index.es238.js +22 -13
  297. package/dist/index.es238.js.map +1 -1
  298. package/dist/index.es239.js +12 -12
  299. package/dist/index.es239.js.map +1 -1
  300. package/dist/index.es24.js +58 -295
  301. package/dist/index.es24.js.map +1 -1
  302. package/dist/index.es240.js +13 -24
  303. package/dist/index.es240.js.map +1 -1
  304. package/dist/index.es241.js +22 -42
  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 +10 -10
  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 -14
  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 +11 -11
  317. package/dist/index.es247.js.map +1 -1
  318. package/dist/index.es248.js +10 -10
  319. package/dist/index.es248.js.map +1 -1
  320. package/dist/index.es249.js +11 -15
  321. package/dist/index.es249.js.map +1 -1
  322. package/dist/index.es25.js +298 -114
  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 +10 -10
  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 +10 -10
  337. package/dist/index.es256.js.map +1 -1
  338. package/dist/index.es257.js +10 -10
  339. package/dist/index.es257.js.map +1 -1
  340. package/dist/index.es258.js +11 -56
  341. package/dist/index.es258.js.map +1 -1
  342. package/dist/index.es259.js +53 -46
  343. package/dist/index.es259.js.map +1 -1
  344. package/dist/index.es26.js +121 -5
  345. package/dist/index.es26.js.map +1 -1
  346. package/dist/index.es260.js +42 -112
  347. package/dist/index.es260.js.map +1 -1
  348. package/dist/index.es261.js +87 -352
  349. package/dist/index.es261.js.map +1 -1
  350. package/dist/index.es262.js +381 -15
  351. package/dist/index.es262.js.map +1 -1
  352. package/dist/index.es263.js +17 -10
  353. package/dist/index.es263.js.map +1 -1
  354. package/dist/index.es264.js +10 -30
  355. package/dist/index.es264.js.map +1 -1
  356. package/dist/index.es265.js +17 -17
  357. package/dist/index.es265.js.map +1 -1
  358. package/dist/index.es266.js +25 -56
  359. package/dist/index.es266.js.map +1 -1
  360. package/dist/index.es267.js +59 -14
  361. package/dist/index.es267.js.map +1 -1
  362. package/dist/index.es268.js +14 -74
  363. package/dist/index.es268.js.map +1 -1
  364. package/dist/index.es269.js +77 -11
  365. package/dist/index.es269.js.map +1 -1
  366. package/dist/index.es270.js +10 -10
  367. package/dist/index.es270.js.map +1 -1
  368. package/dist/index.es271.js +11 -15
  369. package/dist/index.es271.js.map +1 -1
  370. package/dist/index.es272.js +14 -51
  371. package/dist/index.es272.js.map +1 -1
  372. package/dist/index.es273.js +44 -158
  373. package/dist/index.es273.js.map +1 -1
  374. package/dist/index.es274.js +167 -2
  375. package/dist/index.es274.js.map +1 -1
  376. package/dist/index.es275.js +37 -10
  377. package/dist/index.es275.js.map +1 -1
  378. package/dist/index.es276.js +2 -20
  379. package/dist/index.es276.js.map +1 -1
  380. package/dist/index.es277.js +10 -38
  381. package/dist/index.es277.js.map +1 -1
  382. package/dist/index.es278.js +23 -0
  383. package/dist/index.es278.js.map +1 -0
  384. package/dist/index.es279.js +42 -0
  385. package/dist/index.es279.js.map +1 -0
  386. package/dist/index.es28.js +7 -7
  387. package/dist/index.es29.js +1 -1
  388. package/dist/index.es32.js +4 -4
  389. package/dist/index.es33.js +117 -13
  390. package/dist/index.es33.js.map +1 -1
  391. package/dist/index.es34.js +65 -112
  392. package/dist/index.es34.js.map +1 -1
  393. package/dist/index.es35.js +18 -71
  394. package/dist/index.es35.js.map +1 -1
  395. package/dist/index.es36.js +260 -17
  396. package/dist/index.es36.js.map +1 -1
  397. package/dist/index.es37.js +31 -249
  398. package/dist/index.es37.js.map +1 -1
  399. package/dist/index.es38.js +199 -27
  400. package/dist/index.es38.js.map +1 -1
  401. package/dist/index.es39.js +50 -198
  402. package/dist/index.es39.js.map +1 -1
  403. package/dist/index.es40.js +120 -45
  404. package/dist/index.es40.js.map +1 -1
  405. package/dist/index.es41.js +14 -132
  406. package/dist/index.es41.js.map +1 -1
  407. package/dist/index.es42.js +225 -19
  408. package/dist/index.es42.js.map +1 -1
  409. package/dist/index.es43.js +8 -229
  410. package/dist/index.es43.js.map +1 -1
  411. package/dist/index.es44.js +1190 -7
  412. package/dist/index.es44.js.map +1 -1
  413. package/dist/index.es45.js +6 -1191
  414. package/dist/index.es45.js.map +1 -1
  415. package/dist/index.es46.js +146 -6
  416. package/dist/index.es46.js.map +1 -1
  417. package/dist/index.es47.js +15 -146
  418. package/dist/index.es47.js.map +1 -1
  419. package/dist/index.es49.js +5 -93
  420. package/dist/index.es49.js.map +1 -1
  421. package/dist/index.es50.js +8 -4
  422. package/dist/index.es50.js.map +1 -1
  423. package/dist/index.es51.js +91 -33
  424. package/dist/index.es51.js.map +1 -1
  425. package/dist/index.es52.js +3 -71
  426. package/dist/index.es52.js.map +1 -1
  427. package/dist/index.es53.js +34 -36
  428. package/dist/index.es53.js.map +1 -1
  429. package/dist/index.es54.js +61 -295
  430. package/dist/index.es54.js.map +1 -1
  431. package/dist/index.es55.js +38 -9
  432. package/dist/index.es55.js.map +1 -1
  433. package/dist/index.es56.js +296 -81
  434. package/dist/index.es56.js.map +1 -1
  435. package/dist/index.es57.js +9 -8
  436. package/dist/index.es57.js.map +1 -1
  437. package/dist/index.es58.js +89 -13
  438. package/dist/index.es58.js.map +1 -1
  439. package/dist/index.es59.js +6 -141
  440. package/dist/index.es59.js.map +1 -1
  441. package/dist/index.es60.js +12 -297
  442. package/dist/index.es60.js.map +1 -1
  443. package/dist/index.es61.js +137 -60
  444. package/dist/index.es61.js.map +1 -1
  445. package/dist/index.es62.js +247 -160
  446. package/dist/index.es62.js.map +1 -1
  447. package/dist/index.es63.js +63 -31
  448. package/dist/index.es63.js.map +1 -1
  449. package/dist/index.es64.js +212 -8
  450. package/dist/index.es64.js.map +1 -1
  451. package/dist/index.es65.js +32 -10
  452. package/dist/index.es65.js.map +1 -1
  453. package/dist/index.es66.js +8 -186
  454. package/dist/index.es66.js.map +1 -1
  455. package/dist/index.es67.js +11 -23
  456. package/dist/index.es67.js.map +1 -1
  457. package/dist/index.es68.js +183 -1396
  458. package/dist/index.es68.js.map +1 -1
  459. package/dist/index.es69.js +24 -9
  460. package/dist/index.es69.js.map +1 -1
  461. package/dist/index.es70.js +1400 -8
  462. package/dist/index.es70.js.map +1 -1
  463. package/dist/index.es71.js +9 -6
  464. package/dist/index.es71.js.map +1 -1
  465. package/dist/index.es72.js +8 -163
  466. package/dist/index.es72.js.map +1 -1
  467. package/dist/index.es73.js +6 -672
  468. package/dist/index.es73.js.map +1 -1
  469. package/dist/index.es74.js +161 -10
  470. package/dist/index.es74.js.map +1 -1
  471. package/dist/index.es75.js +671 -39
  472. package/dist/index.es75.js.map +1 -1
  473. package/dist/index.es76.js +10 -32
  474. package/dist/index.es76.js.map +1 -1
  475. package/dist/index.es77.js +31 -223
  476. package/dist/index.es77.js.map +1 -1
  477. package/dist/index.es78.js +33 -29
  478. package/dist/index.es78.js.map +1 -1
  479. package/dist/index.es79.js +193 -36
  480. package/dist/index.es79.js.map +1 -1
  481. package/dist/index.es80.js +26 -72
  482. package/dist/index.es80.js.map +1 -1
  483. package/dist/index.es81.js +70 -47
  484. package/dist/index.es81.js.map +1 -1
  485. package/dist/index.es82.js +72 -26
  486. package/dist/index.es82.js.map +1 -1
  487. package/dist/index.es83.js +37 -28
  488. package/dist/index.es83.js.map +1 -1
  489. package/dist/index.es84.js +28 -55
  490. package/dist/index.es84.js.map +1 -1
  491. package/dist/index.es85.js +43 -13
  492. package/dist/index.es85.js.map +1 -1
  493. package/dist/index.es86.js +32 -132
  494. package/dist/index.es86.js.map +1 -1
  495. package/dist/index.es87.js +5 -21
  496. package/dist/index.es87.js.map +1 -1
  497. package/dist/index.es88.js +61 -170
  498. package/dist/index.es88.js.map +1 -1
  499. package/dist/index.es89.js +31 -235
  500. package/dist/index.es89.js.map +1 -1
  501. package/dist/index.es90.js +50 -348
  502. package/dist/index.es90.js.map +1 -1
  503. package/dist/index.es91.js +13 -137
  504. package/dist/index.es91.js.map +1 -1
  505. package/dist/index.es92.js +132 -65
  506. package/dist/index.es92.js.map +1 -1
  507. package/dist/index.es93.js +21 -37
  508. package/dist/index.es93.js.map +1 -1
  509. package/dist/index.es94.js +179 -34
  510. package/dist/index.es94.js.map +1 -1
  511. package/dist/index.es95.js +230 -155
  512. package/dist/index.es95.js.map +1 -1
  513. package/dist/index.es96.js +341 -189
  514. package/dist/index.es96.js.map +1 -1
  515. package/dist/index.es97.js +136 -13
  516. package/dist/index.es97.js.map +1 -1
  517. package/dist/index.es98.js +68 -28
  518. package/dist/index.es98.js.map +1 -1
  519. package/dist/index.es99.js +33 -30
  520. package/dist/index.es99.js.map +1 -1
  521. package/dist/langgraph-ui-components.css +107 -0
  522. package/dist/styles.css +1 -1
  523. package/package.json +8 -11
  524. package/dist/index.es48.js +0 -11
  525. package/dist/index.es48.js.map +0 -1
@@ -1,206 +1,358 @@
1
- import { __export } from "./index.es48.js";
2
- import { isRunnableInterface } from "./index.es94.js";
3
- import { drawMermaid, drawMermaidImage } from "./index.es123.js";
4
- import { toJsonSchema } from "./index.es124.js";
5
- import { validate, v4 } from "uuid";
6
- var graph_exports = {};
7
- __export(graph_exports, { Graph: () => Graph });
8
- function nodeDataStr(id, data) {
9
- if (id !== void 0 && !validate(id)) return id;
10
- else if (isRunnableInterface(data)) try {
11
- let dataStr = data.getName();
12
- dataStr = dataStr.startsWith("Runnable") ? dataStr.slice(8) : dataStr;
13
- return dataStr;
14
- } catch {
15
- return data.getName();
16
- }
17
- else return data.name ?? "UnknownSchema";
1
+ import { AIMessageChunk } from "./index.es38.js";
2
+ import { BaseTracer } from "./index.es118.js";
3
+ import { IterableReadableStream } from "./index.es94.js";
4
+ import { GenerationChunk } from "./index.es119.js";
5
+ function assignName({ name, serialized }) {
6
+ if (name !== void 0) return name;
7
+ if (serialized?.name !== void 0) return serialized.name;
8
+ else if (serialized?.id !== void 0 && Array.isArray(serialized?.id)) return serialized.id[serialized.id.length - 1];
9
+ return "Unnamed";
18
10
  }
19
- function nodeDataJson(node) {
20
- if (isRunnableInterface(node.data)) return {
21
- type: "runnable",
22
- data: {
23
- id: node.data.lc_id,
24
- name: node.data.getName()
11
+ const isStreamEventsHandler = (handler) => handler.name === "event_stream_tracer";
12
+ var EventStreamCallbackHandler = class extends BaseTracer {
13
+ autoClose = true;
14
+ includeNames;
15
+ includeTypes;
16
+ includeTags;
17
+ excludeNames;
18
+ excludeTypes;
19
+ excludeTags;
20
+ runInfoMap = /* @__PURE__ */ new Map();
21
+ tappedPromises = /* @__PURE__ */ new Map();
22
+ transformStream;
23
+ writer;
24
+ receiveStream;
25
+ readableStreamClosed = false;
26
+ name = "event_stream_tracer";
27
+ lc_prefer_streaming = true;
28
+ constructor(fields) {
29
+ super({
30
+ _awaitHandler: true,
31
+ ...fields
32
+ });
33
+ this.autoClose = fields?.autoClose ?? true;
34
+ this.includeNames = fields?.includeNames;
35
+ this.includeTypes = fields?.includeTypes;
36
+ this.includeTags = fields?.includeTags;
37
+ this.excludeNames = fields?.excludeNames;
38
+ this.excludeTypes = fields?.excludeTypes;
39
+ this.excludeTags = fields?.excludeTags;
40
+ this.transformStream = new TransformStream({ flush: () => {
41
+ this.readableStreamClosed = true;
42
+ } });
43
+ this.writer = this.transformStream.writable.getWriter();
44
+ this.receiveStream = IterableReadableStream.fromReadableStream(this.transformStream.readable);
45
+ }
46
+ [Symbol.asyncIterator]() {
47
+ return this.receiveStream;
48
+ }
49
+ async persistRun(_run) {
50
+ }
51
+ _includeRun(run) {
52
+ const runTags = run.tags ?? [];
53
+ let include = this.includeNames === void 0 && this.includeTags === void 0 && this.includeTypes === void 0;
54
+ if (this.includeNames !== void 0) include = include || this.includeNames.includes(run.name);
55
+ if (this.includeTypes !== void 0) include = include || this.includeTypes.includes(run.runType);
56
+ if (this.includeTags !== void 0) include = include || runTags.find((tag) => this.includeTags?.includes(tag)) !== void 0;
57
+ if (this.excludeNames !== void 0) include = include && !this.excludeNames.includes(run.name);
58
+ if (this.excludeTypes !== void 0) include = include && !this.excludeTypes.includes(run.runType);
59
+ if (this.excludeTags !== void 0) include = include && runTags.every((tag) => !this.excludeTags?.includes(tag));
60
+ return include;
61
+ }
62
+ async *tapOutputIterable(runId, outputStream) {
63
+ const firstChunk = await outputStream.next();
64
+ if (firstChunk.done) return;
65
+ const runInfo = this.runInfoMap.get(runId);
66
+ if (runInfo === void 0) {
67
+ yield firstChunk.value;
68
+ return;
25
69
  }
26
- };
27
- else return {
28
- type: "schema",
29
- data: {
30
- ...toJsonSchema(node.data.schema),
31
- title: node.data.name
70
+ function _formatOutputChunk(eventType, data) {
71
+ if (eventType === "llm" && typeof data === "string") return new GenerationChunk({ text: data });
72
+ return data;
32
73
  }
33
- };
34
- }
35
- var Graph = class Graph2 {
36
- nodes = {};
37
- edges = [];
38
- constructor(params) {
39
- this.nodes = params?.nodes ?? this.nodes;
40
- this.edges = params?.edges ?? this.edges;
41
- }
42
- toJSON() {
43
- const stableNodeIds = {};
44
- Object.values(this.nodes).forEach((node, i) => {
45
- stableNodeIds[node.id] = validate(node.id) ? i : node.id;
46
- });
47
- return {
48
- nodes: Object.values(this.nodes).map((node) => ({
49
- id: stableNodeIds[node.id],
50
- ...nodeDataJson(node)
51
- })),
52
- edges: this.edges.map((edge) => {
53
- const item = {
54
- source: stableNodeIds[edge.source],
55
- target: stableNodeIds[edge.target]
74
+ let tappedPromise = this.tappedPromises.get(runId);
75
+ if (tappedPromise === void 0) {
76
+ let tappedPromiseResolver;
77
+ tappedPromise = new Promise((resolve) => {
78
+ tappedPromiseResolver = resolve;
79
+ });
80
+ this.tappedPromises.set(runId, tappedPromise);
81
+ try {
82
+ const event = {
83
+ event: `on_${runInfo.runType}_stream`,
84
+ run_id: runId,
85
+ name: runInfo.name,
86
+ tags: runInfo.tags,
87
+ metadata: runInfo.metadata,
88
+ data: {}
56
89
  };
57
- if (typeof edge.data !== "undefined") item.data = edge.data;
58
- if (typeof edge.conditional !== "undefined") item.conditional = edge.conditional;
59
- return item;
60
- })
90
+ await this.send({
91
+ ...event,
92
+ data: { chunk: _formatOutputChunk(runInfo.runType, firstChunk.value) }
93
+ }, runInfo);
94
+ yield firstChunk.value;
95
+ for await (const chunk of outputStream) {
96
+ if (runInfo.runType !== "tool" && runInfo.runType !== "retriever") await this.send({
97
+ ...event,
98
+ data: { chunk: _formatOutputChunk(runInfo.runType, chunk) }
99
+ }, runInfo);
100
+ yield chunk;
101
+ }
102
+ } finally {
103
+ tappedPromiseResolver?.();
104
+ }
105
+ } else {
106
+ yield firstChunk.value;
107
+ for await (const chunk of outputStream) yield chunk;
108
+ }
109
+ }
110
+ async send(payload, run) {
111
+ if (this.readableStreamClosed) return;
112
+ if (this._includeRun(run)) await this.writer.write(payload);
113
+ }
114
+ async sendEndEvent(payload, run) {
115
+ const tappedPromise = this.tappedPromises.get(payload.run_id);
116
+ if (tappedPromise !== void 0) tappedPromise.then(() => {
117
+ this.send(payload, run);
118
+ });
119
+ else await this.send(payload, run);
120
+ }
121
+ async onLLMStart(run) {
122
+ const runName = assignName(run);
123
+ const runType = run.inputs.messages !== void 0 ? "chat_model" : "llm";
124
+ const runInfo = {
125
+ tags: run.tags ?? [],
126
+ metadata: run.extra?.metadata ?? {},
127
+ name: runName,
128
+ runType,
129
+ inputs: run.inputs
61
130
  };
131
+ this.runInfoMap.set(run.id, runInfo);
132
+ const eventName = `on_${runType}_start`;
133
+ await this.send({
134
+ event: eventName,
135
+ data: { input: run.inputs },
136
+ name: runName,
137
+ tags: run.tags ?? [],
138
+ run_id: run.id,
139
+ metadata: run.extra?.metadata ?? {}
140
+ }, runInfo);
62
141
  }
63
- addNode(data, id, metadata) {
64
- if (id !== void 0 && this.nodes[id] !== void 0) throw new Error(`Node with id ${id} already exists`);
65
- const nodeId = id ?? v4();
66
- const node = {
67
- id: nodeId,
68
- data,
69
- name: nodeDataStr(id, data),
70
- metadata
142
+ async onLLMNewToken(run, token, kwargs) {
143
+ const runInfo = this.runInfoMap.get(run.id);
144
+ let chunk;
145
+ let eventName;
146
+ if (runInfo === void 0) throw new Error(`onLLMNewToken: Run ID ${run.id} not found in run map.`);
147
+ if (this.runInfoMap.size === 1) return;
148
+ if (runInfo.runType === "chat_model") {
149
+ eventName = "on_chat_model_stream";
150
+ if (kwargs?.chunk === void 0) chunk = new AIMessageChunk({
151
+ content: token,
152
+ id: `run-${run.id}`
153
+ });
154
+ else chunk = kwargs.chunk.message;
155
+ } else if (runInfo.runType === "llm") {
156
+ eventName = "on_llm_stream";
157
+ if (kwargs?.chunk === void 0) chunk = new GenerationChunk({ text: token });
158
+ else chunk = kwargs.chunk;
159
+ } else throw new Error(`Unexpected run type ${runInfo.runType}`);
160
+ await this.send({
161
+ event: eventName,
162
+ data: { chunk },
163
+ run_id: run.id,
164
+ name: runInfo.name,
165
+ tags: runInfo.tags,
166
+ metadata: runInfo.metadata
167
+ }, runInfo);
168
+ }
169
+ async onLLMEnd(run) {
170
+ const runInfo = this.runInfoMap.get(run.id);
171
+ this.runInfoMap.delete(run.id);
172
+ let eventName;
173
+ if (runInfo === void 0) throw new Error(`onLLMEnd: Run ID ${run.id} not found in run map.`);
174
+ const generations = run.outputs?.generations;
175
+ let output;
176
+ if (runInfo.runType === "chat_model") {
177
+ for (const generation of generations ?? []) {
178
+ if (output !== void 0) break;
179
+ output = generation[0]?.message;
180
+ }
181
+ eventName = "on_chat_model_end";
182
+ } else if (runInfo.runType === "llm") {
183
+ output = {
184
+ generations: generations?.map((generation) => {
185
+ return generation.map((chunk) => {
186
+ return {
187
+ text: chunk.text,
188
+ generationInfo: chunk.generationInfo
189
+ };
190
+ });
191
+ }),
192
+ llmOutput: run.outputs?.llmOutput ?? {}
193
+ };
194
+ eventName = "on_llm_end";
195
+ } else throw new Error(`onLLMEnd: Unexpected run type: ${runInfo.runType}`);
196
+ await this.sendEndEvent({
197
+ event: eventName,
198
+ data: {
199
+ output,
200
+ input: runInfo.inputs
201
+ },
202
+ run_id: run.id,
203
+ name: runInfo.name,
204
+ tags: runInfo.tags,
205
+ metadata: runInfo.metadata
206
+ }, runInfo);
207
+ }
208
+ async onChainStart(run) {
209
+ const runName = assignName(run);
210
+ const runType = run.run_type ?? "chain";
211
+ const runInfo = {
212
+ tags: run.tags ?? [],
213
+ metadata: run.extra?.metadata ?? {},
214
+ name: runName,
215
+ runType: run.run_type
71
216
  };
72
- this.nodes[nodeId] = node;
73
- return node;
74
- }
75
- removeNode(node) {
76
- delete this.nodes[node.id];
77
- this.edges = this.edges.filter((edge) => edge.source !== node.id && edge.target !== node.id);
78
- }
79
- addEdge(source, target, data, conditional) {
80
- if (this.nodes[source.id] === void 0) throw new Error(`Source node ${source.id} not in graph`);
81
- if (this.nodes[target.id] === void 0) throw new Error(`Target node ${target.id} not in graph`);
82
- const edge = {
83
- source: source.id,
84
- target: target.id,
85
- data,
86
- conditional
217
+ let eventData = {};
218
+ if (run.inputs.input === "" && Object.keys(run.inputs).length === 1) {
219
+ eventData = {};
220
+ runInfo.inputs = {};
221
+ } else if (run.inputs.input !== void 0) {
222
+ eventData.input = run.inputs.input;
223
+ runInfo.inputs = run.inputs.input;
224
+ } else {
225
+ eventData.input = run.inputs;
226
+ runInfo.inputs = run.inputs;
227
+ }
228
+ this.runInfoMap.set(run.id, runInfo);
229
+ await this.send({
230
+ event: `on_${runType}_start`,
231
+ data: eventData,
232
+ name: runName,
233
+ tags: run.tags ?? [],
234
+ run_id: run.id,
235
+ metadata: run.extra?.metadata ?? {}
236
+ }, runInfo);
237
+ }
238
+ async onChainEnd(run) {
239
+ const runInfo = this.runInfoMap.get(run.id);
240
+ this.runInfoMap.delete(run.id);
241
+ if (runInfo === void 0) throw new Error(`onChainEnd: Run ID ${run.id} not found in run map.`);
242
+ const eventName = `on_${run.run_type}_end`;
243
+ const inputs = run.inputs ?? runInfo.inputs ?? {};
244
+ const outputs = run.outputs?.output ?? run.outputs;
245
+ const data = {
246
+ output: outputs,
247
+ input: inputs
87
248
  };
88
- this.edges.push(edge);
89
- return edge;
90
- }
91
- firstNode() {
92
- return _firstNode(this);
93
- }
94
- lastNode() {
95
- return _lastNode(this);
96
- }
97
- /**
98
- * Add all nodes and edges from another graph.
99
- * Note this doesn't check for duplicates, nor does it connect the graphs.
100
- */
101
- extend(graph, prefix = "") {
102
- let finalPrefix = prefix;
103
- const nodeIds = Object.values(graph.nodes).map((node) => node.id);
104
- if (nodeIds.every(validate)) finalPrefix = "";
105
- const prefixed = (id) => {
106
- return finalPrefix ? `${finalPrefix}:${id}` : id;
249
+ if (inputs.input && Object.keys(inputs).length === 1) {
250
+ data.input = inputs.input;
251
+ runInfo.inputs = inputs.input;
252
+ }
253
+ await this.sendEndEvent({
254
+ event: eventName,
255
+ data,
256
+ run_id: run.id,
257
+ name: runInfo.name,
258
+ tags: runInfo.tags,
259
+ metadata: runInfo.metadata ?? {}
260
+ }, runInfo);
261
+ }
262
+ async onToolStart(run) {
263
+ const runName = assignName(run);
264
+ const runInfo = {
265
+ tags: run.tags ?? [],
266
+ metadata: run.extra?.metadata ?? {},
267
+ name: runName,
268
+ runType: "tool",
269
+ inputs: run.inputs ?? {}
107
270
  };
108
- Object.entries(graph.nodes).forEach(([key, value]) => {
109
- this.nodes[prefixed(key)] = {
110
- ...value,
111
- id: prefixed(key)
112
- };
113
- });
114
- const newEdges = graph.edges.map((edge) => {
115
- return {
116
- ...edge,
117
- source: prefixed(edge.source),
118
- target: prefixed(edge.target)
119
- };
120
- });
121
- this.edges = [...this.edges, ...newEdges];
122
- const first = graph.firstNode();
123
- const last = graph.lastNode();
124
- return [first ? {
125
- id: prefixed(first.id),
126
- data: first.data
127
- } : void 0, last ? {
128
- id: prefixed(last.id),
129
- data: last.data
130
- } : void 0];
131
- }
132
- trimFirstNode() {
133
- const firstNode = this.firstNode();
134
- if (firstNode && _firstNode(this, [firstNode.id])) this.removeNode(firstNode);
135
- }
136
- trimLastNode() {
137
- const lastNode = this.lastNode();
138
- if (lastNode && _lastNode(this, [lastNode.id])) this.removeNode(lastNode);
139
- }
140
- /**
141
- * Return a new graph with all nodes re-identified,
142
- * using their unique, readable names where possible.
143
- */
144
- reid() {
145
- const nodeLabels = Object.fromEntries(Object.values(this.nodes).map((node) => [node.id, node.name]));
146
- const nodeLabelCounts = /* @__PURE__ */ new Map();
147
- Object.values(nodeLabels).forEach((label) => {
148
- nodeLabelCounts.set(label, (nodeLabelCounts.get(label) || 0) + 1);
149
- });
150
- const getNodeId = (nodeId) => {
151
- const label = nodeLabels[nodeId];
152
- if (validate(nodeId) && nodeLabelCounts.get(label) === 1) return label;
153
- else return nodeId;
271
+ this.runInfoMap.set(run.id, runInfo);
272
+ await this.send({
273
+ event: "on_tool_start",
274
+ data: { input: run.inputs ?? {} },
275
+ name: runName,
276
+ run_id: run.id,
277
+ tags: run.tags ?? [],
278
+ metadata: run.extra?.metadata ?? {}
279
+ }, runInfo);
280
+ }
281
+ async onToolEnd(run) {
282
+ const runInfo = this.runInfoMap.get(run.id);
283
+ this.runInfoMap.delete(run.id);
284
+ if (runInfo === void 0) throw new Error(`onToolEnd: Run ID ${run.id} not found in run map.`);
285
+ if (runInfo.inputs === void 0) throw new Error(`onToolEnd: Run ID ${run.id} is a tool call, and is expected to have traced inputs.`);
286
+ const output = run.outputs?.output === void 0 ? run.outputs : run.outputs.output;
287
+ await this.sendEndEvent({
288
+ event: "on_tool_end",
289
+ data: {
290
+ output,
291
+ input: runInfo.inputs
292
+ },
293
+ run_id: run.id,
294
+ name: runInfo.name,
295
+ tags: runInfo.tags,
296
+ metadata: runInfo.metadata
297
+ }, runInfo);
298
+ }
299
+ async onRetrieverStart(run) {
300
+ const runName = assignName(run);
301
+ const runType = "retriever";
302
+ const runInfo = {
303
+ tags: run.tags ?? [],
304
+ metadata: run.extra?.metadata ?? {},
305
+ name: runName,
306
+ runType,
307
+ inputs: { query: run.inputs.query }
154
308
  };
155
- return new Graph2({
156
- nodes: Object.fromEntries(Object.entries(this.nodes).map(([id, node]) => [getNodeId(id), {
157
- ...node,
158
- id: getNodeId(id)
159
- }])),
160
- edges: this.edges.map((edge) => ({
161
- ...edge,
162
- source: getNodeId(edge.source),
163
- target: getNodeId(edge.target)
164
- }))
165
- });
309
+ this.runInfoMap.set(run.id, runInfo);
310
+ await this.send({
311
+ event: "on_retriever_start",
312
+ data: { input: { query: run.inputs.query } },
313
+ name: runName,
314
+ tags: run.tags ?? [],
315
+ run_id: run.id,
316
+ metadata: run.extra?.metadata ?? {}
317
+ }, runInfo);
166
318
  }
167
- drawMermaid(params) {
168
- const { withStyles, curveStyle, nodeColors = {
169
- default: "fill:#f2f0ff,line-height:1.2",
170
- first: "fill-opacity:0",
171
- last: "fill:#bfb6fc"
172
- }, wrapLabelNWords } = params ?? {};
173
- const graph = this.reid();
174
- const firstNode = graph.firstNode();
175
- const lastNode = graph.lastNode();
176
- return drawMermaid(graph.nodes, graph.edges, {
177
- firstNode: firstNode?.id,
178
- lastNode: lastNode?.id,
179
- withStyles,
180
- curveStyle,
181
- nodeColors,
182
- wrapLabelNWords
183
- });
319
+ async onRetrieverEnd(run) {
320
+ const runInfo = this.runInfoMap.get(run.id);
321
+ this.runInfoMap.delete(run.id);
322
+ if (runInfo === void 0) throw new Error(`onRetrieverEnd: Run ID ${run.id} not found in run map.`);
323
+ await this.sendEndEvent({
324
+ event: "on_retriever_end",
325
+ data: {
326
+ output: run.outputs?.documents ?? run.outputs,
327
+ input: runInfo.inputs
328
+ },
329
+ run_id: run.id,
330
+ name: runInfo.name,
331
+ tags: runInfo.tags,
332
+ metadata: runInfo.metadata
333
+ }, runInfo);
184
334
  }
185
- async drawMermaidPng(params) {
186
- const mermaidSyntax = this.drawMermaid(params);
187
- return drawMermaidImage(mermaidSyntax, { backgroundColor: params?.backgroundColor });
335
+ async handleCustomEvent(eventName, data, runId) {
336
+ const runInfo = this.runInfoMap.get(runId);
337
+ if (runInfo === void 0) throw new Error(`handleCustomEvent: Run ID ${runId} not found in run map.`);
338
+ await this.send({
339
+ event: "on_custom_event",
340
+ run_id: runId,
341
+ name: eventName,
342
+ tags: runInfo.tags,
343
+ metadata: runInfo.metadata,
344
+ data
345
+ }, runInfo);
346
+ }
347
+ async finish() {
348
+ const pendingPromises = [...this.tappedPromises.values()];
349
+ Promise.all(pendingPromises).finally(() => {
350
+ this.writer.close();
351
+ });
188
352
  }
189
353
  };
190
- function _firstNode(graph, exclude = []) {
191
- const targets = new Set(graph.edges.filter((edge) => !exclude.includes(edge.source)).map((edge) => edge.target));
192
- const found = [];
193
- for (const node of Object.values(graph.nodes)) if (!exclude.includes(node.id) && !targets.has(node.id)) found.push(node);
194
- return found.length === 1 ? found[0] : void 0;
195
- }
196
- function _lastNode(graph, exclude = []) {
197
- const sources = new Set(graph.edges.filter((edge) => !exclude.includes(edge.target)).map((edge) => edge.source));
198
- const found = [];
199
- for (const node of Object.values(graph.nodes)) if (!exclude.includes(node.id) && !sources.has(node.id)) found.push(node);
200
- return found.length === 1 ? found[0] : void 0;
201
- }
202
354
  export {
203
- Graph,
204
- graph_exports
355
+ EventStreamCallbackHandler,
356
+ isStreamEventsHandler
205
357
  };
206
358
  //# sourceMappingURL=index.es96.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es96.js","sources":["../node_modules/.pnpm/@langchain+core@1.1.13_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/runnables/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.es96.js","sources":["../node_modules/.pnpm/@langchain+core@1.1.13_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/tracers/event_stream.js"],"sourcesContent":["import { AIMessageChunk } from \"../messages/ai.js\";\nimport { BaseTracer } from \"./base.js\";\nimport { IterableReadableStream } from \"../utils/stream.js\";\nimport { GenerationChunk } from \"../outputs.js\";\n\n//#region src/tracers/event_stream.ts\nfunction assignName({ name, serialized }) {\n\tif (name !== void 0) return name;\n\tif (serialized?.name !== void 0) return serialized.name;\n\telse if (serialized?.id !== void 0 && Array.isArray(serialized?.id)) return serialized.id[serialized.id.length - 1];\n\treturn \"Unnamed\";\n}\nconst isStreamEventsHandler = (handler) => handler.name === \"event_stream_tracer\";\n/**\n* Class that extends the `BaseTracer` class from the\n* `langchain.callbacks.tracers.base` module. It represents a callback\n* handler that logs the execution of runs and emits `RunLog` instances to a\n* `RunLogStream`.\n*/\nvar EventStreamCallbackHandler = class extends BaseTracer {\n\tautoClose = true;\n\tincludeNames;\n\tincludeTypes;\n\tincludeTags;\n\texcludeNames;\n\texcludeTypes;\n\texcludeTags;\n\trunInfoMap = /* @__PURE__ */ new Map();\n\ttappedPromises = /* @__PURE__ */ new Map();\n\ttransformStream;\n\twriter;\n\treceiveStream;\n\treadableStreamClosed = false;\n\tname = \"event_stream_tracer\";\n\tlc_prefer_streaming = true;\n\tconstructor(fields) {\n\t\tsuper({\n\t\t\t_awaitHandler: true,\n\t\t\t...fields\n\t\t});\n\t\tthis.autoClose = fields?.autoClose ?? true;\n\t\tthis.includeNames = fields?.includeNames;\n\t\tthis.includeTypes = fields?.includeTypes;\n\t\tthis.includeTags = fields?.includeTags;\n\t\tthis.excludeNames = fields?.excludeNames;\n\t\tthis.excludeTypes = fields?.excludeTypes;\n\t\tthis.excludeTags = fields?.excludeTags;\n\t\tthis.transformStream = new TransformStream({ flush: () => {\n\t\t\tthis.readableStreamClosed = true;\n\t\t} });\n\t\tthis.writer = this.transformStream.writable.getWriter();\n\t\tthis.receiveStream = IterableReadableStream.fromReadableStream(this.transformStream.readable);\n\t}\n\t[Symbol.asyncIterator]() {\n\t\treturn this.receiveStream;\n\t}\n\tasync persistRun(_run) {}\n\t_includeRun(run) {\n\t\tconst runTags = run.tags ?? [];\n\t\tlet include = this.includeNames === void 0 && this.includeTags === void 0 && this.includeTypes === void 0;\n\t\tif (this.includeNames !== void 0) include = include || this.includeNames.includes(run.name);\n\t\tif (this.includeTypes !== void 0) include = include || this.includeTypes.includes(run.runType);\n\t\tif (this.includeTags !== void 0) include = include || runTags.find((tag) => this.includeTags?.includes(tag)) !== void 0;\n\t\tif (this.excludeNames !== void 0) include = include && !this.excludeNames.includes(run.name);\n\t\tif (this.excludeTypes !== void 0) include = include && !this.excludeTypes.includes(run.runType);\n\t\tif (this.excludeTags !== void 0) include = include && runTags.every((tag) => !this.excludeTags?.includes(tag));\n\t\treturn include;\n\t}\n\tasync *tapOutputIterable(runId, outputStream) {\n\t\tconst firstChunk = await outputStream.next();\n\t\tif (firstChunk.done) return;\n\t\tconst runInfo = this.runInfoMap.get(runId);\n\t\tif (runInfo === void 0) {\n\t\t\tyield firstChunk.value;\n\t\t\treturn;\n\t\t}\n\t\tfunction _formatOutputChunk(eventType, data) {\n\t\t\tif (eventType === \"llm\" && typeof data === \"string\") return new GenerationChunk({ text: data });\n\t\t\treturn data;\n\t\t}\n\t\tlet tappedPromise = this.tappedPromises.get(runId);\n\t\tif (tappedPromise === void 0) {\n\t\t\tlet tappedPromiseResolver;\n\t\t\ttappedPromise = new Promise((resolve) => {\n\t\t\t\ttappedPromiseResolver = resolve;\n\t\t\t});\n\t\t\tthis.tappedPromises.set(runId, tappedPromise);\n\t\t\ttry {\n\t\t\t\tconst event = {\n\t\t\t\t\tevent: `on_${runInfo.runType}_stream`,\n\t\t\t\t\trun_id: runId,\n\t\t\t\t\tname: runInfo.name,\n\t\t\t\t\ttags: runInfo.tags,\n\t\t\t\t\tmetadata: runInfo.metadata,\n\t\t\t\t\tdata: {}\n\t\t\t\t};\n\t\t\t\tawait this.send({\n\t\t\t\t\t...event,\n\t\t\t\t\tdata: { chunk: _formatOutputChunk(runInfo.runType, firstChunk.value) }\n\t\t\t\t}, runInfo);\n\t\t\t\tyield firstChunk.value;\n\t\t\t\tfor await (const chunk of outputStream) {\n\t\t\t\t\tif (runInfo.runType !== \"tool\" && runInfo.runType !== \"retriever\") await this.send({\n\t\t\t\t\t\t...event,\n\t\t\t\t\t\tdata: { chunk: _formatOutputChunk(runInfo.runType, chunk) }\n\t\t\t\t\t}, runInfo);\n\t\t\t\t\tyield chunk;\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\ttappedPromiseResolver?.();\n\t\t\t}\n\t\t} else {\n\t\t\tyield firstChunk.value;\n\t\t\tfor await (const chunk of outputStream) yield chunk;\n\t\t}\n\t}\n\tasync send(payload, run) {\n\t\tif (this.readableStreamClosed) return;\n\t\tif (this._includeRun(run)) await this.writer.write(payload);\n\t}\n\tasync sendEndEvent(payload, run) {\n\t\tconst tappedPromise = this.tappedPromises.get(payload.run_id);\n\t\tif (tappedPromise !== void 0) tappedPromise.then(() => {\n\t\t\tthis.send(payload, run);\n\t\t});\n\t\telse await this.send(payload, run);\n\t}\n\tasync onLLMStart(run) {\n\t\tconst runName = assignName(run);\n\t\tconst runType = run.inputs.messages !== void 0 ? \"chat_model\" : \"llm\";\n\t\tconst runInfo = {\n\t\t\ttags: run.tags ?? [],\n\t\t\tmetadata: run.extra?.metadata ?? {},\n\t\t\tname: runName,\n\t\t\trunType,\n\t\t\tinputs: run.inputs\n\t\t};\n\t\tthis.runInfoMap.set(run.id, runInfo);\n\t\tconst eventName = `on_${runType}_start`;\n\t\tawait this.send({\n\t\t\tevent: eventName,\n\t\t\tdata: { input: run.inputs },\n\t\t\tname: runName,\n\t\t\ttags: run.tags ?? [],\n\t\t\trun_id: run.id,\n\t\t\tmetadata: run.extra?.metadata ?? {}\n\t\t}, runInfo);\n\t}\n\tasync onLLMNewToken(run, token, kwargs) {\n\t\tconst runInfo = this.runInfoMap.get(run.id);\n\t\tlet chunk;\n\t\tlet eventName;\n\t\tif (runInfo === void 0) throw new Error(`onLLMNewToken: Run ID ${run.id} not found in run map.`);\n\t\tif (this.runInfoMap.size === 1) return;\n\t\tif (runInfo.runType === \"chat_model\") {\n\t\t\teventName = \"on_chat_model_stream\";\n\t\t\tif (kwargs?.chunk === void 0) chunk = new AIMessageChunk({\n\t\t\t\tcontent: token,\n\t\t\t\tid: `run-${run.id}`\n\t\t\t});\n\t\t\telse chunk = kwargs.chunk.message;\n\t\t} else if (runInfo.runType === \"llm\") {\n\t\t\teventName = \"on_llm_stream\";\n\t\t\tif (kwargs?.chunk === void 0) chunk = new GenerationChunk({ text: token });\n\t\t\telse chunk = kwargs.chunk;\n\t\t} else throw new Error(`Unexpected run type ${runInfo.runType}`);\n\t\tawait this.send({\n\t\t\tevent: eventName,\n\t\t\tdata: { chunk },\n\t\t\trun_id: run.id,\n\t\t\tname: runInfo.name,\n\t\t\ttags: runInfo.tags,\n\t\t\tmetadata: runInfo.metadata\n\t\t}, runInfo);\n\t}\n\tasync onLLMEnd(run) {\n\t\tconst runInfo = this.runInfoMap.get(run.id);\n\t\tthis.runInfoMap.delete(run.id);\n\t\tlet eventName;\n\t\tif (runInfo === void 0) throw new Error(`onLLMEnd: Run ID ${run.id} not found in run map.`);\n\t\tconst generations = run.outputs?.generations;\n\t\tlet output;\n\t\tif (runInfo.runType === \"chat_model\") {\n\t\t\tfor (const generation of generations ?? []) {\n\t\t\t\tif (output !== void 0) break;\n\t\t\t\toutput = generation[0]?.message;\n\t\t\t}\n\t\t\teventName = \"on_chat_model_end\";\n\t\t} else if (runInfo.runType === \"llm\") {\n\t\t\toutput = {\n\t\t\t\tgenerations: generations?.map((generation) => {\n\t\t\t\t\treturn generation.map((chunk) => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttext: chunk.text,\n\t\t\t\t\t\t\tgenerationInfo: chunk.generationInfo\n\t\t\t\t\t\t};\n\t\t\t\t\t});\n\t\t\t\t}),\n\t\t\t\tllmOutput: run.outputs?.llmOutput ?? {}\n\t\t\t};\n\t\t\teventName = \"on_llm_end\";\n\t\t} else throw new Error(`onLLMEnd: Unexpected run type: ${runInfo.runType}`);\n\t\tawait this.sendEndEvent({\n\t\t\tevent: eventName,\n\t\t\tdata: {\n\t\t\t\toutput,\n\t\t\t\tinput: runInfo.inputs\n\t\t\t},\n\t\t\trun_id: run.id,\n\t\t\tname: runInfo.name,\n\t\t\ttags: runInfo.tags,\n\t\t\tmetadata: runInfo.metadata\n\t\t}, runInfo);\n\t}\n\tasync onChainStart(run) {\n\t\tconst runName = assignName(run);\n\t\tconst runType = run.run_type ?? \"chain\";\n\t\tconst runInfo = {\n\t\t\ttags: run.tags ?? [],\n\t\t\tmetadata: run.extra?.metadata ?? {},\n\t\t\tname: runName,\n\t\t\trunType: run.run_type\n\t\t};\n\t\tlet eventData = {};\n\t\tif (run.inputs.input === \"\" && Object.keys(run.inputs).length === 1) {\n\t\t\teventData = {};\n\t\t\trunInfo.inputs = {};\n\t\t} else if (run.inputs.input !== void 0) {\n\t\t\teventData.input = run.inputs.input;\n\t\t\trunInfo.inputs = run.inputs.input;\n\t\t} else {\n\t\t\teventData.input = run.inputs;\n\t\t\trunInfo.inputs = run.inputs;\n\t\t}\n\t\tthis.runInfoMap.set(run.id, runInfo);\n\t\tawait this.send({\n\t\t\tevent: `on_${runType}_start`,\n\t\t\tdata: eventData,\n\t\t\tname: runName,\n\t\t\ttags: run.tags ?? [],\n\t\t\trun_id: run.id,\n\t\t\tmetadata: run.extra?.metadata ?? {}\n\t\t}, runInfo);\n\t}\n\tasync onChainEnd(run) {\n\t\tconst runInfo = this.runInfoMap.get(run.id);\n\t\tthis.runInfoMap.delete(run.id);\n\t\tif (runInfo === void 0) throw new Error(`onChainEnd: Run ID ${run.id} not found in run map.`);\n\t\tconst eventName = `on_${run.run_type}_end`;\n\t\tconst inputs = run.inputs ?? runInfo.inputs ?? {};\n\t\tconst outputs = run.outputs?.output ?? run.outputs;\n\t\tconst data = {\n\t\t\toutput: outputs,\n\t\t\tinput: inputs\n\t\t};\n\t\tif (inputs.input && Object.keys(inputs).length === 1) {\n\t\t\tdata.input = inputs.input;\n\t\t\trunInfo.inputs = inputs.input;\n\t\t}\n\t\tawait this.sendEndEvent({\n\t\t\tevent: eventName,\n\t\t\tdata,\n\t\t\trun_id: run.id,\n\t\t\tname: runInfo.name,\n\t\t\ttags: runInfo.tags,\n\t\t\tmetadata: runInfo.metadata ?? {}\n\t\t}, runInfo);\n\t}\n\tasync onToolStart(run) {\n\t\tconst runName = assignName(run);\n\t\tconst runInfo = {\n\t\t\ttags: run.tags ?? [],\n\t\t\tmetadata: run.extra?.metadata ?? {},\n\t\t\tname: runName,\n\t\t\trunType: \"tool\",\n\t\t\tinputs: run.inputs ?? {}\n\t\t};\n\t\tthis.runInfoMap.set(run.id, runInfo);\n\t\tawait this.send({\n\t\t\tevent: \"on_tool_start\",\n\t\t\tdata: { input: run.inputs ?? {} },\n\t\t\tname: runName,\n\t\t\trun_id: run.id,\n\t\t\ttags: run.tags ?? [],\n\t\t\tmetadata: run.extra?.metadata ?? {}\n\t\t}, runInfo);\n\t}\n\tasync onToolEnd(run) {\n\t\tconst runInfo = this.runInfoMap.get(run.id);\n\t\tthis.runInfoMap.delete(run.id);\n\t\tif (runInfo === void 0) throw new Error(`onToolEnd: Run ID ${run.id} not found in run map.`);\n\t\tif (runInfo.inputs === void 0) throw new Error(`onToolEnd: Run ID ${run.id} is a tool call, and is expected to have traced inputs.`);\n\t\tconst output = run.outputs?.output === void 0 ? run.outputs : run.outputs.output;\n\t\tawait this.sendEndEvent({\n\t\t\tevent: \"on_tool_end\",\n\t\t\tdata: {\n\t\t\t\toutput,\n\t\t\t\tinput: runInfo.inputs\n\t\t\t},\n\t\t\trun_id: run.id,\n\t\t\tname: runInfo.name,\n\t\t\ttags: runInfo.tags,\n\t\t\tmetadata: runInfo.metadata\n\t\t}, runInfo);\n\t}\n\tasync onRetrieverStart(run) {\n\t\tconst runName = assignName(run);\n\t\tconst runType = \"retriever\";\n\t\tconst runInfo = {\n\t\t\ttags: run.tags ?? [],\n\t\t\tmetadata: run.extra?.metadata ?? {},\n\t\t\tname: runName,\n\t\t\trunType,\n\t\t\tinputs: { query: run.inputs.query }\n\t\t};\n\t\tthis.runInfoMap.set(run.id, runInfo);\n\t\tawait this.send({\n\t\t\tevent: \"on_retriever_start\",\n\t\t\tdata: { input: { query: run.inputs.query } },\n\t\t\tname: runName,\n\t\t\ttags: run.tags ?? [],\n\t\t\trun_id: run.id,\n\t\t\tmetadata: run.extra?.metadata ?? {}\n\t\t}, runInfo);\n\t}\n\tasync onRetrieverEnd(run) {\n\t\tconst runInfo = this.runInfoMap.get(run.id);\n\t\tthis.runInfoMap.delete(run.id);\n\t\tif (runInfo === void 0) throw new Error(`onRetrieverEnd: Run ID ${run.id} not found in run map.`);\n\t\tawait this.sendEndEvent({\n\t\t\tevent: \"on_retriever_end\",\n\t\t\tdata: {\n\t\t\t\toutput: run.outputs?.documents ?? run.outputs,\n\t\t\t\tinput: runInfo.inputs\n\t\t\t},\n\t\t\trun_id: run.id,\n\t\t\tname: runInfo.name,\n\t\t\ttags: runInfo.tags,\n\t\t\tmetadata: runInfo.metadata\n\t\t}, runInfo);\n\t}\n\tasync handleCustomEvent(eventName, data, runId) {\n\t\tconst runInfo = this.runInfoMap.get(runId);\n\t\tif (runInfo === void 0) throw new Error(`handleCustomEvent: Run ID ${runId} not found in run map.`);\n\t\tawait this.send({\n\t\t\tevent: \"on_custom_event\",\n\t\t\trun_id: runId,\n\t\t\tname: eventName,\n\t\t\ttags: runInfo.tags,\n\t\t\tmetadata: runInfo.metadata,\n\t\t\tdata\n\t\t}, runInfo);\n\t}\n\tasync finish() {\n\t\tconst pendingPromises = [...this.tappedPromises.values()];\n\t\tPromise.all(pendingPromises).finally(() => {\n\t\t\tthis.writer.close();\n\t\t});\n\t}\n};\n\n//#endregion\nexport { EventStreamCallbackHandler, isStreamEventsHandler };\n//# sourceMappingURL=event_stream.js.map"],"names":[],"mappings":"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","x_google_ignoreList":[0]}