langgraph-ui-components 0.0.3 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (536) hide show
  1. package/README.md +32 -0
  2. package/dist/index.es10.js +31 -16
  3. package/dist/index.es10.js.map +1 -1
  4. package/dist/index.es100.js +37 -5
  5. package/dist/index.es100.js.map +1 -1
  6. package/dist/index.es101.js +160 -67
  7. package/dist/index.es101.js.map +1 -1
  8. package/dist/index.es102.js +196 -30
  9. package/dist/index.es102.js.map +1 -1
  10. package/dist/index.es103.js +14 -5
  11. package/dist/index.es103.js.map +1 -1
  12. package/dist/index.es104.js +32 -2
  13. package/dist/index.es104.js.map +1 -1
  14. package/dist/index.es105.js +33 -10
  15. package/dist/index.es105.js.map +1 -1
  16. package/dist/index.es106.js +3110 -454
  17. package/dist/index.es106.js.map +1 -1
  18. package/dist/index.es107.js +5 -5
  19. package/dist/index.es108.js +2 -2
  20. package/dist/index.es109.js +12 -142
  21. package/dist/index.es109.js.map +1 -1
  22. package/dist/index.es11.js +146 -120
  23. package/dist/index.es11.js.map +1 -1
  24. package/dist/index.es110.js +11 -906
  25. package/dist/index.es110.js.map +1 -1
  26. package/dist/index.es111.js +483 -262
  27. package/dist/index.es111.js.map +1 -1
  28. package/dist/index.es112.js +7 -4
  29. package/dist/index.es112.js.map +1 -1
  30. package/dist/index.es113.js +2 -446
  31. package/dist/index.es113.js.map +1 -1
  32. package/dist/index.es114.js +141 -41
  33. package/dist/index.es114.js.map +1 -1
  34. package/dist/index.es115.js +904 -20
  35. package/dist/index.es115.js.map +1 -1
  36. package/dist/index.es116.js +267 -66
  37. package/dist/index.es116.js.map +1 -1
  38. package/dist/index.es117.js +3 -130
  39. package/dist/index.es117.js.map +1 -1
  40. package/dist/index.es118.js +437 -42
  41. package/dist/index.es118.js.map +1 -1
  42. package/dist/index.es119.js +46 -10
  43. package/dist/index.es119.js.map +1 -1
  44. package/dist/index.es12.js +13 -103
  45. package/dist/index.es12.js.map +1 -1
  46. package/dist/index.es120.js +22 -45
  47. package/dist/index.es120.js.map +1 -1
  48. package/dist/index.es121.js +72 -92
  49. package/dist/index.es121.js.map +1 -1
  50. package/dist/index.es122.js +126 -50
  51. package/dist/index.es122.js.map +1 -1
  52. package/dist/index.es123.js +46 -13
  53. package/dist/index.es123.js.map +1 -1
  54. package/dist/index.es124.js +9 -14
  55. package/dist/index.es124.js.map +1 -1
  56. package/dist/index.es125.js +45 -89
  57. package/dist/index.es125.js.map +1 -1
  58. package/dist/index.es126.js +99 -2
  59. package/dist/index.es126.js.map +1 -1
  60. package/dist/index.es127.js +48 -51
  61. package/dist/index.es127.js.map +1 -1
  62. package/dist/index.es128.js +14 -99
  63. package/dist/index.es128.js.map +1 -1
  64. package/dist/index.es129.js +88 -190
  65. package/dist/index.es129.js.map +1 -1
  66. package/dist/index.es13.js +126 -33
  67. package/dist/index.es13.js.map +1 -1
  68. package/dist/index.es130.js +2 -110
  69. package/dist/index.es130.js.map +1 -1
  70. package/dist/index.es131.js +163 -34
  71. package/dist/index.es131.js.map +1 -1
  72. package/dist/index.es132.js +2 -10
  73. package/dist/index.es132.js.map +1 -1
  74. package/dist/index.es133.js +55 -10
  75. package/dist/index.es133.js.map +1 -1
  76. package/dist/index.es134.js +99 -11
  77. package/dist/index.es134.js.map +1 -1
  78. package/dist/index.es135.js +181 -81
  79. package/dist/index.es135.js.map +1 -1
  80. package/dist/index.es136.js +105 -270
  81. package/dist/index.es136.js.map +1 -1
  82. package/dist/index.es137.js +35 -2
  83. package/dist/index.es137.js.map +1 -1
  84. package/dist/index.es138.js +10 -164
  85. package/dist/index.es138.js.map +1 -1
  86. package/dist/index.es139.js +11 -51
  87. package/dist/index.es139.js.map +1 -1
  88. package/dist/index.es140.js +11 -39
  89. package/dist/index.es140.js.map +1 -1
  90. package/dist/index.es141.js +89 -33
  91. package/dist/index.es141.js.map +1 -1
  92. package/dist/index.es142.js +264 -29
  93. package/dist/index.es142.js.map +1 -1
  94. package/dist/index.es143.js +2 -24
  95. package/dist/index.es143.js.map +1 -1
  96. package/dist/index.es144.js +158 -585
  97. package/dist/index.es144.js.map +1 -1
  98. package/dist/index.es145.js +44 -118
  99. package/dist/index.es145.js.map +1 -1
  100. package/dist/index.es146.js +34 -158
  101. package/dist/index.es146.js.map +1 -1
  102. package/dist/index.es147.js +35 -2
  103. package/dist/index.es147.js.map +1 -1
  104. package/dist/index.es148.js +40 -2
  105. package/dist/index.es148.js.map +1 -1
  106. package/dist/index.es149.js +24 -2
  107. package/dist/index.es149.js.map +1 -1
  108. package/dist/index.es15.js +15 -15
  109. package/dist/index.es150.js +589 -20
  110. package/dist/index.es150.js.map +1 -1
  111. package/dist/index.es151.js +125 -2
  112. package/dist/index.es151.js.map +1 -1
  113. package/dist/index.es152.js +3 -24
  114. package/dist/index.es152.js.map +1 -1
  115. package/dist/index.es153.js +2 -4
  116. package/dist/index.es153.js.map +1 -1
  117. package/dist/index.es154.js +2 -5
  118. package/dist/index.es154.js.map +1 -1
  119. package/dist/index.es155.js +22 -13
  120. package/dist/index.es155.js.map +1 -1
  121. package/dist/index.es156.js +2 -6
  122. package/dist/index.es156.js.map +1 -1
  123. package/dist/index.es157.js +25 -8
  124. package/dist/index.es157.js.map +1 -1
  125. package/dist/index.es158.js +5 -64
  126. package/dist/index.es158.js.map +1 -1
  127. package/dist/index.es159.js +12 -21
  128. package/dist/index.es159.js.map +1 -1
  129. package/dist/index.es16.js +2 -2
  130. package/dist/index.es160.js +5 -5
  131. package/dist/index.es160.js.map +1 -1
  132. package/dist/index.es161.js +8 -349
  133. package/dist/index.es161.js.map +1 -1
  134. package/dist/index.es162.js +1 -1
  135. package/dist/index.es163.js +1 -1
  136. package/dist/index.es164.js +3 -3
  137. package/dist/index.es165.js +63 -6
  138. package/dist/index.es165.js.map +1 -1
  139. package/dist/index.es166.js +21 -102
  140. package/dist/index.es166.js.map +1 -1
  141. package/dist/index.es167.js +5 -118
  142. package/dist/index.es167.js.map +1 -1
  143. package/dist/index.es168.js +330 -117
  144. package/dist/index.es168.js.map +1 -1
  145. package/dist/index.es169.js +6 -114
  146. package/dist/index.es169.js.map +1 -1
  147. package/dist/index.es17.js +2 -2
  148. package/dist/index.es170.js +103 -6
  149. package/dist/index.es170.js.map +1 -1
  150. package/dist/index.es171.js +119 -2
  151. package/dist/index.es171.js.map +1 -1
  152. package/dist/index.es172.js +134 -140
  153. package/dist/index.es172.js.map +1 -1
  154. package/dist/index.es173.js +115 -2
  155. package/dist/index.es173.js.map +1 -1
  156. package/dist/index.es174.js +6 -3737
  157. package/dist/index.es174.js.map +1 -1
  158. package/dist/index.es175.js +2 -342
  159. package/dist/index.es175.js.map +1 -1
  160. package/dist/index.es176.js +138 -105
  161. package/dist/index.es176.js.map +1 -1
  162. package/dist/index.es177.js +2 -133
  163. package/dist/index.es177.js.map +1 -1
  164. package/dist/index.es178.js +3734 -12
  165. package/dist/index.es178.js.map +1 -1
  166. package/dist/index.es179.js +326 -136
  167. package/dist/index.es179.js.map +1 -1
  168. package/dist/index.es180.js +107 -13
  169. package/dist/index.es180.js.map +1 -1
  170. package/dist/index.es181.js +131 -6
  171. package/dist/index.es181.js.map +1 -1
  172. package/dist/index.es182.js +13 -19
  173. package/dist/index.es182.js.map +1 -1
  174. package/dist/index.es183.js +139 -77
  175. package/dist/index.es183.js.map +1 -1
  176. package/dist/index.es184.js +13 -241
  177. package/dist/index.es184.js.map +1 -1
  178. package/dist/index.es185.js +8 -24
  179. package/dist/index.es185.js.map +1 -1
  180. package/dist/index.es186.js +21 -6
  181. package/dist/index.es186.js.map +1 -1
  182. package/dist/index.es187.js +90 -4
  183. package/dist/index.es187.js.map +1 -1
  184. package/dist/index.es188.js +240 -15
  185. package/dist/index.es188.js.map +1 -1
  186. package/dist/index.es189.js +24 -8
  187. package/dist/index.es189.js.map +1 -1
  188. package/dist/index.es19.js +15 -119
  189. package/dist/index.es19.js.map +1 -1
  190. package/dist/index.es190.js +5 -31
  191. package/dist/index.es190.js.map +1 -1
  192. package/dist/index.es191.js +4 -6
  193. package/dist/index.es191.js.map +1 -1
  194. package/dist/index.es192.js +17 -105
  195. package/dist/index.es192.js.map +1 -1
  196. package/dist/index.es193.js +6 -11
  197. package/dist/index.es193.js.map +1 -1
  198. package/dist/index.es194.js +32 -18
  199. package/dist/index.es194.js.map +1 -1
  200. package/dist/index.es195.js +6 -31
  201. package/dist/index.es195.js.map +1 -1
  202. package/dist/index.es196.js +106 -4
  203. package/dist/index.es196.js.map +1 -1
  204. package/dist/index.es197.js +12 -4
  205. package/dist/index.es197.js.map +1 -1
  206. package/dist/index.es198.js +17 -4
  207. package/dist/index.es198.js.map +1 -1
  208. package/dist/index.es199.js +21 -27
  209. package/dist/index.es199.js.map +1 -1
  210. package/dist/index.es2.js +25 -16
  211. package/dist/index.es2.js.map +1 -1
  212. package/dist/index.es20.js +37 -17
  213. package/dist/index.es20.js.map +1 -1
  214. package/dist/index.es200.js +3 -7
  215. package/dist/index.es200.js.map +1 -1
  216. package/dist/index.es201.js +3 -4
  217. package/dist/index.es201.js.map +1 -1
  218. package/dist/index.es202.js +5 -7
  219. package/dist/index.es202.js.map +1 -1
  220. package/dist/index.es203.js +36 -41
  221. package/dist/index.es203.js.map +1 -1
  222. package/dist/index.es204.js +5 -10
  223. package/dist/index.es204.js.map +1 -1
  224. package/dist/index.es205.js +5 -241
  225. package/dist/index.es205.js.map +1 -1
  226. package/dist/index.es206.js +5 -49
  227. package/dist/index.es206.js.map +1 -1
  228. package/dist/index.es207.js +29 -22
  229. package/dist/index.es207.js.map +1 -1
  230. package/dist/index.es208.js +10 -10
  231. package/dist/index.es208.js.map +1 -1
  232. package/dist/index.es209.js +241 -7
  233. package/dist/index.es209.js.map +1 -1
  234. package/dist/index.es21.js +27 -67
  235. package/dist/index.es21.js.map +1 -1
  236. package/dist/index.es210.js +50 -6
  237. package/dist/index.es210.js.map +1 -1
  238. package/dist/index.es211.js +30 -60
  239. package/dist/index.es211.js.map +1 -1
  240. package/dist/index.es212.js +11 -39
  241. package/dist/index.es212.js.map +1 -1
  242. package/dist/index.es213.js +7 -31
  243. package/dist/index.es213.js.map +1 -1
  244. package/dist/index.es214.js +6 -61
  245. package/dist/index.es214.js.map +1 -1
  246. package/dist/index.es215.js +58 -8
  247. package/dist/index.es215.js.map +1 -1
  248. package/dist/index.es216.js +34 -16
  249. package/dist/index.es216.js.map +1 -1
  250. package/dist/index.es217.js +31 -4
  251. package/dist/index.es217.js.map +1 -1
  252. package/dist/index.es218.js +58 -13
  253. package/dist/index.es218.js.map +1 -1
  254. package/dist/index.es219.js +14 -32
  255. package/dist/index.es219.js.map +1 -1
  256. package/dist/index.es22.js +140 -30
  257. package/dist/index.es22.js.map +1 -1
  258. package/dist/index.es220.js +23 -5
  259. package/dist/index.es220.js.map +1 -1
  260. package/dist/index.es221.js +4 -4
  261. package/dist/index.es221.js.map +1 -1
  262. package/dist/index.es222.js +16 -4
  263. package/dist/index.es222.js.map +1 -1
  264. package/dist/index.es223.js +32 -7
  265. package/dist/index.es223.js.map +1 -1
  266. package/dist/index.es224.js +4 -91
  267. package/dist/index.es224.js.map +1 -1
  268. package/dist/index.es225.js +4 -17
  269. package/dist/index.es225.js.map +1 -1
  270. package/dist/index.es226.js +5 -762
  271. package/dist/index.es226.js.map +1 -1
  272. package/dist/index.es227.js +8 -66
  273. package/dist/index.es227.js.map +1 -1
  274. package/dist/index.es228.js +83 -165
  275. package/dist/index.es228.js.map +1 -1
  276. package/dist/index.es229.js +16 -36
  277. package/dist/index.es229.js.map +1 -1
  278. package/dist/index.es23.js +17 -32
  279. package/dist/index.es23.js.map +1 -1
  280. package/dist/index.es230.js +761 -136
  281. package/dist/index.es230.js.map +1 -1
  282. package/dist/index.es231.js +66 -93
  283. package/dist/index.es231.js.map +1 -1
  284. package/dist/index.es232.js +172 -31
  285. package/dist/index.es232.js.map +1 -1
  286. package/dist/index.es233.js +129 -277
  287. package/dist/index.es233.js.map +1 -1
  288. package/dist/index.es234.js +92 -25
  289. package/dist/index.es234.js.map +1 -1
  290. package/dist/index.es235.js +31 -22
  291. package/dist/index.es235.js.map +1 -1
  292. package/dist/index.es236.js +284 -14
  293. package/dist/index.es236.js.map +1 -1
  294. package/dist/index.es237.js +24 -13
  295. package/dist/index.es237.js.map +1 -1
  296. package/dist/index.es238.js +17 -19
  297. package/dist/index.es238.js.map +1 -1
  298. package/dist/index.es239.js +12 -43
  299. package/dist/index.es239.js.map +1 -1
  300. package/dist/index.es24.js +57 -136
  301. package/dist/index.es24.js.map +1 -1
  302. package/dist/index.es240.js +14 -11
  303. package/dist/index.es240.js.map +1 -1
  304. package/dist/index.es241.js +24 -10
  305. package/dist/index.es241.js.map +1 -1
  306. package/dist/index.es242.js +45 -11
  307. package/dist/index.es242.js.map +1 -1
  308. package/dist/index.es243.js +11 -14
  309. package/dist/index.es243.js.map +1 -1
  310. package/dist/index.es244.js +10 -10
  311. package/dist/index.es244.js.map +1 -1
  312. package/dist/index.es245.js +11 -11
  313. package/dist/index.es245.js.map +1 -1
  314. package/dist/index.es246.js +14 -11
  315. package/dist/index.es246.js.map +1 -1
  316. package/dist/index.es247.js +10 -14
  317. package/dist/index.es247.js.map +1 -1
  318. package/dist/index.es248.js +11 -11
  319. package/dist/index.es248.js.map +1 -1
  320. package/dist/index.es249.js +11 -11
  321. package/dist/index.es249.js.map +1 -1
  322. package/dist/index.es25.js +298 -94
  323. package/dist/index.es25.js.map +1 -1
  324. package/dist/index.es250.js +15 -11
  325. package/dist/index.es250.js.map +1 -1
  326. package/dist/index.es251.js +11 -11
  327. package/dist/index.es251.js.map +1 -1
  328. package/dist/index.es252.js +11 -11
  329. package/dist/index.es252.js.map +1 -1
  330. package/dist/index.es253.js +10 -10
  331. package/dist/index.es253.js.map +1 -1
  332. package/dist/index.es254.js +10 -10
  333. package/dist/index.es254.js.map +1 -1
  334. package/dist/index.es255.js +10 -10
  335. package/dist/index.es255.js.map +1 -1
  336. package/dist/index.es256.js +11 -56
  337. package/dist/index.es256.js.map +1 -1
  338. package/dist/index.es257.js +11 -49
  339. package/dist/index.es257.js.map +1 -1
  340. package/dist/index.es258.js +11 -119
  341. package/dist/index.es258.js.map +1 -1
  342. package/dist/index.es259.js +56 -384
  343. package/dist/index.es259.js.map +1 -1
  344. package/dist/index.es26.js +116 -65
  345. package/dist/index.es26.js.map +1 -1
  346. package/dist/index.es260.js +47 -16
  347. package/dist/index.es260.js.map +1 -1
  348. package/dist/index.es261.js +118 -10
  349. package/dist/index.es261.js.map +1 -1
  350. package/dist/index.es262.js +379 -26
  351. package/dist/index.es262.js.map +1 -1
  352. package/dist/index.es263.js +13 -26
  353. package/dist/index.es263.js.map +1 -1
  354. package/dist/index.es264.js +10 -61
  355. package/dist/index.es264.js.map +1 -1
  356. package/dist/index.es265.js +25 -11
  357. package/dist/index.es265.js.map +1 -1
  358. package/dist/index.es266.js +25 -71
  359. package/dist/index.es266.js.map +1 -1
  360. package/dist/index.es267.js +62 -11
  361. package/dist/index.es267.js.map +1 -1
  362. package/dist/index.es268.js +17 -11
  363. package/dist/index.es268.js.map +1 -1
  364. package/dist/index.es269.js +75 -13
  365. package/dist/index.es269.js.map +1 -1
  366. package/dist/index.es27.js +91 -168
  367. package/dist/index.es27.js.map +1 -1
  368. package/dist/index.es270.js +11 -52
  369. package/dist/index.es270.js.map +1 -1
  370. package/dist/index.es271.js +11 -166
  371. package/dist/index.es271.js.map +1 -1
  372. package/dist/index.es272.js +16 -2
  373. package/dist/index.es272.js.map +1 -1
  374. package/dist/index.es273.js +51 -9
  375. package/dist/index.es273.js.map +1 -1
  376. package/dist/index.es274.js +165 -18
  377. package/dist/index.es274.js.map +1 -1
  378. package/dist/index.es275.js +36 -37
  379. package/dist/index.es275.js.map +1 -1
  380. package/dist/index.es276.js +5 -0
  381. package/dist/index.es276.js.map +1 -0
  382. package/dist/index.es277.js +14 -0
  383. package/dist/index.es277.js.map +1 -0
  384. package/dist/index.es278.js +23 -0
  385. package/dist/index.es278.js.map +1 -0
  386. package/dist/index.es279.js +42 -0
  387. package/dist/index.es279.js.map +1 -0
  388. package/dist/index.es28.js +68 -24
  389. package/dist/index.es28.js.map +1 -1
  390. package/dist/index.es29.js +178 -12
  391. package/dist/index.es29.js.map +1 -1
  392. package/dist/index.es30.js +23 -437
  393. package/dist/index.es30.js.map +1 -1
  394. package/dist/index.es31.js +13 -15
  395. package/dist/index.es31.js.map +1 -1
  396. package/dist/index.es32.js +429 -107
  397. package/dist/index.es32.js.map +1 -1
  398. package/dist/index.es33.js +112 -65
  399. package/dist/index.es33.js.map +1 -1
  400. package/dist/index.es34.js +71 -18
  401. package/dist/index.es34.js.map +1 -1
  402. package/dist/index.es35.js +17 -260
  403. package/dist/index.es35.js.map +1 -1
  404. package/dist/index.es36.js +249 -31
  405. package/dist/index.es36.js.map +1 -1
  406. package/dist/index.es37.js +27 -199
  407. package/dist/index.es37.js.map +1 -1
  408. package/dist/index.es38.js +198 -50
  409. package/dist/index.es38.js.map +1 -1
  410. package/dist/index.es39.js +45 -120
  411. package/dist/index.es39.js.map +1 -1
  412. package/dist/index.es40.js +132 -14
  413. package/dist/index.es40.js.map +1 -1
  414. package/dist/index.es41.js +19 -225
  415. package/dist/index.es41.js.map +1 -1
  416. package/dist/index.es42.js +229 -8
  417. package/dist/index.es42.js.map +1 -1
  418. package/dist/index.es43.js +7 -1190
  419. package/dist/index.es43.js.map +1 -1
  420. package/dist/index.es44.js +1191 -6
  421. package/dist/index.es44.js.map +1 -1
  422. package/dist/index.es45.js +6 -146
  423. package/dist/index.es45.js.map +1 -1
  424. package/dist/index.es46.js +147 -7
  425. package/dist/index.es46.js.map +1 -1
  426. package/dist/index.es47.js +15 -92
  427. package/dist/index.es47.js.map +1 -1
  428. package/dist/index.es49.js +5 -35
  429. package/dist/index.es49.js.map +1 -1
  430. package/dist/index.es50.js +7 -71
  431. package/dist/index.es50.js.map +1 -1
  432. package/dist/index.es51.js +89 -33
  433. package/dist/index.es51.js.map +1 -1
  434. package/dist/index.es52.js +3 -305
  435. package/dist/index.es52.js.map +1 -1
  436. package/dist/index.es53.js +36 -9
  437. package/dist/index.es53.js.map +1 -1
  438. package/dist/index.es54.js +64 -83
  439. package/dist/index.es54.js.map +1 -1
  440. package/dist/index.es55.js +36 -6
  441. package/dist/index.es55.js.map +1 -1
  442. package/dist/index.es56.js +303 -12
  443. package/dist/index.es56.js.map +1 -1
  444. package/dist/index.es57.js +9 -143
  445. package/dist/index.es57.js.map +1 -1
  446. package/dist/index.es58.js +83 -292
  447. package/dist/index.es58.js.map +1 -1
  448. package/dist/index.es59.js +6 -64
  449. package/dist/index.es59.js.map +1 -1
  450. package/dist/index.es6.js +21 -5
  451. package/dist/index.es6.js.map +1 -1
  452. package/dist/index.es60.js +12 -210
  453. package/dist/index.es60.js.map +1 -1
  454. package/dist/index.es61.js +138 -29
  455. package/dist/index.es61.js.map +1 -1
  456. package/dist/index.es62.js +299 -8
  457. package/dist/index.es62.js.map +1 -1
  458. package/dist/index.es63.js +65 -11
  459. package/dist/index.es63.js.map +1 -1
  460. package/dist/index.es64.js +201 -175
  461. package/dist/index.es64.js.map +1 -1
  462. package/dist/index.es65.js +33 -23
  463. package/dist/index.es65.js.map +1 -1
  464. package/dist/index.es66.js +8 -1399
  465. package/dist/index.es66.js.map +1 -1
  466. package/dist/index.es67.js +12 -9
  467. package/dist/index.es67.js.map +1 -1
  468. package/dist/index.es68.js +187 -8
  469. package/dist/index.es68.js.map +1 -1
  470. package/dist/index.es69.js +24 -6
  471. package/dist/index.es69.js.map +1 -1
  472. package/dist/index.es70.js +1384 -147
  473. package/dist/index.es70.js.map +1 -1
  474. package/dist/index.es71.js +9 -672
  475. package/dist/index.es71.js.map +1 -1
  476. package/dist/index.es72.js +8 -12
  477. package/dist/index.es72.js.map +1 -1
  478. package/dist/index.es73.js +6 -40
  479. package/dist/index.es73.js.map +1 -1
  480. package/dist/index.es74.js +155 -26
  481. package/dist/index.es74.js.map +1 -1
  482. package/dist/index.es75.js +657 -217
  483. package/dist/index.es75.js.map +1 -1
  484. package/dist/index.es76.js +11 -29
  485. package/dist/index.es76.js.map +1 -1
  486. package/dist/index.es77.js +37 -72
  487. package/dist/index.es77.js.map +1 -1
  488. package/dist/index.es78.js +32 -74
  489. package/dist/index.es78.js.map +1 -1
  490. package/dist/index.es79.js +226 -46
  491. package/dist/index.es79.js.map +1 -1
  492. package/dist/index.es80.js +6 -6
  493. package/dist/index.es80.js.map +1 -1
  494. package/dist/index.es81.js +71 -39
  495. package/dist/index.es81.js.map +1 -1
  496. package/dist/index.es82.js +73 -54
  497. package/dist/index.es82.js.map +1 -1
  498. package/dist/index.es83.js +52 -13
  499. package/dist/index.es83.js.map +1 -1
  500. package/dist/index.es84.js +28 -135
  501. package/dist/index.es84.js.map +1 -1
  502. package/dist/index.es85.js +42 -20
  503. package/dist/index.es85.js.map +1 -1
  504. package/dist/index.es86.js +36 -181
  505. package/dist/index.es86.js.map +1 -1
  506. package/dist/index.es87.js +5 -241
  507. package/dist/index.es87.js.map +1 -1
  508. package/dist/index.es88.js +65 -347
  509. package/dist/index.es88.js.map +1 -1
  510. package/dist/index.es89.js +31 -131
  511. package/dist/index.es89.js.map +1 -1
  512. package/dist/index.es90.js +49 -62
  513. package/dist/index.es90.js.map +1 -1
  514. package/dist/index.es91.js +13 -37
  515. package/dist/index.es91.js.map +1 -1
  516. package/dist/index.es92.js +134 -34
  517. package/dist/index.es92.js.map +1 -1
  518. package/dist/index.es93.js +20 -165
  519. package/dist/index.es93.js.map +1 -1
  520. package/dist/index.es94.js +162 -183
  521. package/dist/index.es94.js.map +1 -1
  522. package/dist/index.es95.js +240 -13
  523. package/dist/index.es95.js.map +1 -1
  524. package/dist/index.es96.js +352 -27
  525. package/dist/index.es96.js.map +1 -1
  526. package/dist/index.es97.js +130 -27
  527. package/dist/index.es97.js.map +1 -1
  528. package/dist/index.es98.js +64 -3151
  529. package/dist/index.es98.js.map +1 -1
  530. package/dist/index.es99.js +34 -34
  531. package/dist/index.es99.js.map +1 -1
  532. package/dist/langgraph-ui-components.css +107 -0
  533. package/dist/styles.css +1 -1
  534. package/package.json +8 -7
  535. package/dist/index.es48.js +0 -7
  536. package/dist/index.es48.js.map +0 -1
