langgraph-ui-components 0.0.4 → 0.0.7

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 (520) 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 +143 -3134
  4. package/dist/index.es100.js.map +1 -1
  5. package/dist/index.es101.js +202 -36
  6. package/dist/index.es101.js.map +1 -1
  7. package/dist/index.es102.js +14 -5
  8. package/dist/index.es102.js.map +1 -1
  9. package/dist/index.es103.js +27 -70
  10. package/dist/index.es103.js.map +1 -1
  11. package/dist/index.es104.js +28 -31
  12. package/dist/index.es104.js.map +1 -1
  13. package/dist/index.es105.js +3157 -5
  14. package/dist/index.es105.js.map +1 -1
  15. package/dist/index.es106.js +18 -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 +11 -5
  22. package/dist/index.es109.js.map +1 -1
  23. package/dist/index.es11.js +166 -123
  24. package/dist/index.es11.js.map +1 -1
  25. package/dist/index.es110.js +503 -2
  26. package/dist/index.es110.js.map +1 -1
  27. package/dist/index.es111.js +5 -146
  28. package/dist/index.es111.js.map +1 -1
  29. package/dist/index.es112.js +2 -908
  30. package/dist/index.es112.js.map +1 -1
  31. package/dist/index.es113.js +128 -262
  32. package/dist/index.es113.js.map +1 -1
  33. package/dist/index.es114.js +907 -3
  34. package/dist/index.es114.js.map +1 -1
  35. package/dist/index.es115.js +262 -426
  36. package/dist/index.es115.js.map +1 -1
  37. package/dist/index.es116.js +3 -47
  38. package/dist/index.es116.js.map +1 -1
  39. package/dist/index.es117.js +443 -21
  40. package/dist/index.es117.js.map +1 -1
  41. package/dist/index.es118.js +42 -75
  42. package/dist/index.es118.js.map +1 -1
  43. package/dist/index.es119.js +22 -129
  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 +74 -44
  48. package/dist/index.es120.js.map +1 -1
  49. package/dist/index.es121.js +129 -10
  50. package/dist/index.es121.js.map +1 -1
  51. package/dist/index.es122.js +47 -43
  52. package/dist/index.es122.js.map +1 -1
  53. package/dist/index.es123.js +9 -98
  54. package/dist/index.es123.js.map +1 -1
  55. package/dist/index.es124.js +43 -51
  56. package/dist/index.es124.js.map +1 -1
  57. package/dist/index.es125.js +96 -13
  58. package/dist/index.es125.js.map +1 -1
  59. package/dist/index.es126.js +52 -14
  60. package/dist/index.es126.js.map +1 -1
  61. package/dist/index.es127.js +156 -81
  62. package/dist/index.es127.js.map +1 -1
  63. package/dist/index.es128.js +2 -2
  64. package/dist/index.es129.js +14 -55
  65. package/dist/index.es129.js.map +1 -1
  66. package/dist/index.es13.js +126 -32
  67. package/dist/index.es13.js.map +1 -1
  68. package/dist/index.es130.js +87 -98
  69. package/dist/index.es130.js.map +1 -1
  70. package/dist/index.es131.js +2 -191
  71. package/dist/index.es131.js.map +1 -1
  72. package/dist/index.es132.js +54 -108
  73. package/dist/index.es132.js.map +1 -1
  74. package/dist/index.es133.js +98 -33
  75. package/dist/index.es133.js.map +1 -1
  76. package/dist/index.es134.js +191 -10
  77. package/dist/index.es134.js.map +1 -1
  78. package/dist/index.es135.js +109 -10
  79. package/dist/index.es135.js.map +1 -1
  80. package/dist/index.es136.js +35 -12
  81. package/dist/index.es136.js.map +1 -1
  82. package/dist/index.es137.js +10 -91
  83. package/dist/index.es137.js.map +1 -1
  84. package/dist/index.es138.js +11 -275
  85. package/dist/index.es138.js.map +1 -1
  86. package/dist/index.es139.js +12 -2
  87. package/dist/index.es139.js.map +1 -1
  88. package/dist/index.es140.js +88 -161
  89. package/dist/index.es140.js.map +1 -1
  90. package/dist/index.es141.js +270 -46
  91. package/dist/index.es141.js.map +1 -1
  92. package/dist/index.es142.js +2 -40
  93. package/dist/index.es142.js.map +1 -1
  94. package/dist/index.es143.js +164 -35
  95. package/dist/index.es143.js.map +1 -1
  96. package/dist/index.es144.js +45 -34
  97. package/dist/index.es144.js.map +1 -1
  98. package/dist/index.es145.js +37 -21
  99. package/dist/index.es145.js.map +1 -1
  100. package/dist/index.es146.js +32 -588
  101. package/dist/index.es146.js.map +1 -1
  102. package/dist/index.es147.js +32 -117
  103. package/dist/index.es147.js.map +1 -1
  104. package/dist/index.es148.js +22 -162
  105. package/dist/index.es148.js.map +1 -1
  106. package/dist/index.es149.js +591 -2
  107. package/dist/index.es149.js.map +1 -1
  108. package/dist/index.es15.js +15 -15
  109. package/dist/index.es150.js +125 -2
  110. package/dist/index.es150.js.map +1 -1
  111. package/dist/index.es151.js +2 -2
  112. package/dist/index.es152.js +2 -22
  113. package/dist/index.es152.js.map +1 -1
  114. package/dist/index.es153.js +22 -2
  115. package/dist/index.es153.js.map +1 -1
  116. package/dist/index.es154.js +2 -25
  117. package/dist/index.es154.js.map +1 -1
  118. package/dist/index.es155.js +25 -8
  119. package/dist/index.es155.js.map +1 -1
  120. package/dist/index.es156.js +4 -5
  121. package/dist/index.es156.js.map +1 -1
  122. package/dist/index.es157.js +7 -12
  123. package/dist/index.es157.js.map +1 -1
  124. package/dist/index.es158.js +5 -6
  125. package/dist/index.es158.js.map +1 -1
  126. package/dist/index.es159.js +12 -63
  127. package/dist/index.es159.js.map +1 -1
  128. package/dist/index.es160.js +5 -21
  129. package/dist/index.es160.js.map +1 -1
  130. package/dist/index.es161.js +24 -5
  131. package/dist/index.es161.js.map +1 -1
  132. package/dist/index.es162.js +11 -348
  133. package/dist/index.es162.js.map +1 -1
  134. package/dist/index.es163.js +52 -23
  135. package/dist/index.es163.js.map +1 -1
  136. package/dist/index.es164.js +63 -11
  137. package/dist/index.es164.js.map +1 -1
  138. package/dist/index.es165.js +21 -53
  139. package/dist/index.es165.js.map +1 -1
  140. package/dist/index.es166.js +6 -7
  141. package/dist/index.es166.js.map +1 -1
  142. package/dist/index.es167.js +342 -96
  143. package/dist/index.es167.js.map +1 -1
  144. package/dist/index.es168.js +6 -118
  145. package/dist/index.es168.js.map +1 -1
  146. package/dist/index.es169.js +98 -131
  147. package/dist/index.es169.js.map +1 -1
  148. package/dist/index.es17.js +2 -2
  149. package/dist/index.es170.js +108 -104
  150. package/dist/index.es170.js.map +1 -1
  151. package/dist/index.es171.js +136 -6
  152. package/dist/index.es171.js.map +1 -1
  153. package/dist/index.es172.js +114 -3
  154. package/dist/index.es172.js.map +1 -1
  155. package/dist/index.es173.js +6 -2
  156. package/dist/index.es173.js.map +1 -1
  157. package/dist/index.es174.js +2 -3737
  158. package/dist/index.es174.js.map +1 -1
  159. package/dist/index.es175.js +3682 -287
  160. package/dist/index.es175.js.map +1 -1
  161. package/dist/index.es176.js +321 -88
  162. package/dist/index.es176.js.map +1 -1
  163. package/dist/index.es177.js +95 -119
  164. package/dist/index.es177.js.map +1 -1
  165. package/dist/index.es178.js +131 -13
  166. package/dist/index.es178.js.map +1 -1
  167. package/dist/index.es179.js +13 -150
  168. package/dist/index.es179.js.map +1 -1
  169. package/dist/index.es180.js +150 -13
  170. package/dist/index.es180.js.map +1 -1
  171. package/dist/index.es181.js +13 -6
  172. package/dist/index.es181.js.map +1 -1
  173. package/dist/index.es182.js +6 -19
  174. package/dist/index.es182.js.map +1 -1
  175. package/dist/index.es183.js +17 -86
  176. package/dist/index.es183.js.map +1 -1
  177. package/dist/index.es184.js +69 -222
  178. package/dist/index.es184.js.map +1 -1
  179. package/dist/index.es185.js +242 -23
  180. package/dist/index.es185.js.map +1 -1
  181. package/dist/index.es186.js +23 -5
  182. package/dist/index.es186.js.map +1 -1
  183. package/dist/index.es187.js +6 -4
  184. package/dist/index.es187.js.map +1 -1
  185. package/dist/index.es188.js +4 -18
  186. package/dist/index.es188.js.map +1 -1
  187. package/dist/index.es189.js +16 -6
  188. package/dist/index.es189.js.map +1 -1
  189. package/dist/index.es19.js +119 -15
  190. package/dist/index.es19.js.map +1 -1
  191. package/dist/index.es190.js +7 -141
  192. package/dist/index.es190.js.map +1 -1
  193. package/dist/index.es191.js +142 -2
  194. package/dist/index.es191.js.map +1 -1
  195. package/dist/index.es192.js +2 -32
  196. package/dist/index.es192.js.map +1 -1
  197. package/dist/index.es193.js +31 -5
  198. package/dist/index.es193.js.map +1 -1
  199. package/dist/index.es194.js +5 -105
  200. package/dist/index.es194.js.map +1 -1
  201. package/dist/index.es195.js +106 -13
  202. package/dist/index.es195.js.map +1 -1
  203. package/dist/index.es196.js +12 -17
  204. package/dist/index.es196.js.map +1 -1
  205. package/dist/index.es197.js +15 -28
  206. package/dist/index.es197.js.map +1 -1
  207. package/dist/index.es198.js +30 -3
  208. package/dist/index.es198.js.map +1 -1
  209. package/dist/index.es199.js +3 -4
  210. package/dist/index.es199.js.map +1 -1
  211. package/dist/index.es2.js +24 -16
  212. package/dist/index.es2.js.map +1 -1
  213. package/dist/index.es20.js +17 -68
  214. package/dist/index.es20.js.map +1 -1
  215. package/dist/index.es200.js +5 -5
  216. package/dist/index.es200.js.map +1 -1
  217. package/dist/index.es201.js +4 -36
  218. package/dist/index.es201.js.map +1 -1
  219. package/dist/index.es202.js +36 -7
  220. package/dist/index.es202.js.map +1 -1
  221. package/dist/index.es203.js +7 -5
  222. package/dist/index.es203.js.map +1 -1
  223. package/dist/index.es204.js +5 -6
  224. package/dist/index.es204.js.map +1 -1
  225. package/dist/index.es205.js +6 -41
  226. package/dist/index.es205.js.map +1 -1
  227. package/dist/index.es206.js +41 -12
  228. package/dist/index.es206.js.map +1 -1
  229. package/dist/index.es207.js +11 -240
  230. package/dist/index.es207.js.map +1 -1
  231. package/dist/index.es208.js +239 -48
  232. package/dist/index.es208.js.map +1 -1
  233. package/dist/index.es209.js +49 -33
  234. package/dist/index.es209.js.map +1 -1
  235. package/dist/index.es21.js +3 -3
  236. package/dist/index.es21.js.map +1 -1
  237. package/dist/index.es210.js +32 -10
  238. package/dist/index.es210.js.map +1 -1
  239. package/dist/index.es211.js +12 -7
  240. package/dist/index.es211.js.map +1 -1
  241. package/dist/index.es212.js +7 -6
  242. package/dist/index.es212.js.map +1 -1
  243. package/dist/index.es213.js +6 -64
  244. package/dist/index.es213.js.map +1 -1
  245. package/dist/index.es214.js +60 -36
  246. package/dist/index.es214.js.map +1 -1
  247. package/dist/index.es215.js +39 -30
  248. package/dist/index.es215.js.map +1 -1
  249. package/dist/index.es216.js +30 -60
  250. package/dist/index.es216.js.map +1 -1
  251. package/dist/index.es217.js +60 -13
  252. package/dist/index.es217.js.map +1 -1
  253. package/dist/index.es218.js +9 -17
  254. package/dist/index.es218.js.map +1 -1
  255. package/dist/index.es219.js +23 -5
  256. package/dist/index.es219.js.map +1 -1
  257. package/dist/index.es22.js +1 -1
  258. package/dist/index.es220.js +4 -16
  259. package/dist/index.es220.js.map +1 -1
  260. package/dist/index.es221.js +14 -30
  261. package/dist/index.es221.js.map +1 -1
  262. package/dist/index.es222.js +32 -4
  263. package/dist/index.es222.js.map +1 -1
  264. package/dist/index.es223.js +4 -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 +5 -8
  269. package/dist/index.es225.js.map +1 -1
  270. package/dist/index.es226.js +6 -90
  271. package/dist/index.es226.js.map +1 -1
  272. package/dist/index.es227.js +90 -16
  273. package/dist/index.es227.js.map +1 -1
  274. package/dist/index.es228.js +17 -761
  275. package/dist/index.es228.js.map +1 -1
  276. package/dist/index.es229.js +762 -66
  277. package/dist/index.es229.js.map +1 -1
  278. package/dist/index.es230.js +66 -174
  279. package/dist/index.es230.js.map +1 -1
  280. package/dist/index.es231.js +169 -33
  281. package/dist/index.es231.js.map +1 -1
  282. package/dist/index.es232.js +37 -136
  283. package/dist/index.es232.js.map +1 -1
  284. package/dist/index.es233.js +136 -92
  285. package/dist/index.es233.js.map +1 -1
  286. package/dist/index.es234.js +92 -32
  287. package/dist/index.es234.js.map +1 -1
  288. package/dist/index.es235.js +32 -284
  289. package/dist/index.es235.js.map +1 -1
  290. package/dist/index.es236.js +284 -25
  291. package/dist/index.es236.js.map +1 -1
  292. package/dist/index.es237.js +22 -20
  293. package/dist/index.es237.js.map +1 -1
  294. package/dist/index.es238.js +22 -13
  295. package/dist/index.es238.js.map +1 -1
  296. package/dist/index.es239.js +12 -12
  297. package/dist/index.es239.js.map +1 -1
  298. package/dist/index.es24.js +103 -305
  299. package/dist/index.es24.js.map +1 -1
  300. package/dist/index.es240.js +13 -24
  301. package/dist/index.es240.js.map +1 -1
  302. package/dist/index.es241.js +22 -42
  303. package/dist/index.es241.js.map +1 -1
  304. package/dist/index.es242.js +45 -11
  305. package/dist/index.es242.js.map +1 -1
  306. package/dist/index.es243.js +10 -10
  307. package/dist/index.es243.js.map +1 -1
  308. package/dist/index.es244.js +10 -10
  309. package/dist/index.es244.js.map +1 -1
  310. package/dist/index.es245.js +11 -14
  311. package/dist/index.es245.js.map +1 -1
  312. package/dist/index.es246.js +14 -11
  313. package/dist/index.es246.js.map +1 -1
  314. package/dist/index.es247.js +11 -11
  315. package/dist/index.es247.js.map +1 -1
  316. package/dist/index.es248.js +10 -10
  317. package/dist/index.es248.js.map +1 -1
  318. package/dist/index.es249.js +11 -15
  319. package/dist/index.es249.js.map +1 -1
  320. package/dist/index.es25.js +68 -121
  321. package/dist/index.es25.js.map +1 -1
  322. package/dist/index.es250.js +15 -11
  323. package/dist/index.es250.js.map +1 -1
  324. package/dist/index.es251.js +10 -10
  325. package/dist/index.es251.js.map +1 -1
  326. package/dist/index.es252.js +11 -11
  327. package/dist/index.es252.js.map +1 -1
  328. package/dist/index.es253.js +10 -10
  329. package/dist/index.es253.js.map +1 -1
  330. package/dist/index.es254.js +10 -10
  331. package/dist/index.es254.js.map +1 -1
  332. package/dist/index.es255.js +10 -10
  333. package/dist/index.es255.js.map +1 -1
  334. package/dist/index.es256.js +10 -10
  335. package/dist/index.es256.js.map +1 -1
  336. package/dist/index.es257.js +10 -10
  337. package/dist/index.es257.js.map +1 -1
  338. package/dist/index.es258.js +11 -56
  339. package/dist/index.es258.js.map +1 -1
  340. package/dist/index.es259.js +53 -46
  341. package/dist/index.es259.js.map +1 -1
  342. package/dist/index.es26.js +305 -5
  343. package/dist/index.es26.js.map +1 -1
  344. package/dist/index.es260.js +42 -112
  345. package/dist/index.es260.js.map +1 -1
  346. package/dist/index.es261.js +87 -352
  347. package/dist/index.es261.js.map +1 -1
  348. package/dist/index.es262.js +381 -15
  349. package/dist/index.es262.js.map +1 -1
  350. package/dist/index.es263.js +17 -10
  351. package/dist/index.es263.js.map +1 -1
  352. package/dist/index.es264.js +10 -30
  353. package/dist/index.es264.js.map +1 -1
  354. package/dist/index.es265.js +17 -17
  355. package/dist/index.es265.js.map +1 -1
  356. package/dist/index.es266.js +25 -56
  357. package/dist/index.es266.js.map +1 -1
  358. package/dist/index.es267.js +59 -14
  359. package/dist/index.es267.js.map +1 -1
  360. package/dist/index.es268.js +14 -74
  361. package/dist/index.es268.js.map +1 -1
  362. package/dist/index.es269.js +77 -11
  363. package/dist/index.es269.js.map +1 -1
  364. package/dist/index.es270.js +10 -10
  365. package/dist/index.es270.js.map +1 -1
  366. package/dist/index.es271.js +11 -15
  367. package/dist/index.es271.js.map +1 -1
  368. package/dist/index.es272.js +14 -51
  369. package/dist/index.es272.js.map +1 -1
  370. package/dist/index.es273.js +44 -158
  371. package/dist/index.es273.js.map +1 -1
  372. package/dist/index.es274.js +167 -2
  373. package/dist/index.es274.js.map +1 -1
  374. package/dist/index.es275.js +2 -11
  375. package/dist/index.es275.js.map +1 -1
  376. package/dist/index.es276.js +9 -18
  377. package/dist/index.es276.js.map +1 -1
  378. package/dist/index.es277.js +17 -36
  379. package/dist/index.es277.js.map +1 -1
  380. package/dist/index.es278.js +42 -0
  381. package/dist/index.es278.js.map +1 -0
  382. package/dist/index.es28.js +7 -7
  383. package/dist/index.es29.js +1 -1
  384. package/dist/index.es32.js +4 -4
  385. package/dist/index.es33.js +1191 -13
  386. package/dist/index.es33.js.map +1 -1
  387. package/dist/index.es34.js +6 -117
  388. package/dist/index.es34.js.map +1 -1
  389. package/dist/index.es35.js +8 -70
  390. package/dist/index.es35.js.map +1 -1
  391. package/dist/index.es36.js +148 -19
  392. package/dist/index.es36.js.map +1 -1
  393. package/dist/index.es37.js +112 -255
  394. package/dist/index.es37.js.map +1 -1
  395. package/dist/index.es38.js +68 -40
  396. package/dist/index.es38.js.map +1 -1
  397. package/dist/index.es39.js +17 -214
  398. package/dist/index.es39.js.map +1 -1
  399. package/dist/index.es40.js +247 -53
  400. package/dist/index.es40.js.map +1 -1
  401. package/dist/index.es41.js +24 -123
  402. package/dist/index.es41.js.map +1 -1
  403. package/dist/index.es42.js +205 -14
  404. package/dist/index.es42.js.map +1 -1
  405. package/dist/index.es43.js +58 -221
  406. package/dist/index.es43.js.map +1 -1
  407. package/dist/index.es44.js +140 -7
  408. package/dist/index.es44.js.map +1 -1
  409. package/dist/index.es45.js +17 -1185
  410. package/dist/index.es45.js.map +1 -1
  411. package/dist/index.es46.js +229 -6
  412. package/dist/index.es46.js.map +1 -1
  413. package/dist/index.es47.js +15 -146
  414. package/dist/index.es47.js.map +1 -1
  415. package/dist/index.es48.js +6 -8
  416. package/dist/index.es48.js.map +1 -1
  417. package/dist/index.es49.js +84 -87
  418. package/dist/index.es49.js.map +1 -1
  419. package/dist/index.es50.js +7 -3
  420. package/dist/index.es50.js.map +1 -1
  421. package/dist/index.es51.js +14 -35
  422. package/dist/index.es51.js.map +1 -1
  423. package/dist/index.es52.js +7 -71
  424. package/dist/index.es52.js.map +1 -1
  425. package/dist/index.es53.js +89 -33
  426. package/dist/index.es53.js.map +1 -1
  427. package/dist/index.es54.js +3 -305
  428. package/dist/index.es54.js.map +1 -1
  429. package/dist/index.es55.js +36 -9
  430. package/dist/index.es55.js.map +1 -1
  431. package/dist/index.es56.js +64 -83
  432. package/dist/index.es56.js.map +1 -1
  433. package/dist/index.es57.js +36 -6
  434. package/dist/index.es57.js.map +1 -1
  435. package/dist/index.es58.js +303 -12
  436. package/dist/index.es58.js.map +1 -1
  437. package/dist/index.es59.js +9 -143
  438. package/dist/index.es59.js.map +1 -1
  439. package/dist/index.es60.js +5 -299
  440. package/dist/index.es60.js.map +1 -1
  441. package/dist/index.es61.js +158 -61
  442. package/dist/index.es61.js.map +1 -1
  443. package/dist/index.es62.js +658 -199
  444. package/dist/index.es62.js.map +1 -1
  445. package/dist/index.es63.js +138 -29
  446. package/dist/index.es63.js.map +1 -1
  447. package/dist/index.es64.js +299 -8
  448. package/dist/index.es64.js.map +1 -1
  449. package/dist/index.es65.js +65 -11
  450. package/dist/index.es65.js.map +1 -1
  451. package/dist/index.es66.js +201 -175
  452. package/dist/index.es66.js.map +1 -1
  453. package/dist/index.es67.js +33 -23
  454. package/dist/index.es67.js.map +1 -1
  455. package/dist/index.es68.js +8 -1399
  456. package/dist/index.es68.js.map +1 -1
  457. package/dist/index.es69.js +12 -9
  458. package/dist/index.es69.js.map +1 -1
  459. package/dist/index.es70.js +187 -8
  460. package/dist/index.es70.js.map +1 -1
  461. package/dist/index.es71.js +24 -6
  462. package/dist/index.es71.js.map +1 -1
  463. package/dist/index.es72.js +1384 -147
  464. package/dist/index.es72.js.map +1 -1
  465. package/dist/index.es73.js +9 -672
  466. package/dist/index.es73.js.map +1 -1
  467. package/dist/index.es74.js +8 -12
  468. package/dist/index.es74.js.map +1 -1
  469. package/dist/index.es75.js +35 -38
  470. package/dist/index.es75.js.map +1 -1
  471. package/dist/index.es76.js +5 -34
  472. package/dist/index.es76.js.map +1 -1
  473. package/dist/index.es77.js +64 -223
  474. package/dist/index.es77.js.map +1 -1
  475. package/dist/index.es78.js +36 -29
  476. package/dist/index.es78.js.map +1 -1
  477. package/dist/index.es79.js +11 -74
  478. package/dist/index.es79.js.map +1 -1
  479. package/dist/index.es80.js +37 -73
  480. package/dist/index.es80.js.map +1 -1
  481. package/dist/index.es81.js +32 -50
  482. package/dist/index.es81.js.map +1 -1
  483. package/dist/index.es82.js +228 -26
  484. package/dist/index.es82.js.map +1 -1
  485. package/dist/index.es83.js +6 -19
  486. package/dist/index.es83.js.map +1 -1
  487. package/dist/index.es84.js +72 -54
  488. package/dist/index.es84.js.map +1 -1
  489. package/dist/index.es85.js +76 -13
  490. package/dist/index.es85.js.map +1 -1
  491. package/dist/index.es86.js +47 -132
  492. package/dist/index.es86.js.map +1 -1
  493. package/dist/index.es87.js +29 -20
  494. package/dist/index.es87.js.map +1 -1
  495. package/dist/index.es88.js +37 -176
  496. package/dist/index.es88.js.map +1 -1
  497. package/dist/index.es89.js +49 -233
  498. package/dist/index.es89.js.map +1 -1
  499. package/dist/index.es90.js +13 -355
  500. package/dist/index.es90.js.map +1 -1
  501. package/dist/index.es91.js +128 -128
  502. package/dist/index.es91.js.map +1 -1
  503. package/dist/index.es92.js +21 -70
  504. package/dist/index.es92.js.map +1 -1
  505. package/dist/index.es93.js +179 -34
  506. package/dist/index.es93.js.map +1 -1
  507. package/dist/index.es94.js +230 -26
  508. package/dist/index.es94.js.map +1 -1
  509. package/dist/index.es95.js +346 -157
  510. package/dist/index.es95.js.map +1 -1
  511. package/dist/index.es96.js +129 -195
  512. package/dist/index.es96.js.map +1 -1
  513. package/dist/index.es97.js +70 -14
  514. package/dist/index.es97.js.map +1 -1
  515. package/dist/index.es98.js +35 -28
  516. package/dist/index.es98.js.map +1 -1
  517. package/dist/index.es99.js +34 -31
  518. package/dist/index.es99.js.map +1 -1
  519. package/dist/styles.css +1 -1
  520. package/package.json +8 -11