package/README.md CHANGED
@@ -49,6 +49,38 @@ function App() {
49
49
  ## Exported Components
50
50
 
51
51
  - `Sidebar` - Main chat UI with sidebar navigation
52
+ - `Chat` - Standalone chat interface with thread history
53
+
54
+ ## Component Props
55
+
56
+ ### Chat Component
57
+
58
+ The `Chat` component provides a complete chat interface with thread history and file upload support.
59
+
60
+ ```tsx
61
+ import { Chat } from 'agentic-chat-ui-components';
62
+
63
+ <Chat
64
+ enableToolCallIndicator={true}
65
+ callThisOnSubmit={async () => uploadedFiles}
66
+ handleFileSelect={customFileHandler}
67
+ />
68
+ ```
69
+
70
+ **Props:**
71
+ - `enableToolCallIndicator?: boolean` - Show visual indicators when AI tools are being executed. Default: `false`
72
+ - `callThisOnSubmit?: () => Promise<FileInfo[]>` - Custom callback executed before message submission, useful for uploading files to external storage
73
+ - `handleFileSelect?: (event: React.ChangeEvent<HTMLInputElement>) => void` - Custom file selection handler to override default behavior
74
+
75
+ ### Sidebar Component
76
+
77
+ The `Sidebar` component provides a chat interface with collapsible sidebar navigation.
78
+
79
+ ```tsx
80
+ import { Sidebar } from 'agentic-chat-ui-components';
81
+
82
+ <Sidebar />
83
+ ```
52
84
 
53
85
  ## Exported Providers
54
86
 
@@ -1,21 +1,36 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import { MessageSquareMoreIcon } from "lucide-react";
3
- function ChatButton({
4
- isVisible,
5
- setOpen
6
- }) {
7
- if (!isVisible) return null;
8
- return /* @__PURE__ */ jsx(
9
- "button",
10
- {
11
- onClick: () => setOpen(true),
12
- "aria-label": "Open chat",
13
- className: "fixed bottom-5 right-5 w-14 h-14 rounded-full bg-black text-white border-0 cursor-pointer flex items-center justify-center z-[60]",
14
- children: /* @__PURE__ */ jsx(MessageSquareMoreIcon, { width: 24, height: 28 })
15
- }
16
- );
2
+ import { useStreamContext } from "./index.es6.js";
3
+ import { useGeneratedSuggestions } from "./index.es9.js";
4
+ import { LiquidButton } from "./index.es25.js";
5
+ function Suggestion() {
6
+ const stream = useStreamContext();
7
+ const agentSuggestions = stream.values?.suggestions;
8
+ const { suggestions, onSelect } = useGeneratedSuggestions({
9
+ instructions: "Your are an AI assistant that suggests relevant next actions for users to take in a chat interface.",
10
+ minSuggestions: 2,
11
+ maxSuggestions: 4,
12
+ suggestions: agentSuggestions
13
+ // Use agent-provided suggestions if available
14
+ });
15
+ const shortThreshold = 24;
16
+ const mediumThreshold = 48;
17
+ return /* @__PURE__ */ jsx("div", { className: "p-2", children: /* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-2", children: suggestions.map((suggestion, index) => {
18
+ const len = suggestion.length;
19
+ const sizeClass = len <= shortThreshold ? "max-w-[48%]" : len <= mediumThreshold ? "max-w-[72%]" : "w-full";
20
+ const handleClick = () => onSelect?.(suggestion);
21
+ return /* @__PURE__ */ jsx(
22
+ LiquidButton,
23
+ {
24
+ size: "sm",
25
+ className: `${sizeClass} text-center break-words`,
26
+ onClick: handleClick,
27
+ children: /* @__PURE__ */ jsx("span", { children: suggestion })
28
+ },
29
+ `suggestion-${index}-${suggestion.slice(0, 20)}`
30
+ );
31
+ }) }) });
17
32
  }
18
33
  export {
19
- ChatButton as default
34
+ Suggestion as default
20
35
  };
21
36
  //# sourceMappingURL=index.es10.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es10.js","sources":["../src/components/ChatButton.tsx"],"sourcesContent":["import { MessageSquareMoreIcon } from \"lucide-react\";\n\nexport default function ChatButton({\n isVisible,\n setOpen,\n}: {\n isVisible: boolean;\n setOpen: (value: boolean) => void;\n}) {\n if (!isVisible) return null;\n return (\n <button\n onClick={() => setOpen(true)}\n aria-label=\"Open chat\"\n className=\"fixed bottom-5 right-5 w-14 h-14 rounded-full bg-black text-white border-0 cursor-pointer flex items-center justify-center z-[60]\"\n >\n <MessageSquareMoreIcon width={24} height={28} />\n </button>\n );\n}\n"],"names":[],"mappings":";;AAEA,SAAwB,WAAW;AAAA,EACjC;AAAA,EACA;AACF,GAGG;AACD,MAAI,CAAC,UAAW,QAAO;AACvB,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,SAAS,MAAM,QAAQ,IAAI;AAAA,MAC3B,cAAW;AAAA,MACX,WAAU;AAAA,MAEV,UAAA,oBAAC,uBAAA,EAAsB,OAAO,IAAI,QAAQ,GAAA,CAAI;AAAA,IAAA;AAAA,EAAA;AAGpD;"}