@@ -1,140 +1,55 @@
1
- import { CallbackManager, ensureHandler } from "./index.es108.js";
2
- import { AsyncLocalStorageProviderSingleton } from "./index.es84.js";
3
- import "./index.es85.js";
4
- const DEFAULT_RECURSION_LIMIT = 25;
5
- async function getCallbackManagerForConfig(config) {
6
- return CallbackManager._configureSync(config?.callbacks, void 0, config?.tags, void 0, config?.metadata);
7
- }
8
- function mergeConfigs(...configs) {
9
- const copy = {};
10
- for (const options of configs.filter((c) => !!c)) for (const key of Object.keys(options)) if (key === "metadata") copy[key] = {
11
- ...copy[key],
12
- ...options[key]
13
- };
14
- else if (key === "tags") {
15
- const baseKeys = copy[key] ?? [];
16
- copy[key] = [...new Set(baseKeys.concat(options[key] ?? []))];
17
- } else if (key === "configurable") copy[key] = {
18
- ...copy[key],
19
- ...options[key]
20
- };
21
- else if (key === "timeout") {
22
- if (copy.timeout === void 0) copy.timeout = options.timeout;
23
- else if (options.timeout !== void 0) copy.timeout = Math.min(copy.timeout, options.timeout);
24
- } else if (key === "signal") {
25
- if (copy.signal === void 0) copy.signal = options.signal;
26
- else if (options.signal !== void 0) if ("any" in AbortSignal) copy.signal = AbortSignal.any([copy.signal, options.signal]);
27
- else copy.signal = options.signal;
28
- } else if (key === "callbacks") {
29
- const baseCallbacks = copy.callbacks;
30
- const providedCallbacks = options.callbacks;
31
- if (Array.isArray(providedCallbacks)) if (!baseCallbacks) copy.callbacks = providedCallbacks;
32
- else if (Array.isArray(baseCallbacks)) copy.callbacks = baseCallbacks.concat(providedCallbacks);
33
- else {
34
- const manager = baseCallbacks.copy();
35
- for (const callback of providedCallbacks) manager.addHandler(ensureHandler(callback), true);
36
- copy.callbacks = manager;
1
+ import { _isString } from "./index.es81.js";
2
+ function convertToV1FromGroqMessage(message) {
3
+ const blocks = [];
4
+ const parsedReasoning = message.additional_kwargs?.reasoning;
5
+ if (_isString(parsedReasoning) && parsedReasoning.length > 0) blocks.push({
6
+ type: "reasoning",
7
+ reasoning: parsedReasoning
8
+ });
9
+ if (typeof message.content === "string") {
10
+ let textContent = message.content;
11
+ const thinkMatch = textContent.match(/<think>([\s\S]*?)<\/think>/);
12
+ if (thinkMatch) {
13
+ const thinkingContent = thinkMatch[1].trim();
14
+ if (thinkingContent.length > 0) blocks.push({
15
+ type: "reasoning",
16
+ reasoning: thinkingContent
17
+ });
18
+ textContent = textContent.replace(/<think>[\s\S]*?<\/think>/, "").trim();
37
19
  }
38
- else if (providedCallbacks) if (!baseCallbacks) copy.callbacks = providedCallbacks;
39
- else if (Array.isArray(baseCallbacks)) {
40
- const manager = providedCallbacks.copy();
41
- for (const callback of baseCallbacks) manager.addHandler(ensureHandler(callback), true);
42
- copy.callbacks = manager;
43
- } else copy.callbacks = new CallbackManager(providedCallbacks._parentRunId, {
44
- handlers: baseCallbacks.handlers.concat(providedCallbacks.handlers),
45
- inheritableHandlers: baseCallbacks.inheritableHandlers.concat(providedCallbacks.inheritableHandlers),
46
- tags: Array.from(new Set(baseCallbacks.tags.concat(providedCallbacks.tags))),
47
- inheritableTags: Array.from(new Set(baseCallbacks.inheritableTags.concat(providedCallbacks.inheritableTags))),
48
- metadata: {
49
- ...baseCallbacks.metadata,
50
- ...providedCallbacks.metadata
51
- }
20
+ if (textContent.length > 0) blocks.push({
21
+ type: "text",
22
+ text: textContent
52
23
  });
53
- } else {
54
- const typedKey = key;
55
- copy[typedKey] = options[typedKey] ?? copy[typedKey];
56
- }
57
- return copy;
58
- }
59
- const PRIMITIVES = /* @__PURE__ */ new Set([
60
- "string",
61
- "number",
62
- "boolean"
63
- ]);
64
- function ensureConfig(config) {
65
- const implicitConfig = AsyncLocalStorageProviderSingleton.getRunnableConfig();
66
- let empty = {
67
- tags: [],
68
- metadata: {},
69
- recursionLimit: 25,
70
- runId: void 0
71
- };
72
- if (implicitConfig) {
73
- const { runId, runName, ...rest } = implicitConfig;
74
- empty = Object.entries(rest).reduce((currentConfig, [key, value]) => {
75
- if (value !== void 0) currentConfig[key] = value;
76
- return currentConfig;
77
- }, empty);
78
- }
79
- if (config) empty = Object.entries(config).reduce((currentConfig, [key, value]) => {
80
- if (value !== void 0) currentConfig[key] = value;
81
- return currentConfig;
82
- }, empty);
83
- if (empty?.configurable) {
84
- for (const key of Object.keys(empty.configurable)) if (PRIMITIVES.has(typeof empty.configurable[key]) && !empty.metadata?.[key]) {
85
- if (!empty.metadata) empty.metadata = {};
86
- empty.metadata[key] = empty.configurable[key];
24
+ } else for (const block of message.content) if (typeof block === "object" && "type" in block && block.type === "text" && "text" in block && _isString(block.text)) {
25
+ let textContent = block.text;
26
+ const thinkMatch = textContent.match(/<think>([\s\S]*?)<\/think>/);
27
+ if (thinkMatch) {
28
+ const thinkingContent = thinkMatch[1].trim();
29
+ if (thinkingContent.length > 0) blocks.push({
30
+ type: "reasoning",
31
+ reasoning: thinkingContent
32
+ });
33
+ textContent = textContent.replace(/<think>[\s\S]*?<\/think>/, "").trim();
87
34
  }
35
+ if (textContent.length > 0) blocks.push({
36
+ type: "text",
37
+ text: textContent
38
+ });
88
39
  }
89
- if (empty.timeout !== void 0) {
90
- if (empty.timeout <= 0) throw new Error("Timeout must be a positive number");
91
- const originalTimeoutMs = empty.timeout;
92
- const timeoutSignal = AbortSignal.timeout(originalTimeoutMs);
93
- if (!empty.metadata) empty.metadata = {};
94
- if (empty.metadata.timeoutMs === void 0) empty.metadata.timeoutMs = originalTimeoutMs;
95
- if (empty.signal !== void 0) {
96
- if ("any" in AbortSignal) empty.signal = AbortSignal.any([empty.signal, timeoutSignal]);
97
- } else empty.signal = timeoutSignal;
98
- delete empty.timeout;
99
- }
100
- return empty;
101
- }
102
- function patchConfig(config = {}, { callbacks, maxConcurrency, recursionLimit, runName, configurable, runId } = {}) {
103
- const newConfig = ensureConfig(config);
104
- if (callbacks !== void 0) {
105
- delete newConfig.runName;
106
- newConfig.callbacks = callbacks;
107
- }
108
- if (recursionLimit !== void 0) newConfig.recursionLimit = recursionLimit;
109
- if (maxConcurrency !== void 0) newConfig.maxConcurrency = maxConcurrency;
110
- if (runName !== void 0) newConfig.runName = runName;
111
- if (configurable !== void 0) newConfig.configurable = {
112
- ...newConfig.configurable,
113
- ...configurable
114
- };
115
- if (runId !== void 0) delete newConfig.runId;
116
- return newConfig;
117
- }
118
- function pickRunnableConfigKeys(config) {
119
- if (!config) return void 0;
120
- return {
121
- configurable: config.configurable,
122
- recursionLimit: config.recursionLimit,
123
- callbacks: config.callbacks,
124
- tags: config.tags,
125
- metadata: config.metadata,
126
- maxConcurrency: config.maxConcurrency,
127
- timeout: config.timeout,
128
- signal: config.signal,
129
- store: config.store
130
- };
40
+ for (const toolCall of message.tool_calls ?? []) blocks.push({
41
+ type: "tool_call",
42
+ id: toolCall.id,
43
+ name: toolCall.name,
44
+ args: toolCall.args
45
+ });
46
+ return blocks;
131
47
  }
48
+ const ChatGroqTranslator = {
49
+ translateContent: convertToV1FromGroqMessage,
50
+ translateContentChunk: convertToV1FromGroqMessage
51
+ };
132
52
  export {
133
- DEFAULT_RECURSION_LIMIT,
134
- ensureConfig,
135
- getCallbackManagerForConfig,
136
- mergeConfigs,
137
- patchConfig,
138
- pickRunnableConfigKeys
53
+ ChatGroqTranslator
139
54
  };
140
55
  //# sourceMappingURL=index.es86.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es86.js","sources":["../node_modules/.pnpm/@langchain+core@1.1.13_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/runnables/config.js"],"sourcesContent":["import { CallbackManager, ensureHandler } from \"../callbacks/manager.js\";\nimport { AsyncLocalStorageProviderSingleton } from \"../singletons/async_local_storage/index.js\";\nimport \"../singletons/index.js\";\n\n//#region src/runnables/config.ts\nconst DEFAULT_RECURSION_LIMIT = 25;\nasync function getCallbackManagerForConfig(config) {\n\treturn CallbackManager._configureSync(config?.callbacks, void 0, config?.tags, void 0, config?.metadata);\n}\nfunction mergeConfigs(...configs) {\n\tconst copy = {};\n\tfor (const options of configs.filter((c) => !!c)) for (const key of Object.keys(options)) if (key === \"metadata\") copy[key] = {\n\t\t...copy[key],\n\t\t...options[key]\n\t};\n\telse if (key === \"tags\") {\n\t\tconst baseKeys = copy[key] ?? [];\n\t\tcopy[key] = [...new Set(baseKeys.concat(options[key] ?? []))];\n\t} else if (key === \"configurable\") copy[key] = {\n\t\t...copy[key],\n\t\t...options[key]\n\t};\n\telse if (key === \"timeout\") {\n\t\tif (copy.timeout === void 0) copy.timeout = options.timeout;\n\t\telse if (options.timeout !== void 0) copy.timeout = Math.min(copy.timeout, options.timeout);\n\t} else if (key === \"signal\") {\n\t\tif (copy.signal === void 0) copy.signal = options.signal;\n\t\telse if (options.signal !== void 0) if (\"any\" in AbortSignal) copy.signal = AbortSignal.any([copy.signal, options.signal]);\n\t\telse copy.signal = options.signal;\n\t} else if (key === \"callbacks\") {\n\t\tconst baseCallbacks = copy.callbacks;\n\t\tconst providedCallbacks = options.callbacks;\n\t\tif (Array.isArray(providedCallbacks)) if (!baseCallbacks) copy.callbacks = providedCallbacks;\n\t\telse if (Array.isArray(baseCallbacks)) copy.callbacks = baseCallbacks.concat(providedCallbacks);\n\t\telse {\n\t\t\tconst manager = baseCallbacks.copy();\n\t\t\tfor (const callback of providedCallbacks) manager.addHandler(ensureHandler(callback), true);\n\t\t\tcopy.callbacks = manager;\n\t\t}\n\t\telse if (providedCallbacks) if (!baseCallbacks) copy.callbacks = providedCallbacks;\n\t\telse if (Array.isArray(baseCallbacks)) {\n\t\t\tconst manager = providedCallbacks.copy();\n\t\t\tfor (const callback of baseCallbacks) manager.addHandler(ensureHandler(callback), true);\n\t\t\tcopy.callbacks = manager;\n\t\t} else copy.callbacks = new CallbackManager(providedCallbacks._parentRunId, {\n\t\t\thandlers: baseCallbacks.handlers.concat(providedCallbacks.handlers),\n\t\t\tinheritableHandlers: baseCallbacks.inheritableHandlers.concat(providedCallbacks.inheritableHandlers),\n\t\t\ttags: Array.from(new Set(baseCallbacks.tags.concat(providedCallbacks.tags))),\n\t\t\tinheritableTags: Array.from(new Set(baseCallbacks.inheritableTags.concat(providedCallbacks.inheritableTags))),\n\t\t\tmetadata: {\n\t\t\t\t...baseCallbacks.metadata,\n\t\t\t\t...providedCallbacks.metadata\n\t\t\t}\n\t\t});\n\t} else {\n\t\tconst typedKey = key;\n\t\tcopy[typedKey] = options[typedKey] ?? copy[typedKey];\n\t}\n\treturn copy;\n}\nconst PRIMITIVES = new Set([\n\t\"string\",\n\t\"number\",\n\t\"boolean\"\n]);\n/**\n* Ensure that a passed config is an object with all required keys present.\n*/\nfunction ensureConfig(config) {\n\tconst implicitConfig = AsyncLocalStorageProviderSingleton.getRunnableConfig();\n\tlet empty = {\n\t\ttags: [],\n\t\tmetadata: {},\n\t\trecursionLimit: 25,\n\t\trunId: void 0\n\t};\n\tif (implicitConfig) {\n\t\tconst { runId, runName,...rest } = implicitConfig;\n\t\tempty = Object.entries(rest).reduce((currentConfig, [key, value]) => {\n\t\t\tif (value !== void 0) currentConfig[key] = value;\n\t\t\treturn currentConfig;\n\t\t}, empty);\n\t}\n\tif (config) empty = Object.entries(config).reduce((currentConfig, [key, value]) => {\n\t\tif (value !== void 0) currentConfig[key] = value;\n\t\treturn currentConfig;\n\t}, empty);\n\tif (empty?.configurable) {\n\t\tfor (const key of Object.keys(empty.configurable)) if (PRIMITIVES.has(typeof empty.configurable[key]) && !empty.metadata?.[key]) {\n\t\t\tif (!empty.metadata) empty.metadata = {};\n\t\t\tempty.metadata[key] = empty.configurable[key];\n\t\t}\n\t}\n\tif (empty.timeout !== void 0) {\n\t\tif (empty.timeout <= 0) throw new Error(\"Timeout must be a positive number\");\n\t\tconst originalTimeoutMs = empty.timeout;\n\t\tconst timeoutSignal = AbortSignal.timeout(originalTimeoutMs);\n\t\tif (!empty.metadata) empty.metadata = {};\n\t\tif (empty.metadata.timeoutMs === void 0) empty.metadata.timeoutMs = originalTimeoutMs;\n\t\tif (empty.signal !== void 0) {\n\t\t\tif (\"any\" in AbortSignal) empty.signal = AbortSignal.any([empty.signal, timeoutSignal]);\n\t\t} else empty.signal = timeoutSignal;\n\t\t/**\n\t\t* We are deleting the timeout key for the following reasons:\n\t\t* - Idempotent normalization: ensureConfig may be called multiple times down the stack. If timeout remains,\n\t\t* each call would synthesize new timeout signals and combine them, changing the effective timeout unpredictably.\n\t\t* - Single enforcement path: downstream code relies on signal to enforce cancellation. Leaving timeout means two\n\t\t* competing mechanisms (numeric timeout and signal) can be applied, sometimes with different semantics.\n\t\t* - Propagation to children: pickRunnableConfigKeys would keep forwarding timeout to nested runnables, causing\n\t\t* repeated re-normalization and stacked timeouts.\n\t\t* - Backward compatibility: a lot of components and tests assume ensureConfig removes timeout post-normalization;\n\t\t* changing that would be a breaking change.\n\t\t*/\n\t\tdelete empty.timeout;\n\t}\n\treturn empty;\n}\n/**\n* Helper function that patches runnable configs with updated properties.\n*/\nfunction patchConfig(config = {}, { callbacks, maxConcurrency, recursionLimit, runName, configurable, runId } = {}) {\n\tconst newConfig = ensureConfig(config);\n\tif (callbacks !== void 0) {\n\t\t/**\n\t\t* If we're replacing callbacks we need to unset runName\n\t\t* since that should apply only to the same run as the original callbacks\n\t\t*/\n\t\tdelete newConfig.runName;\n\t\tnewConfig.callbacks = callbacks;\n\t}\n\tif (recursionLimit !== void 0) newConfig.recursionLimit = recursionLimit;\n\tif (maxConcurrency !== void 0) newConfig.maxConcurrency = maxConcurrency;\n\tif (runName !== void 0) newConfig.runName = runName;\n\tif (configurable !== void 0) newConfig.configurable = {\n\t\t...newConfig.configurable,\n\t\t...configurable\n\t};\n\tif (runId !== void 0) delete newConfig.runId;\n\treturn newConfig;\n}\nfunction pickRunnableConfigKeys(config) {\n\tif (!config) return void 0;\n\treturn {\n\t\tconfigurable: config.configurable,\n\t\trecursionLimit: config.recursionLimit,\n\t\tcallbacks: config.callbacks,\n\t\ttags: config.tags,\n\t\tmetadata: config.metadata,\n\t\tmaxConcurrency: config.maxConcurrency,\n\t\ttimeout: config.timeout,\n\t\tsignal: config.signal,\n\t\tstore: config.store\n\t};\n}\n\n//#endregion\nexport { DEFAULT_RECURSION_LIMIT, ensureConfig, getCallbackManagerForConfig, mergeConfigs, patchConfig, pickRunnableConfigKeys };\n//# sourceMappingURL=config.js.map"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.es86.js","sources":["../node_modules/.pnpm/@langchain+core@1.1.13_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/groq.js"],"sourcesContent":["import { _isString } from \"./utils.js\";\n\n//#region src/messages/block_translators/groq.ts\n/**\n* Converts a Groq AI message to an array of v1 standard content blocks.\n*\n* This function processes an AI message from Groq's API format\n* and converts it to the standardized v1 content block format. It handles\n* both parsed reasoning (in additional_kwargs.reasoning) and raw reasoning\n* (in <think> tags within content).\n*\n* @param message - The AI message containing Groq-formatted content\n* @returns Array of content blocks in v1 standard format\n*\n* @example\n* ```typescript\n* // Parsed format (reasoning_format=\"parsed\")\n* const message = new AIMessage({\n* content: \"The answer is 42\",\n* additional_kwargs: { reasoning: \"Let me think about this...\" }\n* });\n* const standardBlocks = convertToV1FromGroqMessage(message);\n* // Returns:\n* // [\n* // { type: \"reasoning\", reasoning: \"Let me think about this...\" },\n* // { type: \"text\", text: \"The answer is 42\" }\n* // ]\n* ```\n*\n* @example\n* ```typescript\n* // Raw format (reasoning_format=\"raw\")\n* const message = new AIMessage({\n* content: \"<think>Let me think...</think>The answer is 42\"\n* });\n* const standardBlocks = convertToV1FromGroqMessage(message);\n* // Returns:\n* // [\n* // { type: \"reasoning\", reasoning: \"Let me think...\" },\n* // { type: \"text\", text: \"The answer is 42\" }\n* // ]\n* ```\n*/\nfunction convertToV1FromGroqMessage(message) {\n\tconst blocks = [];\n\tconst parsedReasoning = message.additional_kwargs?.reasoning;\n\tif (_isString(parsedReasoning) && parsedReasoning.length > 0) blocks.push({\n\t\ttype: \"reasoning\",\n\t\treasoning: parsedReasoning\n\t});\n\tif (typeof message.content === \"string\") {\n\t\tlet textContent = message.content;\n\t\tconst thinkMatch = textContent.match(/<think>([\\s\\S]*?)<\\/think>/);\n\t\tif (thinkMatch) {\n\t\t\tconst thinkingContent = thinkMatch[1].trim();\n\t\t\tif (thinkingContent.length > 0) blocks.push({\n\t\t\t\ttype: \"reasoning\",\n\t\t\t\treasoning: thinkingContent\n\t\t\t});\n\t\t\ttextContent = textContent.replace(/<think>[\\s\\S]*?<\\/think>/, \"\").trim();\n\t\t}\n\t\tif (textContent.length > 0) blocks.push({\n\t\t\ttype: \"text\",\n\t\t\ttext: textContent\n\t\t});\n\t} else for (const block of message.content) if (typeof block === \"object\" && \"type\" in block && block.type === \"text\" && \"text\" in block && _isString(block.text)) {\n\t\tlet textContent = block.text;\n\t\tconst thinkMatch = textContent.match(/<think>([\\s\\S]*?)<\\/think>/);\n\t\tif (thinkMatch) {\n\t\t\tconst thinkingContent = thinkMatch[1].trim();\n\t\t\tif (thinkingContent.length > 0) blocks.push({\n\t\t\t\ttype: \"reasoning\",\n\t\t\t\treasoning: thinkingContent\n\t\t\t});\n\t\t\ttextContent = textContent.replace(/<think>[\\s\\S]*?<\\/think>/, \"\").trim();\n\t\t}\n\t\tif (textContent.length > 0) blocks.push({\n\t\t\ttype: \"text\",\n\t\t\ttext: textContent\n\t\t});\n\t}\n\tfor (const toolCall of message.tool_calls ?? []) blocks.push({\n\t\ttype: \"tool_call\",\n\t\tid: toolCall.id,\n\t\tname: toolCall.name,\n\t\targs: toolCall.args\n\t});\n\treturn blocks;\n}\nconst ChatGroqTranslator = {\n\ttranslateContent: convertToV1FromGroqMessage,\n\ttranslateContentChunk: convertToV1FromGroqMessage\n};\n\n//#endregion\nexport { ChatGroqTranslator };\n//# sourceMappingURL=groq.js.map"],"names":[],"mappings":";AA2CA,SAAS,2BAA2B,SAAS;AAC5C,QAAM,SAAS,CAAA;AACf,QAAM,kBAAkB,QAAQ,mBAAmB;AACnD,MAAI,UAAU,eAAe,KAAK,gBAAgB,SAAS,EAAG,QAAO,KAAK;AAAA,IACzE,MAAM;AAAA,IACN,WAAW;AAAA,EACb,CAAE;AACD,MAAI,OAAO,QAAQ,YAAY,UAAU;AACxC,QAAI,cAAc,QAAQ;AAC1B,UAAM,aAAa,YAAY,MAAM,4BAA4B;AACjE,QAAI,YAAY;AACf,YAAM,kBAAkB,WAAW,CAAC,EAAE,KAAI;AAC1C,UAAI,gBAAgB,SAAS,EAAG,QAAO,KAAK;AAAA,QAC3C,MAAM;AAAA,QACN,WAAW;AAAA,MACf,CAAI;AACD,oBAAc,YAAY,QAAQ,4BAA4B,EAAE,EAAE,KAAI;AAAA,IACvE;AACA,QAAI,YAAY,SAAS,EAAG,QAAO,KAAK;AAAA,MACvC,MAAM;AAAA,MACN,MAAM;AAAA,IACT,CAAG;AAAA,EACF,MAAO,YAAW,SAAS,QAAQ,QAAS,KAAI,OAAO,UAAU,YAAY,UAAU,SAAS,MAAM,SAAS,UAAU,UAAU,SAAS,UAAU,MAAM,IAAI,GAAG;AAClK,QAAI,cAAc,MAAM;AACxB,UAAM,aAAa,YAAY,MAAM,4BAA4B;AACjE,QAAI,YAAY;AACf,YAAM,kBAAkB,WAAW,CAAC,EAAE,KAAI;AAC1C,UAAI,gBAAgB,SAAS,EAAG,QAAO,KAAK;AAAA,QAC3C,MAAM;AAAA,QACN,WAAW;AAAA,MACf,CAAI;AACD,oBAAc,YAAY,QAAQ,4BAA4B,EAAE,EAAE,KAAI;AAAA,IACvE;AACA,QAAI,YAAY,SAAS,EAAG,QAAO,KAAK;AAAA,MACvC,MAAM;AAAA,MACN,MAAM;AAAA,IACT,CAAG;AAAA,EACF;AACA,aAAW,YAAY,QAAQ,cAAc,CAAA,EAAI,QAAO,KAAK;AAAA,IAC5D,MAAM;AAAA,IACN,IAAI,SAAS;AAAA,IACb,MAAM,SAAS;AAAA,IACf,MAAM,SAAS;AAAA,EACjB,CAAE;AACD,SAAO;AACR;AACK,MAAC,qBAAqB;AAAA,EAC1B,kBAAkB;AAAA,EAClB,uBAAuB;AACxB;","x_google_ignoreList":[0]}
@@ -1,24 +1,33 @@
1
- async function raceWithSignal(promise, signal) {
2
- if (signal === void 0) return promise;
3
- let listener;
4
- return Promise.race([promise.catch((err) => {
5
- if (!signal?.aborted) throw err;
6
- else return void 0;
7
- }), new Promise((_, reject) => {
8
- listener = () => {
9
- reject(getAbortSignalError(signal));
10
- };
11
- signal.addEventListener("abort", listener);
12
- if (signal.aborted) reject(getAbortSignalError(signal));
13
- })]).finally(() => signal.removeEventListener("abort", listener));
14
- }
15
- function getAbortSignalError(signal) {
16
- if (signal?.reason instanceof Error) return signal.reason;
17
- if (typeof signal?.reason === "string") return new Error(signal.reason);
18
- return /* @__PURE__ */ new Error("Aborted");
1
+ import { _isString } from "./index.es81.js";
2
+ function convertToV1FromOllamaMessage(message) {
3
+ const blocks = [];
4
+ const reasoningContent = message.additional_kwargs?.reasoning_content;
5
+ if (_isString(reasoningContent) && reasoningContent.length > 0) blocks.push({
6
+ type: "reasoning",
7
+ reasoning: reasoningContent
8
+ });
9
+ if (typeof message.content === "string") {
10
+ if (message.content.length > 0) blocks.push({
11
+ type: "text",
12
+ text: message.content
13
+ });
14
+ } else for (const block of message.content) if (typeof block === "object" && "type" in block && block.type === "text" && "text" in block && _isString(block.text)) blocks.push({
15
+ type: "text",
16
+ text: block.text
17
+ });
18
+ for (const toolCall of message.tool_calls ?? []) blocks.push({
19
+ type: "tool_call",
20
+ id: toolCall.id,
21
+ name: toolCall.name,
22
+ args: toolCall.args
23
+ });
24
+ return blocks;
19
25
  }
26
+ const ChatOllamaTranslator = {
27
+ translateContent: convertToV1FromOllamaMessage,
28
+ translateContentChunk: convertToV1FromOllamaMessage
29
+ };
20
30
  export {
21
- getAbortSignalError,
22
- raceWithSignal
31
+ ChatOllamaTranslator
23
32
  };
24
33
  //# sourceMappingURL=index.es87.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es87.js","sources":["../node_modules/.pnpm/@langchain+core@1.1.13_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/utils/signal.js"],"sourcesContent":["//#region src/utils/signal.ts\n/**\n* Race a promise with an abort signal. If the signal is aborted, the promise will\n* be rejected with the error from the signal. If the promise is rejected, the signal will be aborted.\n*\n* @param promise - The promise to race.\n* @param signal - The abort signal.\n* @returns The result of the promise.\n*/\nasync function raceWithSignal(promise, signal) {\n\tif (signal === void 0) return promise;\n\tlet listener;\n\treturn Promise.race([promise.catch((err) => {\n\t\tif (!signal?.aborted) throw err;\n\t\telse return void 0;\n\t}), new Promise((_, reject) => {\n\t\tlistener = () => {\n\t\t\treject(getAbortSignalError(signal));\n\t\t};\n\t\tsignal.addEventListener(\"abort\", listener);\n\t\tif (signal.aborted) reject(getAbortSignalError(signal));\n\t})]).finally(() => signal.removeEventListener(\"abort\", listener));\n}\n/**\n* Get the error from an abort signal. Since you can set the reason to anything,\n* we have to do some type gymnastics to get a proper error message.\n*\n* @param signal - The abort signal.\n* @returns The error from the abort signal.\n*/\nfunction getAbortSignalError(signal) {\n\tif (signal?.reason instanceof Error) return signal.reason;\n\tif (typeof signal?.reason === \"string\") return new Error(signal.reason);\n\treturn /* @__PURE__ */ new Error(\"Aborted\");\n}\n\n//#endregion\nexport { getAbortSignalError, raceWithSignal };\n//# sourceMappingURL=signal.js.map"],"names":[],"mappings":"AASA,eAAe,eAAe,SAAS,QAAQ;AAC9C,MAAI,WAAW,OAAQ,QAAO;AAC9B,MAAI;AACJ,SAAO,QAAQ,KAAK,CAAC,QAAQ,MAAM,CAAC,QAAQ;AAC3C,QAAI,CAAC,QAAQ,QAAS,OAAM;AAAA,QACvB,QAAO;AAAA,EACb,CAAC,GAAG,IAAI,QAAQ,CAAC,GAAG,WAAW;AAC9B,eAAW,MAAM;AAChB,aAAO,oBAAoB,MAAM,CAAC;AAAA,IACnC;AACA,WAAO,iBAAiB,SAAS,QAAQ;AACzC,QAAI,OAAO,QAAS,QAAO,oBAAoB,MAAM,CAAC;AAAA,EACvD,CAAC,CAAC,CAAC,EAAE,QAAQ,MAAM,OAAO,oBAAoB,SAAS,QAAQ,CAAC;AACjE;AAQA,SAAS,oBAAoB,QAAQ;AACpC,MAAI,QAAQ,kBAAkB,MAAO,QAAO,OAAO;AACnD,MAAI,OAAO,QAAQ,WAAW,SAAU,QAAO,IAAI,MAAM,OAAO,MAAM;AACtE,SAAuB,oBAAI,MAAM,SAAS;AAC3C;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.es87.js","sources":["../node_modules/.pnpm/@langchain+core@1.1.13_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/ollama.js"],"sourcesContent":["import { _isString } from \"./utils.js\";\n\n//#region src/messages/block_translators/ollama.ts\n/**\n* Converts an Ollama AI message to an array of v1 standard content blocks.\n*\n* This function processes an AI message from Ollama's API format\n* and converts it to the standardized v1 content block format. It handles\n* the reasoning_content in additional_kwargs (populated when think mode is enabled).\n*\n* @param message - The AI message containing Ollama-formatted content\n* @returns Array of content blocks in v1 standard format\n*\n* @example\n* ```typescript\n* const message = new AIMessage({\n* content: \"The answer is 42\",\n* additional_kwargs: { reasoning_content: \"Let me think about this...\" }\n* });\n* const standardBlocks = convertToV1FromOllamaMessage(message);\n* // Returns:\n* // [\n* // { type: \"reasoning\", reasoning: \"Let me think about this...\" },\n* // { type: \"text\", text: \"The answer is 42\" }\n* // ]\n* ```\n*/\nfunction convertToV1FromOllamaMessage(message) {\n\tconst blocks = [];\n\tconst reasoningContent = message.additional_kwargs?.reasoning_content;\n\tif (_isString(reasoningContent) && reasoningContent.length > 0) blocks.push({\n\t\ttype: \"reasoning\",\n\t\treasoning: reasoningContent\n\t});\n\tif (typeof message.content === \"string\") {\n\t\tif (message.content.length > 0) blocks.push({\n\t\t\ttype: \"text\",\n\t\t\ttext: message.content\n\t\t});\n\t} else for (const block of message.content) if (typeof block === \"object\" && \"type\" in block && block.type === \"text\" && \"text\" in block && _isString(block.text)) blocks.push({\n\t\ttype: \"text\",\n\t\ttext: block.text\n\t});\n\tfor (const toolCall of message.tool_calls ?? []) blocks.push({\n\t\ttype: \"tool_call\",\n\t\tid: toolCall.id,\n\t\tname: toolCall.name,\n\t\targs: toolCall.args\n\t});\n\treturn blocks;\n}\nconst ChatOllamaTranslator = {\n\ttranslateContent: convertToV1FromOllamaMessage,\n\ttranslateContentChunk: convertToV1FromOllamaMessage\n};\n\n//#endregion\nexport { ChatOllamaTranslator };\n//# sourceMappingURL=ollama.js.map"],"names":[],"mappings":";AA2BA,SAAS,6BAA6B,SAAS;AAC9C,QAAM,SAAS,CAAA;AACf,QAAM,mBAAmB,QAAQ,mBAAmB;AACpD,MAAI,UAAU,gBAAgB,KAAK,iBAAiB,SAAS,EAAG,QAAO,KAAK;AAAA,IAC3E,MAAM;AAAA,IACN,WAAW;AAAA,EACb,CAAE;AACD,MAAI,OAAO,QAAQ,YAAY,UAAU;AACxC,QAAI,QAAQ,QAAQ,SAAS,EAAG,QAAO,KAAK;AAAA,MAC3C,MAAM;AAAA,MACN,MAAM,QAAQ;AAAA,IACjB,CAAG;AAAA,EACF,MAAO,YAAW,SAAS,QAAQ,QAAS,KAAI,OAAO,UAAU,YAAY,UAAU,SAAS,MAAM,SAAS,UAAU,UAAU,SAAS,UAAU,MAAM,IAAI,EAAG,QAAO,KAAK;AAAA,IAC9K,MAAM;AAAA,IACN,MAAM,MAAM;AAAA,EACd,CAAE;AACD,aAAW,YAAY,QAAQ,cAAc,CAAA,EAAI,QAAO,KAAK;AAAA,IAC5D,MAAM;AAAA,IACN,IAAI,SAAS;AAAA,IACb,MAAM,SAAS;AAAA,IACf,MAAM,SAAS;AAAA,EACjB,CAAE;AACD,SAAO;AACR;AACK,MAAC,uBAAuB;AAAA,EAC5B,kBAAkB;AAAA,EAClB,uBAAuB;AACxB;","x_google_ignoreList":[0]}
@@ -1,185 +1,46 @@
1
- import { __export } from "./index.es48.js";
2
- import { AsyncLocalStorageProviderSingleton } from "./index.es84.js";
3
- import "./index.es85.js";
4
- import { pickRunnableConfigKeys } from "./index.es86.js";
5
- import { raceWithSignal } from "./index.es87.js";
6
- var stream_exports = {};
7
- __export(stream_exports, {
8
- AsyncGeneratorWithSetup: () => AsyncGeneratorWithSetup,
9
- IterableReadableStream: () => IterableReadableStream,
10
- atee: () => atee,
11
- concat: () => concat,
12
- pipeGeneratorWithSetup: () => pipeGeneratorWithSetup
13
- });
14
- var IterableReadableStream = class IterableReadableStream2 extends ReadableStream {
15
- reader;
16
- ensureReader() {
17
- if (!this.reader) this.reader = this.getReader();
18
- }
19
- async next() {
20
- this.ensureReader();
21
- try {
22
- const result = await this.reader.read();
23
- if (result.done) {
24
- this.reader.releaseLock();
25
- return {
26
- done: true,
27
- value: void 0
28
- };
29
- } else return {
30
- done: false,
31
- value: result.value
32
- };
33
- } catch (e) {
34
- this.reader.releaseLock();
35
- throw e;
36
- }
37
- }
38
- async return() {
39
- this.ensureReader();
40
- if (this.locked) {
41
- const cancelPromise = this.reader.cancel();
42
- this.reader.releaseLock();
43
- await cancelPromise;
1
+ import { _isObject, _isArray, _isString } from "./index.es81.js";
2
+ function convertToV1FromXAIMessage(message) {
3
+ const blocks = [];
4
+ if (_isObject(message.additional_kwargs?.reasoning)) {
5
+ const reasoning = message.additional_kwargs.reasoning;
6
+ if (_isArray(reasoning.summary)) {
7
+ const summaryText = reasoning.summary.reduce((acc, item) => {
8
+ if (_isObject(item) && _isString(item.text)) return `${acc}${item.text}`;
9
+ return acc;
10
+ }, "");
11
+ if (summaryText.length > 0) blocks.push({
12
+ type: "reasoning",
13
+ reasoning: summaryText
14
+ });
44
15
  }
45
- return {
46
- done: true,
47
- value: void 0
48
- };
49
- }
50
- async throw(e) {
51
- this.ensureReader();
52
- if (this.locked) {
53
- const cancelPromise = this.reader.cancel();
54
- this.reader.releaseLock();
55
- await cancelPromise;
56
- }
57
- throw e;
58
- }
59
- [Symbol.asyncIterator]() {
60
- return this;
61
16
  }
62
- async [Symbol.asyncDispose]() {
63
- await this.return();
64
- }
65
- static fromReadableStream(stream) {
66
- const reader = stream.getReader();
67
- return new IterableReadableStream2({
68
- start(controller) {
69
- return pump();
70
- function pump() {
71
- return reader.read().then(({ done, value }) => {
72
- if (done) {
73
- controller.close();
74
- return;
75
- }
76
- controller.enqueue(value);
77
- return pump();
78
- });
79
- }
80
- },
81
- cancel() {
82
- reader.releaseLock();
83
- }
84
- });
85
- }
86
- static fromAsyncGenerator(generator) {
87
- return new IterableReadableStream2({
88
- async pull(controller) {
89
- const { value, done } = await generator.next();
90
- if (done) controller.close();
91
- controller.enqueue(value);
92
- },
93
- async cancel(reason) {
94
- await generator.return(reason);
95
- }
96
- });
97
- }
98
- };
99
- function atee(iter, length = 2) {
100
- const buffers = Array.from({ length }, () => []);
101
- return buffers.map(async function* makeIter(buffer) {
102
- while (true) if (buffer.length === 0) {
103
- const result = await iter.next();
104
- for (const buffer$1 of buffers) buffer$1.push(result);
105
- } else if (buffer[0].done) return;
106
- else yield buffer.shift().value;
17
+ const reasoningContent = message.additional_kwargs?.reasoning_content;
18
+ if (_isString(reasoningContent) && reasoningContent.length > 0) blocks.push({
19
+ type: "reasoning",
20
+ reasoning: reasoningContent
107
21
  });
108
- }
109
- function concat(first, second) {
110
- if (Array.isArray(first) && Array.isArray(second)) return first.concat(second);
111
- else if (typeof first === "string" && typeof second === "string") return first + second;
112
- else if (typeof first === "number" && typeof second === "number") return first + second;
113
- else if ("concat" in first && typeof first.concat === "function") return first.concat(second);
114
- else if (typeof first === "object" && typeof second === "object") {
115
- const chunk = { ...first };
116
- for (const [key, value] of Object.entries(second)) if (key in chunk && !Array.isArray(chunk[key])) chunk[key] = concat(chunk[key], value);
117
- else chunk[key] = value;
118
- return chunk;
119
- } else throw new Error(`Cannot concat ${typeof first} and ${typeof second}`);
120
- }
121
- var AsyncGeneratorWithSetup = class {
122
- generator;
123
- setup;
124
- config;
125
- signal;
126
- firstResult;
127
- firstResultUsed = false;
128
- constructor(params) {
129
- this.generator = params.generator;
130
- this.config = params.config;
131
- this.signal = params.signal ?? this.config?.signal;
132
- this.setup = new Promise((resolve, reject) => {
133
- AsyncLocalStorageProviderSingleton.runWithConfig(pickRunnableConfigKeys(params.config), async () => {
134
- this.firstResult = params.generator.next();
135
- if (params.startSetup) this.firstResult.then(params.startSetup).then(resolve, reject);
136
- else this.firstResult.then((_result) => resolve(void 0), reject);
137
- }, true);
22
+ if (typeof message.content === "string") {
23
+ if (message.content.length > 0) blocks.push({
24
+ type: "text",
25
+ text: message.content
138
26
  });
139
- }
140
- async next(...args) {
141
- this.signal?.throwIfAborted();
142
- if (!this.firstResultUsed) {
143
- this.firstResultUsed = true;
144
- return this.firstResult;
145
- }
146
- return AsyncLocalStorageProviderSingleton.runWithConfig(pickRunnableConfigKeys(this.config), this.signal ? async () => {
147
- return raceWithSignal(this.generator.next(...args), this.signal);
148
- } : async () => {
149
- return this.generator.next(...args);
150
- }, true);
151
- }
152
- async return(value) {
153
- return this.generator.return(value);
154
- }
155
- async throw(e) {
156
- return this.generator.throw(e);
157
- }
158
- [Symbol.asyncIterator]() {
159
- return this;
160
- }
161
- async [Symbol.asyncDispose]() {
162
- await this.return();
163
- }
164
- };
165
- async function pipeGeneratorWithSetup(to, generator, startSetup, signal, ...args) {
166
- const gen = new AsyncGeneratorWithSetup({
167
- generator,
168
- startSetup,
169
- signal
27
+ } else for (const block of message.content) if (typeof block === "object" && "type" in block && block.type === "text" && "text" in block && _isString(block.text)) blocks.push({
28
+ type: "text",
29
+ text: block.text
30
+ });
31
+ for (const toolCall of message.tool_calls ?? []) blocks.push({
32
+ type: "tool_call",
33
+ id: toolCall.id,
34
+ name: toolCall.name,
35
+ args: toolCall.args
170
36
  });
171
- const setup = await gen.setup;
172
- return {
173
- output: to(gen, setup, ...args),
174
- setup
175
- };
37
+ return blocks;
176
38
  }
39
+ const ChatXAITranslator = {
40
+ translateContent: convertToV1FromXAIMessage,
41
+ translateContentChunk: convertToV1FromXAIMessage
42
+ };
177
43
  export {
178
- AsyncGeneratorWithSetup,
179
- IterableReadableStream,
180
- atee,
181
- concat,
182
- pipeGeneratorWithSetup,
183
- stream_exports
44
+ ChatXAITranslator
184
45
  };
185
46
  //# sourceMappingURL=index.es88.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es88.js","sources":["../node_modules/.pnpm/@langchain+core@1.1.13_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/utils/stream.js"],"sourcesContent":["import { __export } from \"../_virtual/rolldown_runtime.js\";\nimport { AsyncLocalStorageProviderSingleton } from \"../singletons/async_local_storage/index.js\";\nimport \"../singletons/index.js\";\nimport { pickRunnableConfigKeys } from \"../runnables/config.js\";\nimport { raceWithSignal } from \"./signal.js\";\n\n//#region src/utils/stream.ts\nvar stream_exports = {};\n__export(stream_exports, {\n\tAsyncGeneratorWithSetup: () => AsyncGeneratorWithSetup,\n\tIterableReadableStream: () => IterableReadableStream,\n\tatee: () => atee,\n\tconcat: () => concat,\n\tpipeGeneratorWithSetup: () => pipeGeneratorWithSetup\n});\nvar IterableReadableStream = class IterableReadableStream extends ReadableStream {\n\treader;\n\tensureReader() {\n\t\tif (!this.reader) this.reader = this.getReader();\n\t}\n\tasync next() {\n\t\tthis.ensureReader();\n\t\ttry {\n\t\t\tconst result = await this.reader.read();\n\t\t\tif (result.done) {\n\t\t\t\tthis.reader.releaseLock();\n\t\t\t\treturn {\n\t\t\t\t\tdone: true,\n\t\t\t\t\tvalue: void 0\n\t\t\t\t};\n\t\t\t} else return {\n\t\t\t\tdone: false,\n\t\t\t\tvalue: result.value\n\t\t\t};\n\t\t} catch (e) {\n\t\t\tthis.reader.releaseLock();\n\t\t\tthrow e;\n\t\t}\n\t}\n\tasync return() {\n\t\tthis.ensureReader();\n\t\tif (this.locked) {\n\t\t\tconst cancelPromise = this.reader.cancel();\n\t\t\tthis.reader.releaseLock();\n\t\t\tawait cancelPromise;\n\t\t}\n\t\treturn {\n\t\t\tdone: true,\n\t\t\tvalue: void 0\n\t\t};\n\t}\n\tasync throw(e) {\n\t\tthis.ensureReader();\n\t\tif (this.locked) {\n\t\t\tconst cancelPromise = this.reader.cancel();\n\t\t\tthis.reader.releaseLock();\n\t\t\tawait cancelPromise;\n\t\t}\n\t\tthrow e;\n\t}\n\t[Symbol.asyncIterator]() {\n\t\treturn this;\n\t}\n\tasync [Symbol.asyncDispose]() {\n\t\tawait this.return();\n\t}\n\tstatic fromReadableStream(stream) {\n\t\tconst reader = stream.getReader();\n\t\treturn new IterableReadableStream({\n\t\t\tstart(controller) {\n\t\t\t\treturn pump();\n\t\t\t\tfunction pump() {\n\t\t\t\t\treturn reader.read().then(({ done, value }) => {\n\t\t\t\t\t\tif (done) {\n\t\t\t\t\t\t\tcontroller.close();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontroller.enqueue(value);\n\t\t\t\t\t\treturn pump();\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tcancel() {\n\t\t\t\treader.releaseLock();\n\t\t\t}\n\t\t});\n\t}\n\tstatic fromAsyncGenerator(generator) {\n\t\treturn new IterableReadableStream({\n\t\t\tasync pull(controller) {\n\t\t\t\tconst { value, done } = await generator.next();\n\t\t\t\tif (done) controller.close();\n\t\t\t\tcontroller.enqueue(value);\n\t\t\t},\n\t\t\tasync cancel(reason) {\n\t\t\t\tawait generator.return(reason);\n\t\t\t}\n\t\t});\n\t}\n};\nfunction atee(iter, length = 2) {\n\tconst buffers = Array.from({ length }, () => []);\n\treturn buffers.map(async function* makeIter(buffer) {\n\t\twhile (true) if (buffer.length === 0) {\n\t\t\tconst result = await iter.next();\n\t\t\tfor (const buffer$1 of buffers) buffer$1.push(result);\n\t\t} else if (buffer[0].done) return;\n\t\telse yield buffer.shift().value;\n\t});\n}\nfunction concat(first, second) {\n\tif (Array.isArray(first) && Array.isArray(second)) return first.concat(second);\n\telse if (typeof first === \"string\" && typeof second === \"string\") return first + second;\n\telse if (typeof first === \"number\" && typeof second === \"number\") return first + second;\n\telse if (\"concat\" in first && typeof first.concat === \"function\") return first.concat(second);\n\telse if (typeof first === \"object\" && typeof second === \"object\") {\n\t\tconst chunk = { ...first };\n\t\tfor (const [key, value] of Object.entries(second)) if (key in chunk && !Array.isArray(chunk[key])) chunk[key] = concat(chunk[key], value);\n\t\telse chunk[key] = value;\n\t\treturn chunk;\n\t} else throw new Error(`Cannot concat ${typeof first} and ${typeof second}`);\n}\nvar AsyncGeneratorWithSetup = class {\n\tgenerator;\n\tsetup;\n\tconfig;\n\tsignal;\n\tfirstResult;\n\tfirstResultUsed = false;\n\tconstructor(params) {\n\t\tthis.generator = params.generator;\n\t\tthis.config = params.config;\n\t\tthis.signal = params.signal ?? this.config?.signal;\n\t\tthis.setup = new Promise((resolve, reject) => {\n\t\t\tAsyncLocalStorageProviderSingleton.runWithConfig(pickRunnableConfigKeys(params.config), async () => {\n\t\t\t\tthis.firstResult = params.generator.next();\n\t\t\t\tif (params.startSetup) this.firstResult.then(params.startSetup).then(resolve, reject);\n\t\t\t\telse this.firstResult.then((_result) => resolve(void 0), reject);\n\t\t\t}, true);\n\t\t});\n\t}\n\tasync next(...args) {\n\t\tthis.signal?.throwIfAborted();\n\t\tif (!this.firstResultUsed) {\n\t\t\tthis.firstResultUsed = true;\n\t\t\treturn this.firstResult;\n\t\t}\n\t\treturn AsyncLocalStorageProviderSingleton.runWithConfig(pickRunnableConfigKeys(this.config), this.signal ? async () => {\n\t\t\treturn raceWithSignal(this.generator.next(...args), this.signal);\n\t\t} : async () => {\n\t\t\treturn this.generator.next(...args);\n\t\t}, true);\n\t}\n\tasync return(value) {\n\t\treturn this.generator.return(value);\n\t}\n\tasync throw(e) {\n\t\treturn this.generator.throw(e);\n\t}\n\t[Symbol.asyncIterator]() {\n\t\treturn this;\n\t}\n\tasync [Symbol.asyncDispose]() {\n\t\tawait this.return();\n\t}\n};\nasync function pipeGeneratorWithSetup(to, generator, startSetup, signal, ...args) {\n\tconst gen = new AsyncGeneratorWithSetup({\n\t\tgenerator,\n\t\tstartSetup,\n\t\tsignal\n\t});\n\tconst setup = await gen.setup;\n\treturn {\n\t\toutput: to(gen, setup, ...args),\n\t\tsetup\n\t};\n}\n\n//#endregion\nexport { AsyncGeneratorWithSetup, IterableReadableStream, atee, concat, pipeGeneratorWithSetup, stream_exports };\n//# sourceMappingURL=stream.js.map"],"names":["IterableReadableStream"],"mappings":";;;;;AAOG,IAAC,iBAAiB,CAAA;AACrB,SAAS,gBAAgB;AAAA,EACxB,yBAAyB,MAAM;AAAA,EAC/B,wBAAwB,MAAM;AAAA,EAC9B,MAAM,MAAM;AAAA,EACZ,QAAQ,MAAM;AAAA,EACd,wBAAwB,MAAM;AAC/B,CAAC;AACE,IAAC,yBAAyB,MAAMA,gCAA+B,eAAe;AAAA,EAChF;AAAA,EACA,eAAe;AACd,QAAI,CAAC,KAAK,OAAQ,MAAK,SAAS,KAAK,UAAS;AAAA,EAC/C;AAAA,EACA,MAAM,OAAO;AACZ,SAAK,aAAY;AACjB,QAAI;AACH,YAAM,SAAS,MAAM,KAAK,OAAO,KAAI;AACrC,UAAI,OAAO,MAAM;AAChB,aAAK,OAAO,YAAW;AACvB,eAAO;AAAA,UACN,MAAM;AAAA,UACN,OAAO;AAAA,QACZ;AAAA,MACG,MAAO,QAAO;AAAA,QACb,MAAM;AAAA,QACN,OAAO,OAAO;AAAA,MAClB;AAAA,IACE,SAAS,GAAG;AACX,WAAK,OAAO,YAAW;AACvB,YAAM;AAAA,IACP;AAAA,EACD;AAAA,EACA,MAAM,SAAS;AACd,SAAK,aAAY;AACjB,QAAI,KAAK,QAAQ;AAChB,YAAM,gBAAgB,KAAK,OAAO,OAAM;AACxC,WAAK,OAAO,YAAW;AACvB,YAAM;AAAA,IACP;AACA,WAAO;AAAA,MACN,MAAM;AAAA,MACN,OAAO;AAAA,IACV;AAAA,EACC;AAAA,EACA,MAAM,MAAM,GAAG;AACd,SAAK,aAAY;AACjB,QAAI,KAAK,QAAQ;AAChB,YAAM,gBAAgB,KAAK,OAAO,OAAM;AACxC,WAAK,OAAO,YAAW;AACvB,YAAM;AAAA,IACP;AACA,UAAM;AAAA,EACP;AAAA,EACA,CAAC,OAAO,aAAa,IAAI;AACxB,WAAO;AAAA,EACR;AAAA,EACA,OAAO,OAAO,YAAY,IAAI;AAC7B,UAAM,KAAK,OAAM;AAAA,EAClB;AAAA,EACA,OAAO,mBAAmB,QAAQ;AACjC,UAAM,SAAS,OAAO,UAAS;AAC/B,WAAO,IAAIA,wBAAuB;AAAA,MACjC,MAAM,YAAY;AACjB,eAAO,KAAI;AACX,iBAAS,OAAO;AACf,iBAAO,OAAO,OAAO,KAAK,CAAC,EAAE,MAAM,YAAY;AAC9C,gBAAI,MAAM;AACT,yBAAW,MAAK;AAChB;AAAA,YACD;AACA,uBAAW,QAAQ,KAAK;AACxB,mBAAO,KAAI;AAAA,UACZ,CAAC;AAAA,QACF;AAAA,MACD;AAAA,MACA,SAAS;AACR,eAAO,YAAW;AAAA,MACnB;AAAA,IACH,CAAG;AAAA,EACF;AAAA,EACA,OAAO,mBAAmB,WAAW;AACpC,WAAO,IAAIA,wBAAuB;AAAA,MACjC,MAAM,KAAK,YAAY;AACtB,cAAM,EAAE,OAAO,KAAI,IAAK,MAAM,UAAU,KAAI;AAC5C,YAAI,KAAM,YAAW,MAAK;AAC1B,mBAAW,QAAQ,KAAK;AAAA,MACzB;AAAA,MACA,MAAM,OAAO,QAAQ;AACpB,cAAM,UAAU,OAAO,MAAM;AAAA,MAC9B;AAAA,IACH,CAAG;AAAA,EACF;AACD;AACA,SAAS,KAAK,MAAM,SAAS,GAAG;AAC/B,QAAM,UAAU,MAAM,KAAK,EAAE,OAAM,GAAI,MAAM,EAAE;AAC/C,SAAO,QAAQ,IAAI,gBAAgB,SAAS,QAAQ;AACnD,WAAO,KAAM,KAAI,OAAO,WAAW,GAAG;AACrC,YAAM,SAAS,MAAM,KAAK,KAAI;AAC9B,iBAAW,YAAY,QAAS,UAAS,KAAK,MAAM;AAAA,IACrD,WAAW,OAAO,CAAC,EAAE,KAAM;AAAA,QACtB,OAAM,OAAO,MAAK,EAAG;AAAA,EAC3B,CAAC;AACF;AACA,SAAS,OAAO,OAAO,QAAQ;AAC9B,MAAI,MAAM,QAAQ,KAAK,KAAK,MAAM,QAAQ,MAAM,EAAG,QAAO,MAAM,OAAO,MAAM;AAAA,WACpE,OAAO,UAAU,YAAY,OAAO,WAAW,SAAU,QAAO,QAAQ;AAAA,WACxE,OAAO,UAAU,YAAY,OAAO,WAAW,SAAU,QAAO,QAAQ;AAAA,WACxE,YAAY,SAAS,OAAO,MAAM,WAAW,WAAY,QAAO,MAAM,OAAO,MAAM;AAAA,WACnF,OAAO,UAAU,YAAY,OAAO,WAAW,UAAU;AACjE,UAAM,QAAQ,EAAE,GAAG,MAAK;AACxB,eAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,MAAM,EAAG,KAAI,OAAO,SAAS,CAAC,MAAM,QAAQ,MAAM,GAAG,CAAC,EAAG,OAAM,GAAG,IAAI,OAAO,MAAM,GAAG,GAAG,KAAK;AAAA,QACnI,OAAM,GAAG,IAAI;AAClB,WAAO;AAAA,EACR,MAAO,OAAM,IAAI,MAAM,iBAAiB,OAAO,KAAK,QAAQ,OAAO,MAAM,EAAE;AAC5E;AACG,IAAC,0BAA0B,MAAM;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,kBAAkB;AAAA,EAClB,YAAY,QAAQ;AACnB,SAAK,YAAY,OAAO;AACxB,SAAK,SAAS,OAAO;AACrB,SAAK,SAAS,OAAO,UAAU,KAAK,QAAQ;AAC5C,SAAK,QAAQ,IAAI,QAAQ,CAAC,SAAS,WAAW;AAC7C,yCAAmC,cAAc,uBAAuB,OAAO,MAAM,GAAG,YAAY;AACnG,aAAK,cAAc,OAAO,UAAU,KAAI;AACxC,YAAI,OAAO,WAAY,MAAK,YAAY,KAAK,OAAO,UAAU,EAAE,KAAK,SAAS,MAAM;AAAA,YAC/E,MAAK,YAAY,KAAK,CAAC,YAAY,QAAQ,MAAM,GAAG,MAAM;AAAA,MAChE,GAAG,IAAI;AAAA,IACR,CAAC;AAAA,EACF;AAAA,EACA,MAAM,QAAQ,MAAM;AACnB,SAAK,QAAQ,eAAc;AAC3B,QAAI,CAAC,KAAK,iBAAiB;AAC1B,WAAK,kBAAkB;AACvB,aAAO,KAAK;AAAA,IACb;AACA,WAAO,mCAAmC,cAAc,uBAAuB,KAAK,MAAM,GAAG,KAAK,SAAS,YAAY;AACtH,aAAO,eAAe,KAAK,UAAU,KAAK,GAAG,IAAI,GAAG,KAAK,MAAM;AAAA,IAChE,IAAI,YAAY;AACf,aAAO,KAAK,UAAU,KAAK,GAAG,IAAI;AAAA,IACnC,GAAG,IAAI;AAAA,EACR;AAAA,EACA,MAAM,OAAO,OAAO;AACnB,WAAO,KAAK,UAAU,OAAO,KAAK;AAAA,EACnC;AAAA,EACA,MAAM,MAAM,GAAG;AACd,WAAO,KAAK,UAAU,MAAM,CAAC;AAAA,EAC9B;AAAA,EACA,CAAC,OAAO,aAAa,IAAI;AACxB,WAAO;AAAA,EACR;AAAA,EACA,OAAO,OAAO,YAAY,IAAI;AAC7B,UAAM,KAAK,OAAM;AAAA,EAClB;AACD;AACA,eAAe,uBAAuB,IAAI,WAAW,YAAY,WAAW,MAAM;AACjF,QAAM,MAAM,IAAI,wBAAwB;AAAA,IACvC;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAE;AACD,QAAM,QAAQ,MAAM,IAAI;AACxB,SAAO;AAAA,IACN,QAAQ,GAAG,KAAK,OAAO,GAAG,IAAI;AAAA,IAC9B;AAAA,EACF;AACA;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.es88.js","sources":["../node_modules/.pnpm/@langchain+core@1.1.13_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/xai.js"],"sourcesContent":["import { _isArray, _isObject, _isString } from \"./utils.js\";\n\n//#region src/messages/block_translators/xai.ts\n/**\n* Converts an xAI AI message to an array of v1 standard content blocks.\n*\n* This function processes an AI message from xAI's API format\n* and converts it to the standardized v1 content block format. It handles\n* both the responses API (reasoning object with summary) and completions API\n* (reasoning_content string) formats.\n*\n* @param message - The AI message containing xAI-formatted content\n* @returns Array of content blocks in v1 standard format\n*\n* @example\n* ```typescript\n* // Responses API format\n* const message = new AIMessage({\n* content: \"The answer is 42\",\n* additional_kwargs: {\n* reasoning: {\n* id: \"reasoning_123\",\n* type: \"reasoning\",\n* summary: [{ type: \"summary_text\", text: \"Let me think...\" }]\n* }\n* }\n* });\n* const standardBlocks = convertToV1FromXAIMessage(message);\n* // Returns:\n* // [\n* // { type: \"reasoning\", reasoning: \"Let me think...\" },\n* // { type: \"text\", text: \"The answer is 42\" }\n* // ]\n* ```\n*\n* @example\n* ```typescript\n* // Completions API format\n* const message = new AIMessage({\n* content: \"The answer is 42\",\n* additional_kwargs: { reasoning_content: \"Let me think about this...\" }\n* });\n* const standardBlocks = convertToV1FromXAIMessage(message);\n* // Returns:\n* // [\n* // { type: \"reasoning\", reasoning: \"Let me think about this...\" },\n* // { type: \"text\", text: \"The answer is 42\" }\n* // ]\n* ```\n*/\nfunction convertToV1FromXAIMessage(message) {\n\tconst blocks = [];\n\tif (_isObject(message.additional_kwargs?.reasoning)) {\n\t\tconst reasoning = message.additional_kwargs.reasoning;\n\t\tif (_isArray(reasoning.summary)) {\n\t\t\tconst summaryText = reasoning.summary.reduce((acc, item) => {\n\t\t\t\tif (_isObject(item) && _isString(item.text)) return `${acc}${item.text}`;\n\t\t\t\treturn acc;\n\t\t\t}, \"\");\n\t\t\tif (summaryText.length > 0) blocks.push({\n\t\t\t\ttype: \"reasoning\",\n\t\t\t\treasoning: summaryText\n\t\t\t});\n\t\t}\n\t}\n\tconst reasoningContent = message.additional_kwargs?.reasoning_content;\n\tif (_isString(reasoningContent) && reasoningContent.length > 0) blocks.push({\n\t\ttype: \"reasoning\",\n\t\treasoning: reasoningContent\n\t});\n\tif (typeof message.content === \"string\") {\n\t\tif (message.content.length > 0) blocks.push({\n\t\t\ttype: \"text\",\n\t\t\ttext: message.content\n\t\t});\n\t} else for (const block of message.content) if (typeof block === \"object\" && \"type\" in block && block.type === \"text\" && \"text\" in block && _isString(block.text)) blocks.push({\n\t\ttype: \"text\",\n\t\ttext: block.text\n\t});\n\tfor (const toolCall of message.tool_calls ?? []) blocks.push({\n\t\ttype: \"tool_call\",\n\t\tid: toolCall.id,\n\t\tname: toolCall.name,\n\t\targs: toolCall.args\n\t});\n\treturn blocks;\n}\nconst ChatXAITranslator = {\n\ttranslateContent: convertToV1FromXAIMessage,\n\ttranslateContentChunk: convertToV1FromXAIMessage\n};\n\n//#endregion\nexport { ChatXAITranslator };\n//# sourceMappingURL=xai.js.map"],"names":[],"mappings":";AAkDA,SAAS,0BAA0B,SAAS;AAC3C,QAAM,SAAS,CAAA;AACf,MAAI,UAAU,QAAQ,mBAAmB,SAAS,GAAG;AACpD,UAAM,YAAY,QAAQ,kBAAkB;AAC5C,QAAI,SAAS,UAAU,OAAO,GAAG;AAChC,YAAM,cAAc,UAAU,QAAQ,OAAO,CAAC,KAAK,SAAS;AAC3D,YAAI,UAAU,IAAI,KAAK,UAAU,KAAK,IAAI,EAAG,QAAO,GAAG,GAAG,GAAG,KAAK,IAAI;AACtE,eAAO;AAAA,MACR,GAAG,EAAE;AACL,UAAI,YAAY,SAAS,EAAG,QAAO,KAAK;AAAA,QACvC,MAAM;AAAA,QACN,WAAW;AAAA,MACf,CAAI;AAAA,IACF;AAAA,EACD;AACA,QAAM,mBAAmB,QAAQ,mBAAmB;AACpD,MAAI,UAAU,gBAAgB,KAAK,iBAAiB,SAAS,EAAG,QAAO,KAAK;AAAA,IAC3E,MAAM;AAAA,IACN,WAAW;AAAA,EACb,CAAE;AACD,MAAI,OAAO,QAAQ,YAAY,UAAU;AACxC,QAAI,QAAQ,QAAQ,SAAS,EAAG,QAAO,KAAK;AAAA,MAC3C,MAAM;AAAA,MACN,MAAM,QAAQ;AAAA,IACjB,CAAG;AAAA,EACF,MAAO,YAAW,SAAS,QAAQ,QAAS,KAAI,OAAO,UAAU,YAAY,UAAU,SAAS,MAAM,SAAS,UAAU,UAAU,SAAS,UAAU,MAAM,IAAI,EAAG,QAAO,KAAK;AAAA,IAC9K,MAAM;AAAA,IACN,MAAM,MAAM;AAAA,EACd,CAAE;AACD,aAAW,YAAY,QAAQ,cAAc,CAAA,EAAI,QAAO,KAAK;AAAA,IAC5D,MAAM;AAAA,IACN,IAAI,SAAS;AAAA,IACb,MAAM,SAAS;AAAA,IACf,MAAM,SAAS;AAAA,EACjB,CAAE;AACD,SAAO;AACR;AACK,MAAC,oBAAoB;AAAA,EACzB,kBAAkB;AAAA,EAClB,uBAAuB;AACxB;","x_google_ignoreList":[0]}