1
+ {"version":3,"file":"index.es10.js","sources":["../src/components/Suggestion.tsx"],"sourcesContent":["import { useStreamContext } from \"@/providers/Stream\";\nimport { useGeneratedSuggestions } from \"@/providers/useChatSuggestions\";\nimport { LiquidButton } from \"@/components/ui/button\";\n\nexport default function Suggestion() {\n const stream = useStreamContext();\n const agentSuggestions = stream.values?.suggestions;\n\n const { suggestions, onSelect } = useGeneratedSuggestions({\n instructions: \"Your are an AI assistant that suggests relevant next actions for users to take in a chat interface.\",\n minSuggestions: 2,\n maxSuggestions: 4,\n suggestions: agentSuggestions, // Use agent-provided suggestions if available\n });\n\n const shortThreshold = 24;\n const mediumThreshold = 48;\n return (\n <div className=\"p-2\">\n <div className=\"flex flex-wrap gap-2\">\n {suggestions.map((suggestion, index) => {\n const len = suggestion.length;\n const sizeClass =\n len <= shortThreshold\n ? \"max-w-[48%]\"\n : len <= mediumThreshold\n ? \"max-w-[72%]\"\n : \"w-full\";\n\n const handleClick = () => onSelect?.(suggestion);\n\n return (\n <LiquidButton\n key={`suggestion-${index}-${suggestion.slice(0, 20)}`}\n size=\"sm\"\n className={`${sizeClass} text-center break-words`}\n onClick={handleClick}\n >\n <span>{suggestion}</span>\n </LiquidButton>\n );\n })}\n </div>\n </div>\n );\n}\n"],"names":[],"mappings":";;;;AAIA,SAAwB,aAAa;AACjC,QAAM,SAAS,iBAAA;AACf,QAAM,mBAAmB,OAAO,QAAQ;AAExC,QAAM,EAAE,aAAa,SAAA,IAAa,wBAAwB;AAAA,IACtD,cAAc;AAAA,IACd,gBAAgB;AAAA,IAChB,gBAAgB;AAAA,IAChB,aAAa;AAAA;AAAA,EAAA,CAChB;AAED,QAAM,iBAAiB;AACvB,QAAM,kBAAkB;AACxB,SACI,oBAAC,OAAA,EAAI,WAAU,OACX,UAAA,oBAAC,OAAA,EAAI,WAAU,wBACV,UAAA,YAAY,IAAI,CAAC,YAAY,UAAU;AACpC,UAAM,MAAM,WAAW;AACvB,UAAM,YACF,OAAO,iBACD,gBACA,OAAO,kBACH,gBACA;AAEd,UAAM,cAAc,MAAM,WAAW,UAAU;AAE/C,WACI;AAAA,MAAC;AAAA,MAAA;AAAA,QAEG,MAAK;AAAA,QACL,WAAW,GAAG,SAAS;AAAA,QACvB,SAAS;AAAA,QAET,UAAA,oBAAC,UAAM,UAAA,WAAA,CAAW;AAAA,MAAA;AAAA,MALb,cAAc,KAAK,IAAI,WAAW,MAAM,GAAG,EAAE,CAAC;AAAA,IAAA;AAAA,EAQ/D,CAAC,GACL,GACJ;AAER;"}
@@ -1,8 +1,40 @@
1
- import { getDefaultExportFromCjs } from "./index.es153.js";
2
- import { __require as requireEventemitter3 } from "./index.es146.js";
3
- var eventemitter3Exports = requireEventemitter3();
4
- const EventEmitter = /* @__PURE__ */ getDefaultExportFromCjs(eventemitter3Exports);
1
+ function isRunnableInterface(thing) {
2
+ return thing ? thing.lc_runnable : false;
3
+ }
4
+ var _RootEventFilter = class {
5
+ includeNames;
6
+ includeTypes;
7
+ includeTags;
8
+ excludeNames;
9
+ excludeTypes;
10
+ excludeTags;
11
+ constructor(fields) {
12
+ this.includeNames = fields.includeNames;
13
+ this.includeTypes = fields.includeTypes;
14
+ this.includeTags = fields.includeTags;
15
+ this.excludeNames = fields.excludeNames;
16
+ this.excludeTypes = fields.excludeTypes;
17
+ this.excludeTags = fields.excludeTags;
18
+ }
19
+ includeEvent(event, rootType) {
20
+ let include = this.includeNames === void 0 && this.includeTypes === void 0 && this.includeTags === void 0;
21
+ const eventTags = event.tags ?? [];
22
+ if (this.includeNames !== void 0) include = include || this.includeNames.includes(event.name);
23
+ if (this.includeTypes !== void 0) include = include || this.includeTypes.includes(rootType);
24
+ if (this.includeTags !== void 0) include = include || eventTags.some((tag) => this.includeTags?.includes(tag));
25
+ if (this.excludeNames !== void 0) include = include && !this.excludeNames.includes(event.name);
26
+ if (this.excludeTypes !== void 0) include = include && !this.excludeTypes.includes(rootType);
27
+ if (this.excludeTags !== void 0) include = include && eventTags.every((tag) => !this.excludeTags?.includes(tag));
28
+ return include;
29
+ }
30
+ };
31
+ const toBase64Url = (str) => {
32
+ const encoded = btoa(str);
33
+ return encoded.replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
34
+ };
5
35
  export {
6
- EventEmitter as default
36
+ _RootEventFilter,
37
+ isRunnableInterface,
38
+ toBase64Url
7
39
  };
8
40
  //# sourceMappingURL=index.es100.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es100.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
1
+ {"version":3,"file":"index.es100.js","sources":["../node_modules/.pnpm/@langchain+core@1.1.13_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/runnables/utils.js"],"sourcesContent":["//#region src/runnables/utils.ts\nfunction isRunnableInterface(thing) {\n\treturn thing ? thing.lc_runnable : false;\n}\n/**\n* Utility to filter the root event in the streamEvents implementation.\n* This is simply binding the arguments to the namespace to make save on\n* a bit of typing in the streamEvents implementation.\n*\n* TODO: Refactor and remove.\n*/\nvar _RootEventFilter = class {\n\tincludeNames;\n\tincludeTypes;\n\tincludeTags;\n\texcludeNames;\n\texcludeTypes;\n\texcludeTags;\n\tconstructor(fields) {\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}\n\tincludeEvent(event, rootType) {\n\t\tlet include = this.includeNames === void 0 && this.includeTypes === void 0 && this.includeTags === void 0;\n\t\tconst eventTags = event.tags ?? [];\n\t\tif (this.includeNames !== void 0) include = include || this.includeNames.includes(event.name);\n\t\tif (this.includeTypes !== void 0) include = include || this.includeTypes.includes(rootType);\n\t\tif (this.includeTags !== void 0) include = include || eventTags.some((tag) => this.includeTags?.includes(tag));\n\t\tif (this.excludeNames !== void 0) include = include && !this.excludeNames.includes(event.name);\n\t\tif (this.excludeTypes !== void 0) include = include && !this.excludeTypes.includes(rootType);\n\t\tif (this.excludeTags !== void 0) include = include && eventTags.every((tag) => !this.excludeTags?.includes(tag));\n\t\treturn include;\n\t}\n};\nconst toBase64Url = (str) => {\n\tconst encoded = btoa(str);\n\treturn encoded.replace(/\\+/g, \"-\").replace(/\\//g, \"_\").replace(/=+$/, \"\");\n};\n\n//#endregion\nexport { _RootEventFilter, isRunnableInterface, toBase64Url };\n//# sourceMappingURL=utils.js.map"],"names":[],"mappings":"AACA,SAAS,oBAAoB,OAAO;AACnC,SAAO,QAAQ,MAAM,cAAc;AACpC;AAQG,IAAC,mBAAmB,MAAM;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY,QAAQ;AACnB,SAAK,eAAe,OAAO;AAC3B,SAAK,eAAe,OAAO;AAC3B,SAAK,cAAc,OAAO;AAC1B,SAAK,eAAe,OAAO;AAC3B,SAAK,eAAe,OAAO;AAC3B,SAAK,cAAc,OAAO;AAAA,EAC3B;AAAA,EACA,aAAa,OAAO,UAAU;AAC7B,QAAI,UAAU,KAAK,iBAAiB,UAAU,KAAK,iBAAiB,UAAU,KAAK,gBAAgB;AACnG,UAAM,YAAY,MAAM,QAAQ,CAAA;AAChC,QAAI,KAAK,iBAAiB,OAAQ,WAAU,WAAW,KAAK,aAAa,SAAS,MAAM,IAAI;AAC5F,QAAI,KAAK,iBAAiB,OAAQ,WAAU,WAAW,KAAK,aAAa,SAAS,QAAQ;AAC1F,QAAI,KAAK,gBAAgB,OAAQ,WAAU,WAAW,UAAU,KAAK,CAAC,QAAQ,KAAK,aAAa,SAAS,GAAG,CAAC;AAC7G,QAAI,KAAK,iBAAiB,OAAQ,WAAU,WAAW,CAAC,KAAK,aAAa,SAAS,MAAM,IAAI;AAC7F,QAAI,KAAK,iBAAiB,OAAQ,WAAU,WAAW,CAAC,KAAK,aAAa,SAAS,QAAQ;AAC3F,QAAI,KAAK,gBAAgB,OAAQ,WAAU,WAAW,UAAU,MAAM,CAAC,QAAQ,CAAC,KAAK,aAAa,SAAS,GAAG,CAAC;AAC/G,WAAO;AAAA,EACR;AACD;AACK,MAAC,cAAc,CAAC,QAAQ;AAC5B,QAAM,UAAU,KAAK,GAAG;AACxB,SAAO,QAAQ,QAAQ,OAAO,GAAG,EAAE,QAAQ,OAAO,GAAG,EAAE,QAAQ,OAAO,EAAE;AACzE;","x_google_ignoreList":[0]}
@@ -1,76 +1,169 @@
1
- class TimeoutError extends Error {
2
- name = "TimeoutError";
3
- constructor(message, options) {
4
- super(message, options);
5
- Error.captureStackTrace?.(this, TimeoutError);
1
+ import { clone } from "./index.es121.js";
2
+ import { $ZodNever } from "./index.es122.js";
3
+ import { globalRegistry } from "./index.es123.js";
4
+ import { _never } from "./index.es124.js";
5
+ import { parseAsync } from "./index.es125.js";
6
+ function isZodSchemaV4(schema) {
7
+ if (typeof schema !== "object" || schema === null) return false;
8
+ const obj = schema;
9
+ if (!("_zod" in obj)) return false;
10
+ const zod = obj._zod;
11
+ return typeof zod === "object" && zod !== null && "def" in zod;
12
+ }
13
+ function isZodSchemaV3(schema) {
14
+ if (typeof schema !== "object" || schema === null) return false;
15
+ const obj = schema;
16
+ if (!("_def" in obj) || "_zod" in obj) return false;
17
+ const def = obj._def;
18
+ return typeof def === "object" && def != null && "typeName" in def;
19
+ }
20
+ function isInteropZodSchema(input) {
21
+ if (!input) return false;
22
+ if (typeof input !== "object") return false;
23
+ if (Array.isArray(input)) return false;
24
+ if (isZodSchemaV4(input) || isZodSchemaV3(input)) return true;
25
+ return false;
26
+ }
27
+ async function interopParseAsync(schema, input) {
28
+ if (isZodSchemaV4(schema)) return await parseAsync(schema, input);
29
+ if (isZodSchemaV3(schema)) return await schema.parseAsync(input);
30
+ throw new Error("Schema must be an instance of z3.ZodType or z4.$ZodType");
31
+ }
32
+ function getSchemaDescription(schema) {
33
+ if (isZodSchemaV4(schema)) return globalRegistry.get(schema)?.description;
34
+ if (isZodSchemaV3(schema)) return schema.description;
35
+ if ("description" in schema && typeof schema.description === "string") return schema.description;
36
+ return void 0;
37
+ }
38
+ function isSimpleStringZodSchema(schema) {
39
+ if (!isInteropZodSchema(schema)) return false;
40
+ if (isZodSchemaV3(schema)) {
41
+ const def = schema._def;
42
+ return def.typeName === "ZodString";
43
+ }
44
+ if (isZodSchemaV4(schema)) {
45
+ const def = schema._zod.def;
46
+ return def.type === "string";
6
47
  }
48
+ return false;
7
49
  }
8
- const getAbortedReason = (signal) => signal.reason ?? new DOMException("This operation was aborted.", "AbortError");
9
- function pTimeout(promise, options) {
10
- const {
11
- milliseconds,
12
- fallback,
13
- message,
14
- customTimers = { setTimeout, clearTimeout },
15
- signal
16
- } = options;
17
- let timer;
18
- let abortHandler;
19
- const wrappedPromise = new Promise((resolve, reject) => {
20
- if (typeof milliseconds !== "number" || Math.sign(milliseconds) !== 1) {
21
- throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${milliseconds}\``);
22
- }
23
- if (signal?.aborted) {
24
- reject(getAbortedReason(signal));
25
- return;
26
- }
27
- if (signal) {
28
- abortHandler = () => {
29
- reject(getAbortedReason(signal));
30
- };
31
- signal.addEventListener("abort", abortHandler, { once: true });
32
- }
33
- promise.then(resolve, reject);
34
- if (milliseconds === Number.POSITIVE_INFINITY) {
35
- return;
50
+ function isZodObjectV4(obj) {
51
+ if (!isZodSchemaV4(obj)) return false;
52
+ if (typeof obj === "object" && obj !== null && "_zod" in obj && typeof obj._zod === "object" && obj._zod !== null && "def" in obj._zod && typeof obj._zod.def === "object" && obj._zod.def !== null && "type" in obj._zod.def && obj._zod.def.type === "object") return true;
53
+ return false;
54
+ }
55
+ function isZodArrayV4(obj) {
56
+ if (!isZodSchemaV4(obj)) return false;
57
+ if (typeof obj === "object" && obj !== null && "_zod" in obj && typeof obj._zod === "object" && obj._zod !== null && "def" in obj._zod && typeof obj._zod.def === "object" && obj._zod.def !== null && "type" in obj._zod.def && obj._zod.def.type === "array") return true;
58
+ return false;
59
+ }
60
+ function isZodOptionalV4(obj) {
61
+ if (!isZodSchemaV4(obj)) return false;
62
+ if (typeof obj === "object" && obj !== null && "_zod" in obj && typeof obj._zod === "object" && obj._zod !== null && "def" in obj._zod && typeof obj._zod.def === "object" && obj._zod.def !== null && "type" in obj._zod.def && obj._zod.def.type === "optional") return true;
63
+ return false;
64
+ }
65
+ function isZodNullableV4(obj) {
66
+ if (!isZodSchemaV4(obj)) return false;
67
+ if (typeof obj === "object" && obj !== null && "_zod" in obj && typeof obj._zod === "object" && obj._zod !== null && "def" in obj._zod && typeof obj._zod.def === "object" && obj._zod.def !== null && "type" in obj._zod.def && obj._zod.def.type === "nullable") return true;
68
+ return false;
69
+ }
70
+ function interopZodObjectStrict(schema, recursive = false) {
71
+ if (isZodSchemaV3(schema)) return schema.strict();
72
+ if (isZodObjectV4(schema)) {
73
+ const outputShape = schema._zod.def.shape;
74
+ if (recursive) for (const [key, keySchema] of Object.entries(schema._zod.def.shape)) {
75
+ if (isZodObjectV4(keySchema)) {
76
+ const outputSchema = interopZodObjectStrict(keySchema, recursive);
77
+ outputShape[key] = outputSchema;
78
+ } else if (isZodArrayV4(keySchema)) {
79
+ let elementSchema = keySchema._zod.def.element;
80
+ if (isZodObjectV4(elementSchema)) elementSchema = interopZodObjectStrict(elementSchema, recursive);
81
+ outputShape[key] = clone(keySchema, {
82
+ ...keySchema._zod.def,
83
+ element: elementSchema
84
+ });
85
+ } else outputShape[key] = keySchema;
86
+ const meta$1 = globalRegistry.get(keySchema);
87
+ if (meta$1) globalRegistry.add(outputShape[key], meta$1);
36
88
  }
37
- const timeoutError = new TimeoutError();
38
- timer = customTimers.setTimeout.call(void 0, () => {
39
- if (fallback) {
40
- try {
41
- resolve(fallback());
42
- } catch (error) {
43
- reject(error);
44
- }
45
- return;
46
- }
47
- if (typeof promise.cancel === "function") {
48
- promise.cancel();
49
- }
50
- if (message === false) {
51
- resolve();
52
- } else if (message instanceof Error) {
53
- reject(message);
54
- } else {
55
- timeoutError.message = message ?? `Promise timed out after ${milliseconds} milliseconds`;
56
- reject(timeoutError);
89
+ const modifiedSchema = clone(schema, {
90
+ ...schema._zod.def,
91
+ shape: outputShape,
92
+ catchall: _never($ZodNever)
93
+ });
94
+ const meta = globalRegistry.get(schema);
95
+ if (meta) globalRegistry.add(modifiedSchema, meta);
96
+ return modifiedSchema;
97
+ }
98
+ throw new Error("Schema must be an instance of z3.ZodObject or z4.$ZodObject");
99
+ }
100
+ function isZodTransformV3(schema) {
101
+ return isZodSchemaV3(schema) && "typeName" in schema._def && schema._def.typeName === "ZodEffects";
102
+ }
103
+ function isZodTransformV4(schema) {
104
+ return isZodSchemaV4(schema) && schema._zod.def.type === "pipe";
105
+ }
106
+ function interopZodTransformInputSchemaImpl(schema, recursive, cache) {
107
+ const cached = cache.get(schema);
108
+ if (cached !== void 0) return cached;
109
+ if (isZodSchemaV3(schema)) {
110
+ if (isZodTransformV3(schema)) return interopZodTransformInputSchemaImpl(schema._def.schema, recursive, cache);
111
+ return schema;
112
+ }
113
+ if (isZodSchemaV4(schema)) {
114
+ let outputSchema = schema;
115
+ if (isZodTransformV4(schema)) outputSchema = interopZodTransformInputSchemaImpl(schema._zod.def.in, recursive, cache);
116
+ if (recursive) {
117
+ if (isZodObjectV4(outputSchema)) {
118
+ const outputShape = {};
119
+ for (const [key, keySchema] of Object.entries(outputSchema._zod.def.shape)) outputShape[key] = interopZodTransformInputSchemaImpl(keySchema, recursive, cache);
120
+ outputSchema = clone(outputSchema, {
121
+ ...outputSchema._zod.def,
122
+ shape: outputShape
123
+ });
124
+ } else if (isZodArrayV4(outputSchema)) {
125
+ const elementSchema = interopZodTransformInputSchemaImpl(outputSchema._zod.def.element, recursive, cache);
126
+ outputSchema = clone(outputSchema, {
127
+ ...outputSchema._zod.def,
128
+ element: elementSchema
129
+ });
130
+ } else if (isZodOptionalV4(outputSchema)) {
131
+ const innerSchema = interopZodTransformInputSchemaImpl(outputSchema._zod.def.innerType, recursive, cache);
132
+ outputSchema = clone(outputSchema, {
133
+ ...outputSchema._zod.def,
134
+ innerType: innerSchema
135
+ });
136
+ } else if (isZodNullableV4(outputSchema)) {
137
+ const innerSchema = interopZodTransformInputSchemaImpl(outputSchema._zod.def.innerType, recursive, cache);
138
+ outputSchema = clone(outputSchema, {
139
+ ...outputSchema._zod.def,
140
+ innerType: innerSchema
141
+ });
57
142
  }
58
- }, milliseconds);
59
- });
60
- const cancelablePromise = wrappedPromise.finally(() => {
61
- cancelablePromise.clear();
62
- if (abortHandler && signal) {
63
- signal.removeEventListener("abort", abortHandler);
64
143
  }
65
- });
66
- cancelablePromise.clear = () => {
67
- customTimers.clearTimeout.call(void 0, timer);
68
- timer = void 0;
69
- };
70
- return cancelablePromise;
144
+ const meta = globalRegistry.get(schema);
145
+ if (meta) globalRegistry.add(outputSchema, meta);
146
+ cache.set(schema, outputSchema);
147
+ return outputSchema;
148
+ }
149
+ throw new Error("Schema must be an instance of z3.ZodType or z4.$ZodType");
150
+ }
151
+ function interopZodTransformInputSchema(schema, recursive = false) {
152
+ const cache = /* @__PURE__ */ new WeakMap();
153
+ return interopZodTransformInputSchemaImpl(schema, recursive, cache);
71
154
  }
72
155
  export {
73
- TimeoutError,
74
- pTimeout as default
156
+ getSchemaDescription,
157
+ interopParseAsync,
158
+ interopZodObjectStrict,
159
+ interopZodTransformInputSchema,
160
+ isInteropZodSchema,
161
+ isSimpleStringZodSchema,
162
+ isZodArrayV4,
163
+ isZodNullableV4,
164
+ isZodObjectV4,
165
+ isZodOptionalV4,
166
+ isZodSchemaV3,
167
+ isZodSchemaV4
75
168
  };
76
169
  //# sourceMappingURL=index.es101.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es101.js","sources":["../node_modules/.pnpm/p-timeout@7.0.1/node_modules/p-timeout/index.js"],"sourcesContent":["export class TimeoutError extends Error {\n\tname = 'TimeoutError';\n\n\tconstructor(message, options) {\n\t\tsuper(message, options);\n\t\tError.captureStackTrace?.(this, TimeoutError);\n\t}\n}\n\nconst getAbortedReason = signal => signal.reason ?? new DOMException('This operation was aborted.', 'AbortError');\n\nexport default function pTimeout(promise, options) {\n\tconst {\n\t\tmilliseconds,\n\t\tfallback,\n\t\tmessage,\n\t\tcustomTimers = {setTimeout, clearTimeout},\n\t\tsignal,\n\t} = options;\n\n\tlet timer;\n\tlet abortHandler;\n\n\tconst wrappedPromise = new Promise((resolve, reject) => {\n\t\tif (typeof milliseconds !== 'number' || Math.sign(milliseconds) !== 1) {\n\t\t\tthrow new TypeError(`Expected \\`milliseconds\\` to be a positive number, got \\`${milliseconds}\\``);\n\t\t}\n\n\t\tif (signal?.aborted) {\n\t\t\treject(getAbortedReason(signal));\n\t\t\treturn;\n\t\t}\n\n\t\tif (signal) {\n\t\t\tabortHandler = () => {\n\t\t\t\treject(getAbortedReason(signal));\n\t\t\t};\n\n\t\t\tsignal.addEventListener('abort', abortHandler, {once: true});\n\t\t}\n\n\t\t// Use .then() instead of async IIFE to preserve stack traces\n\t\t// eslint-disable-next-line promise/prefer-await-to-then, promise/prefer-catch\n\t\tpromise.then(resolve, reject);\n\n\t\tif (milliseconds === Number.POSITIVE_INFINITY) {\n\t\t\treturn;\n\t\t}\n\n\t\t// We create the error outside of `setTimeout` to preserve the stack trace.\n\t\tconst timeoutError = new TimeoutError();\n\n\t\t// `.call(undefined, ...)` is needed for custom timers to avoid context issues\n\t\ttimer = customTimers.setTimeout.call(undefined, () => {\n\t\t\tif (fallback) {\n\t\t\t\ttry {\n\t\t\t\t\tresolve(fallback());\n\t\t\t\t} catch (error) {\n\t\t\t\t\treject(error);\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (typeof promise.cancel === 'function') {\n\t\t\t\tpromise.cancel();\n\t\t\t}\n\n\t\t\tif (message === false) {\n\t\t\t\tresolve();\n\t\t\t} else if (message instanceof Error) {\n\t\t\t\treject(message);\n\t\t\t} else {\n\t\t\t\ttimeoutError.message = message ?? `Promise timed out after ${milliseconds} milliseconds`;\n\t\t\t\treject(timeoutError);\n\t\t\t}\n\t\t}, milliseconds);\n\t});\n\n\t// eslint-disable-next-line promise/prefer-await-to-then\n\tconst cancelablePromise = wrappedPromise.finally(() => {\n\t\tcancelablePromise.clear();\n\t\tif (abortHandler && signal) {\n\t\t\tsignal.removeEventListener('abort', abortHandler);\n\t\t}\n\t});\n\n\tcancelablePromise.clear = () => {\n\t\t// `.call(undefined, ...)` is needed for custom timers to avoid context issues\n\t\tcustomTimers.clearTimeout.call(undefined, timer);\n\t\ttimer = undefined;\n\t};\n\n\treturn cancelablePromise;\n}\n"],"names":[],"mappings":"AAAO,MAAM,qBAAqB,MAAM;AAAA,EACvC,OAAO;AAAA,EAEP,YAAY,SAAS,SAAS;AAC7B,UAAM,SAAS,OAAO;AACtB,UAAM,oBAAoB,MAAM,YAAY;AAAA,EAC7C;AACD;AAEA,MAAM,mBAAmB,YAAU,OAAO,UAAU,IAAI,aAAa,+BAA+B,YAAY;AAEjG,SAAS,SAAS,SAAS,SAAS;AAClD,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA,eAAe,EAAC,YAAY,aAAY;AAAA,IACxC;AAAA,EACF,IAAK;AAEJ,MAAI;AACJ,MAAI;AAEJ,QAAM,iBAAiB,IAAI,QAAQ,CAAC,SAAS,WAAW;AACvD,QAAI,OAAO,iBAAiB,YAAY,KAAK,KAAK,YAAY,MAAM,GAAG;AACtE,YAAM,IAAI,UAAU,4DAA4D,YAAY,IAAI;AAAA,IACjG;AAEA,QAAI,QAAQ,SAAS;AACpB,aAAO,iBAAiB,MAAM,CAAC;AAC/B;AAAA,IACD;AAEA,QAAI,QAAQ;AACX,qBAAe,MAAM;AACpB,eAAO,iBAAiB,MAAM,CAAC;AAAA,MAChC;AAEA,aAAO,iBAAiB,SAAS,cAAc,EAAC,MAAM,KAAI,CAAC;AAAA,IAC5D;AAIA,YAAQ,KAAK,SAAS,MAAM;AAE5B,QAAI,iBAAiB,OAAO,mBAAmB;AAC9C;AAAA,IACD;AAGA,UAAM,eAAe,IAAI,aAAY;AAGrC,YAAQ,aAAa,WAAW,KAAK,QAAW,MAAM;AACrD,UAAI,UAAU;AACb,YAAI;AACH,kBAAQ,SAAQ,CAAE;AAAA,QACnB,SAAS,OAAO;AACf,iBAAO,KAAK;AAAA,QACb;AAEA;AAAA,MACD;AAEA,UAAI,OAAO,QAAQ,WAAW,YAAY;AACzC,gBAAQ,OAAM;AAAA,MACf;AAEA,UAAI,YAAY,OAAO;AACtB,gBAAO;AAAA,MACR,WAAW,mBAAmB,OAAO;AACpC,eAAO,OAAO;AAAA,MACf,OAAO;AACN,qBAAa,UAAU,WAAW,2BAA2B,YAAY;AACzE,eAAO,YAAY;AAAA,MACpB;AAAA,IACD,GAAG,YAAY;AAAA,EAChB,CAAC;AAGD,QAAM,oBAAoB,eAAe,QAAQ,MAAM;AACtD,sBAAkB,MAAK;AACvB,QAAI,gBAAgB,QAAQ;AAC3B,aAAO,oBAAoB,SAAS,YAAY;AAAA,IACjD;AAAA,EACD,CAAC;AAED,oBAAkB,QAAQ,MAAM;AAE/B,iBAAa,aAAa,KAAK,QAAW,KAAK;AAC/C,YAAQ;AAAA,EACT;AAEA,SAAO;AACR;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.es101.js","sources":["../node_modules/.pnpm/@langchain+core@1.1.13_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/utils/types/zod.js"],"sourcesContent":["import { $ZodNever, $ZodOptional, $ZodUnknown, _never, _unknown, clone, globalRegistry, parse, parseAsync, util } from \"zod/v4/core\";\n\n//#region src/utils/types/zod.ts\nfunction isZodSchemaV4(schema) {\n\tif (typeof schema !== \"object\" || schema === null) return false;\n\tconst obj = schema;\n\tif (!(\"_zod\" in obj)) return false;\n\tconst zod = obj._zod;\n\treturn typeof zod === \"object\" && zod !== null && \"def\" in zod;\n}\nfunction isZodSchemaV3(schema) {\n\tif (typeof schema !== \"object\" || schema === null) return false;\n\tconst obj = schema;\n\tif (!(\"_def\" in obj) || \"_zod\" in obj) return false;\n\tconst def = obj._def;\n\treturn typeof def === \"object\" && def != null && \"typeName\" in def;\n}\n/** Backward compatible isZodSchema for Zod 3 */\nfunction isZodSchema(schema) {\n\tif (isZodSchemaV4(schema)) console.warn(\"[WARNING] Attempting to use Zod 4 schema in a context where Zod 3 schema is expected. This may cause unexpected behavior.\");\n\treturn isZodSchemaV3(schema);\n}\n/**\n* Given either a Zod schema, or plain object, determine if the input is a Zod schema.\n*\n* @param {unknown} input\n* @returns {boolean} Whether or not the provided input is a Zod schema.\n*/\nfunction isInteropZodSchema(input) {\n\tif (!input) return false;\n\tif (typeof input !== \"object\") return false;\n\tif (Array.isArray(input)) return false;\n\tif (isZodSchemaV4(input) || isZodSchemaV3(input)) return true;\n\treturn false;\n}\nfunction isZodLiteralV3(obj) {\n\tif (typeof obj === \"object\" && obj !== null && \"_def\" in obj && typeof obj._def === \"object\" && obj._def !== null && \"typeName\" in obj._def && obj._def.typeName === \"ZodLiteral\") return true;\n\treturn false;\n}\nfunction isZodLiteralV4(obj) {\n\tif (!isZodSchemaV4(obj)) return false;\n\tif (typeof obj === \"object\" && obj !== null && \"_zod\" in obj && typeof obj._zod === \"object\" && obj._zod !== null && \"def\" in obj._zod && typeof obj._zod.def === \"object\" && obj._zod.def !== null && \"type\" in obj._zod.def && obj._zod.def.type === \"literal\") return true;\n\treturn false;\n}\n/**\n* Determines if the provided value is an InteropZodLiteral (Zod v3 or v4 literal schema).\n*\n* @param obj The value to check.\n* @returns {boolean} True if the value is a Zod v3 or v4 literal schema, false otherwise.\n*/\nfunction isInteropZodLiteral(obj) {\n\tif (isZodLiteralV3(obj)) return true;\n\tif (isZodLiteralV4(obj)) return true;\n\treturn false;\n}\n/**\n* Asynchronously parses the input using the provided Zod schema (v3 or v4) and returns a safe parse result.\n* This function handles both Zod v3 and v4 schemas, returning a result object indicating success or failure.\n*\n* @template T - The expected output type of the schema.\n* @param {InteropZodType<T>} schema - The Zod schema (v3 or v4) to use for parsing.\n* @param {unknown} input - The input value to parse.\n* @returns {Promise<InteropZodSafeParseResult<T>>} A promise that resolves to a safe parse result object.\n* @throws {Error} If the schema is not a recognized Zod v3 or v4 schema.\n*/\nasync function interopSafeParseAsync(schema, input) {\n\tif (isZodSchemaV4(schema)) try {\n\t\tconst data = await parseAsync(schema, input);\n\t\treturn {\n\t\t\tsuccess: true,\n\t\t\tdata\n\t\t};\n\t} catch (error) {\n\t\treturn {\n\t\t\tsuccess: false,\n\t\t\terror\n\t\t};\n\t}\n\tif (isZodSchemaV3(schema)) return await schema.safeParseAsync(input);\n\tthrow new Error(\"Schema must be an instance of z3.ZodType or z4.$ZodType\");\n}\n/**\n* Asynchronously parses the input using the provided Zod schema (v3 or v4) and returns the parsed value.\n* Throws an error if parsing fails or if the schema is not a recognized Zod v3 or v4 schema.\n*\n* @template T - The expected output type of the schema.\n* @param {InteropZodType<T>} schema - The Zod schema (v3 or v4) to use for parsing.\n* @param {unknown} input - The input value to parse.\n* @returns {Promise<T>} A promise that resolves to the parsed value.\n* @throws {Error} If parsing fails or the schema is not a recognized Zod v3 or v4 schema.\n*/\nasync function interopParseAsync(schema, input) {\n\tif (isZodSchemaV4(schema)) return await parseAsync(schema, input);\n\tif (isZodSchemaV3(schema)) return await schema.parseAsync(input);\n\tthrow new Error(\"Schema must be an instance of z3.ZodType or z4.$ZodType\");\n}\n/**\n* Safely parses the input using the provided Zod schema (v3 or v4) and returns a result object\n* indicating success or failure. This function is compatible with both Zod v3 and v4 schemas.\n*\n* @template T - The expected output type of the schema.\n* @param {InteropZodType<T>} schema - The Zod schema (v3 or v4) to use for parsing.\n* @param {unknown} input - The input value to parse.\n* @returns {InteropZodSafeParseResult<T>} An object with either the parsed data (on success)\n* or the error (on failure).\n* @throws {Error} If the schema is not a recognized Zod v3 or v4 schema.\n*/\nfunction interopSafeParse(schema, input) {\n\tif (isZodSchemaV4(schema)) try {\n\t\tconst data = parse(schema, input);\n\t\treturn {\n\t\t\tsuccess: true,\n\t\t\tdata\n\t\t};\n\t} catch (error) {\n\t\treturn {\n\t\t\tsuccess: false,\n\t\t\terror\n\t\t};\n\t}\n\tif (isZodSchemaV3(schema)) return schema.safeParse(input);\n\tthrow new Error(\"Schema must be an instance of z3.ZodType or z4.$ZodType\");\n}\n/**\n* Parses the input using the provided Zod schema (v3 or v4) and returns the parsed value.\n* Throws an error if parsing fails or if the schema is not a recognized Zod v3 or v4 schema.\n*\n* @template T - The expected output type of the schema.\n* @param {InteropZodType<T>} schema - The Zod schema (v3 or v4) to use for parsing.\n* @param {unknown} input - The input value to parse.\n* @returns {T} The parsed value.\n* @throws {Error} If parsing fails or the schema is not a recognized Zod v3 or v4 schema.\n*/\nfunction interopParse(schema, input) {\n\tif (isZodSchemaV4(schema)) return parse(schema, input);\n\tif (isZodSchemaV3(schema)) return schema.parse(input);\n\tthrow new Error(\"Schema must be an instance of z3.ZodType or z4.$ZodType\");\n}\n/**\n* Retrieves the description from a schema definition (v3, v4, or plain object), if available.\n*\n* @param {unknown} schema - The schema to extract the description from.\n* @returns {string | undefined} The description of the schema, or undefined if not present.\n*/\nfunction getSchemaDescription(schema) {\n\tif (isZodSchemaV4(schema)) return globalRegistry.get(schema)?.description;\n\tif (isZodSchemaV3(schema)) return schema.description;\n\tif (\"description\" in schema && typeof schema.description === \"string\") return schema.description;\n\treturn void 0;\n}\n/**\n* Determines if the provided Zod schema is \"shapeless\".\n* A shapeless schema is one that does not define any object shape,\n* such as ZodString, ZodNumber, ZodBoolean, ZodAny, etc.\n* For ZodObject, it must have no shape keys to be considered shapeless.\n* ZodRecord schemas are considered shapeless since they define dynamic\n* key-value mappings without fixed keys.\n*\n* @param schema The Zod schema to check.\n* @returns {boolean} True if the schema is shapeless, false otherwise.\n*/\nfunction isShapelessZodSchema(schema) {\n\tif (!isInteropZodSchema(schema)) return false;\n\tif (isZodSchemaV3(schema)) {\n\t\tconst def = schema._def;\n\t\tif (def.typeName === \"ZodObject\") {\n\t\t\tconst obj = schema;\n\t\t\treturn !obj.shape || Object.keys(obj.shape).length === 0;\n\t\t}\n\t\tif (def.typeName === \"ZodRecord\") return true;\n\t}\n\tif (isZodSchemaV4(schema)) {\n\t\tconst def = schema._zod.def;\n\t\tif (def.type === \"object\") {\n\t\t\tconst obj = schema;\n\t\t\treturn !obj.shape || Object.keys(obj.shape).length === 0;\n\t\t}\n\t\tif (def.type === \"record\") return true;\n\t}\n\tif (typeof schema === \"object\" && schema !== null && !(\"shape\" in schema)) return true;\n\treturn false;\n}\n/**\n* Determines if the provided Zod schema should be treated as a simple string schema\n* that maps to DynamicTool. This aligns with the type-level constraint of\n* InteropZodType<string | undefined> which only matches basic string schemas.\n* If the provided schema is just z.string(), we can make the determination that\n* the tool is just a generic string tool that doesn't require any input validation.\n*\n* This function only returns true for basic ZodString schemas, including:\n* - Basic string schemas (z.string())\n* - String schemas with validations (z.string().min(1), z.string().email(), etc.)\n*\n* This function returns false for everything else, including:\n* - String schemas with defaults (z.string().default(\"value\"))\n* - Branded string schemas (z.string().brand<\"UserId\">())\n* - String schemas with catch operations (z.string().catch(\"default\"))\n* - Optional/nullable string schemas (z.string().optional())\n* - Transformed schemas (z.string().transform() or z.object().transform())\n* - Object or record schemas, even if they're empty\n* - Any other schema type\n*\n* @param schema The Zod schema to check.\n* @returns {boolean} True if the schema is a basic ZodString, false otherwise.\n*/\nfunction isSimpleStringZodSchema(schema) {\n\tif (!isInteropZodSchema(schema)) return false;\n\tif (isZodSchemaV3(schema)) {\n\t\tconst def = schema._def;\n\t\treturn def.typeName === \"ZodString\";\n\t}\n\tif (isZodSchemaV4(schema)) {\n\t\tconst def = schema._zod.def;\n\t\treturn def.type === \"string\";\n\t}\n\treturn false;\n}\nfunction isZodObjectV3(obj) {\n\tif (typeof obj === \"object\" && obj !== null && \"_def\" in obj && typeof obj._def === \"object\" && obj._def !== null && \"typeName\" in obj._def && obj._def.typeName === \"ZodObject\") return true;\n\treturn false;\n}\nfunction isZodObjectV4(obj) {\n\tif (!isZodSchemaV4(obj)) return false;\n\tif (typeof obj === \"object\" && obj !== null && \"_zod\" in obj && typeof obj._zod === \"object\" && obj._zod !== null && \"def\" in obj._zod && typeof obj._zod.def === \"object\" && obj._zod.def !== null && \"type\" in obj._zod.def && obj._zod.def.type === \"object\") return true;\n\treturn false;\n}\nfunction isZodArrayV4(obj) {\n\tif (!isZodSchemaV4(obj)) return false;\n\tif (typeof obj === \"object\" && obj !== null && \"_zod\" in obj && typeof obj._zod === \"object\" && obj._zod !== null && \"def\" in obj._zod && typeof obj._zod.def === \"object\" && obj._zod.def !== null && \"type\" in obj._zod.def && obj._zod.def.type === \"array\") return true;\n\treturn false;\n}\nfunction isZodOptionalV4(obj) {\n\tif (!isZodSchemaV4(obj)) return false;\n\tif (typeof obj === \"object\" && obj !== null && \"_zod\" in obj && typeof obj._zod === \"object\" && obj._zod !== null && \"def\" in obj._zod && typeof obj._zod.def === \"object\" && obj._zod.def !== null && \"type\" in obj._zod.def && obj._zod.def.type === \"optional\") return true;\n\treturn false;\n}\nfunction isZodNullableV4(obj) {\n\tif (!isZodSchemaV4(obj)) return false;\n\tif (typeof obj === \"object\" && obj !== null && \"_zod\" in obj && typeof obj._zod === \"object\" && obj._zod !== null && \"def\" in obj._zod && typeof obj._zod.def === \"object\" && obj._zod.def !== null && \"type\" in obj._zod.def && obj._zod.def.type === \"nullable\") return true;\n\treturn false;\n}\n/**\n* Determines if the provided value is an InteropZodObject (Zod v3 or v4 object schema).\n*\n* @param obj The value to check.\n* @returns {boolean} True if the value is a Zod v3 or v4 object schema, false otherwise.\n*/\nfunction isInteropZodObject(obj) {\n\tif (isZodObjectV3(obj)) return true;\n\tif (isZodObjectV4(obj)) return true;\n\treturn false;\n}\n/**\n* Retrieves the shape (fields) of a Zod object schema, supporting both Zod v3 and v4.\n*\n* @template T - The type of the Zod object schema.\n* @param {T} schema - The Zod object schema instance (either v3 or v4).\n* @returns {InteropZodObjectShape<T>} The shape of the object schema.\n* @throws {Error} If the schema is not a Zod v3 or v4 object.\n*/\nfunction getInteropZodObjectShape(schema) {\n\tif (isZodSchemaV3(schema)) return schema.shape;\n\tif (isZodSchemaV4(schema)) return schema._zod.def.shape;\n\tthrow new Error(\"Schema must be an instance of z3.ZodObject or z4.$ZodObject\");\n}\n/**\n* Extends a Zod object schema with additional fields, supporting both Zod v3 and v4.\n*\n* @template T - The type of the Zod object schema.\n* @param {T} schema - The Zod object schema instance (either v3 or v4).\n* @param {InteropZodObjectShape} extension - The fields to add to the schema.\n* @returns {InteropZodObject} The extended Zod object schema.\n* @throws {Error} If the schema is not a Zod v3 or v4 object.\n*/\nfunction extendInteropZodObject(schema, extension) {\n\tif (isZodSchemaV3(schema)) return schema.extend(extension);\n\tif (isZodSchemaV4(schema)) return util.extend(schema, extension);\n\tthrow new Error(\"Schema must be an instance of z3.ZodObject or z4.$ZodObject\");\n}\n/**\n* Returns a partial version of a Zod object schema, making all fields optional.\n* Supports both Zod v3 and v4.\n*\n* @template T - The type of the Zod object schema.\n* @param {T} schema - The Zod object schema instance (either v3 or v4).\n* @returns {InteropZodObject} The partial Zod object schema.\n* @throws {Error} If the schema is not a Zod v3 or v4 object.\n*/\nfunction interopZodObjectPartial(schema) {\n\tif (isZodSchemaV3(schema)) return schema.partial();\n\tif (isZodSchemaV4(schema)) return util.partial($ZodOptional, schema, void 0);\n\tthrow new Error(\"Schema must be an instance of z3.ZodObject or z4.$ZodObject\");\n}\n/**\n* Returns a strict version of a Zod object schema, disallowing unknown keys.\n* Supports both Zod v3 and v4 object schemas. If `recursive` is true, applies strictness\n* recursively to all nested object schemas and arrays of object schemas.\n*\n* @template T - The type of the Zod object schema.\n* @param {T} schema - The Zod object schema instance (either v3 or v4).\n* @param {boolean} [recursive=false] - Whether to apply strictness recursively to nested objects/arrays.\n* @returns {InteropZodObject} The strict Zod object schema.\n* @throws {Error} If the schema is not a Zod v3 or v4 object.\n*/\nfunction interopZodObjectStrict(schema, recursive = false) {\n\tif (isZodSchemaV3(schema)) return schema.strict();\n\tif (isZodObjectV4(schema)) {\n\t\tconst outputShape = schema._zod.def.shape;\n\t\tif (recursive) for (const [key, keySchema] of Object.entries(schema._zod.def.shape)) {\n\t\t\tif (isZodObjectV4(keySchema)) {\n\t\t\t\tconst outputSchema = interopZodObjectStrict(keySchema, recursive);\n\t\t\t\toutputShape[key] = outputSchema;\n\t\t\t} else if (isZodArrayV4(keySchema)) {\n\t\t\t\tlet elementSchema = keySchema._zod.def.element;\n\t\t\t\tif (isZodObjectV4(elementSchema)) elementSchema = interopZodObjectStrict(elementSchema, recursive);\n\t\t\t\toutputShape[key] = clone(keySchema, {\n\t\t\t\t\t...keySchema._zod.def,\n\t\t\t\t\telement: elementSchema\n\t\t\t\t});\n\t\t\t} else outputShape[key] = keySchema;\n\t\t\tconst meta$1 = globalRegistry.get(keySchema);\n\t\t\tif (meta$1) globalRegistry.add(outputShape[key], meta$1);\n\t\t}\n\t\tconst modifiedSchema = clone(schema, {\n\t\t\t...schema._zod.def,\n\t\t\tshape: outputShape,\n\t\t\tcatchall: _never($ZodNever)\n\t\t});\n\t\tconst meta = globalRegistry.get(schema);\n\t\tif (meta) globalRegistry.add(modifiedSchema, meta);\n\t\treturn modifiedSchema;\n\t}\n\tthrow new Error(\"Schema must be an instance of z3.ZodObject or z4.$ZodObject\");\n}\n/**\n* Returns a passthrough version of a Zod object schema, allowing unknown keys.\n* Supports both Zod v3 and v4 object schemas. If `recursive` is true, applies passthrough\n* recursively to all nested object schemas and arrays of object schemas.\n*\n* @template T - The type of the Zod object schema.\n* @param {T} schema - The Zod object schema instance (either v3 or v4).\n* @param {boolean} [recursive=false] - Whether to apply passthrough recursively to nested objects/arrays.\n* @returns {InteropZodObject} The passthrough Zod object schema.\n* @throws {Error} If the schema is not a Zod v3 or v4 object.\n*/\nfunction interopZodObjectPassthrough(schema, recursive = false) {\n\tif (isZodObjectV3(schema)) return schema.passthrough();\n\tif (isZodObjectV4(schema)) {\n\t\tconst outputShape = schema._zod.def.shape;\n\t\tif (recursive) for (const [key, keySchema] of Object.entries(schema._zod.def.shape)) {\n\t\t\tif (isZodObjectV4(keySchema)) {\n\t\t\t\tconst outputSchema = interopZodObjectPassthrough(keySchema, recursive);\n\t\t\t\toutputShape[key] = outputSchema;\n\t\t\t} else if (isZodArrayV4(keySchema)) {\n\t\t\t\tlet elementSchema = keySchema._zod.def.element;\n\t\t\t\tif (isZodObjectV4(elementSchema)) elementSchema = interopZodObjectPassthrough(elementSchema, recursive);\n\t\t\t\toutputShape[key] = clone(keySchema, {\n\t\t\t\t\t...keySchema._zod.def,\n\t\t\t\t\telement: elementSchema\n\t\t\t\t});\n\t\t\t} else outputShape[key] = keySchema;\n\t\t\tconst meta$1 = globalRegistry.get(keySchema);\n\t\t\tif (meta$1) globalRegistry.add(outputShape[key], meta$1);\n\t\t}\n\t\tconst modifiedSchema = clone(schema, {\n\t\t\t...schema._zod.def,\n\t\t\tshape: outputShape,\n\t\t\tcatchall: _unknown($ZodUnknown)\n\t\t});\n\t\tconst meta = globalRegistry.get(schema);\n\t\tif (meta) globalRegistry.add(modifiedSchema, meta);\n\t\treturn modifiedSchema;\n\t}\n\tthrow new Error(\"Schema must be an instance of z3.ZodObject or z4.$ZodObject\");\n}\n/**\n* Returns a getter function for the default value of a Zod schema, if one is defined.\n* Supports both Zod v3 and v4 schemas. If the schema has a default value,\n* the returned function will return that value when called. If no default is defined,\n* returns undefined.\n*\n* @template T - The type of the Zod schema.\n* @param {T} schema - The Zod schema instance (either v3 or v4).\n* @returns {(() => InferInteropZodOutput<T>) | undefined} A function that returns the default value, or undefined if no default is set.\n*/\nfunction getInteropZodDefaultGetter(schema) {\n\tif (isZodSchemaV3(schema)) try {\n\t\tconst defaultValue = schema.parse(void 0);\n\t\treturn () => defaultValue;\n\t} catch {\n\t\treturn void 0;\n\t}\n\tif (isZodSchemaV4(schema)) try {\n\t\tconst defaultValue = parse(schema, void 0);\n\t\treturn () => defaultValue;\n\t} catch {\n\t\treturn void 0;\n\t}\n\treturn void 0;\n}\nfunction isZodTransformV3(schema) {\n\treturn isZodSchemaV3(schema) && \"typeName\" in schema._def && schema._def.typeName === \"ZodEffects\";\n}\nfunction isZodTransformV4(schema) {\n\treturn isZodSchemaV4(schema) && schema._zod.def.type === \"pipe\";\n}\nfunction interopZodTransformInputSchemaImpl(schema, recursive, cache) {\n\tconst cached = cache.get(schema);\n\tif (cached !== void 0) return cached;\n\tif (isZodSchemaV3(schema)) {\n\t\tif (isZodTransformV3(schema)) return interopZodTransformInputSchemaImpl(schema._def.schema, recursive, cache);\n\t\treturn schema;\n\t}\n\tif (isZodSchemaV4(schema)) {\n\t\tlet outputSchema = schema;\n\t\tif (isZodTransformV4(schema)) outputSchema = interopZodTransformInputSchemaImpl(schema._zod.def.in, recursive, cache);\n\t\tif (recursive) {\n\t\t\tif (isZodObjectV4(outputSchema)) {\n\t\t\t\tconst outputShape = {};\n\t\t\t\tfor (const [key, keySchema] of Object.entries(outputSchema._zod.def.shape)) outputShape[key] = interopZodTransformInputSchemaImpl(keySchema, recursive, cache);\n\t\t\t\toutputSchema = clone(outputSchema, {\n\t\t\t\t\t...outputSchema._zod.def,\n\t\t\t\t\tshape: outputShape\n\t\t\t\t});\n\t\t\t} else if (isZodArrayV4(outputSchema)) {\n\t\t\t\tconst elementSchema = interopZodTransformInputSchemaImpl(outputSchema._zod.def.element, recursive, cache);\n\t\t\t\toutputSchema = clone(outputSchema, {\n\t\t\t\t\t...outputSchema._zod.def,\n\t\t\t\t\telement: elementSchema\n\t\t\t\t});\n\t\t\t} else if (isZodOptionalV4(outputSchema)) {\n\t\t\t\tconst innerSchema = interopZodTransformInputSchemaImpl(outputSchema._zod.def.innerType, recursive, cache);\n\t\t\t\toutputSchema = clone(outputSchema, {\n\t\t\t\t\t...outputSchema._zod.def,\n\t\t\t\t\tinnerType: innerSchema\n\t\t\t\t});\n\t\t\t} else if (isZodNullableV4(outputSchema)) {\n\t\t\t\tconst innerSchema = interopZodTransformInputSchemaImpl(outputSchema._zod.def.innerType, recursive, cache);\n\t\t\t\toutputSchema = clone(outputSchema, {\n\t\t\t\t\t...outputSchema._zod.def,\n\t\t\t\t\tinnerType: innerSchema\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\tconst meta = globalRegistry.get(schema);\n\t\tif (meta) globalRegistry.add(outputSchema, meta);\n\t\tcache.set(schema, outputSchema);\n\t\treturn outputSchema;\n\t}\n\tthrow new Error(\"Schema must be an instance of z3.ZodType or z4.$ZodType\");\n}\n/**\n* Returns the input type of a Zod transform schema, for both v3 and v4.\n* If the schema is not a transform, returns undefined. If `recursive` is true,\n* recursively processes nested object schemas and arrays of object schemas.\n*\n* @param schema - The Zod schema instance (v3 or v4)\n* @param {boolean} [recursive=false] - Whether to recursively process nested objects/arrays.\n* @returns The input Zod schema of the transform, or undefined if not a transform\n*/\nfunction interopZodTransformInputSchema(schema, recursive = false) {\n\tconst cache = /* @__PURE__ */ new WeakMap();\n\treturn interopZodTransformInputSchemaImpl(schema, recursive, cache);\n}\n/**\n* Creates a modified version of a Zod object schema where fields matching a predicate are made optional.\n* Supports both Zod v3 and v4 schemas and preserves the original schema version.\n*\n* @template T - The type of the Zod object schema.\n* @param {T} schema - The Zod object schema instance (either v3 or v4).\n* @param {(key: string, value: InteropZodType) => boolean} predicate - Function to determine which fields should be optional.\n* @returns {InteropZodObject} The modified Zod object schema.\n* @throws {Error} If the schema is not a Zod v3 or v4 object.\n*/\nfunction interopZodObjectMakeFieldsOptional(schema, predicate) {\n\tif (isZodSchemaV3(schema)) {\n\t\tconst shape = getInteropZodObjectShape(schema);\n\t\tconst modifiedShape = {};\n\t\tfor (const [key, value] of Object.entries(shape)) if (predicate(key, value)) modifiedShape[key] = value.optional();\n\t\telse modifiedShape[key] = value;\n\t\treturn schema.extend(modifiedShape);\n\t}\n\tif (isZodSchemaV4(schema)) {\n\t\tconst shape = getInteropZodObjectShape(schema);\n\t\tconst outputShape = { ...schema._zod.def.shape };\n\t\tfor (const [key, value] of Object.entries(shape)) if (predicate(key, value)) outputShape[key] = new $ZodOptional({\n\t\t\ttype: \"optional\",\n\t\t\tinnerType: value\n\t\t});\n\t\tconst modifiedSchema = clone(schema, {\n\t\t\t...schema._zod.def,\n\t\t\tshape: outputShape\n\t\t});\n\t\tconst meta = globalRegistry.get(schema);\n\t\tif (meta) globalRegistry.add(modifiedSchema, meta);\n\t\treturn modifiedSchema;\n\t}\n\tthrow new Error(\"Schema must be an instance of z3.ZodObject or z4.$ZodObject\");\n}\nfunction isInteropZodError(e) {\n\treturn e instanceof Error && (e.constructor.name === \"ZodError\" || e.constructor.name === \"$ZodError\");\n}\n\n//#endregion\nexport { extendInteropZodObject, getInteropZodDefaultGetter, getInteropZodObjectShape, getSchemaDescription, interopParse, interopParseAsync, interopSafeParse, interopSafeParseAsync, interopZodObjectMakeFieldsOptional, interopZodObjectPartial, interopZodObjectPassthrough, interopZodObjectStrict, interopZodTransformInputSchema, isInteropZodError, isInteropZodLiteral, isInteropZodObject, isInteropZodSchema, isShapelessZodSchema, isSimpleStringZodSchema, isZodArrayV4, isZodLiteralV3, isZodLiteralV4, isZodNullableV4, isZodObjectV3, isZodObjectV4, isZodOptionalV4, isZodSchema, isZodSchemaV3, isZodSchemaV4 };\n//# sourceMappingURL=zod.js.map"],"names":[],"mappings":"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","x_google_ignoreList":[0]}