@esri/solutions-components 5.1.0-next.67 → 5.1.0-next.68

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 (265) hide show
  1. package/dist/cdn/{IDPLUOO5.js → 2AIWDT55.js} +1 -1
  2. package/dist/cdn/2B4SGB3I.js +2 -0
  3. package/dist/cdn/{FLLZBDVI.js → 2MOSXHFG.js} +1 -1
  4. package/dist/cdn/{RP36BC5U.js → 2SCW7VSF.js} +1 -1
  5. package/dist/cdn/{PWSIKCAF.js → 2UPIDLE5.js} +1 -1
  6. package/dist/cdn/{4WTAL6YU.js → 35XXJCZT.js} +1 -1
  7. package/dist/cdn/36TEZXBH.js +28 -0
  8. package/dist/cdn/{QF3LZFWW.js → 3FL3PNLU.js} +1 -1
  9. package/dist/cdn/{OUHPCCIT.js → 3FZDFAPN.js} +1 -1
  10. package/dist/cdn/{DBTVSVZ4.js → 3NR4SOVS.js} +1 -1
  11. package/dist/cdn/{GEVYIM3T.js → 42CN2HQC.js} +1 -1
  12. package/dist/cdn/43HJUBM4.js +2 -0
  13. package/dist/cdn/{3YQ3LN5J.js → 46MUUBPE.js} +1 -1
  14. package/dist/cdn/{M6ZFMO6K.js → 47IJA2SQ.js} +1 -1
  15. package/dist/cdn/{JZHP22BA.js → 4DFLLD6V.js} +1 -1
  16. package/dist/cdn/4LVJK3V2.js +2 -0
  17. package/dist/cdn/{EUY3GSFI.js → 4POTHO6N.js} +1 -1
  18. package/dist/cdn/{K7MOOHAF.js → 4RGYIPUO.js} +1 -1
  19. package/dist/cdn/{P7UNMJ5A.js → 4STC55KZ.js} +1 -1
  20. package/dist/cdn/{YBUQ5RAC.js → 4TYKXT5H.js} +1 -1
  21. package/dist/cdn/4X53QTF7.js +2 -0
  22. package/dist/cdn/{BWTBRONP.js → 5CARFDI3.js} +1 -1
  23. package/dist/cdn/{GSF5ZZMH.js → 5HZOUKRN.js} +1 -1
  24. package/dist/cdn/{ZSPRUX4H.js → 5MLXG5WA.js} +1 -1
  25. package/dist/cdn/{3XPKAEMR.js → 5OKASTA4.js} +1 -1
  26. package/dist/cdn/{43HTXWT4.js → 5PSVMOK7.js} +1 -1
  27. package/dist/cdn/{LCBVGEFC.js → 5TNKWUPA.js} +1 -1
  28. package/dist/cdn/5YSNBFO6.js +2 -0
  29. package/dist/cdn/6CHHUU33.js +2 -0
  30. package/dist/cdn/{PYOUOZUM.js → 6LBAAWSN.js} +1 -1
  31. package/dist/cdn/{42WASQMZ.js → 7FF5YSNR.js} +1 -1
  32. package/dist/cdn/{JQC3RZ7L.js → 7JUCAWZY.js} +1 -1
  33. package/dist/cdn/{A5UYHQB2.js → 7LL2JXP2.js} +1 -1
  34. package/dist/cdn/7MSBIQLE.js +4 -0
  35. package/dist/cdn/7NDNEWIB.js +2 -0
  36. package/dist/cdn/{V7UWSW6U.js → 7VFHFVJM.js} +1 -1
  37. package/dist/cdn/{MACN5YNL.js → 7YLCROT7.js} +1 -1
  38. package/dist/cdn/{GMXGHUZO.js → A45A6TFT.js} +1 -1
  39. package/dist/cdn/{Y2VQNMT4.js → A4WUUHLP.js} +1 -1
  40. package/dist/cdn/ABL7HXUY.js +2 -0
  41. package/dist/cdn/{LCBZNTKI.js → ARWREGJS.js} +1 -1
  42. package/dist/cdn/{K7VYU2IJ.js → ASMKESB2.js} +1 -1
  43. package/dist/cdn/{GYQ22PJ6.js → AYCGL3SF.js} +1 -1
  44. package/dist/cdn/B7XPPNVY.js +2 -0
  45. package/dist/cdn/BB3L2KIS.js +2 -0
  46. package/dist/cdn/{76H55K5C.js → BFGQR5HS.js} +1 -1
  47. package/dist/cdn/{TOU5OHUQ.js → BFRX6PST.js} +1 -1
  48. package/dist/cdn/BG55H324.js +2 -0
  49. package/dist/cdn/BUR53ZIF.js +2 -0
  50. package/dist/cdn/BW663VEM.js +2 -0
  51. package/dist/cdn/{BDENYZEG.js → BZT6R6HU.js} +1 -1
  52. package/dist/cdn/C2WZ76NK.js +2 -0
  53. package/dist/cdn/{ANWADKOZ.js → C7V2ZOFV.js} +1 -1
  54. package/dist/cdn/{4NCV4IWX.js → CHHIDAIO.js} +1 -1
  55. package/dist/cdn/CHWUORRX.js +2 -0
  56. package/dist/cdn/{GBTCFOFN.js → D3XBFWCF.js} +1 -1
  57. package/dist/cdn/{BIYG7PA2.js → D5FEDX3A.js} +1 -1
  58. package/dist/cdn/DHE3GFUJ.js +2 -0
  59. package/dist/cdn/DSHJPE6S.js +2 -0
  60. package/dist/cdn/{JCTGE6OA.js → DTVJGJYM.js} +1 -1
  61. package/dist/cdn/{Q2IHGYKB.js → EACG35UF.js} +1 -1
  62. package/dist/cdn/EDWOTP4V.js +2 -0
  63. package/dist/cdn/{FRE445LD.js → EEHNMGTM.js} +1 -1
  64. package/dist/cdn/{33OQKT4F.js → EMXGXBXU.js} +1 -1
  65. package/dist/cdn/EYJ255MM.js +2 -0
  66. package/dist/cdn/{GUKPMOPC.js → F7G3JSDV.js} +1 -1
  67. package/dist/cdn/F7R4EYDS.js +2 -0
  68. package/dist/cdn/FA44RLAZ.js +2 -0
  69. package/dist/cdn/{HAET3BAD.js → FBXNPZPC.js} +1 -1
  70. package/dist/cdn/{E7RDA5B4.js → FHNAG6JQ.js} +5 -5
  71. package/dist/cdn/{JR4Z5BZE.js → FICK6HVH.js} +1 -1
  72. package/dist/cdn/FIWSWJTZ.js +2 -0
  73. package/dist/cdn/{CS4IGHMC.js → FKVDFVJD.js} +1 -1
  74. package/dist/cdn/FPV4WS5B.js +2 -0
  75. package/dist/cdn/{UHVBUHU3.js → FUJV2OPO.js} +1 -1
  76. package/dist/cdn/{JNRZGJ5J.js → FZ7IBZWI.js} +1 -1
  77. package/dist/cdn/{3NPTCTYW.js → GNWP2AAY.js} +1 -1
  78. package/dist/cdn/{T2CGPA2B.js → GQDQ5NO2.js} +1 -1
  79. package/dist/cdn/{JA3R6YUV.js → GSODQ7Y6.js} +1 -1
  80. package/dist/cdn/GXICL6EL.js +2 -0
  81. package/dist/cdn/HAWNWJLR.js +2 -0
  82. package/dist/cdn/HB53SUV6.js +357 -0
  83. package/dist/cdn/{3XX5UDIU.js → HBALPM34.js} +1 -1
  84. package/dist/cdn/{7EEAVPTU.js → HIWKSSJD.js} +1 -1
  85. package/dist/cdn/HNNENA73.js +2 -0
  86. package/dist/cdn/HYJ7UXOV.js +2 -0
  87. package/dist/cdn/{6LHM6EFD.js → IKLKVCWC.js} +1 -1
  88. package/dist/cdn/{E4OCTDX7.js → IOSX3FKK.js} +1 -1
  89. package/dist/cdn/{N73GF6WL.js → IXPYSOIL.js} +1 -1
  90. package/dist/cdn/IXSZQTPL.js +2 -0
  91. package/dist/cdn/J74DGHF3.js +2 -0
  92. package/dist/cdn/{5WA4SX7C.js → JE4X76M2.js} +1 -1
  93. package/dist/cdn/{PBWC3QFN.js → JKSLEUDU.js} +1 -1
  94. package/dist/cdn/{SLIB2OEC.js → JMAUE3FO.js} +1 -1
  95. package/dist/cdn/{CACSAX3Q.js → JOI3ZKK5.js} +1 -1
  96. package/dist/cdn/JY62CMT7.js +2 -0
  97. package/dist/cdn/{K2OB67JG.js → K7RFTZ56.js} +1 -1
  98. package/dist/cdn/{I2AQZTRJ.js → KDMK3KUH.js} +1 -1
  99. package/dist/cdn/{QSUXQICI.js → KJNYVH65.js} +1 -1
  100. package/dist/cdn/{NV4NQJDM.js → KMIVV3RB.js} +1 -1
  101. package/dist/cdn/{EZJOMREQ.js → KSZQFK3N.js} +1 -1
  102. package/dist/cdn/KWNAM7AD.js +2 -0
  103. package/dist/cdn/LNZEGAPP.js +2 -0
  104. package/dist/cdn/{LE6OUXPN.js → LOSZZK4D.js} +1 -1
  105. package/dist/cdn/{U5CKJBMT.js → LUYDQPEN.js} +1 -1
  106. package/dist/cdn/LW4KR4D5.js +2 -0
  107. package/dist/cdn/M7ERGA4I.js +2 -0
  108. package/dist/cdn/{POJOSFXX.js → MRSF34HA.js} +1 -1
  109. package/dist/cdn/MS34ZMXL.js +2 -0
  110. package/dist/cdn/{FLQFNPOP.js → MXFEGFHP.js} +1 -1
  111. package/dist/cdn/{V2QTKEQV.js → N7AYXZEX.js} +1 -1
  112. package/dist/cdn/NDSUZD6T.js +2 -0
  113. package/dist/cdn/NF3TLIP3.js +2 -0
  114. package/dist/cdn/{VE3KTNQS.js → NG2ORWB2.js} +1 -1
  115. package/dist/cdn/{CR2XUUG5.js → NJJYHW6D.js} +1 -1
  116. package/dist/cdn/{XEQSHS4A.js → NLILOBN5.js} +1 -1
  117. package/dist/cdn/{THSRTNBE.js → NO7Q6ULD.js} +1 -1
  118. package/dist/cdn/{UEJPBHBF.js → NP5KIGP3.js} +1 -1
  119. package/dist/cdn/{WQTF5JT3.js → NTBODSSX.js} +1 -1
  120. package/dist/cdn/O44OLIT5.js +2 -0
  121. package/dist/cdn/OAFE6H7U.js +2 -0
  122. package/dist/cdn/{E5GNE67Z.js → OU4UJTL6.js} +1 -1
  123. package/dist/cdn/{UJ5NRADN.js → P6F5I32T.js} +1 -1
  124. package/dist/cdn/{DPD6UBKD.js → PAJG7ACM.js} +1 -1
  125. package/dist/cdn/{EPQ6J23O.js → PF4Z7CF6.js} +1 -1
  126. package/dist/cdn/{MR5KWNL4.js → PFFHE4IG.js} +1 -1
  127. package/dist/cdn/{WX7KEAVK.js → PJBORZZO.js} +1 -1
  128. package/dist/cdn/{LVQAS4DN.js → PKDHJR67.js} +1 -1
  129. package/dist/cdn/{TYS6ZZ3Q.js → QBHDEX72.js} +1 -1
  130. package/dist/cdn/{OGUIHXDV.js → QBUVCNNC.js} +1 -1
  131. package/dist/cdn/{5F3VPVCO.js → QIS27ICS.js} +1 -1
  132. package/dist/cdn/{2ZZTL5B6.js → QRWWGRGX.js} +1 -1
  133. package/dist/cdn/R4OPQN6O.js +2 -0
  134. package/dist/cdn/R5PY2TMY.js +2 -0
  135. package/dist/cdn/{O4JG6O2G.js → RBYBNP2B.js} +1 -1
  136. package/dist/cdn/{4652XKVL.js → RNA5LDZ5.js} +1 -1
  137. package/dist/cdn/{PWAT4NDG.js → ROO45KNC.js} +1 -1
  138. package/dist/cdn/S27I4OM5.js +2 -0
  139. package/dist/cdn/{MMQLDIE7.js → S37HZZ6Y.js} +1 -1
  140. package/dist/cdn/{SDJWXDEO.js → SHFWVVGY.js} +1 -1
  141. package/dist/cdn/{BF6NM5HV.js → SICXVIQQ.js} +1 -1
  142. package/dist/cdn/SJQW6ZDF.js +2 -0
  143. package/dist/cdn/{HR2BNQ7E.js → SKMRPLJ5.js} +1 -1
  144. package/dist/cdn/{XFKZOLUD.js → SLUY34FZ.js} +1 -1
  145. package/dist/cdn/{UHZMX2M6.js → SUDT3JBM.js} +1 -1
  146. package/dist/cdn/{UNA43DT6.js → T3KDTF34.js} +1 -1
  147. package/dist/cdn/{L6QPBIO3.js → T4B64LSQ.js} +1 -1
  148. package/dist/cdn/TPOCOIHP.js +2 -0
  149. package/dist/cdn/{CUY7MQY5.js → TRADVQJJ.js} +1 -1
  150. package/dist/cdn/UPXLJJKV.js +2 -0
  151. package/dist/cdn/VDADP5AY.js +2 -0
  152. package/dist/cdn/VOM7CM3O.js +2 -0
  153. package/dist/cdn/VUQ25YDH.js +2 -0
  154. package/dist/cdn/{BXXN7BIC.js → VWU4KCEV.js} +1 -1
  155. package/dist/cdn/{TYSZL2RK.js → W3QL6FH2.js} +1 -1
  156. package/dist/cdn/{ZBRNLRN2.js → WFAI6ZZB.js} +1 -1
  157. package/dist/cdn/{ODZNJZG5.js → WJSVRU72.js} +1 -1
  158. package/dist/cdn/{WYEPAWQO.js → WKFXXJP7.js} +1 -1
  159. package/dist/cdn/{I7OSCIKL.js → WQSURMPZ.js} +1 -1
  160. package/dist/cdn/{OPJPVHX6.js → WXGTKA7P.js} +1 -1
  161. package/dist/cdn/WYV4MD77.js +2 -0
  162. package/dist/cdn/X4Y4DHJ5.js +2 -0
  163. package/dist/cdn/{4YB7FA37.js → XAC6OXJQ.js} +1 -1
  164. package/dist/cdn/{FEMACR5Y.js → XD5JASLO.js} +1 -1
  165. package/dist/cdn/{IUFEMLQM.js → XDADY4F7.js} +1 -1
  166. package/dist/cdn/{RQ2LHC5I.js → XFQNCJ4I.js} +1 -1
  167. package/dist/cdn/{7WQMX5XY.js → XU2HEOFI.js} +1 -1
  168. package/dist/cdn/{Z2IT4SME.js → XVVH74AJ.js} +1 -1
  169. package/dist/cdn/{2RONXQ22.js → XY4ZZKRK.js} +1 -1
  170. package/dist/cdn/{5TPLPDK2.js → Y3XTTGTV.js} +1 -1
  171. package/dist/cdn/{VEFYE24S.js → YAAAUTVO.js} +1 -1
  172. package/dist/cdn/{G5YR3YZQ.js → YEUQVA7X.js} +1 -1
  173. package/dist/cdn/{E6WWQDDM.js → YYUOLIOE.js} +1 -1
  174. package/dist/cdn/{DYXBSCAV.js → Z6ID7QGG.js} +1 -1
  175. package/dist/cdn/{DHPY2J5M.js → ZFERDECY.js} +1 -1
  176. package/dist/cdn/{SUN2LQ7K.js → ZIGRP4UM.js} +1 -1
  177. package/dist/cdn/{J6V42VCC.js → ZUG2WJUQ.js} +1 -1
  178. package/dist/cdn/{TLJX3G56.js → ZXA4Y7R7.js} +1 -1
  179. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.en.json +1 -1
  180. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.json +1 -1
  181. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.en.json +1 -0
  182. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.json +1 -0
  183. package/dist/cdn/index.js +1 -1
  184. package/dist/cdn/main.css +1 -1
  185. package/dist/chunks/deployAppContexts.js +4 -3
  186. package/dist/chunks/getItemIcon.js +18 -9
  187. package/dist/chunks/helpers.js +2 -1
  188. package/dist/chunks/solutions_explorer_description.js +28 -21
  189. package/dist/components/arcgis-solutions-assistant/customElement.d.ts +8 -8
  190. package/dist/components/arcgis-solutions-assistant/customElement.js +37058 -34635
  191. package/dist/components/solution-builder-assistant/customElement.d.ts +63 -0
  192. package/dist/components/solution-builder-assistant/customElement.js +137 -0
  193. package/dist/components/solution-builder-assistant/index.d.ts +1 -0
  194. package/dist/components/solution-builder-assistant/index.js +20 -0
  195. package/dist/components/solution-deploy-dialog/index.js +1 -1
  196. package/dist/components/solution-item-diagram/customElement.js +1 -1
  197. package/dist/components/solution-item-icon/customElement.d.ts +6 -0
  198. package/dist/components/solution-item-icon/customElement.js +13 -12
  199. package/dist/docs/api.json +1 -1
  200. package/dist/docs/docs.json +1 -1
  201. package/dist/docs/vscode.html-custom-data.json +1 -1
  202. package/dist/docs/web-types.json +1 -1
  203. package/dist/index.d.ts +4 -0
  204. package/dist/loader.js +2 -1
  205. package/dist/solutions-components_commit.txt +6 -6
  206. package/dist/types/lumina.d.ts +6 -1
  207. package/dist/types/preact.d.ts +7 -1
  208. package/dist/types/react.d.ts +8 -1
  209. package/dist/types/stencil.d.ts +6 -1
  210. package/dist/utils/interfaces.d.ts +107 -0
  211. package/package.json +25 -23
  212. package/dist/cdn/2P2JRBNM.js +0 -2
  213. package/dist/cdn/2RBKFT3Q.js +0 -2
  214. package/dist/cdn/5326HZ74.js +0 -2
  215. package/dist/cdn/5QCBD6ZZ.js +0 -2
  216. package/dist/cdn/5S3WZLB5.js +0 -2
  217. package/dist/cdn/65Q3GK3L.js +0 -2
  218. package/dist/cdn/ABTC2V7J.js +0 -2
  219. package/dist/cdn/AVNCYWKK.js +0 -2
  220. package/dist/cdn/BJMKDP4O.js +0 -2
  221. package/dist/cdn/BMJN3MIR.js +0 -2
  222. package/dist/cdn/COTZWDC3.js +0 -2
  223. package/dist/cdn/E7HQ4JJ2.js +0 -2
  224. package/dist/cdn/F2JKSZOE.js +0 -4
  225. package/dist/cdn/F2YGRNTN.js +0 -2
  226. package/dist/cdn/GV3BOKA2.js +0 -40
  227. package/dist/cdn/HBJZGW4L.js +0 -2
  228. package/dist/cdn/HMB3LHBC.js +0 -2
  229. package/dist/cdn/HPQPI754.js +0 -2
  230. package/dist/cdn/I4PUORX4.js +0 -2
  231. package/dist/cdn/INWDOVSJ.js +0 -2
  232. package/dist/cdn/JUXXPW6I.js +0 -2
  233. package/dist/cdn/KD46EE7M.js +0 -2
  234. package/dist/cdn/KPBEUIQV.js +0 -2
  235. package/dist/cdn/KSXW3QKP.js +0 -2
  236. package/dist/cdn/LWUSGNUB.js +0 -2
  237. package/dist/cdn/M7YK4K5M.js +0 -2
  238. package/dist/cdn/MZ3QZD4K.js +0 -2
  239. package/dist/cdn/MZLEP53S.js +0 -2
  240. package/dist/cdn/N7HJKCUK.js +0 -2
  241. package/dist/cdn/NNOZ6KRO.js +0 -21
  242. package/dist/cdn/NSITJP7B.js +0 -2
  243. package/dist/cdn/OQFRVQQZ.js +0 -2
  244. package/dist/cdn/P6IYN2TS.js +0 -2
  245. package/dist/cdn/PZOAAAVI.js +0 -2
  246. package/dist/cdn/QHG54NVK.js +0 -2
  247. package/dist/cdn/QWRM254M.js +0 -2
  248. package/dist/cdn/QX7YHRF5.js +0 -359
  249. package/dist/cdn/RDXJFHLV.js +0 -2
  250. package/dist/cdn/REOO5ZGK.js +0 -2
  251. package/dist/cdn/RVKS24LF.js +0 -2
  252. package/dist/cdn/SSO3AN4U.js +0 -2
  253. package/dist/cdn/TH52564W.js +0 -2
  254. package/dist/cdn/THKPPH7G.js +0 -2
  255. package/dist/cdn/TU5GZK4M.js +0 -2
  256. package/dist/cdn/UFJWRZWQ.js +0 -2
  257. package/dist/cdn/VPTZV5YV.js +0 -2
  258. package/dist/cdn/WCPWYPN2.js +0 -2
  259. package/dist/cdn/WR3YNDFH.js +0 -2
  260. package/dist/cdn/XK6Q5TUT.js +0 -2
  261. package/dist/cdn/XSNGR44R.js +0 -2
  262. package/dist/cdn/XY4HNUJE.js +0 -2
  263. package/dist/cdn/YTK4IGLJ.js +0 -2
  264. package/dist/cdn/ZSHMK5VX.js +0 -2
  265. package/dist/chunks/explorer-prompts.js +0 -43
@@ -1,359 +0,0 @@
1
- /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import a from"./N73GF6WL.js";import{b as g0}from"./QHG54NVK.js";import{b as m0}from"./DPD6UBKD.js";import"./HBQN25RR.js";import{a as za}from"./KN36REDP.js";import{a as f0}from"./SDJWXDEO.js";import"./INWDOVSJ.js";import"./3YQ3LN5J.js";import"./TEHBW75B.js";import"./KU62OLRE.js";import"./ZCU2WWVN.js";import"./WGO4EVOV.js";import"./3IHLJADI.js";import"./B3R52L7H.js";import"./BDXIKPLU.js";import"./G2ME4BAQ.js";import"./Z4F2NZOT.js";import"./KOIDWEP3.js";import"./3KXMYZCU.js";import"./LPBP7CBN.js";import"./3FMOO3PJ.js";import"./73AX72WY.js";import"./JUUVYK2H.js";import"./DKD2EGQP.js";import"./4HFHJOS3.js";import"./45M33Q5G.js";import"./FES7B3SJ.js";import{b as h0}from"./FLLZBDVI.js";import{E as u0,F as l0,G as d0,K as p0,h as r0,i as co,k as s0,l as nh,q as a0,v as i0,w as o0,x as c0}from"./F2JKSZOE.js";import"./QPIMTXPL.js";export default $arcgis.t(([BE,ZE,Q1,,,,{J:_0,q:y0}])=>{var uo=class extends c0{constructor(t){if(super(t),this.it=nh,t.type!==i0.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===nh||t==null)return this._t=void 0,this.it=t;if(t===s0)return t;if(typeof t!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(t===this.it)return this._t;this.it=t;let n=[t];return n.raw=n,this._t={_$litType$:this.constructor.resultType,strings:n,values:[]}}};uo.directiveName="unsafeHTML",uo.resultType=1;var v0=o0(uo);var VE=r0`:host{display:block;height:100%}.margin-lg{margin:var(--calcite-spacing-lg)}.display-flex-row{display:flex;flex-direction:row}.padding-left-10{padding-left:10px}.chat-container{display:flex;flex-direction:column;gap:0px;max-width:600px;height:75%;background-color:var(--calcite-color-surface-4);padding:1px}.chat-container_expanded{display:flex;flex-direction:column;gap:0px;max-width:100%;height:95%;background-color:var(--calcite-color-surface-1);border-radius:10px;padding:10px}.chat-panel{--calcite-color-focus: var(--calcite-color-brand);--calcite-panel-border-color: var(--calcite-color-border-2);--calcite-internal-panel-header-vertical-padding: 0px;--calcite-panel-header-content-space: 0px;border:var(--calcite-border-width-sm) solid var(--calcite-color-border-2);height:100%}.header-content{display:flex;align-items:center;gap:var(--calcite-spacing-sm);height:65px;box-sizing:border-box;padding-inline-start:var(--calcite-spacing-md)}.header-title{font-size:var(--calcite-font-size-md);font-weight:var(--calcite-font-weight-medium)}.beta-chip{--calcite-chip-corner-radius: var(--calcite-corner-radius-half)}.chat-panel calcite-card,.chat-panel calcite-text-area,.chat-panel calcite-button,.chat-panel .chat-messages,.chat-panel .chat-input{--calcite-color-focus: var(--calcite-color-brand)}.assistant-followup-chip:focus{outline:2px solid var(--calcite-color-brand)}.chat-panel-heading{font-size:var(--calcite-font-size-0);font-weight:var(--calcite-font-weight-medium);color:var(--calcite-color-surface-1, var(--calcite-color-text-1))}.chat-messages{display:flex;flex-direction:column;gap:20px;padding:4px;height:100%;overflow-y:auto}.user-message{align-self:flex-end;background:var(--calcite-color-brand);border-radius:8px;max-width:90%;--calcite-card-corner-radius: 8px;--calcite-card-background-color: var(--calcite-color-brand);--calcite-card-border-color: var(--calcite-color-brand);color:var(--calcite-color-text-inverse);text-align:left}.system-message{align-self:flex-start;background:var(--calcite-color-surface-3);border-radius:8px;max-width:90%;--calcite-card-corner-radius: 8px;--calcite-card-background-color: var(--calcite-color-surface-4);--calcite-card-border-color: var(--calcite-color-surface-4);color:var(--calcite-color-inverse);text-align:left}.loader-message{align-self:flex-start;background:var(--calcite-color-surface-4);border-radius:8px;--calcite-card-corner-radius: 8px;--calcite-card-background-color: var(--calcite-color-surface-4);--calcite-card-border-color: var(--calcite-color-surface-4)}.message-content{padding:0;font-size:14px}.response-message.message-content>p:first-of-type{margin-top:0}.message-content img{max-width:100%;height:auto;display:block;object-fit:contain}.message-content-pad{padding-bottom:10px;font-size:14px}.message-content-summary{padding-bottom:14px}.message-content-alignment{display:flex;align-items:center;gap:var(--calcite-spacing-md);font-size:var(--calcite-font-size--1);color:var(--calcite-color-text-1)}.padding-top-10{padding-top:10px}.padding-right-8{padding-right:8px}.padding-left-right-5{padding-right:5px;padding-left:5px}.chip-content{padding:5px 5px 5px 0}.chat-input{display:flex;flex-direction:row;flex-grow:1}.table-cell{--calcite-table-cell-background: var(--calcite-color-surface-4)}.cursor-pointer{cursor:pointer}.notice-border-color{--temp-initial-brand: var(--calcite-color-brand)}.notice-border-color calcite-notice{--calcite-color-brand: #ddd;--calcite-icon-color: var(--temp-initial-brand)}.notice-border-color calcite-notice *{--calcite-color-brand: var(--temp-initial-brand)}.solution-card{padding:5px 0;text-decoration:none;display:block;width:100%;cursor:pointer}.solution-card calcite-card{display:flex;flex-direction:column;max-width:520px;overflow:hidden;--calcite-card-corner-radius: var(--calcite-corner-radius-round) !important;--calcite-card-shadow: var(--calcite-shadow-sm);--calcite-card-background-color: var(--calcite-card-background-color) }.solution-card div[slot=thumbnail]{max-height:100%;width:100%;position:relative;&:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;transition:all .15s ease-in-out}}.solution-card div[slot=thumbnail] img{max-height:100%;width:100%;object-fit:cover}.solution-card span[slot=description]{padding-top:10px}.solution-card calcite-chip{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);visibility:hidden;pointer-events:none;opacity:0;transition:all .15s ease-in-out;z-index:9999}.solution-card:hover calcite-chip{visibility:visible;opacity:1}.solution-card:hover div[slot=thumbnail]:after{background-color:#00000080}.solution-card:hover h3{text-decoration:underline}.solution-card:focus{outline:2px solid var(--calcite-color-brand)}.references-container{padding-top:10px;display:block}.references-container.collapsed{display:none}.width-100{width:100%}.disclaimer-div{display:flex;align-items:center;gap:var(--calcite-spacing-sm);font-size:var(--calcite-font-size--0);color:var(--calcite-color-text-1)}.display-none{display:none}.chat-messages calcite-fab{position:absolute;bottom:16px;left:50%;transform:translate(-50%);z-index:999}.icon-color-background{--calcite-button-icon-color: var(--calcite-color-surface-1)}#closeAssistantButton{--calcite-action-text-color: var(--calcite-color-text-1)}.icon-color-background:focus{--calcite-color-focus: var(--calcite-color-surface-1)}@media(max-width:430px){.solution-card .solution-snippet{display:none}}.height-32-flex-auto{height:32px;flex:0 0 auto}.margin-top-0.message-content>p:first-of-type{margin-top:0}a:not(.solution-card){color:var(--calcite-link-text-color, var(--calcite-color-text-link));cursor:pointer;text-decoration:none;line-height:inherit;background-image:linear-gradient(currentColor,currentColor),linear-gradient(var(--calcite-color-brand-underline),var(--calcite-color-brand-underline));background-position-x:0%,100%;background-position-y:min(1.5em,100%);background-repeat:no-repeat,no-repeat;background-size:0% 1px,100% 1px;transition-property:background-size,color;transition-duration:var(--calcite-animation-timing, .15s);transition-timing-function:ease-in-out;outline-color:transparent;position:relative}a:not(.solution-card):hover{background-size:100% 1px,100% 1px}a:not(.solution-card):focus{outline:2px solid var(--calcite-color-brand);outline-offset:2px;outline-color:var(--calcite-color-brand)}a:not(.solution-card):active{color:var(--calcite-color-brand-press)}`,wt="__start__",St="__end__",as="__input__",yp="__error__",rh="__pregel_ns_writes",ds="__pregel_send",oy="__pregel_call",ra="__pregel_read",Fr="__pregel_checkpointer",Tl="__pregel_resuming",Ku="__pregel_task_id",cy="__pregel_stream",qE="__pregel_resume_value",Xu="__pregel_resume_map",ps="__pregel_scratchpad",Yu="__pregel_previous",HE="__pregel_durability",Yf="checkpoint_id",Br="checkpoint_ns",WE="__pregel_node_finished",Mr="checkpoint_map",JE="__pregel_abort_signals",Tt="__interrupt__",vs="__resume__",uy="__no_writes__",_p="__return__",sh="__previous__",ln="langsmith:hidden",w0="__self__",_i="__pregel_tasks",Zr="__pregel_push",Qf="__pregel_pull",yr="00000000-0000-0000-0000-000000000000",GE=[ln,as,Tt,vs,yp,uy,ds,ra,Fr,HE,cy,Tl,Ku,oy,qE,ps,Yu,Mr,Br,Yf],b0=Symbol.for("langgraph.command"),KE=class{[b0];constructor(e){this[b0]=e}};function em(e){let t=e;return t!=null&&typeof t.node=="string"&&t.args!==void 0}var Jo=class{lg_name="Send";node;args;constructor(e,t){this.node=e,this.args=Go(t)}toJSON(){return{lg_name:this.lg_name,node:this.node,args:this.args}}};function fn(e){return e instanceof Jo}var XE="__overwrite__";function tm(e){return typeof e=="object"&&e!==null&&"__overwrite__"in e?[!0,e[XE]]:[!1,void 0]}function YE(e){return tm(e)[0]}function ek(e){return!e||typeof e!="object"||!("__interrupt__"in e)?!1:Array.isArray(e[Tt])}var _r=class extends KE{lg_name="Command";lc_direct_tool_output=!0;graph;update;resume;goto=[];static PARENT="__parent__";constructor(e){super(e),this.resume=e.resume,this.graph=e.graph,this.update=e.update,e.goto&&(this.goto=Array.isArray(e.goto)?Go(e.goto):[Go(e.goto)])}_updateAsTuples(){return this.update&&typeof this.update=="object"&&!Array.isArray(this.update)?Object.entries(this.update):Array.isArray(this.update)&&this.update.every(e=>Array.isArray(e)&&e.length===2&&typeof e[0]=="string")?this.update:[["__root__",this.update]]}toJSON(){let e;return typeof this.goto=="string"?e=this.goto:fn(this.goto)?e=this.goto.toJSON():e=this.goto?.map(t=>typeof t=="string"?t:t.toJSON()),{lg_name:this.lg_name,update:this.update,resume:this.resume,goto:e}}};function Ut(e){return typeof e!="object"||e==null?!1:"lg_name"in e&&e.lg_name==="Command"}function Go(e,t=new Map){if(e!=null&&typeof e=="object"){if(t.has(e))return t.get(e);let n;if(Array.isArray(e))n=[],t.set(e,n),e.forEach((r,s)=>{n[s]=Go(r,t)});else if(Ut(e)&&!(e instanceof _r))n=new _r(e),t.set(e,n);else if(em(e)&&!(e instanceof Jo))n=new Jo(e.node,e.args),t.set(e,n);else if(Ut(e)||fn(e))n=e,t.set(e,n);else if("lc_serializable"in e&&e.lc_serializable)n=e,t.set(e,n);else{n={},t.set(e,n);for(let[r,s]of Object.entries(e))n[r]=Go(s,t)}return n}return e}var Rs=class extends Error{lc_error_code;constructor(e,t){let n=e??"";t?.lc_error_code&&(n=`${n}
3
-
4
- Troubleshooting URL: https://docs.langchain.com/oss/javascript/langgraph/${t.lc_error_code}/
5
- `),super(n),this.lc_error_code=t?.lc_error_code}},tk=class extends Rs{get is_bubble_up(){return!0}},QE=class extends Rs{constructor(e,t){super(e,t),this.name="GraphRecursionError"}static get unminifiable_name(){return"GraphRecursionError"}},Qu=class extends Rs{constructor(e,t){super(e,t),this.name="GraphValueError"}static get unminifiable_name(){return"GraphValueError"}},hi=class extends tk{interrupts;constructor(e,t){super(JSON.stringify(e,null,2),t),this.name="GraphInterrupt",this.interrupts=e??[]}static get unminifiable_name(){return"GraphInterrupt"}},ly=class extends hi{constructor(e,t){super([{value:e}],t),this.name="NodeInterrupt"}static get unminifiable_name(){return"NodeInterrupt"}},nk=class extends tk{command;constructor(e){super(),this.name="ParentCommand",this.command=e}static get unminifiable_name(){return"ParentCommand"}};function eA(e){return e!==void 0&&e.name===nk.unminifiable_name}function el(e){return e!==void 0&&e.is_bubble_up===!0}function ti(e){return e!==void 0&&[hi.unminifiable_name,ly.unminifiable_name].includes(e.name)}var k0=class extends Rs{constructor(e,t){super(e,t),this.name="EmptyInputError"}static get unminifiable_name(){return"EmptyInputError"}},Et=class extends Rs{constructor(e,t){super(e,t),this.name="EmptyChannelError"}static get unminifiable_name(){return"EmptyChannelError"}},Xe=class extends Rs{constructor(e,t){super(e,t),this.name="InvalidUpdateError"}static get unminifiable_name(){return"InvalidUpdateError"}},tA=class extends Rs{constructor(e,t){super(e,t),this.name="UnreachableNodeError"}static get unminifiable_name(){return"UnreachableNodeError"}},ah=class extends Rs{constructor(e,t){super(e,t),this.name="StateGraphInputError",this.message="Invalid StateGraph input. Make sure to pass a valid StateDefinition, Annotation.Root, or Zod schema."}static get unminifiable_name(){return"StateGraphInputError"}},nA=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i;function nm(e){return typeof e=="string"&&nA.test(e)}function rk(e){if(!nm(e))throw TypeError("Invalid UUID");var t,n=new Uint8Array(16);return n[0]=(t=parseInt(e.slice(0,8),16))>>>24,n[1]=t>>>16&255,n[2]=t>>>8&255,n[3]=t&255,n[4]=(t=parseInt(e.slice(9,13),16))>>>8,n[5]=t&255,n[6]=(t=parseInt(e.slice(14,18),16))>>>8,n[7]=t&255,n[8]=(t=parseInt(e.slice(19,23),16))>>>8,n[9]=t&255,n[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255,n[11]=t/4294967296&255,n[12]=t>>>24&255,n[13]=t>>>16&255,n[14]=t>>>8&255,n[15]=t&255,n}var At=[];for(lu=0;lu<256;++lu)At.push((lu+256).toString(16).slice(1));var lu;function eo(e,t=0){return(At[e[t+0]]+At[e[t+1]]+At[e[t+2]]+At[e[t+3]]+"-"+At[e[t+4]]+At[e[t+5]]+"-"+At[e[t+6]]+At[e[t+7]]+"-"+At[e[t+8]]+At[e[t+9]]+"-"+At[e[t+10]]+At[e[t+11]]+At[e[t+12]]+At[e[t+13]]+At[e[t+14]]+At[e[t+15]]).toLowerCase()}var du,rA=new Uint8Array(16);function dy(){if(!du&&(du=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!du))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return du(rA)}var ih,pu,oh=0,ch=0;function sA(e,t,n){var r=0,s=t||new Array(16);e=e||{};var a=e.node,i=e.clockseq;if(e._v6||(a||(a=ih),i==null&&(i=pu)),a==null||i==null){var o=e.random||(e.rng||dy)();a==null&&(a=[o[0],o[1],o[2],o[3],o[4],o[5]],!ih&&!e._v6&&(a[0]|=1,ih=a)),i==null&&(i=(o[6]<<8|o[7])&16383,pu===void 0&&!e._v6&&(pu=i))}var c=e.msecs!==void 0?e.msecs:Date.now(),u=e.nsecs!==void 0?e.nsecs:ch+1,l=c-oh+(u-ch)/1e4;if(l<0&&e.clockseq===void 0&&(i=i+1&16383),(l<0||c>oh)&&e.nsecs===void 0&&(u=0),u>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");oh=c,ch=u,pu=i,c+=122192928e5;var d=((c&268435455)*1e4+u)%4294967296;s[r++]=d>>>24&255,s[r++]=d>>>16&255,s[r++]=d>>>8&255,s[r++]=d&255;var p=c/4294967296*1e4&268435455;s[r++]=p>>>8&255,s[r++]=p&255,s[r++]=p>>>24&15|16,s[r++]=p>>>16&255,s[r++]=i>>>8|128,s[r++]=i&255;for(var h=0;h<6;++h)s[r+h]=a[h];return t||eo(s)}function aA(e){var t=typeof e=="string"?rk(e):e,n=iA(t);return typeof e=="string"?eo(n):n}function iA(e,t=!1){return Uint8Array.of((e[6]&15)<<4|e[7]>>4&15,(e[7]&15)<<4|(e[4]&240)>>4,(e[4]&15)<<4|(e[5]&240)>>4,(e[5]&15)<<4|(e[0]&240)>>4,(e[0]&15)<<4|(e[1]&240)>>4,(e[1]&15)<<4|(e[2]&240)>>4,96|e[2]&15,e[3],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])}function oA(e){e=unescape(encodeURIComponent(e));for(var t=[],n=0;n<e.length;++n)t.push(e.charCodeAt(n));return t}var cA="6ba7b810-9dad-11d1-80b4-00c04fd430c8",uA="6ba7b811-9dad-11d1-80b4-00c04fd430c8";function lA(e,t,n){function r(s,a,i,o){var c;if(typeof s=="string"&&(s=oA(s)),typeof a=="string"&&(a=rk(a)),((c=a)===null||c===void 0?void 0:c.length)!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");var u=new Uint8Array(16+s.length);if(u.set(a),u.set(s,a.length),u=n(u),u[6]=u[6]&15|t,u[8]=u[8]&63|128,i){o=o||0;for(var l=0;l<16;++l)i[o+l]=u[l];return i}return eo(u)}try{r.name=e}catch{}return r.DNS=cA,r.URL=uA,r}var dA=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),x0={randomUUID:dA};function Gs(e,t,n){if(x0.randomUUID&&!e)return x0.randomUUID();e=e||{};var r=e.random||(e.rng||dy)();return r[6]=r[6]&15|64,r[8]=r[8]&63|128,eo(r)}function pA(e,t,n,r){switch(e){case 0:return t&n^~t&r;case 1:return t^n^r;case 2:return t&n^t&r^n&r;case 3:return t^n^r}}function uh(e,t){return e<<t|e>>>32-t}function hA(e){var t=[1518500249,1859775393,2400959708,3395469782],n=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof e=="string"){var r=unescape(encodeURIComponent(e));e=[];for(var s=0;s<r.length;++s)e.push(r.charCodeAt(s))}else Array.isArray(e)||(e=Array.prototype.slice.call(e));e.push(128);for(var a=e.length/4+2,i=Math.ceil(a/16),o=new Array(i),c=0;c<i;++c){for(var u=new Uint32Array(16),l=0;l<16;++l)u[l]=e[c*64+l*4]<<24|e[c*64+l*4+1]<<16|e[c*64+l*4+2]<<8|e[c*64+l*4+3];o[c]=u}o[i-1][14]=(e.length-1)*8/Math.pow(2,32),o[i-1][14]=Math.floor(o[i-1][14]),o[i-1][15]=(e.length-1)*8&4294967295;for(var d=0;d<i;++d){for(var p=new Uint32Array(80),h=0;h<16;++h)p[h]=o[d][h];for(var f=16;f<80;++f)p[f]=uh(p[f-3]^p[f-8]^p[f-14]^p[f-16],1);for(var m=n[0],v=n[1],g=n[2],y=n[3],k=n[4],x=0;x<80;++x){var S=Math.floor(x/20),E=uh(m,5)+pA(S,v,g,y)+k+t[S]+p[x]>>>0;k=y,y=g,g=uh(v,30)>>>0,v=m,m=E}n[0]=n[0]+m>>>0,n[1]=n[1]+v>>>0,n[2]=n[2]+g>>>0,n[3]=n[3]+y>>>0,n[4]=n[4]+k>>>0}return[n[0]>>24&255,n[0]>>16&255,n[0]>>8&255,n[0]&255,n[1]>>24&255,n[1]>>16&255,n[1]>>8&255,n[1]&255,n[2]>>24&255,n[2]>>16&255,n[2]>>8&255,n[2]&255,n[3]>>24&255,n[3]>>16&255,n[3]>>8&255,n[3]&255,n[4]>>24&255,n[4]>>16&255,n[4]>>8&255,n[4]&255]}var sk=lA("v5",80,hA);function O0(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),n.push.apply(n,r)}return n}function S0(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?O0(Object(n),!0).forEach(function(r){fA(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):O0(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function fA(e,t,n){return(t=mA(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function mA(e){var t=gA(e,"string");return typeof t=="symbol"?t:t+""}function gA(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function yA(e={},t,n=0){var r=sA(S0(S0({},e),{},{_v6:!0}),new Uint8Array(16));return r=aA(r),eo(r)}var T0=null,I0=null,Fn=0;function ak(e,t,n){e=e||{};var r=0,s=new Uint8Array(16),a=e.random||(e.rng||dy)(),i=e.msecs!==void 0?e.msecs:Date.now(),o=e.seq!==void 0?e.seq:null,c=I0,u=T0;return i>Fn&&e.msecs===void 0&&(Fn=i,o!==null&&(c=null,u=null)),o!==null&&(o>2147483647&&(o=2147483647),c=o>>>19&4095,u=o&524287),(c===null||u===null)&&(c=a[6]&127,c=c<<8|a[7],u=a[8]&63,u=u<<8|a[9],u=u<<5|a[10]>>>3),i+1e4>Fn&&o===null?++u>524287&&(u=0,++c>4095&&(c=0,Fn++)):Fn=i,I0=c,T0=u,s[r++]=Fn/1099511627776&255,s[r++]=Fn/4294967296&255,s[r++]=Fn/16777216&255,s[r++]=Fn/65536&255,s[r++]=Fn/256&255,s[r++]=Fn&255,s[r++]=c>>>4&15|112,s[r++]=c&255,s[r++]=u>>>13&63|128,s[r++]=u>>>5&255,s[r++]=u<<3&255|a[10]&7,s[r++]=a[11],s[r++]=a[12],s[r++]=a[13],s[r++]=a[14],s[r++]=a[15],t||eo(s)}function ik(e){return yA({clockseq:e})}function ni(e,t){let n=t.replace(/-/g,"").match(/.{2}/g).map(r=>parseInt(r,16));return sk(e,new Uint8Array(n))}var _A="__error__",tl="__scheduled__",vA="__interrupt__",wA="__resume__",E0="[...]",bA="[Circular]",Il=[],ri=[];function kA(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function xA(e,t,n,r){typeof r>"u"&&(r=kA()),rm(e,"",0,[],void 0,0,r);var s;try{ri.length===0?s=JSON.stringify(e,t,n):s=JSON.stringify(e,OA(t),n)}catch{return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;Il.length!==0;){var a=Il.pop();a.length===4?Object.defineProperty(a[0],a[1],a[3]):a[0][a[1]]=a[2]}}return s}function lh(e,t,n,r){var s=Object.getOwnPropertyDescriptor(r,n);s.get!==void 0?s.configurable?(Object.defineProperty(r,n,{value:e}),Il.push([r,n,t,s])):ri.push([t,n,e]):(r[n]=e,Il.push([r,n,t]))}function rm(e,t,n,r,s,a,i){a+=1;var o;if(typeof e=="object"&&e!==null){for(o=0;o<r.length;o++)if(r[o]===e){lh(bA,e,t,s);return}if(typeof i.depthLimit<"u"&&a>i.depthLimit){lh(E0,e,t,s);return}if(typeof i.edgesLimit<"u"&&n+1>i.edgesLimit){lh(E0,e,t,s);return}if(r.push(e),Array.isArray(e))for(o=0;o<e.length;o++)rm(e[o],o,o,r,e,a,i);else{var c=Object.keys(e);for(o=0;o<c.length;o++){var u=c[o];rm(e[u],u,o,r,e,a,i)}}r.pop()}}function OA(e){return e=typeof e<"u"?e:function(t,n){return n},function(t,n){if(ri.length>0)for(var r=0;r<ri.length;r++){var s=ri[r];if(s[1]===t&&s[0]===n){n=s[2],ri.splice(r,1);break}}return e.call(this,t,n)}}var A0,$0;function SA(){return $0||($0=1,A0=function(e,t){if(typeof e!="string")throw new TypeError("Expected a string");return t=typeof t>"u"?"_":t,e.replace(/([a-z\d])([A-Z])/g,"$1"+t+"$2").replace(/([A-Z]+)([A-Z][a-z\d]+)/g,"$1"+t+"$2").toLowerCase()}),A0}var TA=SA(),IA=za(TA),hu={exports:{}},C0;function EA(){if(C0)return hu.exports;C0=1;let e=/[\p{Lu}]/u,t=/[\p{Ll}]/u,n=/^[\p{Lu}](?![\p{Lu}])/gu,r=/([\p{Alpha}\p{N}_]|$)/u,s=/[_.\- ]+/,a=new RegExp("^"+s.source),i=new RegExp(s.source+r.source,"gu"),o=new RegExp("\\d+"+r.source,"gu"),c=(p,h,f)=>{let m=!1,v=!1,g=!1;for(let y=0;y<p.length;y++){let k=p[y];m&&e.test(k)?(p=p.slice(0,y)+"-"+p.slice(y),m=!1,g=v,v=!0,y++):v&&g&&t.test(k)?(p=p.slice(0,y-1)+"-"+p.slice(y-1),g=v,v=!1,m=!0):(m=h(k)===k&&f(k)!==k,g=v,v=f(k)===k&&h(k)!==k)}return p},u=(p,h)=>(n.lastIndex=0,p.replace(n,f=>h(f))),l=(p,h)=>(i.lastIndex=0,o.lastIndex=0,p.replace(i,(f,m)=>h(m)).replace(o,f=>h(f))),d=(p,h)=>{if(!(typeof p=="string"||Array.isArray(p)))throw new TypeError("Expected the input to be `string | string[]`");if(h={pascalCase:!1,preserveConsecutiveUppercase:!1,...h},Array.isArray(p)?p=p.map(v=>v.trim()).filter(v=>v.length).join("-"):p=p.trim(),p.length===0)return"";let f=h.locale===!1?v=>v.toLowerCase():v=>v.toLocaleLowerCase(h.locale),m=h.locale===!1?v=>v.toUpperCase():v=>v.toLocaleUpperCase(h.locale);return p.length===1?h.pascalCase?m(p):f(p):(p!==f(p)&&(p=c(p,f,m)),p=p.replace(a,""),h.preserveConsecutiveUppercase?p=u(p,f):p=f(p),h.pascalCase&&(p=m(p.charAt(0))+p.slice(1)),l(p,m))};return hu.exports=d,hu.exports.default=d,hu.exports}var AA=EA(),$A=za(AA);function CA(e,t){return t?.[e]||IA(e)}function NA(e,t){return t?.[e]||$A(e)}function ok(e,t,n){let r={};for(let s in e)Object.hasOwn(e,s)&&(r[t(s,n)]=e[s]);return r}var ck="__lc_escaped__";function PA(e){return"lc"in e||Object.keys(e).length===1&&"__lc_escaped__"in e}function jA(e){return{[ck]:e}}function uk(e){return Object.keys(e).length===1&&"__lc_escaped__"in e}function RA(e){return e!==null&&typeof e=="object"&&"lc_serializable"in e&&typeof e.toJSON=="function"}function MA(e){let t;return e!==null&&typeof e=="object"?"lc_id"in e&&Array.isArray(e.lc_id)?t=e.lc_id:t=[e.constructor?.name??"Object"]:t=[typeof e],{lc:1,type:"not_implemented",id:t}}function sm(e,t=new WeakSet){if(e!==null&&typeof e=="object"&&!Array.isArray(e)){if(t.has(e))return MA(e);if(RA(e))return e;t.add(e);let n=e;if(PA(n))return t.delete(e),jA(n);let r={};for(let[s,a]of Object.entries(n))r[s]=sm(a,t);return t.delete(e),r}return Array.isArray(e)?e.map(n=>sm(n,t)):e}function am(e){if(e!==null&&typeof e=="object"&&!Array.isArray(e)){let t=e;if(uk(t))return t[ck];let n={};for(let[r,s]of Object.entries(t))n[r]=am(s);return n}return Array.isArray(e)?e.map(t=>am(t)):e}var N0=Object.defineProperty,Q=(e,t)=>{let n={};for(var r in e)N0(n,r,{get:e[r],enumerable:!0});return N0(n,Symbol.toStringTag,{value:"Module"}),n},LA=Q({Serializable:()=>Rn,get_lc_unique_name:()=>vp});function P0(e){return Array.isArray(e)?[...e]:{...e}}function zA(e,t){let n=P0(e);for(let[r,s]of Object.entries(t)){let[a,...i]=r.split(".").reverse(),o=n;for(let c of i.reverse()){if(o[c]===void 0)break;o[c]=P0(o[c]),o=o[c]}o[a]!==void 0&&(o[a]={lc:1,type:"secret",id:[s]})}return n}function vp(e){let t=Object.getPrototypeOf(e);return typeof e.lc_name=="function"&&(typeof t.lc_name!="function"||e.lc_name()!==t.lc_name())?e.lc_name():e.name}var Rn=class lk{lc_serializable=!1;lc_kwargs;static lc_name(){return this.name}get lc_id(){return[...this.lc_namespace,vp(this.constructor)]}get lc_secrets(){}get lc_attributes(){}get lc_aliases(){}get lc_serializable_keys(){}constructor(t,...n){this.lc_serializable_keys!==void 0?this.lc_kwargs=Object.fromEntries(Object.entries(t||{}).filter(([r])=>this.lc_serializable_keys?.includes(r))):this.lc_kwargs=t??{}}toJSON(){if(!this.lc_serializable)return this.toJSONNotImplemented();if(this.lc_kwargs instanceof lk||typeof this.lc_kwargs!="object"||Array.isArray(this.lc_kwargs))return this.toJSONNotImplemented();let t={},n={},r=Object.keys(this.lc_kwargs).reduce((o,c)=>(o[c]=c in this?this[c]:this.lc_kwargs[c],o),{});for(let o=Object.getPrototypeOf(this);o;o=Object.getPrototypeOf(o))Object.assign(t,Reflect.get(o,"lc_aliases",this)),Object.assign(n,Reflect.get(o,"lc_secrets",this)),Object.assign(r,Reflect.get(o,"lc_attributes",this));Object.keys(n).forEach(o=>{let c=this,u=r,[l,...d]=o.split(".").reverse();for(let p of d.reverse()){if(!(p in c)||c[p]===void 0)return;(!(p in u)||u[p]===void 0)&&(typeof c[p]=="object"&&c[p]!=null?u[p]={}:Array.isArray(c[p])&&(u[p]=[])),c=c[p],u=u[p]}l in c&&c[l]!==void 0&&(u[l]=u[l]||c[l])});let s={},a=new WeakSet;a.add(this);for(let[o,c]of Object.entries(r))s[o]=sm(c,a);let i=ok(Object.keys(n).length?zA(s,n):s,CA,t);return{lc:1,type:"constructor",id:this.lc_id,kwargs:i}}toJSONNotImplemented(){return{lc:1,type:"not_implemented",id:this.lc_id}}},UA=Q({getEnv:()=>py,getEnvironmentVariable:()=>rr,getRuntimeEnvironment:()=>mk,isBrowser:()=>dk,isDeno:()=>wp,isJsDom:()=>hk,isNode:()=>fk,isWebWorker:()=>pk}),dk=()=>typeof window<"u"&&typeof window.document<"u",pk=()=>typeof globalThis=="object"&&globalThis.constructor&&globalThis.constructor.name==="DedicatedWorkerGlobalScope",hk=()=>typeof window<"u"&&window.name==="nodejs"||typeof navigator<"u"&&navigator.userAgent.includes("jsdom"),wp=()=>typeof Deno<"u",fk=()=>typeof process<"u"&&typeof process.versions<"u"&&typeof process.versions.node<"u"&&!wp(),py=()=>{let e;return dk()?e="browser":fk()?e="node":pk()?e="webworker":hk()?e="jsdom":wp()?e="deno":e="other",e},dh;function mk(){return dh===void 0&&(dh={library:"langchain-js",runtime:py()}),dh}function rr(e){try{return typeof process<"u"?process.env?.[e]:wp()?Deno?.env.get(e):void 0}catch{return}}var DA=[],FA=Q({}),BA=Q({}),Y="0123456789abcdef".split(""),ZA=[-2147483648,8388608,32768,128],Bn=[24,16,8,0],fu=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],xt=[];function ir(e,t){t?(xt[0]=xt[16]=xt[1]=xt[2]=xt[3]=xt[4]=xt[5]=xt[6]=xt[7]=xt[8]=xt[9]=xt[10]=xt[11]=xt[12]=xt[13]=xt[14]=xt[15]=0,this.blocks=xt):this.blocks=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],e?(this.h0=3238371032,this.h1=914150663,this.h2=812702999,this.h3=4144912697,this.h4=4290775857,this.h5=1750603025,this.h6=1694076839,this.h7=3204075428):(this.h0=1779033703,this.h1=3144134277,this.h2=1013904242,this.h3=2773480762,this.h4=1359893119,this.h5=2600822924,this.h6=528734635,this.h7=1541459225),this.block=this.start=this.bytes=this.hBytes=0,this.finalized=this.hashed=!1,this.first=!0,this.is224=e}ir.prototype.update=function(e){if(!this.finalized){var t,n=typeof e;if(n!=="string"){if(n==="object"){if(e===null)throw new Error(ERROR);if(ARRAY_BUFFER&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!Array.isArray(e)&&(!ARRAY_BUFFER||!ArrayBuffer.isView(e)))throw new Error(ERROR)}else throw new Error(ERROR);t=!0}for(var r,s=0,a,i=e.length,o=this.blocks;s<i;){if(this.hashed&&(this.hashed=!1,o[0]=this.block,this.block=o[16]=o[1]=o[2]=o[3]=o[4]=o[5]=o[6]=o[7]=o[8]=o[9]=o[10]=o[11]=o[12]=o[13]=o[14]=o[15]=0),t)for(a=this.start;s<i&&a<64;++s)o[a>>>2]|=e[s]<<Bn[a++&3];else for(a=this.start;s<i&&a<64;++s)r=e.charCodeAt(s),r<128?o[a>>>2]|=r<<Bn[a++&3]:r<2048?(o[a>>>2]|=(192|r>>>6)<<Bn[a++&3],o[a>>>2]|=(128|r&63)<<Bn[a++&3]):r<55296||r>=57344?(o[a>>>2]|=(224|r>>>12)<<Bn[a++&3],o[a>>>2]|=(128|r>>>6&63)<<Bn[a++&3],o[a>>>2]|=(128|r&63)<<Bn[a++&3]):(r=65536+((r&1023)<<10|e.charCodeAt(++s)&1023),o[a>>>2]|=(240|r>>>18)<<Bn[a++&3],o[a>>>2]|=(128|r>>>12&63)<<Bn[a++&3],o[a>>>2]|=(128|r>>>6&63)<<Bn[a++&3],o[a>>>2]|=(128|r&63)<<Bn[a++&3]);this.lastByteIndex=a,this.bytes+=a-this.start,a>=64?(this.block=o[16],this.start=a-64,this.hash(),this.hashed=!0):this.start=a}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296<<0,this.bytes=this.bytes%4294967296),this}};ir.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var e=this.blocks,t=this.lastByteIndex;e[16]=this.block,e[t>>>2]|=ZA[t&3],this.block=e[16],t>=56&&(this.hashed||this.hash(),e[0]=this.block,e[16]=e[1]=e[2]=e[3]=e[4]=e[5]=e[6]=e[7]=e[8]=e[9]=e[10]=e[11]=e[12]=e[13]=e[14]=e[15]=0),e[14]=this.hBytes<<3|this.bytes>>>29,e[15]=this.bytes<<3,this.hash()}};ir.prototype.hash=function(){var e=this.h0,t=this.h1,n=this.h2,r=this.h3,s=this.h4,a=this.h5,i=this.h6,o=this.h7,c=this.blocks,u,l,d,p,h,f,m,v,g,y,k;for(u=16;u<64;++u)h=c[u-15],l=(h>>>7|h<<25)^(h>>>18|h<<14)^h>>>3,h=c[u-2],d=(h>>>17|h<<15)^(h>>>19|h<<13)^h>>>10,c[u]=c[u-16]+l+c[u-7]+d<<0;for(k=t&n,u=0;u<64;u+=4)this.first?(this.is224?(v=300032,h=c[0]-1413257819,o=h-150054599<<0,r=h+24177077<<0):(v=704751109,h=c[0]-210244248,o=h-1521486534<<0,r=h+143694565<<0),this.first=!1):(l=(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10),d=(s>>>6|s<<26)^(s>>>11|s<<21)^(s>>>25|s<<7),v=e&t,p=v^e&n^k,m=s&a^~s&i,h=o+d+m+fu[u]+c[u],f=l+p,o=r+h<<0,r=h+f<<0),l=(r>>>2|r<<30)^(r>>>13|r<<19)^(r>>>22|r<<10),d=(o>>>6|o<<26)^(o>>>11|o<<21)^(o>>>25|o<<7),g=r&e,p=g^r&t^v,m=i&o^~i&s,h=a+d+m+fu[u+1]+c[u+1],f=l+p,i=n+h<<0,n=h+f<<0,l=(n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10),d=(i>>>6|i<<26)^(i>>>11|i<<21)^(i>>>25|i<<7),y=n&r,p=y^n&e^g,m=a&i^~a&o,h=s+d+m+fu[u+2]+c[u+2],f=l+p,a=t+h<<0,t=h+f<<0,l=(t>>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10),d=(a>>>6|a<<26)^(a>>>11|a<<21)^(a>>>25|a<<7),k=t&n,p=k^t&r^y,m=a&i^~a&o,h=s+d+m+fu[u+3]+c[u+3],f=l+p,s=e+h<<0,e=h+f<<0,this.chromeBugWorkAround=!0;this.h0=this.h0+e<<0,this.h1=this.h1+t<<0,this.h2=this.h2+n<<0,this.h3=this.h3+r<<0,this.h4=this.h4+s<<0,this.h5=this.h5+a<<0,this.h6=this.h6+i<<0,this.h7=this.h7+o<<0};ir.prototype.hex=function(){this.finalize();var e=this.h0,t=this.h1,n=this.h2,r=this.h3,s=this.h4,a=this.h5,i=this.h6,o=this.h7,c=Y[e>>>28&15]+Y[e>>>24&15]+Y[e>>>20&15]+Y[e>>>16&15]+Y[e>>>12&15]+Y[e>>>8&15]+Y[e>>>4&15]+Y[e&15]+Y[t>>>28&15]+Y[t>>>24&15]+Y[t>>>20&15]+Y[t>>>16&15]+Y[t>>>12&15]+Y[t>>>8&15]+Y[t>>>4&15]+Y[t&15]+Y[n>>>28&15]+Y[n>>>24&15]+Y[n>>>20&15]+Y[n>>>16&15]+Y[n>>>12&15]+Y[n>>>8&15]+Y[n>>>4&15]+Y[n&15]+Y[r>>>28&15]+Y[r>>>24&15]+Y[r>>>20&15]+Y[r>>>16&15]+Y[r>>>12&15]+Y[r>>>8&15]+Y[r>>>4&15]+Y[r&15]+Y[s>>>28&15]+Y[s>>>24&15]+Y[s>>>20&15]+Y[s>>>16&15]+Y[s>>>12&15]+Y[s>>>8&15]+Y[s>>>4&15]+Y[s&15]+Y[a>>>28&15]+Y[a>>>24&15]+Y[a>>>20&15]+Y[a>>>16&15]+Y[a>>>12&15]+Y[a>>>8&15]+Y[a>>>4&15]+Y[a&15]+Y[i>>>28&15]+Y[i>>>24&15]+Y[i>>>20&15]+Y[i>>>16&15]+Y[i>>>12&15]+Y[i>>>8&15]+Y[i>>>4&15]+Y[i&15];return this.is224||(c+=Y[o>>>28&15]+Y[o>>>24&15]+Y[o>>>20&15]+Y[o>>>16&15]+Y[o>>>12&15]+Y[o>>>8&15]+Y[o>>>4&15]+Y[o&15]),c};ir.prototype.toString=ir.prototype.hex;ir.prototype.digest=function(){this.finalize();var e=this.h0,t=this.h1,n=this.h2,r=this.h3,s=this.h4,a=this.h5,i=this.h6,o=this.h7,c=[e>>>24&255,e>>>16&255,e>>>8&255,e&255,t>>>24&255,t>>>16&255,t>>>8&255,t&255,n>>>24&255,n>>>16&255,n>>>8&255,n&255,r>>>24&255,r>>>16&255,r>>>8&255,r&255,s>>>24&255,s>>>16&255,s>>>8&255,s&255,a>>>24&255,a>>>16&255,a>>>8&255,a&255,i>>>24&255,i>>>16&255,i>>>8&255,i&255];return this.is224||c.push(o>>>24&255,o>>>16&255,o>>>8&255,o&255),c};ir.prototype.array=ir.prototype.digest;ir.prototype.arrayBuffer=function(){this.finalize();var e=new ArrayBuffer(this.is224?28:32),t=new DataView(e);return t.setUint32(0,this.h0),t.setUint32(4,this.h1),t.setUint32(8,this.h2),t.setUint32(12,this.h3),t.setUint32(16,this.h4),t.setUint32(20,this.h5),t.setUint32(24,this.h6),this.is224||t.setUint32(28,this.h7),e};var hy=(...e)=>new ir(!1,!0).update(e.join("")).hex(),VA=Q({sha256:()=>hy});function gk(e){let t=Symbol.for(e);return{brand(n,r){let s=r?Symbol.for(`${e}.${r}`):t;class a extends n{[s]=!0;constructor(...o){super(...o)}static isInstance(o){return typeof o=="object"&&o!==null&&s in o&&o[s]===!0}}return Object.defineProperty(a,"name",{value:n.name}),a},sub(n){return gk(`${e}.${n}`)},isInstance(n){return typeof n=="object"&&n!==null&&t in n&&n[t]===!0}}}var qA=gk("langchain"),HA=Q({ContextOverflowError:()=>yk,LangChainError:()=>fy,ModelAbortError:()=>im,addLangChainErrorFields:()=>Dc,ns:()=>bp});function Dc(e,t){return e.lc_error_code=t,e.message=`${e.message}
6
-
7
- Troubleshooting URL: https://docs.langchain.com/oss/javascript/langchain/errors/${t}/
8
- `,e}var bp=qA.sub("error"),fy=class extends bp.brand(Error){name="LangChainError";constructor(e){super(e),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},im=class extends bp.brand(fy,"model-abort"){name="ModelAbortError";partialOutput;constructor(e,t){super(e),this.partialOutput=t}},yk=class _k extends bp.brand(fy,"context-overflow"){name="ContextOverflowError";cause;constructor(t){super(t??"Input exceeded the model's context window.")}static fromError(t){let n=new _k(t.message);return n.cause=t,n}};function Sr(e){return typeof e=="object"&&e!==null&&"type"in e&&typeof e.type=="string"&&"source_type"in e&&(e.source_type==="url"||e.source_type==="base64"||e.source_type==="text"||e.source_type==="id")}function my(e){return Sr(e)&&e.source_type==="url"&&"url"in e&&typeof e.url=="string"}function gy(e){return Sr(e)&&e.source_type==="base64"&&"data"in e&&typeof e.data=="string"}function WA(e){return Sr(e)&&e.source_type==="text"&&"text"in e&&typeof e.text=="string"}function vk(e){return Sr(e)&&e.source_type==="id"&&"id"in e&&typeof e.id=="string"}function wk(e){if(Sr(e)){if(e.source_type==="url")return{type:"image_url",image_url:{url:e.url}};if(e.source_type==="base64"){if(!e.mime_type)throw new Error("mime_type key is required for base64 data.");return{type:"image_url",image_url:{url:`data:${e.mime_type};base64,${e.data}`}}}}throw new Error("Unsupported source type. Only 'url' and 'base64' are supported.")}function om(e){let t=e.split(";")[0].split("/");if(t.length!==2)throw new Error(`Invalid mime type: "${e}" - does not match type/subtype format.`);let n=t[0].trim(),r=t[1].trim();if(n===""||r==="")throw new Error(`Invalid mime type: "${e}" - type or subtype is empty.`);let s={};for(let a of e.split(";").slice(1)){let i=a.split("=");if(i.length!==2)throw new Error(`Invalid parameter syntax in mime type: "${e}".`);let o=i[0].trim(),c=i[1].trim();if(o==="")throw new Error(`Invalid parameter syntax in mime type: "${e}".`);s[o]=c}return{type:n,subtype:r,parameters:s}}function Ko({dataUrl:e,asTypedArray:t=!1}){let n=e.match(/^data:(\w+\/\w+);base64,([A-Za-z0-9+/]+=*)$/),r;if(n){r=n[1].toLowerCase();let s=t?Uint8Array.from(atob(n[2]),a=>a.charCodeAt(0)):n[2];return{mime_type:r,data:s}}}function yy(e,t){if(e.type==="text"){if(!t.fromStandardTextBlock)throw new Error(`Converter for ${t.providerName} does not implement \`fromStandardTextBlock\` method.`);return t.fromStandardTextBlock(e)}if(e.type==="image"){if(!t.fromStandardImageBlock)throw new Error(`Converter for ${t.providerName} does not implement \`fromStandardImageBlock\` method.`);return t.fromStandardImageBlock(e)}if(e.type==="audio"){if(!t.fromStandardAudioBlock)throw new Error(`Converter for ${t.providerName} does not implement \`fromStandardAudioBlock\` method.`);return t.fromStandardAudioBlock(e)}if(e.type==="file"){if(!t.fromStandardFileBlock)throw new Error(`Converter for ${t.providerName} does not implement \`fromStandardFileBlock\` method.`);return t.fromStandardFileBlock(e)}throw new Error(`Unable to convert content block type '${e.type}' to provider-specific format: not recognized.`)}function K(e,t){return pe(e)&&e.type===t}function pe(e){return typeof e=="object"&&e!==null}function dn(e){return Array.isArray(e)}function M(e){return typeof e=="string"}function Kn(e){return typeof e=="number"}function _y(e){return e instanceof Uint8Array}function j0(e){try{return JSON.parse(e)}catch{return}}var hs=e=>e();function JA(e){if(e.type==="char_location"&&M(e.document_title)&&Kn(e.start_char_index)&&Kn(e.end_char_index)&&M(e.cited_text)){let{document_title:t,start_char_index:n,end_char_index:r,cited_text:s,...a}=e;return{...a,type:"citation",source:"char",title:t??void 0,startIndex:n,endIndex:r,citedText:s}}if(e.type==="page_location"&&M(e.document_title)&&Kn(e.start_page_number)&&Kn(e.end_page_number)&&M(e.cited_text)){let{document_title:t,start_page_number:n,end_page_number:r,cited_text:s,...a}=e;return{...a,type:"citation",source:"page",title:t??void 0,startIndex:n,endIndex:r,citedText:s}}if(e.type==="content_block_location"&&M(e.document_title)&&Kn(e.start_block_index)&&Kn(e.end_block_index)&&M(e.cited_text)){let{document_title:t,start_block_index:n,end_block_index:r,cited_text:s,...a}=e;return{...a,type:"citation",source:"block",title:t??void 0,startIndex:n,endIndex:r,citedText:s}}if(e.type==="web_search_result_location"&&M(e.url)&&M(e.title)&&M(e.encrypted_index)&&M(e.cited_text)){let{url:t,title:n,encrypted_index:r,cited_text:s,...a}=e;return{...a,type:"citation",source:"url",url:t,title:n,startIndex:Number(r),endIndex:Number(r),citedText:s}}if(e.type==="search_result_location"&&M(e.source)&&M(e.title)&&Kn(e.start_block_index)&&Kn(e.end_block_index)&&M(e.cited_text)){let{source:t,title:n,start_block_index:r,end_block_index:s,cited_text:a,...i}=e;return{...i,type:"citation",source:"search",url:t,title:n??void 0,startIndex:r,endIndex:s,citedText:a}}}function bk(e){if(K(e,"document")&&pe(e.source)&&"type"in e.source){if(e.source.type==="base64"&&M(e.source.media_type)&&M(e.source.data))return{type:"file",mimeType:e.source.media_type,data:e.source.data};if(e.source.type==="url"&&M(e.source.url))return{type:"file",url:e.source.url};if(e.source.type==="file"&&M(e.source.file_id))return{type:"file",fileId:e.source.file_id};if(e.source.type==="text"&&M(e.source.data))return{type:"file",mimeType:String(e.source.media_type??"text/plain"),data:e.source.data}}else if(K(e,"image")&&pe(e.source)&&"type"in e.source){if(e.source.type==="base64"&&M(e.source.media_type)&&M(e.source.data))return{type:"image",mimeType:e.source.media_type,data:e.source.data};if(e.source.type==="url"&&M(e.source.url))return{type:"image",url:e.source.url};if(e.source.type==="file"&&M(e.source.file_id))return{type:"image",fileId:e.source.file_id}}}function GA(e){function*t(){for(let n of e){let r=bk(n);r?yield r:yield n}}return Array.from(t())}function R0(e){function*t(){let n=typeof e.content=="string"?[{type:"text",text:e.content}]:e.content;for(let r of n){if(K(r,"text")&&M(r.text)){let{text:s,citations:a,...i}=r;if(dn(a)&&a.length){let o=a.reduce((c,u)=>{let l=JA(u);return l?[...c,l]:c},[]);yield{...i,type:"text",text:s,annotations:o};continue}else{yield{...i,type:"text",text:s};continue}}else if(K(r,"thinking")&&M(r.thinking)){let{thinking:s,signature:a,...i}=r;yield{...i,type:"reasoning",reasoning:s,signature:a};continue}else if(K(r,"redacted_thinking")){yield{type:"non_standard",value:r};continue}else if(K(r,"tool_use")&&M(r.name)&&M(r.id)){yield{type:"tool_call",id:r.id,name:r.name,args:r.input};continue}else if(K(r,"input_json_delta")){if(XA(e)&&e.tool_call_chunks?.length){let s=e.tool_call_chunks[0];yield{type:"tool_call_chunk",id:s.id,name:s.name,args:s.args,index:s.index};continue}}else if(K(r,"server_tool_use")&&M(r.name)&&M(r.id)){let{name:s,id:a}=r;if(s==="web_search"){yield{id:a,type:"server_tool_call",name:"web_search",args:{query:hs(()=>{if(typeof r.input=="string")return r.input;if(pe(r.input)&&M(r.input.query))return r.input.query;if(M(r.partial_json)){let i=j0(r.partial_json);if(i?.query)return i.query}return""})}};continue}else if(r.name==="code_execution"){yield{id:a,type:"server_tool_call",name:"code_execution",args:{code:hs(()=>{if(typeof r.input=="string")return r.input;if(pe(r.input)&&M(r.input.code))return r.input.code;if(M(r.partial_json)){let i=j0(r.partial_json);if(i?.code)return i.code}return""})}};continue}}else if(K(r,"web_search_tool_result")&&M(r.tool_use_id)&&dn(r.content)){let{content:s,tool_use_id:a}=r;yield{type:"server_tool_call_result",name:"web_search",toolCallId:a,status:"success",output:{urls:s.reduce((i,o)=>K(o,"web_search_result")?[...i,o.url]:i,[])}};continue}else if(K(r,"code_execution_tool_result")&&M(r.tool_use_id)&&pe(r.content)){yield{type:"server_tool_call_result",name:"code_execution",toolCallId:r.tool_use_id,status:"success",output:r.content};continue}else if(K(r,"mcp_tool_use")){yield{id:r.id,type:"server_tool_call",name:"mcp_tool_use",args:r.input};continue}else if(K(r,"mcp_tool_result")&&M(r.tool_use_id)&&pe(r.content)){yield{type:"server_tool_call_result",name:"mcp_tool_use",toolCallId:r.tool_use_id,status:"success",output:r.content};continue}else if(K(r,"container_upload")){yield{type:"server_tool_call",name:"container_upload",args:r.input};continue}else if(K(r,"search_result")){yield{id:r.id,type:"non_standard",value:r};continue}else if(K(r,"tool_result")){yield{id:r.id,type:"non_standard",value:r};continue}else{let s=bk(r);if(s){yield s;continue}}yield{type:"non_standard",value:r}}}return Array.from(t())}var KA={translateContent:R0,translateContentChunk:R0};function XA(e){return typeof e?._getType=="function"&&typeof e.concat=="function"&&e._getType()==="ai"}function YA(e){return my(e)?{type:e.type,mimeType:e.mime_type,url:e.url,metadata:e.metadata}:gy(e)?{type:e.type,mimeType:e.mime_type??"application/octet-stream",data:e.data,metadata:e.metadata}:vk(e)?{type:e.type,mimeType:e.mime_type,fileId:e.id,metadata:e.metadata}:e}function QA(e){return e.map(YA)}function e$(e){return!!(K(e,"image_url")&&pe(e.image_url)||K(e,"input_audio")&&pe(e.input_audio)||K(e,"file")&&pe(e.file))}function t$(e){if(K(e,"image_url")&&pe(e.image_url)&&M(e.image_url.url)){let t=Ko({dataUrl:e.image_url.url});return t?{type:"image",mimeType:t.mime_type,data:t.data}:{type:"image",url:e.image_url.url}}else{if(K(e,"input_audio")&&pe(e.input_audio)&&M(e.input_audio.data)&&M(e.input_audio.format))return{type:"audio",data:e.input_audio.data,mimeType:`audio/${e.input_audio.format}`};if(K(e,"file")&&pe(e.file)&&M(e.file.data)){let t=Ko({dataUrl:e.file.data});if(t)return{type:"file",data:t.data,mimeType:t.mime_type};if(M(e.file.file_id))return{type:"file",fileId:e.file.file_id}}}return e}function n$(e){let t=[];typeof e.content=="string"?e.content.length>0&&t.push({type:"text",text:e.content}):t.push(...vy(e.content));for(let n of e.tool_calls??[])t.push({type:"tool_call",id:n.id,name:n.name,args:n.args});return t}function r$(e){let t=[];typeof e.content=="string"?e.content.length>0&&t.push({type:"text",text:e.content}):t.push(...vy(e.content));for(let n of e.tool_calls??[])t.push({type:"tool_call",id:n.id,name:n.name,args:n.args});return t}function vy(e){let t=[];for(let n of e)e$(n)?t.push(t$(n)):t.push(n);return t}function s$(e){if(e.type==="url_citation"){let{url:t,title:n,start_index:r,end_index:s}=e;return{type:"citation",url:t,title:n,startIndex:r,endIndex:s}}if(e.type==="file_citation"){let{file_id:t,filename:n,index:r}=e;return{type:"citation",title:n,startIndex:r,endIndex:r,fileId:t}}return e}function kk(e){function*t(){pe(e.additional_kwargs?.reasoning)&&dn(e.additional_kwargs.reasoning.summary)&&(yield{type:"reasoning",reasoning:e.additional_kwargs.reasoning.summary.reduce((r,s)=>pe(s)&&M(s.text)?`${r}${s.text}`:r,"")});let n=typeof e.content=="string"?[{type:"text",text:e.content}]:e.content;for(let r of n)if(K(r,"text")){let{text:s,annotations:a,...i}=r;Array.isArray(a)?yield{...i,type:"text",text:String(s),annotations:a.map(s$)}:yield{...i,type:"text",text:String(s)}}for(let r of e.tool_calls??[])yield{type:"tool_call",id:r.id,name:r.name,args:r.args};if(pe(e.additional_kwargs)&&dn(e.additional_kwargs.tool_outputs))for(let r of e.additional_kwargs.tool_outputs){if(K(r,"web_search_call")){let s={};if(pe(r.action)&&M(r.action.query)&&(s.query=r.action.query),yield{id:r.id,type:"server_tool_call",name:"web_search",args:s},r.status==="completed"||r.status==="failed"){let a={};pe(r.action)&&(a.action=r.action),yield{type:"server_tool_call_result",toolCallId:M(r.id)?r.id:"",status:r.status==="completed"?"success":"error",output:a}}continue}else if(K(r,"file_search_call")){yield{id:r.id,type:"server_tool_call",name:"file_search",args:{queries:dn(r.queries)?r.queries:[]}},(r.status==="completed"||r.status==="failed")&&(yield{type:"server_tool_call_result",toolCallId:M(r.id)?r.id:"",status:r.status==="completed"?"success":"error",output:dn(r.results)?{results:r.results}:{}});continue}else if(K(r,"computer_call")){yield{type:"non_standard",value:r};continue}else if(K(r,"code_interpreter_call")){if(M(r.code)&&(yield{id:r.id,type:"server_tool_call",name:"code_interpreter",args:{code:r.code}}),dn(r.outputs)){let s=hs(()=>{if(r.status!=="in_progress"){if(r.status==="completed")return 0;if(r.status==="incomplete")return 127;if(r.status!=="interpreting"&&r.status==="failed")return 1}});for(let a of r.outputs)if(K(a,"logs")){yield{type:"server_tool_call_result",toolCallId:r.id??"",status:"success",output:{type:"code_interpreter_output",returnCode:s??0,stderr:[0,void 0].includes(s)?void 0:String(a.logs),stdout:[0,void 0].includes(s)?String(a.logs):void 0}};continue}}continue}else if(K(r,"mcp_call")){yield{id:r.id,type:"server_tool_call",name:"mcp_call",args:r.input};continue}else if(K(r,"mcp_list_tools")){yield{id:r.id,type:"server_tool_call",name:"mcp_list_tools",args:r.input};continue}else if(K(r,"mcp_approval_request")){yield{type:"non_standard",value:r};continue}else if(K(r,"tool_search_call")){let s={};pe(r.arguments)&&Object.assign(s,r.arguments);let a={};M(r.execution)&&(a.execution=r.execution),M(r.status)&&(a.status=r.status),M(r.call_id)&&(a.call_id=r.call_id),yield{id:M(r.id)?r.id:"",type:"server_tool_call",name:"tool_search",args:s,...Object.keys(a).length>0?{extras:a}:{}};continue}else if(K(r,"tool_search_output")){let s={name:"tool_search"};M(r.execution)&&(s.execution=r.execution),yield{type:"server_tool_call_result",toolCallId:M(r.id)?r.id:"",status:r.status==="completed"?"success":r.status==="failed"?"error":"success",output:{tools:dn(r.tools)?r.tools:[]},extras:s};continue}else if(K(r,"image_generation_call")){M(r.result)&&(yield{type:"image",mimeType:"image/png",data:r.result,id:M(r.id)?r.id:void 0,metadata:{status:M(r.status)?r.status:void 0}}),yield{type:"non_standard",value:r};continue}pe(r)&&(yield{type:"non_standard",value:r})}}return Array.from(t())}function a$(e){function*t(){yield*kk(e);for(let n of e.tool_call_chunks??[])yield{type:"tool_call_chunk",id:n.id,name:n.name,args:n.args}}return Array.from(t())}var i$={translateContent:e=>typeof e.content=="string"?n$(e):kk(e),translateContentChunk:e=>typeof e.content=="string"?r$(e):a$(e)};function xk(e){return typeof e=="object"&&e!==null&&"type"in e&&"content"in e&&(typeof e.content=="string"||Array.isArray(e.content))}function o$(e,t="pretty"){return t==="pretty"?c$(e):JSON.stringify(e)}function c$(e){let t=[],n=` ${e.type.charAt(0).toUpperCase()+e.type.slice(1)} Message `,r=Math.floor((80-n.length)/2),s="=".repeat(r),a=n.length%2===0?s:`${s}=`;if(t.push(`${s}${n}${a}`),e.type==="ai"){let i=e;if(i.tool_calls&&i.tool_calls.length>0){t.push("Tool Calls:");for(let o of i.tool_calls){t.push(` ${o.name} (${o.id})`),t.push(` Call ID: ${o.id}`),t.push(" Args:");for(let[c,u]of Object.entries(o.args))t.push(` ${c}: ${typeof u=="object"?JSON.stringify(u):u}`)}}}if(e.type==="tool"){let i=e;i.name&&t.push(`Name: ${i.name}`)}return typeof e.content=="string"&&e.content.trim()&&(t.length>1&&t.push(""),t.push(e.content)),t.join(`
9
- `)}var ph=Symbol.for("langchain.message");function qr(e,t){return typeof e=="string"?e===""?t:typeof t=="string"?e+t:Array.isArray(t)&&t.length===0?e:Array.isArray(t)&&t.some(n=>Sr(n))?[{type:"text",source_type:"text",text:e},...t]:[{type:"text",text:e},...t]:Array.isArray(t)?vi(e,t)??[...e,...t]:t===""?e:Array.isArray(e)&&e.some(n=>Sr(n))?[...e,{type:"file",source_type:"text",text:t}]:[...e,{type:"text",text:t}]}function Ok(e,t){return e==="error"||t==="error"?"error":"success"}function u$(e,t){function n(r,s){if(typeof r!="object"||r===null||r===void 0)return r;if(s>=t)return Array.isArray(r)?"[Array]":"[Object]";if(Array.isArray(r))return r.map(i=>n(i,s+1));let a={};for(let i of Object.keys(r))a[i]=n(r[i],s+1);return a}return JSON.stringify(n(e,0),null,2)}var Yt=class extends Rn{lc_namespace=["langchain_core","messages"];lc_serializable=!0;get lc_aliases(){return{additional_kwargs:"additional_kwargs",response_metadata:"response_metadata"}}[ph]=!0;id;name;content;additional_kwargs;response_metadata;_getType(){return this.type}getType(){return this._getType()}constructor(e){let t=typeof e=="string"||Array.isArray(e)?{content:e}:e;t.additional_kwargs||(t.additional_kwargs={}),t.response_metadata||(t.response_metadata={}),super(t),this.name=t.name,t.content===void 0&&t.contentBlocks!==void 0?(this.content=t.contentBlocks,this.response_metadata={output_version:"v1",...t.response_metadata}):t.content!==void 0?(this.content=t.content??[],this.response_metadata=t.response_metadata):(this.content=[],this.response_metadata=t.response_metadata),this.additional_kwargs=t.additional_kwargs,this.id=t.id}get text(){return typeof this.content=="string"?this.content:Array.isArray(this.content)?this.content.map(e=>typeof e=="string"?e:e.type==="text"?e.text:"").join(""):""}get contentBlocks(){let e=typeof this.content=="string"?[{type:"text",text:this.content}]:this.content;return[QA,vy,GA].reduce((t,n)=>n(t),e)}toDict(){return{type:this.getType(),data:this.toJSON().kwargs}}static lc_name(){return"BaseMessage"}get _printableFields(){return{id:this.id,content:this.content,name:this.name,additional_kwargs:this.additional_kwargs,response_metadata:this.response_metadata}}static isInstance(e){return typeof e=="object"&&e!==null&&ph in e&&e[ph]===!0&&xk(e)}_updateId(e){this.id=e,this.lc_kwargs.id=e}get[Symbol.toStringTag](){return this.constructor.lc_name()}[Symbol.for("nodejs.util.inspect.custom")](e){if(e===null)return this;let t=u$(this._printableFields,Math.max(4,e));return`${this.constructor.lc_name()} ${t}`}toFormattedString(e="pretty"){return o$(this,e)}};function l$(e){return Array.isArray(e)&&e.every(t=>typeof t.index=="number")}var Sk=["index","created","timestamp"];function Ft(e,t,n){let r=n?.ignoreKeys??Sk;if(e==null&&t==null)return;if(e==null||t==null)return e??t;let s={...e};for(let[a,i]of Object.entries(t))if(s[a]==null)s[a]=i;else{if(i==null)continue;if(typeof s[a]!=typeof i||Array.isArray(s[a])!==Array.isArray(i))throw new Error(`field[${a}] already exists in the message chunk, but with a different type.`);if(typeof s[a]=="string"){if(a==="type")continue;if(["id","name","output_version","model_provider"].includes(a))i&&(s[a]=i);else{if(r.includes(a))continue;s[a]+=i}}else if(typeof s[a]=="number"){if(r.includes(a))continue;s[a]=s[a]+i}else if(typeof s[a]=="object"&&!Array.isArray(s[a]))s[a]=Ft(s[a],i,n);else if(Array.isArray(s[a]))s[a]=vi(s[a],i,n);else{if(s[a]===i)continue;console.warn(`field[${a}] already exists in this message chunk and value has unsupported type.`)}}return s}function d$(e){return typeof e=="number"||typeof e=="string"}function M0(e){return typeof e!="object"||e===null||!("index"in e)?!1:d$(e.index)}function vi(e,t,n){if(!(e==null&&t==null)){if(e==null||t==null)return e||t;{let r=[...e];for(let s of t)if(M0(s)){let a=r.findIndex(i=>{if(!M0(i))return!1;let o=i.index===s.index,c=i.id!=null&&i.id!=="",u=s.id!=null&&s.id!=="",l=c&&u&&i.id===s.id;return o&&(l||!c||!u)});a!==-1&&typeof r[a]=="object"&&r[a]!==null?r[a]=Ft(r[a],s,n):r.push(s)}else{if(typeof s=="object"&&s!==null&&"text"in s&&s.text==="")continue;r.push(s)}return r}}}function Tk(e,t,n){if(!(e==null&&t==null)){if(e==null||t==null)return e??t;if(typeof e!=typeof t)throw new Error(`Cannot merge objects of different types.
10
- Left ${typeof e}
11
- Right ${typeof t}`);if(typeof e=="string"&&typeof t=="string")return e+t;if(Array.isArray(e)&&Array.isArray(t))return vi(e,t,n);if(typeof e=="object"&&typeof t=="object")return Ft(e,t,n);if(e===t)return e;throw new Error(`Can not merge objects of different types.
12
- Left ${e}
13
- Right ${t}`)}}var Ms=class Ik extends Yt{static isInstance(t){if(!super.isInstance(t))return!1;let n=Object.getPrototypeOf(t);for(;n!==null;){if(n===Ik.prototype)return!0;n=Object.getPrototypeOf(n)}return!1}};function Ek(e){return typeof e.role=="string"}function jt(e){return typeof e?._getType=="function"}function Xo(e){return Ms.isInstance(e)}var p$=Q({ToolMessage:()=>Mn,ToolMessageChunk:()=>Fc,defaultToolCallParser:()=>by,isDirectToolOutput:()=>wy,isToolMessage:()=>ky,isToolMessageChunk:()=>Ak});function wy(e){return e!=null&&typeof e=="object"&&"lc_direct_tool_output"in e&&e.lc_direct_tool_output===!0}var Mn=class extends Yt{static lc_name(){return"ToolMessage"}get lc_aliases(){return{tool_call_id:"tool_call_id"}}lc_direct_tool_output=!0;type="tool";status;tool_call_id;metadata;artifact;constructor(e,t,n){let r=typeof e=="string"||Array.isArray(e)?{content:e,name:n,tool_call_id:t}:e;super(r),this.tool_call_id=r.tool_call_id,this.artifact=r.artifact,this.status=r.status,this.metadata=r.metadata}static isInstance(e){return super.isInstance(e)&&e.type==="tool"}get _printableFields(){return{...super._printableFields,tool_call_id:this.tool_call_id,artifact:this.artifact}}},Fc=class extends Ms{type="tool";tool_call_id;status;artifact;constructor(e){super(e),this.tool_call_id=e.tool_call_id,this.artifact=e.artifact,this.status=e.status}static lc_name(){return"ToolMessageChunk"}concat(e){let t=this.constructor;return new t({content:qr(this.content,e.content),additional_kwargs:Ft(this.additional_kwargs,e.additional_kwargs),response_metadata:Ft(this.response_metadata,e.response_metadata),artifact:Tk(this.artifact,e.artifact),tool_call_id:this.tool_call_id,id:this.id??e.id,status:Ok(this.status,e.status)})}get _printableFields(){return{...super._printableFields,tool_call_id:this.tool_call_id,artifact:this.artifact}}};function by(e){let t=[],n=[];for(let r of e)if(r.function){let s=r.function.name;try{let a=JSON.parse(r.function.arguments);t.push({name:s||"",args:a||{},id:r.id})}catch{n.push({name:s,args:r.function.arguments,id:r.id,error:"Malformed args."})}}else continue;return[t,n]}function ky(e){return typeof e=="object"&&e!==null&&"getType"in e&&typeof e.getType=="function"&&e.getType()==="tool"}function Ak(e){return e._getType()==="tool"}function zo(e){return!!(e&&typeof e=="object"&&"type"in e&&e.type==="tool_call")}function h$(e){return!!(e&&typeof e=="object"&&"toolCall"in e&&e.toolCall!=null&&typeof e.toolCall=="object"&&"id"in e.toolCall&&typeof e.toolCall.id=="string")}var El=class extends Error{output;constructor(e,t){super(e),this.output=t}};function Al(e,t=wi){e=e.trim();let n=e.indexOf("```");if(n===-1)return t(e);let r=e.substring(n+3);r.startsWith(`json
14
- `)?r=r.substring(5):r.startsWith("json")?r=r.substring(4):r.startsWith(`
15
- `)&&(r=r.substring(1));let s=r.indexOf("```"),a=r;return s!==-1&&(a=r.substring(0,s)),t(a.trim())}function f$(e){try{return JSON.parse(e)}catch{}let t=e.trim();if(t.length===0)throw new Error("Unexpected end of JSON input");let n=0;function r(){for(;n<t.length&&/\s/.test(t[n]);)n+=1}function s(){if(t[n]!=='"')throw new Error(`Expected '"' at position ${n}, got '${t[n]}'`);n+=1;let l="",d=!1;for(;n<t.length;){let p=t[n];if(d){if(p==="n")l+=`
16
- `;else if(p==="t")l+=" ";else if(p==="r")l+="\r";else if(p==="\\")l+="\\";else if(p==='"')l+='"';else if(p==="b")l+="\b";else if(p==="f")l+="\f";else if(p==="/")l+="/";else if(p==="u"){let h=t.substring(n+1,n+5);if(/^[0-9A-Fa-f]{0,4}$/.test(h))h.length===4?l+=String.fromCharCode(Number.parseInt(h,16)):l+=`u${h}`,n+=h.length;else throw new Error(`Invalid unicode escape sequence '\\u${h}' at position ${n}`)}else throw new Error(`Invalid escape sequence '\\${p}' at position ${n}`);d=!1}else if(p==="\\")d=!0;else{if(p==='"')return n+=1,l;l+=p}n+=1}return d&&(l+="\\"),l}function a(){let l=n,d="";if(t[n]==="-"&&(d+="-",n+=1),n<t.length&&t[n]==="0"&&(d+="0",n+=1,t[n]>="0"&&t[n]<="9"))throw new Error(`Invalid number at position ${l}`);if(n<t.length&&t[n]>="1"&&t[n]<="9")for(;n<t.length&&t[n]>="0"&&t[n]<="9";)d+=t[n],n+=1;if(n<t.length&&t[n]===".")for(d+=".",n+=1;n<t.length&&t[n]>="0"&&t[n]<="9";)d+=t[n],n+=1;if(n<t.length&&(t[n]==="e"||t[n]==="E"))for(d+=t[n],n+=1,n<t.length&&(t[n]==="+"||t[n]==="-")&&(d+=t[n],n+=1);n<t.length&&t[n]>="0"&&t[n]<="9";)d+=t[n],n+=1;if(d==="-")return-0;let p=Number.parseFloat(d);if(Number.isNaN(p))throw n=l,new Error(`Invalid number '${d}' at position ${l}`);return p}function i(){if(r(),n>=t.length)throw new Error(`Unexpected end of input at position ${n}`);let l=t[n];if(l==="{")return c();if(l==="[")return o();if(l==='"')return s();if("null".startsWith(t.substring(n,n+4)))return n+=Math.min(4,t.length-n),null;if("true".startsWith(t.substring(n,n+4)))return n+=Math.min(4,t.length-n),!0;if("false".startsWith(t.substring(n,n+5)))return n+=Math.min(5,t.length-n),!1;if(l==="-"||l>="0"&&l<="9")return a();throw new Error(`Unexpected character '${l}' at position ${n}`)}function o(){if(t[n]!=="[")throw new Error(`Expected '[' at position ${n}, got '${t[n]}'`);let l=[];if(n+=1,r(),n>=t.length)return l;if(t[n]==="]")return n+=1,l;for(;n<t.length;){if(r(),n>=t.length||(l.push(i()),r(),n>=t.length))return l;if(t[n]==="]")return n+=1,l;if(t[n]===","){n+=1;continue}throw new Error(`Expected ',' or ']' at position ${n}, got '${t[n]}'`)}return l}function c(){if(t[n]!=="{")throw new Error(`Expected '{' at position ${n}, got '${t[n]}'`);let l={};if(n+=1,r(),n>=t.length)return l;if(t[n]==="}")return n+=1,l;for(;n<t.length;){if(r(),n>=t.length)return l;let d=s();if(r(),n>=t.length)return l;if(t[n]!==":")throw new Error(`Expected ':' at position ${n}, got '${t[n]}'`);if(n+=1,r(),n>=t.length||(l[d]=i(),r(),n>=t.length))return l;if(t[n]==="}")return n+=1,l;if(t[n]===","){n+=1;continue}throw new Error(`Expected ',' or '}' at position ${n}, got '${t[n]}'`)}return l}let u=i();if(r(),n<t.length)throw new Error(`Unexpected character '${t[n]}' at position ${n}`);return u}function wi(e){try{return typeof e>"u"?null:f$(e)}catch{return null}}function xy(e){switch(e){case"csv":return"text/csv";case"doc":return"application/vnd.openxmlformats-officedocument.wordprocessingml.document";case"docx":return"application/vnd.openxmlformats-officedocument.wordprocessingml.document";case"html":return"text/html";case"md":return"text/markdown";case"pdf":return"application/pdf";case"txt":return"text/plain";case"xls":return"application/vnd.ms-excel";case"xlsx":return"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";case"gif":return"image/gif";case"jpeg":return"image/jpeg";case"jpg":return"image/jpeg";case"png":return"image/png";case"webp":return"image/webp";case"flv":return"video/flv";case"mkv":return"video/mkv";case"mov":return"video/mov";case"mp4":return"video/mp4";case"mpeg":return"video/mpeg";case"mpg":return"video/mpg";case"three_gp":return"video/three_gp";case"webm":return"video/webm";case"wmv":return"video/wmv";default:return"application/octet-stream"}}function m$(e){if(pe(e.document)&&pe(e.document.source)){let t=xy(pe(e.document)&&M(e.document.format)?e.document.format:"");if(pe(e.document.source)){if(pe(e.document.source.s3Location)&&M(e.document.source.s3Location.uri))return{type:"file",mimeType:t,fileId:e.document.source.s3Location.uri};if(_y(e.document.source.bytes))return{type:"file",mimeType:t,data:e.document.source.bytes};if(M(e.document.source.text))return{type:"file",mimeType:t,data:Buffer.from(e.document.source.text).toString("base64")};if(dn(e.document.source.content))return{type:"file",mimeType:t,data:e.document.source.content.reduce((n,r)=>pe(r)&&M(r.text)?n+r.text:n,"")}}}return{type:"non_standard",value:e}}function g$(e){if(K(e,"image")&&pe(e.image)){let t=xy(pe(e.image)&&M(e.image.format)?e.image.format:"");if(pe(e.image.source)){if(pe(e.image.source.s3Location)&&M(e.image.source.s3Location.uri))return{type:"image",mimeType:t,fileId:e.image.source.s3Location.uri};if(_y(e.image.source.bytes))return{type:"image",mimeType:t,data:e.image.source.bytes}}}return{type:"non_standard",value:e}}function y$(e){if(K(e,"video")&&pe(e.video)){let t=xy(pe(e.video)&&M(e.video.format)?e.video.format:"");if(pe(e.video.source)){if(pe(e.video.source.s3Location)&&M(e.video.source.s3Location.uri))return{type:"video",mimeType:t,fileId:e.video.source.s3Location.uri};if(_y(e.video.source.bytes))return{type:"video",mimeType:t,data:e.video.source.bytes}}}return{type:"non_standard",value:e}}function L0(e){function*t(){let n=typeof e.content=="string"?[{type:"text",text:e.content}]:e.content;for(let r of n){if(K(r,"cache_point")){yield{type:"non_standard",value:r};continue}else if(K(r,"citations_content")&&pe(r.citationsContent)){yield{type:"text",text:dn(r.citationsContent.content)?r.citationsContent.content.reduce((s,a)=>pe(a)&&M(a.text)?s+a.text:s,""):"",annotations:dn(r.citationsContent.citations)?r.citationsContent.citations.reduce((s,a)=>{if(pe(a)){let i=dn(a.sourceContent)?a.sourceContent.reduce((c,u)=>pe(u)&&M(u.text)?c+u.text:c,""):"",o=hs(()=>{if(pe(a.location)){let c=a.location.documentChar||a.location.documentPage||a.location.documentChunk;if(pe(c))return{source:Kn(c.documentIndex)?c.documentIndex.toString():void 0,startIndex:Kn(c.start)?c.start:void 0,endIndex:Kn(c.end)?c.end:void 0}}return{}});s.push({type:"citation",citedText:i,...o})}return s},[]):[]};continue}else if(K(r,"document")&&pe(r.document)){yield m$(r);continue}else if(K(r,"guard_content")){yield{type:"non_standard",value:r};continue}else if(K(r,"image")&&pe(r.image)){yield g$(r);continue}else if(K(r,"reasoning_content")&&M(r.reasoningText)){yield{type:"reasoning",reasoning:r.reasoningText};continue}else if(K(r,"text")&&M(r.text)){yield{type:"text",text:r.text};continue}else if(K(r,"tool_result")){yield{type:"non_standard",value:r};continue}else{if(K(r,"tool_call"))continue;if(K(r,"video")&&pe(r.video)){yield y$(r);continue}}yield{type:"non_standard",value:r}}}return Array.from(t())}var _$={translateContent:L0,translateContentChunk:L0};function z0(e){let t=[],n=e.additional_kwargs?.reasoning_content;if(M(n)&&n.length>0&&t.push({type:"reasoning",reasoning:n}),typeof e.content=="string")e.content.length>0&&t.push({type:"text",text:e.content});else for(let r of e.content)typeof r=="object"&&"type"in r&&r.type==="text"&&"text"in r&&M(r.text)&&t.push({type:"text",text:r.text});for(let r of e.tool_calls??[])t.push({type:"tool_call",id:r.id,name:r.name,args:r.args});return t}var v$={translateContent:z0,translateContentChunk:z0};function U0(e){function*t(){let n=typeof e.content=="string"?[{type:"text",text:e.content}]:e.content;for(let r of n){if(K(r,"text")&&M(r.text)){yield{type:"text",text:r.text};continue}else if(K(r,"thinking")&&M(r.thinking)){yield{type:"reasoning",reasoning:r.thinking,...r.signature?{signature:r.signature}:{}};continue}else if(K(r,"inlineData")&&pe(r.inlineData)&&M(r.inlineData.mimeType)&&M(r.inlineData.data)){yield{type:"file",mimeType:r.inlineData.mimeType,data:r.inlineData.data};continue}else if(K(r,"functionCall")&&pe(r.functionCall)&&M(r.functionCall.name)&&pe(r.functionCall.args)){yield{type:"tool_call",id:e.id,name:r.functionCall.name,args:r.functionCall.args};continue}else if(K(r,"functionResponse")){yield{type:"non_standard",value:r};continue}else if(K(r,"fileData")&&pe(r.fileData)&&M(r.fileData.mimeType)&&M(r.fileData.fileUri)){yield{type:"file",mimeType:r.fileData.mimeType,fileId:r.fileData.fileUri};continue}else if(K(r,"executableCode")){yield{type:"non_standard",value:r};continue}else if(K(r,"codeExecutionResult")){yield{type:"non_standard",value:r};continue}yield{type:"non_standard",value:r}}}return Array.from(t())}var w$={translateContent:U0,translateContentChunk:U0};function D0(e){function*t(){let n=typeof e.content=="string"?[{type:"text",text:e.content}]:e.content;for(let r of n){if(K(r,"reasoning")&&M(r.reasoning)){let s=hs(()=>{let a=n.indexOf(r);if(dn(e.additional_kwargs?.signatures)&&a>=0)return e.additional_kwargs.signatures.at(a)});M(s)?yield{type:"reasoning",reasoning:r.reasoning,signature:s}:yield{type:"reasoning",reasoning:r.reasoning};continue}else if(K(r,"thinking")&&M(r.thinking)){yield{type:"reasoning",reasoning:r.thinking,...r.signature?{signature:r.signature}:{}};continue}else if(K(r,"text")&&M(r.text)){yield{type:"text",text:r.text};continue}else if(K(r,"image_url")){if(M(r.image_url))if(r.image_url.startsWith("data:")){let s=r.image_url.match(/^data:([^;]+);base64,(.+)$/);s?yield{type:"image",data:s[2],mimeType:s[1]}:yield{type:"image",url:r.image_url}}else yield{type:"image",url:r.image_url};continue}else if(K(r,"media")&&M(r.mimeType)&&M(r.data)){yield{type:"file",mimeType:r.mimeType,data:r.data};continue}yield{type:"non_standard",value:r}}}return Array.from(t())}var b$={translateContent:D0,translateContentChunk:D0};function F0(e){let t=[],n=e.additional_kwargs?.reasoning;if(M(n)&&n.length>0&&t.push({type:"reasoning",reasoning:n}),typeof e.content=="string"){let r=e.content,s=r.match(/<think>([\s\S]*?)<\/think>/);if(s){let a=s[1].trim();a.length>0&&t.push({type:"reasoning",reasoning:a}),r=r.replace(/<think>[\s\S]*?<\/think>/,"").trim()}r.length>0&&t.push({type:"text",text:r})}else for(let r of e.content)if(typeof r=="object"&&"type"in r&&r.type==="text"&&"text"in r&&M(r.text)){let s=r.text,a=s.match(/<think>([\s\S]*?)<\/think>/);if(a){let i=a[1].trim();i.length>0&&t.push({type:"reasoning",reasoning:i}),s=s.replace(/<think>[\s\S]*?<\/think>/,"").trim()}s.length>0&&t.push({type:"text",text:s})}for(let r of e.tool_calls??[])t.push({type:"tool_call",id:r.id,name:r.name,args:r.args});return t}var k$={translateContent:F0,translateContentChunk:F0};function B0(e){let t=[],n=e.additional_kwargs?.reasoning_content;if(M(n)&&n.length>0&&t.push({type:"reasoning",reasoning:n}),typeof e.content=="string")e.content.length>0&&t.push({type:"text",text:e.content});else for(let r of e.content)typeof r=="object"&&"type"in r&&r.type==="text"&&"text"in r&&M(r.text)&&t.push({type:"text",text:r.text});for(let r of e.tool_calls??[])t.push({type:"tool_call",id:r.id,name:r.name,args:r.args});return t}var x$={translateContent:B0,translateContentChunk:B0};function Z0(e){let t=[];if(pe(e.additional_kwargs?.reasoning)){let r=e.additional_kwargs.reasoning;if(dn(r.summary)){let s=r.summary.reduce((a,i)=>pe(i)&&M(i.text)?`${a}${i.text}`:a,"");s.length>0&&t.push({type:"reasoning",reasoning:s})}}let n=e.additional_kwargs?.reasoning_content;if(M(n)&&n.length>0&&t.push({type:"reasoning",reasoning:n}),typeof e.content=="string")e.content.length>0&&t.push({type:"text",text:e.content});else for(let r of e.content)typeof r=="object"&&"type"in r&&r.type==="text"&&"text"in r&&M(r.text)&&t.push({type:"text",text:r.text});for(let r of e.tool_calls??[])t.push({type:"tool_call",id:r.id,name:r.name,args:r.args});return t}var O$={translateContent:Z0,translateContentChunk:Z0};function V0(e){function*t(){let n=hs(()=>{if(typeof e.content=="string")return e.additional_kwargs.originalTextContentBlock?[{...e.additional_kwargs.originalTextContentBlock,type:"text"}]:[{type:"text",text:e.content}];{let r=e.additional_kwargs?.originalTextContentBlock;if(r?.thoughtSignature&&!e.content.some(s=>"thoughtSignature"in s)){let s=[...e.content];for(let a=s.length-1;a>=0;a--){let i=s[a];if(i.type==="text"&&!i.thought)return i.thoughtSignature=r.thoughtSignature,s}}return e.content}});for(let r of n){let s=hs(()=>K(r,"text")&&M(r.text)?{type:"text",text:r.text}:K(r,"inlineData")&&pe(r.inlineData)&&M(r.inlineData.mimeType)&&M(r.inlineData.data)?{type:"file",mimeType:r.inlineData.mimeType,data:r.inlineData.data}:K(r,"functionCall")&&pe(r.functionCall)&&M(r.functionCall.name)&&pe(r.functionCall.args)?{type:"tool_call",id:e.id,name:r.functionCall.name,args:r.functionCall.args}:K(r,"functionResponse")?{type:"non_standard",value:r}:K(r,"fileData")&&pe(r.fileData)&&M(r.fileData.mimeType)&&M(r.fileData.fileUri)?{type:"file",mimeType:r.fileData.mimeType,fileId:r.fileData.fileUri}:K(r,"executableCode")?{type:"non_standard",value:r}:K(r,"codeExecutionResult")?{type:"non_standard",value:r}:{type:"non_standard",value:r}),a=hs(()=>"thought"in r&&r.thought?{type:"reasoning",reasoning:s.type==="text"?s.text:"",reasoningContentBlock:s}:s),i={thought:r.thought,thoughtSignature:r.thoughtSignature,partMetadata:r.partMetadata,...a};for(let o in i)i[o]===void 0&&delete i[o];yield i}}return Array.from(t())}var S$={translateContent:V0,translateContentChunk:V0};globalThis.lc_block_translators_registry??=new Map([["anthropic",KA],["bedrock-converse",_$],["deepseek",v$],["google",S$],["google-genai",w$],["google-vertexai",b$],["groq",k$],["ollama",x$],["openai",i$],["xai",O$]]);function $k(e){return globalThis.lc_block_translators_registry.get(e)}function Ck(e,t){return Ft(e,t)??{}}function Nk(e,t){let n={};return(e?.audio!==void 0||t?.audio!==void 0)&&(n.audio=(e?.audio??0)+(t?.audio??0)),(e?.image!==void 0||t?.image!==void 0)&&(n.image=(e?.image??0)+(t?.image??0)),(e?.video!==void 0||t?.video!==void 0)&&(n.video=(e?.video??0)+(t?.video??0)),(e?.document!==void 0||t?.document!==void 0)&&(n.document=(e?.document??0)+(t?.document??0)),(e?.text!==void 0||t?.text!==void 0)&&(n.text=(e?.text??0)+(t?.text??0)),n}function T$(e,t){let n={...Nk(e,t)};return(e?.cache_read!==void 0||t?.cache_read!==void 0)&&(n.cache_read=(e?.cache_read??0)+(t?.cache_read??0)),(e?.cache_creation!==void 0||t?.cache_creation!==void 0)&&(n.cache_creation=(e?.cache_creation??0)+(t?.cache_creation??0)),n}function I$(e,t){let n={...Nk(e,t)};return(e?.reasoning!==void 0||t?.reasoning!==void 0)&&(n.reasoning=(e?.reasoning??0)+(t?.reasoning??0)),n}function Oy(e,t){return{input_tokens:(e?.input_tokens??0)+(t?.input_tokens??0),output_tokens:(e?.output_tokens??0)+(t?.output_tokens??0),total_tokens:(e?.total_tokens??0)+(t?.total_tokens??0),input_token_details:T$(e?.input_token_details,t?.input_token_details),output_token_details:I$(e?.output_token_details,t?.output_token_details)}}var Ke=class extends Yt{type="ai";tool_calls=[];invalid_tool_calls=[];usage_metadata;get lc_aliases(){return{...super.lc_aliases,tool_calls:"tool_calls",invalid_tool_calls:"invalid_tool_calls",usage_metadata:"usage_metadata"}}constructor(e){let t;if(typeof e=="string"||Array.isArray(e))t={content:e,tool_calls:[],invalid_tool_calls:[],additional_kwargs:{}};else{t=e;let n=t.additional_kwargs?.tool_calls,r=t.tool_calls;n!=null&&n.length>0&&(r===void 0||r.length===0)&&console.warn(["New LangChain packages are available that more efficiently handle",`tool calling.
17
-
18
- Please upgrade your packages to versions that set`,"message tool calls. e.g., `pnpm install @langchain/anthropic`,","pnpm install @langchain/openai`, etc."].join(" "));try{if(n!=null&&r===void 0){let[s,a]=by(n);t.tool_calls=s??[],t.invalid_tool_calls=a??[]}else t.tool_calls=t.tool_calls??[],t.invalid_tool_calls=t.invalid_tool_calls??[]}catch{t.tool_calls=[],t.invalid_tool_calls=[]}if(t.response_metadata!==void 0&&"output_version"in t.response_metadata&&t.response_metadata.output_version==="v1"&&(t.contentBlocks=t.content,t.content=void 0),t.contentBlocks!==void 0){t.tool_calls&&t.contentBlocks.push(...t.tool_calls.map(a=>({type:"tool_call",id:a.id,name:a.name,args:a.args})));let s=t.contentBlocks.filter(a=>a.type==="tool_call").filter(a=>!t.tool_calls?.some(i=>i.id===a.id&&i.name===a.name));s.length>0&&(t.tool_calls=s.map(a=>({type:"tool_call",id:a.id,name:a.name,args:a.args})))}}super(t),typeof t!="string"&&(this.tool_calls=t.tool_calls??this.tool_calls,this.invalid_tool_calls=t.invalid_tool_calls??this.invalid_tool_calls),this.usage_metadata=t.usage_metadata}static lc_name(){return"AIMessage"}get contentBlocks(){if(this.response_metadata&&"output_version"in this.response_metadata&&this.response_metadata.output_version==="v1")return this.content;if(this.response_metadata&&"model_provider"in this.response_metadata&&typeof this.response_metadata.model_provider=="string"){let t=$k(this.response_metadata.model_provider);if(t)return t.translateContent(this)}let e=super.contentBlocks;if(this.tool_calls){let t=this.tool_calls.filter(n=>!e.some(r=>r.id===n.id&&r.name===n.name));e.push(...t.map(n=>({type:"tool_call",id:n.id,name:n.name,args:n.args})))}return e}get _printableFields(){return{...super._printableFields,tool_calls:this.tool_calls,invalid_tool_calls:this.invalid_tool_calls,usage_metadata:this.usage_metadata}}static isInstance(e){return super.isInstance(e)&&e.type==="ai"}};function kp(e){return e._getType()==="ai"}function cm(e){return e._getType()==="ai"}var mn=class extends Ms{type="ai";tool_calls=[];invalid_tool_calls=[];tool_call_chunks=[];usage_metadata;constructor(e){let t;if(typeof e=="string"||Array.isArray(e))t={content:e,tool_calls:[],invalid_tool_calls:[],tool_call_chunks:[]};else if(e.tool_call_chunks===void 0||e.tool_call_chunks.length===0)t={...e,tool_calls:e.tool_calls??[],invalid_tool_calls:[],tool_call_chunks:[],usage_metadata:e.usage_metadata!==void 0?e.usage_metadata:void 0};else{let n=Rk(e.tool_call_chunks??[]);t={...e,tool_call_chunks:n.tool_call_chunks,tool_calls:n.tool_calls,invalid_tool_calls:n.invalid_tool_calls,usage_metadata:e.usage_metadata!==void 0?e.usage_metadata:void 0}}super(t),this.tool_call_chunks=t.tool_call_chunks??this.tool_call_chunks,this.tool_calls=t.tool_calls??this.tool_calls,this.invalid_tool_calls=t.invalid_tool_calls??this.invalid_tool_calls,this.usage_metadata=t.usage_metadata}get lc_aliases(){return{...super.lc_aliases,tool_calls:"tool_calls",invalid_tool_calls:"invalid_tool_calls",tool_call_chunks:"tool_call_chunks",usage_metadata:"usage_metadata"}}static lc_name(){return"AIMessageChunk"}get contentBlocks(){if(this.response_metadata&&"output_version"in this.response_metadata&&this.response_metadata.output_version==="v1")return this.content;if(this.response_metadata&&"model_provider"in this.response_metadata&&typeof this.response_metadata.model_provider=="string"){let t=$k(this.response_metadata.model_provider);if(t)return t.translateContent(this)}let e=super.contentBlocks;if(this.tool_calls&&typeof this.content!="string"){let t=this.content.filter(n=>n.type==="tool_call").map(n=>n.id);for(let n of this.tool_calls)n.id&&!t.includes(n.id)&&e.push({...n,type:"tool_call",id:n.id,name:n.name,args:n.args})}return e}get _printableFields(){return{...super._printableFields,tool_calls:this.tool_calls,tool_call_chunks:this.tool_call_chunks,invalid_tool_calls:this.invalid_tool_calls,usage_metadata:this.usage_metadata}}concat(e){let t={content:qr(this.content,e.content),additional_kwargs:Ft(this.additional_kwargs,e.additional_kwargs),response_metadata:Ck(this.response_metadata,e.response_metadata),tool_call_chunks:[],tool_calls:[],id:this.id??e.id};if(this.tool_call_chunks!==void 0||e.tool_call_chunks!==void 0){let r=vi(this.tool_call_chunks,e.tool_call_chunks);r!==void 0&&r.length>0&&(t.tool_call_chunks=r)}if(this.tool_calls!==void 0||e.tool_calls!==void 0){let r=vi(this.tool_calls,e.tool_calls);r!==void 0&&r.length>0&&(t.tool_calls=r)}(this.usage_metadata!==void 0||e.usage_metadata!==void 0)&&(t.usage_metadata=Oy(this.usage_metadata,e.usage_metadata));let n=this.constructor;return new n(t)}static isInstance(e){return super.isInstance(e)&&e.type==="ai"}},Kr=class Pk extends Yt{static lc_name(){return"ChatMessage"}type="generic";role;static _chatMessageClass(){return Pk}constructor(t,n){(typeof t=="string"||Array.isArray(t))&&(t={content:t,role:n}),super(t),this.role=t.role}static isInstance(t){return super.isInstance(t)&&t.type==="generic"}get _printableFields(){return{...super._printableFields,role:this.role}}},Bc=class extends Ms{static lc_name(){return"ChatMessageChunk"}type="generic";role;constructor(e,t){(typeof e=="string"||Array.isArray(e))&&(e={content:e,role:t}),super(e),this.role=e.role}concat(e){let t=this.constructor;return new t({content:qr(this.content,e.content),additional_kwargs:Ft(this.additional_kwargs,e.additional_kwargs),response_metadata:Ft(this.response_metadata,e.response_metadata),role:this.role,id:this.id??e.id})}static isInstance(e){return super.isInstance(e)&&e.type==="generic"}get _printableFields(){return{...super._printableFields,role:this.role}}};function E$(e){return e._getType()==="generic"}function A$(e){return e._getType()==="generic"}var xp=class extends Yt{static lc_name(){return"FunctionMessage"}type="function";name;constructor(e){super(e),this.name=e.name}},Zc=class extends Ms{static lc_name(){return"FunctionMessageChunk"}type="function";concat(e){let t=this.constructor;return new t({content:qr(this.content,e.content),additional_kwargs:Ft(this.additional_kwargs,e.additional_kwargs),response_metadata:Ft(this.response_metadata,e.response_metadata),name:this.name??"",id:this.id??e.id})}};function $$(e){return e._getType()==="function"}function C$(e){return e._getType()==="function"}var An=class extends Yt{static lc_name(){return"HumanMessage"}type="human";constructor(e){super(e)}static isInstance(e){return super.isInstance(e)&&e.type==="human"}},Vc=class extends Ms{static lc_name(){return"HumanMessageChunk"}type="human";constructor(e){super(e)}concat(e){let t=this.constructor;return new t({content:qr(this.content,e.content),additional_kwargs:Ft(this.additional_kwargs,e.additional_kwargs),response_metadata:Ft(this.response_metadata,e.response_metadata),id:this.id??e.id})}static isInstance(e){return super.isInstance(e)&&e.type==="human"}};function N$(e){return e.getType()==="human"}function P$(e){return e.getType()==="human"}var sa=class extends Yt{type="remove";id;constructor(e){super({...e,content:[]}),this.id=e.id}get _printableFields(){return{...super._printableFields,id:this.id}}static isInstance(e){return super.isInstance(e)&&e.type==="remove"}},Tr=class nl extends Yt{static lc_name(){return"SystemMessage"}type="system";constructor(t){super(t)}concat(t){if(typeof t=="string")return new nl({...this,content:qr(this.content,t)});if(nl.isInstance(t))return new nl({...this,additional_kwargs:{...this.additional_kwargs,...t.additional_kwargs},response_metadata:{...this.response_metadata,...t.response_metadata},content:qr(this.content,t.content)});throw new Error("Unexpected chunk type for system message")}static isInstance(t){return super.isInstance(t)&&t.type==="system"}},ws=class extends Ms{static lc_name(){return"SystemMessageChunk"}type="system";constructor(e){super(e)}concat(e){let t=this.constructor;return new t({content:qr(this.content,e.content),additional_kwargs:Ft(this.additional_kwargs,e.additional_kwargs),response_metadata:Ft(this.response_metadata,e.response_metadata),id:this.id??e.id})}static isInstance(e){return super.isInstance(e)&&e.type==="system"}};function j$(e){return e._getType()==="system"}function R$(e){return e._getType()==="system"}var jk=e=>e();function M$(e){return zo(e)?e:typeof e.id=="string"&&e.type==="function"&&typeof e.function=="object"&&e.function!==null&&"arguments"in e.function&&typeof e.function.arguments=="string"&&"name"in e.function&&typeof e.function.name=="string"?{id:e.id,args:JSON.parse(e.function.arguments),name:e.function.name,type:"tool_call"}:e}function L$(e){return typeof e=="object"&&e!=null&&e.lc===1&&Array.isArray(e.id)&&e.kwargs!=null&&typeof e.kwargs=="object"}function hh(e){let t,n;if(L$(e)){let r=e.id.at(-1);r==="HumanMessage"||r==="HumanMessageChunk"?t="user":r==="AIMessage"||r==="AIMessageChunk"?t="assistant":r==="SystemMessage"||r==="SystemMessageChunk"?t="system":r==="FunctionMessage"||r==="FunctionMessageChunk"?t="function":r==="ToolMessage"||r==="ToolMessageChunk"?t="tool":t="unknown",n=e.kwargs}else{let{type:r,...s}=e;t=r,n=s}if(t==="human"||t==="user")return new An(n);if(t==="ai"||t==="assistant"){let{tool_calls:r,...s}=n;if(!Array.isArray(r))return new Ke(n);let a=r.map(M$);return new Ke({...s,tool_calls:a})}else{if(t==="system")return new Tr(n);if(t==="developer")return new Tr({...n,additional_kwargs:{...n.additional_kwargs,__openai_role__:"developer"}});if(t==="tool"&&"tool_call_id"in n)return new Mn({...n,content:n.content,tool_call_id:n.tool_call_id,name:n.name});if(t==="remove"&&"id"in n&&typeof n.id=="string")return new sa({...n,id:n.id});throw Dc(new Error(`Unable to coerce message from array: only human, AI, system, developer, or tool message coercion is currently supported.
19
-
20
- Received: ${JSON.stringify(e,null,2)}`),"MESSAGE_COERCION_FAILURE")}}function kr(e){if(typeof e=="string")return new An(e);if(jt(e))return e;if(Array.isArray(e)){let[t,n]=e;return hh({type:t,content:n})}else if(Ek(e)){let{role:t,...n}=e;return hh({...n,type:t})}else return hh(e)}function z$(e){if(typeof e=="string")return e;switch(e.type){case"text":return e.text??"";case"text-plain":return e.text??"[text-plain file]";case"image":case"image_url":return"[image]";case"audio":case"input_audio":return"[audio]";case"video":return"[video]";case"file":return"[file]";case"reasoning":case"tool_call":case"tool_call_chunk":case"invalid_tool_call":case"server_tool_call":case"server_tool_call_chunk":case"server_tool_call_result":case"non_standard":return"";default:return e.type?`[${e.type}]`:""}}function Sy(e,t="Human",n="AI"){let r=[];for(let s of e){let a;if(s.type==="human")a=t;else if(s.type==="ai")a=n;else if(s.type==="system")a="System";else if(s.type==="tool")a="Tool";else if(s.type==="generic")a=s.role;else throw new Error(`Got unsupported message type: ${s.type}`);let i=s.name?`${s.name}, `:"",o=typeof s.content=="string"?s.content:Array.isArray(s.content)?s.content.map(z$).filter(Boolean).join(""):"",c=`${a}: ${i}${o}`;if(s.type==="ai"){let u=s;u.tool_calls&&u.tool_calls.length>0?c+=JSON.stringify(u.tool_calls):u.additional_kwargs&&"function_call"in u.additional_kwargs&&(c+=JSON.stringify(u.additional_kwargs.function_call))}r.push(c)}return r.join(`
21
- `)}function U$(e){if(e.data!==void 0)return e;{let t=e;return{type:t.type,data:{content:t.text,role:t.role,name:void 0,tool_call_id:void 0}}}}function Ty(e){let t=U$(e);switch(t.type){case"human":return new An(t.data);case"ai":return new Ke(t.data);case"system":return new Tr(t.data);case"function":if(t.data.name===void 0)throw new Error("Name must be defined for function messages");return new xp(t.data);case"tool":if(t.data.tool_call_id===void 0)throw new Error("Tool call ID must be defined for tool messages");return new Mn(t.data);case"generic":if(t.data.role===void 0)throw new Error("Role must be defined for chat messages");return new Kr(t.data);default:throw new Error(`Got unexpected type: ${t.type}`)}}function D$(e){return e.map(Ty)}function F$(e){return e.map(t=>t.toDict())}function $l(e){let t=e._getType();if(t==="human")return new Vc({...e});if(t==="ai"){let n={...e};return"tool_calls"in n&&(n={...n,tool_call_chunks:n.tool_calls?.map(r=>({...r,type:"tool_call_chunk",index:void 0,args:JSON.stringify(r.args)}))}),new mn({...n})}else{if(t==="system")return new ws({...e});if(t==="function")return new Zc({...e});if(Kr.isInstance(e))return new Bc({...e});throw new Error("Unknown message type.")}}function Rk(e){let t=e.reduce((s,a)=>{let i=s.findIndex(([o])=>"id"in a&&a.id&&"index"in a&&a.index!==void 0?a.id===o.id&&a.index===o.index:"id"in a&&a.id?a.id===o.id:"index"in a&&a.index!==void 0?a.index===o.index:!1);return i!==-1?s[i].push(a):s.push([a]),s},[]),n=[],r=[];for(let s of t){let a=null,i=s[0]?.name??"",o=s.map(l=>l.args||"").join("").trim(),c=o.length?o:"{}",u=s[0]?.id;try{if(a=wi(c),!u||a===null||typeof a!="object"||Array.isArray(a))throw new Error("Malformed tool call chunk args.");n.push({name:i,args:a,id:u,type:"tool_call"})}catch{r.push({name:i,args:c,id:u,error:"Malformed args.",type:"invalid_tool_call"})}}return{tool_call_chunks:e,tool_calls:n,invalid_tool_calls:r}}var B$=Q({BaseCache:()=>Lk,InMemoryCache:()=>zk,defaultHashKeyEncoder:()=>Mk,deserializeStoredGeneration:()=>Z$,serializeGeneration:()=>V$}),Mk=(...e)=>hy(e.join("_"));function Z$(e){return e.message!==void 0?{text:e.text,message:Ty(e.message)}:{text:e.text}}function V$(e){let t={text:e.text};return e.message!==void 0&&(t.message=e.message.toDict()),t}var Lk=class{keyEncoder=Mk;makeDefaultKeyEncoder(e){this.keyEncoder=e}},q$=new Map,zk=class Uk extends Lk{cache;constructor(t){super(),this.cache=t??new Map}lookup(t,n){return Promise.resolve(this.cache.get(this.keyEncoder(t,n))??null)}async update(t,n,r){this.cache.set(this.keyEncoder(t,n),r)}static global(){return new Uk(q$)}},H$=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i;function Uo(e){return typeof e=="string"&&H$.test(e)}function q0(e){if(!Uo(e))throw TypeError("Invalid UUID");let t;return Uint8Array.of((t=parseInt(e.slice(0,8),16))>>>24,t>>>16&255,t>>>8&255,t&255,(t=parseInt(e.slice(9,13),16))>>>8,t&255,(t=parseInt(e.slice(14,18),16))>>>8,t&255,(t=parseInt(e.slice(19,23),16))>>>8,t&255,(t=parseInt(e.slice(24,36),16))/1099511627776&255,t/4294967296&255,t>>>24&255,t>>>16&255,t>>>8&255,t&255)}var $t=[];for(let e=0;e<256;++e)$t.push((e+256).toString(16).slice(1));function Iy(e,t=0){return($t[e[t+0]]+$t[e[t+1]]+$t[e[t+2]]+$t[e[t+3]]+"-"+$t[e[t+4]]+$t[e[t+5]]+"-"+$t[e[t+6]]+$t[e[t+7]]+"-"+$t[e[t+8]]+$t[e[t+9]]+"-"+$t[e[t+10]]+$t[e[t+11]]+$t[e[t+12]]+$t[e[t+13]]+$t[e[t+14]]+$t[e[t+15]]).toLowerCase()}var fh,W$=new Uint8Array(16);function Dk(){if(!fh){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");fh=crypto.getRandomValues.bind(crypto)}return fh(W$)}function J$(e){e=unescape(encodeURIComponent(e));let t=new Uint8Array(e.length);for(let n=0;n<e.length;++n)t[n]=e.charCodeAt(n);return t}var G$="6ba7b810-9dad-11d1-80b4-00c04fd430c8",K$="6ba7b811-9dad-11d1-80b4-00c04fd430c8";function X$(e,t,n,r,s,a){let i=typeof n=="string"?J$(n):n,o=typeof r=="string"?q0(r):r;if(typeof r=="string"&&(r=q0(r)),r?.length!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let c=new Uint8Array(16+i.length);if(c.set(o),c.set(i,o.length),c=t(c),c[6]=c[6]&15|e,c[8]=c[8]&63|128,s){a=a||0;for(let u=0;u<16;++u)s[a+u]=c[u];return s}return Iy(c)}var Y$=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),H0={randomUUID:Y$};function Q$(e,t,n){if(H0.randomUUID&&!e)return H0.randomUUID();e=e||{};let r=e.random??e.rng?.()??Dk();if(r.length<16)throw new Error("Random bytes length must be >= 16");return r[6]=r[6]&15|64,r[8]=r[8]&63|128,Iy(r)}function eC(e,t,n,r){switch(e){case 0:return t&n^~t&r;case 1:return t^n^r;case 2:return t&n^t&r^n&r;case 3:return t^n^r}}function mh(e,t){return e<<t|e>>>32-t}function tC(e){let t=[1518500249,1859775393,2400959708,3395469782],n=[1732584193,4023233417,2562383102,271733878,3285377520],r=new Uint8Array(e.length+1);r.set(e),r[e.length]=128,e=r;let s=e.length/4+2,a=Math.ceil(s/16),i=new Array(a);for(let o=0;o<a;++o){let c=new Uint32Array(16);for(let u=0;u<16;++u)c[u]=e[o*64+u*4]<<24|e[o*64+u*4+1]<<16|e[o*64+u*4+2]<<8|e[o*64+u*4+3];i[o]=c}i[a-1][14]=(e.length-1)*8/Math.pow(2,32),i[a-1][14]=Math.floor(i[a-1][14]),i[a-1][15]=(e.length-1)*8&4294967295;for(let o=0;o<a;++o){let c=new Uint32Array(80);for(let f=0;f<16;++f)c[f]=i[o][f];for(let f=16;f<80;++f)c[f]=mh(c[f-3]^c[f-8]^c[f-14]^c[f-16],1);let u=n[0],l=n[1],d=n[2],p=n[3],h=n[4];for(let f=0;f<80;++f){let m=Math.floor(f/20),v=mh(u,5)+eC(m,l,d,p)+h+t[m]+c[f]>>>0;h=p,p=d,d=mh(l,30)>>>0,l=u,u=v}n[0]=n[0]+u>>>0,n[1]=n[1]+l>>>0,n[2]=n[2]+d>>>0,n[3]=n[3]+p>>>0,n[4]=n[4]+h>>>0}return Uint8Array.of(n[0]>>24,n[0]>>16,n[0]>>8,n[0],n[1]>>24,n[1]>>16,n[1]>>8,n[1],n[2]>>24,n[2]>>16,n[2]>>8,n[2],n[3]>>24,n[3]>>16,n[3]>>8,n[3],n[4]>>24,n[4]>>16,n[4]>>8,n[4])}function Cl(e,t,n,r){return X$(80,tC,e,t,n,r)}Cl.DNS=G$;Cl.URL=K$;var gh={};function rs(e,t,n){let r;{let s=Date.now(),a=Dk();nC(gh,s,a),r=rC(a,gh.msecs,gh.seq,t,n)}return Iy(r)}function nC(e,t,n){return e.msecs??=-1/0,e.seq??=0,t>e.msecs?(e.seq=n[6]<<23|n[7]<<16|n[8]<<8|n[9],e.msecs=t):(e.seq=e.seq+1|0,e.seq===0&&e.msecs++),e}function rC(e,t,n,r,s=0){if(e.length<16)throw new Error("Random bytes length must be >= 16");if(!r)r=new Uint8Array(16),s=0;else if(s<0||s+16>r.length)throw new RangeError(`UUID byte range ${s}:${s+15} is out of buffer bounds`);return t??=Date.now(),n??=e[6]*127<<24|e[7]<<16|e[8]<<8|e[9],r[s++]=t/1099511627776&255,r[s++]=t/4294967296&255,r[s++]=t/16777216&255,r[s++]=t/65536&255,r[s++]=t/256&255,r[s++]=t&255,r[s++]=112|n>>>28&15,r[s++]=n>>>20&255,r[s++]=128|n>>>14&63,r[s++]=n>>>6&255,r[s++]=n<<2&255|e[10]&3,r[s++]=e[11],r[s++]=e[12],r[s++]=e[13],r[s++]=e[14],r[s++]=e[15],r}var sC=Q({BaseCallbackHandler:()=>Ca,callbackHandlerPrefersStreaming:()=>Ey,isBaseCallbackHandler:()=>Fk}),aC=class{};function Ey(e){return"lc_prefer_streaming"in e&&e.lc_prefer_streaming}var Ca=class extends aC{lc_serializable=!1;get lc_namespace(){return["langchain_core","callbacks",this.name]}get lc_secrets(){}get lc_attributes(){}get lc_aliases(){}get lc_serializable_keys(){}static lc_name(){return this.name}get lc_id(){return[...this.lc_namespace,vp(this.constructor)]}lc_kwargs;ignoreLLM=!1;ignoreChain=!1;ignoreAgent=!1;ignoreRetriever=!1;ignoreCustomEvent=!1;raiseError=!1;awaitHandlers=rr("LANGCHAIN_CALLBACKS_BACKGROUND")==="false";constructor(e){super(),this.lc_kwargs=e||{},e&&(this.ignoreLLM=e.ignoreLLM??this.ignoreLLM,this.ignoreChain=e.ignoreChain??this.ignoreChain,this.ignoreAgent=e.ignoreAgent??this.ignoreAgent,this.ignoreRetriever=e.ignoreRetriever??this.ignoreRetriever,this.ignoreCustomEvent=e.ignoreCustomEvent??this.ignoreCustomEvent,this.raiseError=e.raiseError??this.raiseError,this.awaitHandlers=this.raiseError||(e._awaitHandler??this.awaitHandlers))}copy(){return new this.constructor(this)}toJSON(){return Rn.prototype.toJSON.call(this)}toJSONNotImplemented(){return Rn.prototype.toJSONNotImplemented.call(this)}static fromMethods(e){class t extends Ca{name=rs();constructor(){super(),Object.assign(this,e)}}return new t}},Fk=e=>{let t=e;return t!==void 0&&typeof t.copy=="function"&&typeof t.name=="string"&&typeof t.awaitHandlers=="boolean"},iC="gen_ai.operation.name",oC="gen_ai.system",W0="gen_ai.request.model",cC="gen_ai.response.model",J0="gen_ai.usage.input_tokens",G0="gen_ai.usage.output_tokens",K0="gen_ai.usage.total_tokens",uC="gen_ai.request.max_tokens",lC="gen_ai.request.temperature",dC="gen_ai.request.top_p",pC="gen_ai.request.frequency_penalty",hC="gen_ai.request.presence_penalty",fC="gen_ai.response.finish_reasons",mC="gen_ai.prompt",gC="gen_ai.completion",yC="gen_ai.request.extra_query",_C="gen_ai.request.extra_body",vC="gen_ai.serialized.name",wC="gen_ai.serialized.signature",bC="gen_ai.serialized.doc",kC="gen_ai.response.id",xC="gen_ai.response.service_tier",OC="gen_ai.response.system_fingerprint",SC="gen_ai.usage.input_token_details",TC="gen_ai.usage.output_token_details",IC="langsmith.trace.session_id",EC="langsmith.trace.session_name",AC="langsmith.span.kind",$C="langsmith.trace.name",CC="langsmith.metadata",X0="langsmith.span.tags",NC="langsmith.request.streaming",PC="langsmith.request.headers",jC=(...e)=>fetch(...e),Bk=Symbol.for("ls:fetch_implementation"),RC=()=>globalThis[Bk]===void 0,MC=e=>async(...t)=>{if(e||Pt("DEBUG")==="true"){let[r,s]=t;console.log(`\u2192 ${s?.method||"GET"} ${r}`)}let n=await(globalThis[Bk]??jC)(...t);return(e||Pt("DEBUG")==="true")&&console.log(`\u2190 ${n.status} ${n.statusText} ${n.url}`),n},Zk=()=>Pt("PROJECT")??Ir("LANGCHAIN_SESSION")??"default",Y0={};function rl(e){Y0[e]||(console.warn(e),Y0[e]=!0)}var j=e=>BigInt(e),Vk=j("0x9E3779B1"),qk=j("0x85EBCA77"),LC=j("0xC2B2AE3D"),bs=j("0x9E3779B185EBCA87"),pa=j("0xC2B2AE3D27D4EB4F"),Hk=j("0x165667B19E3779F9"),Ay=j("0x85EBCA77C2B2AE63"),zC=j("0x27D4EB2F165667C5"),UC=j("0x165667919E3779F9"),DC=j("0x9FB21C651E98DF25");function FC(e){let t=new Uint8Array(e.length/2);for(let n=0;n<e.length;n+=2)t[n/2]=parseInt(e.substring(n,n+2),16);return t}var fr=FC("b8fe6c3923a44bbe7c01812cf721ad1cded46de9839097db7240a4a4b7b3671fcb79e64eccc0e578825ad07dccff7221b8084674f743248ee03590e6813a264c3c2852bb91c300cb88d0658b1b532ea371644897a20df94e3819ef46a9deacd8a8fa763fe39c343ff9dcbbc7c70b4f1d8a51e04bcdb45931c89f7ec9d9787364eac5ac8334d3ebc3c581a0fffa1363eb170ddd51b7f0da49d316552629d4689e2b16be587d47a1fc8ff8b8d17ad031ce45cb3a8f95160428afd7fbcabb4b407e"),fi=(j(1)<<j(128))-j(1),Se=(j(1)<<j(64))-j(1),Nl=(j(1)<<j(32))-j(1),Lr=64,Wk=Lr/8,BC=8,mu=4;function Ye(e,t=0){return new Uint8Array(e.buffer,e.byteOffset+t,e.length-t)}function et(e,t=0){return new DataView(e.buffer,e.byteOffset+t).getBigUint64(0,!0)}function si(e,t=0){return new DataView(e.buffer,e.byteOffset+t).getUint32(0,!0)}function yh(e,t=0){return e[t]}var ZC=e=>(e&j(255))<<j(56)|(e&j(65280))<<j(40)|(e&j(16711680))<<j(24)|(e&j(4278190080))<<j(8)|(e&j(0xff00000000))>>j(8)|(e&j(0xff0000000000))>>j(24)|(e&j(0xff000000000000))>>j(40)|(e&j(0xff00000000000000))>>j(56),VC=e=>(e=(e&j(65535))<<j(16)|(e&j(4294901760))>>j(16),e=(e&j(16711935))<<j(8)|(e&j(4278255360))>>j(8),e),qC=(e,t)=>(e&Nl)*(t&Nl)&Se,bi=e=>{if(!e)throw new Error("Assert failed")};function HC(e,t){return(e<<t|e>>j(32)-t)&Nl}function Jk(e,t,n){for(let r=0;r<Wk;r++){let s=et(t,r*8),a=s^et(n,r*8);e[r^1]+=s,e[r]+=qC(a,a>>j(32))}return e}function Q0(e,t,n,r){for(let s=0;s<r;s++)Jk(e,Ye(t,s*Lr),Ye(n,s*8));return e}function WC(e,t){for(let n=0;n<Wk;n++){let r=et(t,n*8),s=e[n];s=um(s,j(47)),s^=r,s*=Vk,e[n]=s&Se}return e}function gu(e,t){return Gk(e[0]^et(t,0),e[1]^et(t,BC))}function ev(e,t,n){let r=n;return r+=gu(e.slice(0),Ye(t,0*mu)),r+=gu(e.slice(2),Ye(t,4*mu)),r+=gu(e.slice(4),Ye(t,8*mu)),r+=gu(e.slice(6),Ye(t,12*mu)),vr(r&Se)}function JC(e,t,n,r,s){let a=Math.floor((n.byteLength-Lr)/8),i=Lr*a,o=Math.floor((t.byteLength-1)/i);for(let c=0;c<o;c++)e=Q0(e,Ye(t,c*i),n,a),e=s(e,Ye(n,n.byteLength-Lr));{let c=Math.floor((t.byteLength-1-i*o)/Lr);e=Q0(e,Ye(t,o*i),n,c),e=r(e,Ye(t,t.byteLength-Lr),Ye(n,n.byteLength-Lr-7))}return e}function GC(e,t,n){let r=new BigUint64Array([LC,bs,pa,Hk,Ay,qk,zC,Vk]);bi(e.length>128),r=JC(r,e,t,Jk,WC),bi(r.length*8==64);{let s=ev(r,Ye(t,11),j(e.byteLength)*bs&Se);return ev(r,Ye(t,t.byteLength-Lr-11),~(j(e.byteLength)*pa)&Se)<<j(64)|s}}function Gk(e,t){let n=e*t&fi;return n&Se^n>>j(64)}function tv(e,t,n){return Gk((et(e,0)^et(t,0)+n)&Se,(et(e,8)^et(t,8)-n)&Se)}function sl(e,t,n,r,s){let a=e&Se,i=e>>j(64)&Se;return a+=tv(t,r,s),a^=et(n,0)+et(n,8),a&=Se,i+=tv(n,Ye(r,16),s),i^=et(t,0)+et(t,8),i&=Se,i<<j(64)|a}function vr(e){return e^=e>>j(37),e*=UC,e&=Se,e^=e>>j(32),e}function Pl(e){return e^=e>>j(33),e*=pa,e&=Se,e^=e>>j(29),e*=Hk,e&=Se,e^=e>>j(32),e}function KC(e,t,n){let r=e.byteLength;bi(r>0&&r<=3);let s=j(yh(e,r-1))|j(r<<8)|j(yh(e,0)<<16)|j(yh(e,r>>1)<<24),a=(j(si(t,0))^j(si(t,4)))+n,i=(s^a)&Se,o=(j(si(t,8))^j(si(t,12)))-n,c=(HC(VC(s),j(13))^o)&Se;return(Pl(c)&Se)<<j(64)|Pl(i)}function um(e,t){return e^e>>t}function XC(e,t,n){let r=e.byteLength;bi(r>=4&&r<=8);{let s=si(e,0),a=si(e,r-4),i=j(s)|j(a)<<j(32),o=(et(t,16)^et(t,24))+n&Se,c=(i^o)*(bs+(j(r)<<j(2)))&fi;return c+=(c&Se)<<j(65),c&=fi,c^=c>>j(67),um(um(c&Se,j(35))*DC&Se,j(28))|vr(c>>j(64))<<j(64)}}function YC(e,t,n){let r=e.byteLength;bi(r>=9&&r<=16);{let s=(et(t,32)^et(t,40))+n&Se,a=(et(t,48)^et(t,56))-n&Se,i=et(e),o=et(e,r-8),c=(i^o^s)*bs,u=(c&Se)+(j(r-1)<<j(54));c=c&(fi^Se)|u,o^=a,c+=o+(o&Nl)*(qk-j(1))<<j(64),c&=fi,c^=ZC(c>>j(64));let l=(c&Se)*pa;return l+=(c>>j(64))*pa<<j(64),l&=fi,vr(l&Se)|vr(l>>j(64))<<j(64)}}function QC(e,t){let n=e.byteLength;return bi(n<=16),n>8?YC(e,fr,t):n>=4?XC(e,fr,t):n>0?KC(e,fr,t):Pl(t^et(fr,64)^et(fr,72))|Pl(t^et(fr,80)^et(fr,88))<<j(64)}function lm(e){return~e+j(1)&Se}function eN(e,t,n){let r=j(e.byteLength)*bs&Se,s=j(e.byteLength-1)/j(32);for(;s>=0;){let o=Number(s);r=sl(r,Ye(e,16*o),Ye(e,e.byteLength-16*(o+1)),Ye(t,32*o),n),s--}let a=r+(r>>j(64))&Se;a=vr(a);let i=(r&Se)*bs+(r>>j(64))*Ay+(j(e.byteLength)-n&Se)*pa;return i&=Se,i=lm(vr(i)),a|i<<j(64)}function tN(e,t,n){let r=j(e.byteLength)*bs&Se;for(let i=32;i<160;i+=32)r=sl(r,Ye(e,i-32),Ye(e,i-16),Ye(t,i-32),n);r=vr(r&Se)|vr(r>>j(64))<<j(64);for(let i=160;i<=e.byteLength;i+=32)r=sl(r,Ye(e,i-32),Ye(e,i-16),Ye(t,3+i-160),n);r=sl(r,Ye(e,e.byteLength-16),Ye(e,e.byteLength-32),Ye(t,103),lm(n));let s=r+(r>>j(64))&Se;s=vr(s);let a=(r&Se)*bs+(r>>j(64))*Ay+(j(e.byteLength)-n&Se)*pa;return a&=Se,a=lm(vr(a)),s|a<<j(64)}function nN(e,t=j(0)){let n=e.byteLength;return n<=16?QC(e,t):n<=128?eN(e,fr,t):n<=240?tN(e,fr,t):GC(e,fr)}function rN(e){let t=new Uint8Array(16),n=new DataView(t.buffer),r=e&Se,s=e>>j(64);return n.setBigUint64(0,s,!1),n.setBigUint64(8,r,!1),t}var Kk=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function ve(e,t){if(!Kk.test(e)){let n=t!==void 0?`Invalid UUID for ${t}: ${e}`:`Invalid UUID: ${e}`;throw new Error(n)}return e}function sN(e){let t=typeof e=="string"?Date.parse(e):e;return ak({msecs:t,seq:0})}function aN(e){if(!Kk.test(e))return null;let t=e[14];return parseInt(t,16)}function iN(e){let t=e.replace(/-/g,""),n=new Uint8Array(16);for(let r=0;r<16;r++)n[r]=parseInt(t.slice(r*2,r*2+2),16);return n}function oN(e){let t=Array.from(e).map(n=>n.toString(16).padStart(2,"0")).join("");return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}var cN=new TextEncoder;function uN(e){let t=cN.encode(e),n=nN(t);return rN(n)}function yu(e,t){let n=`${e}:${t}`,r=uN(n),s=new Uint8Array(16);if(aN(e)===7){let a=iN(e);s.set(a.slice(0,6),0)}else{let a=Date.now();s[0]=a/1099511627776&255,s[1]=a/4294967296&255,s[2]=a/16777216&255,s[3]=a/65536&255,s[4]=a/256&255,s[5]=a&255}return s[6]=112|r[0]&15,s[7]=r[1],s[8]=128|r[2]&63,s.set(r.slice(3,10),9),oN(s)}var dm={join:(...e)=>e.join("/"),dirname:e=>e.split("/").slice(0,-1).join("/")};async function lN(e){}async function dN(e,t){}async function pN(e){return[]}async function hN(e){return{size:0}}function fN(e,t){return t===null?!1:Date.now()-e.createdAt>t*1e3}var pm=class{constructor(t={}){Object.defineProperty(this,"cache",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"ttlSeconds",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"refreshIntervalSeconds",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"refreshTimer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_metrics",{enumerable:!0,configurable:!0,writable:!0,value:{hits:0,misses:0,refreshes:0,refreshErrors:0}}),this.configure(t)}get metrics(){return{...this._metrics}}get totalRequests(){return this._metrics.hits+this._metrics.misses}get hitRate(){let t=this.totalRequests;return t>0?this._metrics.hits/t:0}resetMetrics(){this._metrics={hits:0,misses:0,refreshes:0,refreshErrors:0}}get(t,n){if(this.maxSize===0)return;let r=this.cache.get(t);if(!r){this._metrics.misses+=1;return}return this.cache.delete(t),this.cache.set(t,{...r,refreshFunc:n}),this._metrics.hits+=1,r.value}set(t,n,r){if(this.maxSize===0)return;if(this.refreshTimer===void 0&&this.startRefreshLoop(),!this.cache.has(t)&&this.cache.size>=this.maxSize){let a=this.cache.keys().next().value;a!==void 0&&this.cache.delete(a)}let s={value:n,createdAt:Date.now(),refreshFunc:r};this.cache.delete(t),this.cache.set(t,s)}invalidate(t){this.cache.delete(t)}clear(){this.cache.clear()}get size(){return this.cache.size}stop(){this.refreshTimer&&(clearInterval(this.refreshTimer),this.refreshTimer=void 0)}dump(t){let n={};for(let[s,a]of this.cache.entries())n[s]=a.value;dm.dirname(t);let r=`${t}.tmp`;try{JSON.stringify({entries:n},null,2)}catch(s){throw s}}load(t){return 0}startRefreshLoop(){this.stop(),this.ttlSeconds!==null&&(this.refreshTimer=setInterval(()=>{this.refreshStaleEntries().catch(t=>{console.warn("Unexpected error in cache refresh loop:",t)})},this.refreshIntervalSeconds*1e3),this.refreshTimer.unref&&this.refreshTimer.unref())}getStaleEntries(){let t=[];for(let[n,r]of this.cache.entries())fN(r,this.ttlSeconds)&&t.push([n,r]);return t}async refreshStaleEntries(){let t=this.getStaleEntries();if(t.length!==0){for(let[n,r]of t)if(r.refreshFunc!==void 0)try{let s=await r.refreshFunc();this.set(n,s,r.refreshFunc),this._metrics.refreshes+=1}catch(s){this._metrics.refreshErrors+=1,console.warn(`Failed to refresh cache entry ${n}:`,s)}}}configure(t){this.stop(),this.refreshIntervalSeconds=t.refreshIntervalSeconds??60,this.maxSize=t.maxSize??100,this.ttlSeconds=t.ttlSeconds??300}},nv=new pm,Xk="0.5.11",$r,mN=()=>typeof window<"u"&&typeof window.document<"u",gN=()=>typeof globalThis=="object"&&globalThis.constructor&&globalThis.constructor.name==="DedicatedWorkerGlobalScope",yN=()=>typeof window<"u"&&window.name==="nodejs"||typeof navigator<"u"&&navigator.userAgent.includes("jsdom"),Yk=()=>typeof Deno<"u",_N=()=>typeof process<"u"&&typeof process.versions<"u"&&typeof process.versions.node<"u"&&!Yk(),Qk=()=>$r||(typeof Bun<"u"?$r="bun":mN()?$r="browser":_N()?$r="node":gN()?$r="webworker":yN()?$r="jsdom":Yk()?$r="deno":$r="other",$r),_h;function ex(){if(_h===void 0){let e=Qk(),t=wN();_h={library:"langsmith",runtime:e,sdk:"langsmith-js",sdk_version:Xk,...t}}return _h}function tx(){let e=vN(),t={},n=["LANGCHAIN_API_KEY","LANGCHAIN_ENDPOINT","LANGCHAIN_TRACING_V2","LANGCHAIN_PROJECT","LANGCHAIN_SESSION","LANGSMITH_API_KEY","LANGSMITH_ENDPOINT","LANGSMITH_TRACING_V2","LANGSMITH_PROJECT","LANGSMITH_SESSION"];for(let[r,s]of Object.entries(e))typeof s=="string"&&!n.includes(r)&&!r.toLowerCase().includes("key")&&!r.toLowerCase().includes("secret")&&!r.toLowerCase().includes("token")&&(r==="LANGCHAIN_REVISION_ID"?t.revision_id=s:t[r]=s);return t}function vN(){let e={};try{if(typeof process<"u"&&process.env)for(let[t,n]of Object.entries(process.env))(t.startsWith("LANGCHAIN_")||t.startsWith("LANGSMITH_"))&&n!=null&&((t.toLowerCase().includes("key")||t.toLowerCase().includes("secret")||t.toLowerCase().includes("token"))&&typeof n=="string"?e[t]=n.slice(0,2)+"*".repeat(n.length-4)+n.slice(-2):e[t]=n)}catch{}return e}function Ir(e){try{return typeof process<"u"?process.env?.[e]:void 0}catch{return}}function Pt(e){return Ir(`LANGSMITH_${e}`)||Ir(`LANGCHAIN_${e}`)}var vh;function wN(){if(vh!==void 0)return vh;let e=["VERCEL_GIT_COMMIT_SHA","NEXT_PUBLIC_VERCEL_GIT_COMMIT_SHA","COMMIT_REF","RENDER_GIT_COMMIT","CI_COMMIT_SHA","CIRCLE_SHA1","CF_PAGES_COMMIT_SHA","REACT_APP_GIT_SHA","SOURCE_VERSION","GITHUB_SHA","TRAVIS_COMMIT","GIT_COMMIT","BUILD_VCS_NUMBER","bamboo_planRepository_revision","Build.SourceVersion","BITBUCKET_COMMIT","DRONE_COMMIT_SHA","SEMAPHORE_GIT_SHA","BUILDKITE_COMMIT"],t={};for(let n of e){let r=Ir(n);r!==void 0&&(t[n]=r)}return vh=t,t}function nx(){return Ir("OTEL_ENABLED")==="true"||Pt("OTEL_ENABLED")==="true"}var hm=class{constructor(){Object.defineProperty(this,"hasWarned",{enumerable:!0,configurable:!0,writable:!0,value:!1})}startActiveSpan(t,...n){!this.hasWarned&&nx()&&(console.warn('You have enabled OTEL export via the `OTEL_ENABLED` or `LANGSMITH_OTEL_ENABLED` environment variable, but have not initialized the required OTEL instances. Please add:\n```\nimport { initializeOTEL } from "langsmith/experimental/otel/setup";\ninitializeOTEL();\n```\nat the beginning of your code.'),this.hasWarned=!0);let r;if(n.length===1&&typeof n[0]=="function"?r=n[0]:n.length===2&&typeof n[1]=="function"?r=n[1]:n.length===3&&typeof n[2]=="function"&&(r=n[2]),typeof r=="function")return r()}},fm=class{constructor(){Object.defineProperty(this,"mockTracer",{enumerable:!0,configurable:!0,writable:!0,value:new hm})}getTracer(t,n){return this.mockTracer}getActiveSpan(){}setSpan(t,n){return t}getSpan(t){}setSpanContext(t,n){return t}getTracerProvider(){}setGlobalTracerProvider(t){return!1}},mm=class{active(){return{}}with(t,n){return n()}},wh=Symbol.for("ls:otel_trace"),bh=Symbol.for("ls:otel_context"),rv=Symbol.for("ls:otel_get_default_otlp_tracer_provider"),bN=new fm,kN=new mm,gm=class{getTraceInstance(){return globalThis[wh]??bN}getContextInstance(){return globalThis[bh]??kN}initializeGlobalInstances(t){globalThis[wh]===void 0&&(globalThis[wh]=t.trace),globalThis[bh]===void 0&&(globalThis[bh]=t.context)}setDefaultOTLPTracerComponents(t){globalThis[rv]=t}getDefaultOTLPTracerComponents(){return globalThis[rv]??void 0}},$y=new gm;function rx(){return $y.getTraceInstance()}function xN(){return $y.getContextInstance()}function ON(){return $y.getDefaultOTLPTracerComponents()}var SN={llm:"chat",tool:"execute_tool",retriever:"embeddings",embedding:"embeddings",prompt:"chat"};function TN(e){return SN[e]||e}var ym=class{constructor(){Object.defineProperty(this,"spans",{enumerable:!0,configurable:!0,writable:!0,value:new Map})}exportBatch(t,n){for(let r of t)try{if(!r.run)continue;if(r.operation==="post"){let s=this.createSpanForRun(r,r.run,n.get(r.id));s&&!r.run.end_time&&this.spans.set(r.id,s)}else this.updateSpanForRun(r,r.run)}catch(s){console.error(`Error processing operation ${r.id}:`,s)}}createSpanForRun(t,n,r){let s=r&&rx().getSpan(r);if(s)try{return this.finishSpanSetup(s,n,t)}catch(a){console.error(`Failed to create span for run ${t.id}:`,a);return}}finishSpanSetup(t,n,r){return this.setSpanAttributes(t,n,r),n.error?(t.setStatus({code:2}),t.recordException(new Error(n.error))):t.setStatus({code:1}),n.end_time&&t.end(new Date(n.end_time)),t}updateSpanForRun(t,n){try{let r=this.spans.get(t.id);if(!r){console.debug(`No span found for run ${t.id} during update`);return}this.setSpanAttributes(r,n,t),n.error?(r.setStatus({code:2}),r.recordException(new Error(n.error))):r.setStatus({code:1});let s=n.end_time;s&&(r.end(new Date(s)),this.spans.delete(t.id))}catch(r){console.error(`Failed to update span for run ${t.id}:`,r)}}extractModelName(t){if(t.extra?.metadata){let n=t.extra.metadata;if(n.ls_model_name)return n.ls_model_name;if(n.invocation_params){let r=n.invocation_params;if(r.model)return r.model;if(r.model_name)return r.model_name}}}setSpanAttributes(t,n,r){if("run_type"in n&&n.run_type){t.setAttribute(AC,n.run_type);let o=TN(n.run_type||"chain");t.setAttribute(iC,o)}"name"in n&&n.name&&t.setAttribute($C,n.name),"session_id"in n&&n.session_id&&t.setAttribute(IC,n.session_id),"session_name"in n&&n.session_name&&t.setAttribute(EC,n.session_name),this.setGenAiSystem(t,n);let s=this.extractModelName(n);s&&t.setAttribute(W0,s),"prompt_tokens"in n&&typeof n.prompt_tokens=="number"&&t.setAttribute(J0,n.prompt_tokens),"completion_tokens"in n&&typeof n.completion_tokens=="number"&&t.setAttribute(G0,n.completion_tokens),"total_tokens"in n&&typeof n.total_tokens=="number"&&t.setAttribute(K0,n.total_tokens),this.setInvocationParameters(t,n);let a=n.extra?.metadata||{};for(let[o,c]of Object.entries(a))c!=null&&t.setAttribute(`${CC}.${o}`,String(c));let i=n.tags;if(i&&Array.isArray(i)?t.setAttribute(X0,i.join(", ")):i&&t.setAttribute(X0,String(i)),"serialized"in n&&typeof n.serialized=="object"){let o=n.serialized;o.name&&t.setAttribute(vC,String(o.name)),o.signature&&t.setAttribute(wC,String(o.signature)),o.doc&&t.setAttribute(bC,String(o.doc))}this.setIOAttributes(t,r)}setGenAiSystem(t,n){let r="langchain",s=this.extractModelName(n);if(s){let a=s.toLowerCase();a.includes("anthropic")||a.startsWith("claude")?r="anthropic":a.includes("bedrock")?r="aws.bedrock":a.includes("azure")&&a.includes("openai")?r="az.ai.openai":a.includes("azure")&&a.includes("inference")?r="az.ai.inference":a.includes("cohere")?r="cohere":a.includes("deepseek")?r="deepseek":a.includes("gemini")?r="gemini":a.includes("groq")?r="groq":a.includes("watson")||a.includes("ibm")?r="ibm.watsonx.ai":a.includes("mistral")?r="mistral_ai":a.includes("gpt")||a.includes("openai")?r="openai":a.includes("perplexity")||a.includes("sonar")?r="perplexity":a.includes("vertex")?r="vertex_ai":(a.includes("xai")||a.includes("grok"))&&(r="xai")}t.setAttribute(oC,r)}setInvocationParameters(t,n){if(!n.extra?.metadata?.invocation_params)return;let r=n.extra.metadata.invocation_params;r.max_tokens!==void 0&&t.setAttribute(uC,r.max_tokens),r.temperature!==void 0&&t.setAttribute(lC,r.temperature),r.top_p!==void 0&&t.setAttribute(dC,r.top_p),r.frequency_penalty!==void 0&&t.setAttribute(pC,r.frequency_penalty),r.presence_penalty!==void 0&&t.setAttribute(hC,r.presence_penalty)}setIOAttributes(t,n){if(n.run.inputs)try{let r=n.run.inputs;typeof r=="object"&&r!==null&&(r.model&&Array.isArray(r.messages)&&t.setAttribute(W0,r.model),r.stream!==void 0&&t.setAttribute(NC,r.stream),r.extra_headers&&t.setAttribute(PC,JSON.stringify(r.extra_headers)),r.extra_query&&t.setAttribute(yC,JSON.stringify(r.extra_query)),r.extra_body&&t.setAttribute(_C,JSON.stringify(r.extra_body))),t.setAttribute(mC,JSON.stringify(r))}catch(r){console.debug(`Failed to process inputs for run ${n.id}`,r)}if(n.run.outputs)try{let r=n.run.outputs,s=this.getUnifiedRunTokens(r);if(s&&(t.setAttribute(J0,s[0]),t.setAttribute(G0,s[1]),t.setAttribute(K0,s[0]+s[1])),r&&typeof r=="object"){if(r.model&&t.setAttribute(cC,String(r.model)),r.id&&t.setAttribute(kC,r.id),r.choices&&Array.isArray(r.choices)){let a=r.choices.map(i=>i.finish_reason).filter(i=>i).map(String);a.length>0&&t.setAttribute(fC,a.join(", "))}if(r.service_tier&&t.setAttribute(xC,r.service_tier),r.system_fingerprint&&t.setAttribute(OC,r.system_fingerprint),r.usage_metadata&&typeof r.usage_metadata=="object"){let a=r.usage_metadata;a.input_token_details&&t.setAttribute(SC,JSON.stringify(a.input_token_details)),a.output_token_details&&t.setAttribute(TC,JSON.stringify(a.output_token_details))}}t.setAttribute(gC,JSON.stringify(r))}catch(r){console.debug(`Failed to process outputs for run ${n.id}`,r)}}getUnifiedRunTokens(t){if(!t)return null;let n=this.extractUnifiedRunTokens(t.usage_metadata);if(n)return n;let r=Object.keys(t);for(let i of r){let o=t[i];if(!(!o||typeof o!="object")&&(n=this.extractUnifiedRunTokens(o.usage_metadata),n||o.lc===1&&o.kwargs&&typeof o.kwargs=="object"&&(n=this.extractUnifiedRunTokens(o.kwargs.usage_metadata),n)))return n}let s=t.generations||[];if(!Array.isArray(s))return null;let a=Array.isArray(s[0])?s.flat():s;for(let i of a)if(typeof i=="object"&&i.message&&typeof i.message=="object"&&i.message.kwargs&&typeof i.message.kwargs=="object"&&(n=this.extractUnifiedRunTokens(i.message.kwargs.usage_metadata),n))return n;return null}extractUnifiedRunTokens(t){return!t||typeof t!="object"||typeof t.input_tokens!="number"||typeof t.output_tokens!="number"?null:[t.input_tokens,t.output_tokens]}},IN=Object.prototype.toString,EN=e=>IN.call(e)==="[object Error]",AN=new Set(["network error","Failed to fetch","NetworkError when attempting to fetch resource.","The Internet connection appears to be offline.","Network request failed","fetch failed","terminated"," A network error occurred.","Network connection lost"]);function $N(e){if(!(e&&EN(e)&&e.name==="TypeError"&&typeof e.message=="string"))return!1;let{message:t,stack:n}=e;return t==="Load failed"?n===void 0||"__sentry_captured__"in e:t.startsWith("error sending request for url")?!0:AN.has(t)}function CN(e){if(typeof e=="number"){if(e<0)throw new TypeError("Expected `retries` to be a non-negative number.");if(Number.isNaN(e))throw new TypeError("Expected `retries` to be a valid number or Infinity, got NaN.")}else if(e!==void 0)throw new TypeError("Expected `retries` to be a number or Infinity.")}function _u(e,t,{min:n=0,allowInfinity:r=!1}={}){if(t!==void 0){if(typeof t!="number"||Number.isNaN(t))throw new TypeError(`Expected \`${e}\` to be a number${r?" or Infinity":""}.`);if(!r&&!Number.isFinite(t))throw new TypeError(`Expected \`${e}\` to be a finite number.`);if(t<n)throw new TypeError(`Expected \`${e}\` to be \u2265 ${n}.`)}}var NN=class extends Error{constructor(e){super(),e instanceof Error?(this.originalError=e,{message:e}=e):(this.originalError=new Error(e),this.originalError.stack=this.stack),this.name="AbortError",this.message=e}};function PN(e,t){let n=Math.max(1,e+1),r=t.randomize?Math.random()+1:1,s=Math.round(r*t.minTimeout*t.factor**(n-1));return s=Math.min(s,t.maxTimeout),s}function sv(e,t){return Number.isFinite(t)?t-(performance.now()-e):t}async function jN({error:e,attemptNumber:t,retriesConsumed:n,startTime:r,options:s}){let a=e instanceof Error?e:new TypeError(`Non-error was thrown: "${e}". You should only throw errors.`);if(a instanceof NN)throw a.originalError;let i=Number.isFinite(s.retries)?Math.max(0,s.retries-n):s.retries,o=s.maxRetryTime??Number.POSITIVE_INFINITY,c=Object.freeze({error:a,attemptNumber:t,retriesLeft:i,retriesConsumed:n});if(await s.onFailedAttempt(c),sv(r,o)<=0)throw a;let u=await s.shouldConsumeRetry(c),l=sv(r,o);if(l<=0||i<=0)throw a;if(a instanceof TypeError&&!$N(a)){if(u)throw a;return s.signal?.throwIfAborted(),!1}if(!await s.shouldRetry(c))throw a;if(!u)return s.signal?.throwIfAborted(),!1;let d=PN(n,s),p=Math.min(d,l);return p>0&&await new Promise((h,f)=>{let m=()=>{clearTimeout(v),s.signal?.removeEventListener("abort",m),f(s.signal.reason)},v=setTimeout(()=>{s.signal?.removeEventListener("abort",m),h()},p);s.unref&&v.unref?.(),s.signal?.addEventListener("abort",m,{once:!0})}),s.signal?.throwIfAborted(),!0}async function RN(e,t={}){if(t={...t},CN(t.retries),Object.hasOwn(t,"forever"))throw new Error("The `forever` option is no longer supported. For many use-cases, you can set `retries: Infinity` instead.");t.retries??=10,t.factor??=2,t.minTimeout??=1e3,t.maxTimeout??=Number.POSITIVE_INFINITY,t.maxRetryTime??=Number.POSITIVE_INFINITY,t.randomize??=!1,t.onFailedAttempt??=()=>{},t.shouldRetry??=()=>!0,t.shouldConsumeRetry??=()=>!0,_u("factor",t.factor,{min:0,allowInfinity:!1}),_u("minTimeout",t.minTimeout,{min:0,allowInfinity:!1}),_u("maxTimeout",t.maxTimeout,{min:0,allowInfinity:!0}),_u("maxRetryTime",t.maxRetryTime,{min:0,allowInfinity:!0}),t.factor>0||(t.factor=1),t.signal?.throwIfAborted();let n=0,r=0,s=performance.now();for(;!Number.isFinite(t.retries)||r<=t.retries;){n++;try{t.signal?.throwIfAborted();let a=await e(n);return t.signal?.throwIfAborted(),a}catch(a){await jN({error:a,attemptNumber:n,retriesConsumed:r,startTime:s,options:t})&&r++}}throw new Error("Retry attempts exhausted without throwing an error.")}var vu={},av={exports:{}},iv;function MN(){return iv||(iv=1,(function(e){var t=Object.prototype.hasOwnProperty,n="~";function r(){}Object.create&&(r.prototype=Object.create(null),new r().__proto__||(n=!1));function s(c,u,l){this.fn=c,this.context=u,this.once=l||!1}function a(c,u,l,d,p){if(typeof l!="function")throw new TypeError("The listener must be a function");var h=new s(l,d||c,p),f=n?n+u:u;return c._events[f]?c._events[f].fn?c._events[f]=[c._events[f],h]:c._events[f].push(h):(c._events[f]=h,c._eventsCount++),c}function i(c,u){--c._eventsCount===0?c._events=new r:delete c._events[u]}function o(){this._events=new r,this._eventsCount=0}o.prototype.eventNames=function(){var c=[],u,l;if(this._eventsCount===0)return c;for(l in u=this._events)t.call(u,l)&&c.push(n?l.slice(1):l);return Object.getOwnPropertySymbols?c.concat(Object.getOwnPropertySymbols(u)):c},o.prototype.listeners=function(c){var u=n?n+c:c,l=this._events[u];if(!l)return[];if(l.fn)return[l.fn];for(var d=0,p=l.length,h=new Array(p);d<p;d++)h[d]=l[d].fn;return h},o.prototype.listenerCount=function(c){var u=n?n+c:c,l=this._events[u];return l?l.fn?1:l.length:0},o.prototype.emit=function(c,u,l,d,p,h){var f=n?n+c:c;if(!this._events[f])return!1;var m=this._events[f],v=arguments.length,g,y;if(m.fn){switch(m.once&&this.removeListener(c,m.fn,void 0,!0),v){case 1:return m.fn.call(m.context),!0;case 2:return m.fn.call(m.context,u),!0;case 3:return m.fn.call(m.context,u,l),!0;case 4:return m.fn.call(m.context,u,l,d),!0;case 5:return m.fn.call(m.context,u,l,d,p),!0;case 6:return m.fn.call(m.context,u,l,d,p,h),!0}for(y=1,g=new Array(v-1);y<v;y++)g[y-1]=arguments[y];m.fn.apply(m.context,g)}else{var k=m.length,x;for(y=0;y<k;y++)switch(m[y].once&&this.removeListener(c,m[y].fn,void 0,!0),v){case 1:m[y].fn.call(m[y].context);break;case 2:m[y].fn.call(m[y].context,u);break;case 3:m[y].fn.call(m[y].context,u,l);break;case 4:m[y].fn.call(m[y].context,u,l,d);break;default:if(!g)for(x=1,g=new Array(v-1);x<v;x++)g[x-1]=arguments[x];m[y].fn.apply(m[y].context,g)}}return!0},o.prototype.on=function(c,u,l){return a(this,c,u,l,!1)},o.prototype.once=function(c,u,l){return a(this,c,u,l,!0)},o.prototype.removeListener=function(c,u,l,d){var p=n?n+c:c;if(!this._events[p])return this;if(!u)return i(this,p),this;var h=this._events[p];if(h.fn)h.fn===u&&(!d||h.once)&&(!l||h.context===l)&&i(this,p);else{for(var f=0,m=[],v=h.length;f<v;f++)(h[f].fn!==u||d&&!h[f].once||l&&h[f].context!==l)&&m.push(h[f]);m.length?this._events[p]=m.length===1?m[0]:m:i(this,p)}return this},o.prototype.removeAllListeners=function(c){var u;return c?(u=n?n+c:c,this._events[u]&&i(this,u)):(this._events=new r,this._eventsCount=0),this},o.prototype.off=o.prototype.removeListener,o.prototype.addListener=o.prototype.on,o.prefixed=n,o.EventEmitter=o,e.exports=o})(av)),av.exports}var lo={exports:{}},ov,cv;function LN(){return cv||(cv=1,ov=(e,t)=>(t=t||(()=>{}),e.then(n=>new Promise(r=>{r(t())}).then(()=>n),n=>new Promise(r=>{r(t())}).then(()=>{throw n})))),ov}var uv;function zN(){if(uv)return lo.exports;uv=1;let e=LN();class t extends Error{constructor(s){super(s),this.name="TimeoutError"}}let n=(r,s,a)=>new Promise((i,o)=>{if(typeof s!="number"||s<0)throw new TypeError("Expected `milliseconds` to be a positive number");if(s===1/0){i(r);return}let c=setTimeout(()=>{if(typeof a=="function"){try{i(a())}catch(d){o(d)}return}let u=typeof a=="string"?a:`Promise timed out after ${s} milliseconds`,l=a instanceof Error?a:new t(u);typeof r.cancel=="function"&&r.cancel(),o(l)},s);e(r.then(i,o),()=>{clearTimeout(c)})});return lo.exports=n,lo.exports.default=n,lo.exports.TimeoutError=t,lo.exports}var wu={},bu={},lv;function UN(){if(lv)return bu;lv=1,Object.defineProperty(bu,"__esModule",{value:!0});function e(t,n,r){let s=0,a=t.length;for(;a>0;){let i=a/2|0,o=s+i;r(t[o],n)<=0?(s=++o,a-=i+1):a=i}return s}return bu.default=e,bu}var dv;function DN(){if(dv)return wu;dv=1,Object.defineProperty(wu,"__esModule",{value:!0});let e=UN();class t{constructor(){this._queue=[]}enqueue(r,s){s=Object.assign({priority:0},s);let a={priority:s.priority,run:r};if(this.size&&this._queue[this.size-1].priority>=s.priority){this._queue.push(a);return}let i=e.default(this._queue,a,(o,c)=>c.priority-o.priority);this._queue.splice(i,0,a)}dequeue(){return this._queue.shift()?.run}filter(r){return this._queue.filter(s=>s.priority===r.priority).map(s=>s.run)}get size(){return this._queue.length}}return wu.default=t,wu}var pv;function FN(){if(pv)return vu;pv=1,Object.defineProperty(vu,"__esModule",{value:!0});let e=MN(),t=zN(),n=DN(),r=()=>{},s=new t.TimeoutError;class a extends e{constructor(o){var c,u,l,d;if(super(),this._intervalCount=0,this._intervalEnd=0,this._pendingCount=0,this._resolveEmpty=r,this._resolveIdle=r,o=Object.assign({carryoverConcurrencyCount:!1,intervalCap:1/0,interval:0,concurrency:1/0,autoStart:!0,queueClass:n.default},o),!(typeof o.intervalCap=="number"&&o.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(u=(c=o.intervalCap)===null||c===void 0?void 0:c.toString())!==null&&u!==void 0?u:""}\` (${typeof o.intervalCap})`);if(o.interval===void 0||!(Number.isFinite(o.interval)&&o.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(d=(l=o.interval)===null||l===void 0?void 0:l.toString())!==null&&d!==void 0?d:""}\` (${typeof o.interval})`);this._carryoverConcurrencyCount=o.carryoverConcurrencyCount,this._isIntervalIgnored=o.intervalCap===1/0||o.interval===0,this._intervalCap=o.intervalCap,this._interval=o.interval,this._queue=new o.queueClass,this._queueClass=o.queueClass,this.concurrency=o.concurrency,this._timeout=o.timeout,this._throwOnTimeout=o.throwOnTimeout===!0,this._isPaused=o.autoStart===!1}get _doesIntervalAllowAnother(){return this._isIntervalIgnored||this._intervalCount<this._intervalCap}get _doesConcurrentAllowAnother(){return this._pendingCount<this._concurrency}_next(){this._pendingCount--,this._tryToStartAnother(),this.emit("next")}_resolvePromises(){this._resolveEmpty(),this._resolveEmpty=r,this._pendingCount===0&&(this._resolveIdle(),this._resolveIdle=r,this.emit("idle"))}_onResumeInterval(){this._onInterval(),this._initializeIntervalIfNeeded(),this._timeoutId=void 0}_isIntervalPaused(){let o=Date.now();if(this._intervalId===void 0){let c=this._intervalEnd-o;if(c<0)this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0;else return this._timeoutId===void 0&&(this._timeoutId=setTimeout(()=>{this._onResumeInterval()},c)),!0}return!1}_tryToStartAnother(){if(this._queue.size===0)return this._intervalId&&clearInterval(this._intervalId),this._intervalId=void 0,this._resolvePromises(),!1;if(!this._isPaused){let o=!this._isIntervalPaused();if(this._doesIntervalAllowAnother&&this._doesConcurrentAllowAnother){let c=this._queue.dequeue();return c?(this.emit("active"),c(),o&&this._initializeIntervalIfNeeded(),!0):!1}}return!1}_initializeIntervalIfNeeded(){this._isIntervalIgnored||this._intervalId!==void 0||(this._intervalId=setInterval(()=>{this._onInterval()},this._interval),this._intervalEnd=Date.now()+this._interval)}_onInterval(){this._intervalCount===0&&this._pendingCount===0&&this._intervalId&&(clearInterval(this._intervalId),this._intervalId=void 0),this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0,this._processQueue()}_processQueue(){for(;this._tryToStartAnother(););}get concurrency(){return this._concurrency}set concurrency(o){if(!(typeof o=="number"&&o>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${o}\` (${typeof o})`);this._concurrency=o,this._processQueue()}async add(o,c={}){return new Promise((u,l)=>{let d=async()=>{this._pendingCount++,this._intervalCount++;try{let p=this._timeout===void 0&&c.timeout===void 0?o():t.default(Promise.resolve(o()),c.timeout===void 0?this._timeout:c.timeout,()=>{(c.throwOnTimeout===void 0?this._throwOnTimeout:c.throwOnTimeout)&&l(s)});u(await p)}catch(p){l(p)}this._next()};this._queue.enqueue(d,c),this._tryToStartAnother(),this.emit("add")})}async addAll(o,c){return Promise.all(o.map(async u=>this.add(u,c)))}start(){return this._isPaused?(this._isPaused=!1,this._processQueue(),this):this}pause(){this._isPaused=!0}clear(){this._queue=new this._queueClass}async onEmpty(){if(this._queue.size!==0)return new Promise(o=>{let c=this._resolveEmpty;this._resolveEmpty=()=>{c(),o()}})}async onIdle(){if(!(this._pendingCount===0&&this._queue.size===0))return new Promise(o=>{let c=this._resolveIdle;this._resolveIdle=()=>{c(),o()}})}get size(){return this._queue.size}sizeBy(o){return this._queue.filter(o).length}get pending(){return this._pendingCount}get isPaused(){return this._isPaused}get timeout(){return this._timeout}set timeout(o){this._timeout=o}}return vu.default=a,vu}var BN=FN(),Vr=za(BN),ZN="default"in Vr?Vr.default:Vr,VN=[408,425,429,500,502,503,504],hv=class{constructor(e){Object.defineProperty(this,"maxConcurrency",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"maxRetries",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"maxQueueSizeBytes",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"queue",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onFailedResponseHook",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"queueSizeBytes",{enumerable:!0,configurable:!0,writable:!0,value:0}),this.maxConcurrency=e.maxConcurrency??1/0,this.maxRetries=e.maxRetries??6,this.maxQueueSizeBytes=e.maxQueueSizeBytes,this.queue=new ZN({concurrency:this.maxConcurrency}),this.onFailedResponseHook=e?.onFailedResponseHook}call(e,...t){return this.callWithOptions({},e,...t)}callWithOptions(e,t,...n){let r=e.sizeBytes??0;if(this.maxQueueSizeBytes!==void 0&&r>0&&this.queueSizeBytes+r>this.maxQueueSizeBytes)return Promise.reject(new Error(`Queue size limit (${this.maxQueueSizeBytes} bytes) exceeded. Current queue size: ${this.queueSizeBytes} bytes, attempted addition: ${r} bytes.`));r>0&&(this.queueSizeBytes+=r);let s=this.onFailedResponseHook,a=this.queue.add(()=>RN(()=>t(...n).catch(i=>{throw i instanceof Error?i:new Error(i)}),{async onFailedAttempt({error:i}){if(typeof i!="object"||i==null)throw i;let o="message"in i&&typeof i.message=="string"?i.message:void 0;if(o?.startsWith("Cancel")||o?.startsWith("TimeoutError")||o?.startsWith("AbortError")||"name"in i&&i.name==="TimeoutError"||"code"in i&&i.code==="ECONNABORTED")throw i;let c="response"in i?i.response:void 0;if(s&&await s(c))return;let u=c?.status??("status"in i?i.status:void 0);if(u!=null&&(typeof u=="number"||typeof u=="string")&&!VN.includes(+u))throw i},retries:this.maxRetries,randomize:!0}),{throwOnTimeout:!0});return r>0&&(a=a.finally(()=>{this.queueSizeBytes-=r})),e.signal?Promise.race([a,new Promise((i,o)=>{e.signal?.addEventListener("abort",()=>{o(new Error("AbortError"))})})]):a}};function fv(e){return typeof e?._getType=="function"}function mv(e){let t={type:e._getType(),data:{content:e.content}};return e?.additional_kwargs&&Object.keys(e.additional_kwargs).length>0&&(t.data.additional_kwargs={...e.additional_kwargs}),t}var kh={exports:{}},xh,gv;function Op(){if(gv)return xh;gv=1;let e="2.0.0",t=256,n=Number.MAX_SAFE_INTEGER||9007199254740991,r=16,s=t-6;return xh={MAX_LENGTH:t,MAX_SAFE_COMPONENT_LENGTH:r,MAX_SAFE_BUILD_LENGTH:s,MAX_SAFE_INTEGER:n,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:e,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2},xh}var yv,_v;function Sp(){return _v||(_v=1,yv=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{}),yv}var vv;function qc(){return vv||(vv=1,(function(e,t){let{MAX_SAFE_COMPONENT_LENGTH:n,MAX_SAFE_BUILD_LENGTH:r,MAX_LENGTH:s}=Op(),a=Sp();t=e.exports={};let i=t.re=[],o=t.safeRe=[],c=t.src=[],u=t.safeSrc=[],l=t.t={},d=0,p="[a-zA-Z0-9-]",h=[["\\s",1],["\\d",s],[p,r]],f=v=>{for(let[g,y]of h)v=v.split(`${g}*`).join(`${g}{0,${y}}`).split(`${g}+`).join(`${g}{1,${y}}`);return v},m=(v,g,y)=>{let k=f(g),x=d++;a(v,x,g),l[v]=x,c[x]=g,u[x]=k,i[x]=new RegExp(g,y?"g":void 0),o[x]=new RegExp(k,y?"g":void 0)};m("NUMERICIDENTIFIER","0|[1-9]\\d*"),m("NUMERICIDENTIFIERLOOSE","\\d+"),m("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${p}*`),m("MAINVERSION",`(${c[l.NUMERICIDENTIFIER]})\\.(${c[l.NUMERICIDENTIFIER]})\\.(${c[l.NUMERICIDENTIFIER]})`),m("MAINVERSIONLOOSE",`(${c[l.NUMERICIDENTIFIERLOOSE]})\\.(${c[l.NUMERICIDENTIFIERLOOSE]})\\.(${c[l.NUMERICIDENTIFIERLOOSE]})`),m("PRERELEASEIDENTIFIER",`(?:${c[l.NONNUMERICIDENTIFIER]}|${c[l.NUMERICIDENTIFIER]})`),m("PRERELEASEIDENTIFIERLOOSE",`(?:${c[l.NONNUMERICIDENTIFIER]}|${c[l.NUMERICIDENTIFIERLOOSE]})`),m("PRERELEASE",`(?:-(${c[l.PRERELEASEIDENTIFIER]}(?:\\.${c[l.PRERELEASEIDENTIFIER]})*))`),m("PRERELEASELOOSE",`(?:-?(${c[l.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${c[l.PRERELEASEIDENTIFIERLOOSE]})*))`),m("BUILDIDENTIFIER",`${p}+`),m("BUILD",`(?:\\+(${c[l.BUILDIDENTIFIER]}(?:\\.${c[l.BUILDIDENTIFIER]})*))`),m("FULLPLAIN",`v?${c[l.MAINVERSION]}${c[l.PRERELEASE]}?${c[l.BUILD]}?`),m("FULL",`^${c[l.FULLPLAIN]}$`),m("LOOSEPLAIN",`[v=\\s]*${c[l.MAINVERSIONLOOSE]}${c[l.PRERELEASELOOSE]}?${c[l.BUILD]}?`),m("LOOSE",`^${c[l.LOOSEPLAIN]}$`),m("GTLT","((?:<|>)?=?)"),m("XRANGEIDENTIFIERLOOSE",`${c[l.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),m("XRANGEIDENTIFIER",`${c[l.NUMERICIDENTIFIER]}|x|X|\\*`),m("XRANGEPLAIN",`[v=\\s]*(${c[l.XRANGEIDENTIFIER]})(?:\\.(${c[l.XRANGEIDENTIFIER]})(?:\\.(${c[l.XRANGEIDENTIFIER]})(?:${c[l.PRERELEASE]})?${c[l.BUILD]}?)?)?`),m("XRANGEPLAINLOOSE",`[v=\\s]*(${c[l.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[l.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[l.XRANGEIDENTIFIERLOOSE]})(?:${c[l.PRERELEASELOOSE]})?${c[l.BUILD]}?)?)?`),m("XRANGE",`^${c[l.GTLT]}\\s*${c[l.XRANGEPLAIN]}$`),m("XRANGELOOSE",`^${c[l.GTLT]}\\s*${c[l.XRANGEPLAINLOOSE]}$`),m("COERCEPLAIN",`(^|[^\\d])(\\d{1,${n}})(?:\\.(\\d{1,${n}}))?(?:\\.(\\d{1,${n}}))?`),m("COERCE",`${c[l.COERCEPLAIN]}(?:$|[^\\d])`),m("COERCEFULL",c[l.COERCEPLAIN]+`(?:${c[l.PRERELEASE]})?(?:${c[l.BUILD]})?(?:$|[^\\d])`),m("COERCERTL",c[l.COERCE],!0),m("COERCERTLFULL",c[l.COERCEFULL],!0),m("LONETILDE","(?:~>?)"),m("TILDETRIM",`(\\s*)${c[l.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",m("TILDE",`^${c[l.LONETILDE]}${c[l.XRANGEPLAIN]}$`),m("TILDELOOSE",`^${c[l.LONETILDE]}${c[l.XRANGEPLAINLOOSE]}$`),m("LONECARET","(?:\\^)"),m("CARETTRIM",`(\\s*)${c[l.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",m("CARET",`^${c[l.LONECARET]}${c[l.XRANGEPLAIN]}$`),m("CARETLOOSE",`^${c[l.LONECARET]}${c[l.XRANGEPLAINLOOSE]}$`),m("COMPARATORLOOSE",`^${c[l.GTLT]}\\s*(${c[l.LOOSEPLAIN]})$|^$`),m("COMPARATOR",`^${c[l.GTLT]}\\s*(${c[l.FULLPLAIN]})$|^$`),m("COMPARATORTRIM",`(\\s*)${c[l.GTLT]}\\s*(${c[l.LOOSEPLAIN]}|${c[l.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",m("HYPHENRANGE",`^\\s*(${c[l.XRANGEPLAIN]})\\s+-\\s+(${c[l.XRANGEPLAIN]})\\s*$`),m("HYPHENRANGELOOSE",`^\\s*(${c[l.XRANGEPLAINLOOSE]})\\s+-\\s+(${c[l.XRANGEPLAINLOOSE]})\\s*$`),m("STAR","(<|>)?=?\\s*\\*"),m("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),m("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")})(kh,kh.exports)),kh.exports}var Oh,wv;function Cy(){if(wv)return Oh;wv=1;let e=Object.freeze({loose:!0}),t=Object.freeze({});return Oh=n=>n?typeof n!="object"?e:n:t,Oh}var Sh,bv;function sx(){if(bv)return Sh;bv=1;let e=/^[0-9]+$/,t=(n,r)=>{if(typeof n=="number"&&typeof r=="number")return n===r?0:n<r?-1:1;let s=e.test(n),a=e.test(r);return s&&a&&(n=+n,r=+r),n===r?0:s&&!a?-1:a&&!s?1:n<r?-1:1};return Sh={compareIdentifiers:t,rcompareIdentifiers:(n,r)=>t(r,n)},Sh}var Th,kv;function nn(){if(kv)return Th;kv=1;let e=Sp(),{MAX_LENGTH:t,MAX_SAFE_INTEGER:n}=Op(),{safeRe:r,t:s}=qc(),a=Cy(),{compareIdentifiers:i}=sx();class o{constructor(u,l){if(l=a(l),u instanceof o){if(u.loose===!!l.loose&&u.includePrerelease===!!l.includePrerelease)return u;u=u.version}else if(typeof u!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof u}".`);if(u.length>t)throw new TypeError(`version is longer than ${t} characters`);e("SemVer",u,l),this.options=l,this.loose=!!l.loose,this.includePrerelease=!!l.includePrerelease;let d=u.trim().match(l.loose?r[s.LOOSE]:r[s.FULL]);if(!d)throw new TypeError(`Invalid Version: ${u}`);if(this.raw=u,this.major=+d[1],this.minor=+d[2],this.patch=+d[3],this.major>n||this.major<0)throw new TypeError("Invalid major version");if(this.minor>n||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>n||this.patch<0)throw new TypeError("Invalid patch version");d[4]?this.prerelease=d[4].split(".").map(p=>{if(/^[0-9]+$/.test(p)){let h=+p;if(h>=0&&h<n)return h}return p}):this.prerelease=[],this.build=d[5]?d[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(u){if(e("SemVer.compare",this.version,this.options,u),!(u instanceof o)){if(typeof u=="string"&&u===this.version)return 0;u=new o(u,this.options)}return u.version===this.version?0:this.compareMain(u)||this.comparePre(u)}compareMain(u){return u instanceof o||(u=new o(u,this.options)),this.major<u.major?-1:this.major>u.major?1:this.minor<u.minor?-1:this.minor>u.minor?1:this.patch<u.patch?-1:this.patch>u.patch?1:0}comparePre(u){if(u instanceof o||(u=new o(u,this.options)),this.prerelease.length&&!u.prerelease.length)return-1;if(!this.prerelease.length&&u.prerelease.length)return 1;if(!this.prerelease.length&&!u.prerelease.length)return 0;let l=0;do{let d=this.prerelease[l],p=u.prerelease[l];if(e("prerelease compare",l,d,p),d===void 0&&p===void 0)return 0;if(p===void 0)return 1;if(d===void 0)return-1;if(d!==p)return i(d,p)}while(++l)}compareBuild(u){u instanceof o||(u=new o(u,this.options));let l=0;do{let d=this.build[l],p=u.build[l];if(e("build compare",l,d,p),d===void 0&&p===void 0)return 0;if(p===void 0)return 1;if(d===void 0)return-1;if(d!==p)return i(d,p)}while(++l)}inc(u,l,d){if(u.startsWith("pre")){if(!l&&d===!1)throw new Error("invalid increment argument: identifier is empty");if(l){let p=`-${l}`.match(this.options.loose?r[s.PRERELEASELOOSE]:r[s.PRERELEASE]);if(!p||p[1]!==l)throw new Error(`invalid identifier: ${l}`)}}switch(u){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",l,d);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",l,d);break;case"prepatch":this.prerelease.length=0,this.inc("patch",l,d),this.inc("pre",l,d);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",l,d),this.inc("pre",l,d);break;case"release":if(this.prerelease.length===0)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{let p=Number(d)?1:0;if(this.prerelease.length===0)this.prerelease=[p];else{let h=this.prerelease.length;for(;--h>=0;)typeof this.prerelease[h]=="number"&&(this.prerelease[h]++,h=-2);if(h===-1){if(l===this.prerelease.join(".")&&d===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(p)}}if(l){let h=[l,p];d===!1&&(h=[l]),i(this.prerelease[0],l)===0?isNaN(this.prerelease[1])&&(this.prerelease=h):this.prerelease=h}break}default:throw new Error(`invalid increment argument: ${u}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}}return Th=o,Th}var Ih,xv;function to(){if(xv)return Ih;xv=1;let e=nn();return Ih=(t,n,r=!1)=>{if(t instanceof e)return t;try{return new e(t,n)}catch(s){if(!r)return null;throw s}},Ih}var Eh,Ov;function qN(){if(Ov)return Eh;Ov=1;let e=to();return Eh=(t,n)=>{let r=e(t,n);return r?r.version:null},Eh}var Ah,Sv;function HN(){if(Sv)return Ah;Sv=1;let e=to();return Ah=(t,n)=>{let r=e(t.trim().replace(/^[=v]+/,""),n);return r?r.version:null},Ah}var $h,Tv;function WN(){if(Tv)return $h;Tv=1;let e=nn();return $h=(t,n,r,s,a)=>{typeof r=="string"&&(a=s,s=r,r=void 0);try{return new e(t instanceof e?t.version:t,r).inc(n,s,a).version}catch{return null}},$h}var Ch,Iv;function JN(){if(Iv)return Ch;Iv=1;let e=to();return Ch=(t,n)=>{let r=e(t,null,!0),s=e(n,null,!0),a=r.compare(s);if(a===0)return null;let i=a>0,o=i?r:s,c=i?s:r,u=!!o.prerelease.length;if(c.prerelease.length&&!u){if(!c.patch&&!c.minor)return"major";if(c.compareMain(o)===0)return c.minor&&!c.patch?"minor":"patch"}let l=u?"pre":"";return r.major!==s.major?l+"major":r.minor!==s.minor?l+"minor":r.patch!==s.patch?l+"patch":"prerelease"},Ch}var Nh,Ev;function GN(){if(Ev)return Nh;Ev=1;let e=nn();return Nh=(t,n)=>new e(t,n).major,Nh}var Ph,Av;function KN(){if(Av)return Ph;Av=1;let e=nn();return Ph=(t,n)=>new e(t,n).minor,Ph}var jh,$v;function XN(){if($v)return jh;$v=1;let e=nn();return jh=(t,n)=>new e(t,n).patch,jh}var Rh,Cv;function YN(){if(Cv)return Rh;Cv=1;let e=to();return Rh=(t,n)=>{let r=e(t,n);return r&&r.prerelease.length?r.prerelease:null},Rh}var Mh,Nv;function cr(){if(Nv)return Mh;Nv=1;let e=nn();return Mh=(t,n,r)=>new e(t,r).compare(new e(n,r)),Mh}var Lh,Pv;function QN(){if(Pv)return Lh;Pv=1;let e=cr();return Lh=(t,n,r)=>e(n,t,r),Lh}var zh,jv;function eP(){if(jv)return zh;jv=1;let e=cr();return zh=(t,n)=>e(t,n,!0),zh}var Uh,Rv;function Ny(){if(Rv)return Uh;Rv=1;let e=nn();return Uh=(t,n,r)=>{let s=new e(t,r),a=new e(n,r);return s.compare(a)||s.compareBuild(a)},Uh}var Dh,Mv;function tP(){if(Mv)return Dh;Mv=1;let e=Ny();return Dh=(t,n)=>t.sort((r,s)=>e(r,s,n)),Dh}var Fh,Lv;function nP(){if(Lv)return Fh;Lv=1;let e=Ny();return Fh=(t,n)=>t.sort((r,s)=>e(s,r,n)),Fh}var Bh,zv;function Tp(){if(zv)return Bh;zv=1;let e=cr();return Bh=(t,n,r)=>e(t,n,r)>0,Bh}var Zh,Uv;function Py(){if(Uv)return Zh;Uv=1;let e=cr();return Zh=(t,n,r)=>e(t,n,r)<0,Zh}var Vh,Dv;function ax(){if(Dv)return Vh;Dv=1;let e=cr();return Vh=(t,n,r)=>e(t,n,r)===0,Vh}var qh,Fv;function ix(){if(Fv)return qh;Fv=1;let e=cr();return qh=(t,n,r)=>e(t,n,r)!==0,qh}var Hh,Bv;function jy(){if(Bv)return Hh;Bv=1;let e=cr();return Hh=(t,n,r)=>e(t,n,r)>=0,Hh}var Wh,Zv;function Ry(){if(Zv)return Wh;Zv=1;let e=cr();return Wh=(t,n,r)=>e(t,n,r)<=0,Wh}var Jh,Vv;function ox(){if(Vv)return Jh;Vv=1;let e=ax(),t=ix(),n=Tp(),r=jy(),s=Py(),a=Ry();return Jh=(i,o,c,u)=>{switch(o){case"===":return typeof i=="object"&&(i=i.version),typeof c=="object"&&(c=c.version),i===c;case"!==":return typeof i=="object"&&(i=i.version),typeof c=="object"&&(c=c.version),i!==c;case"":case"=":case"==":return e(i,c,u);case"!=":return t(i,c,u);case">":return n(i,c,u);case">=":return r(i,c,u);case"<":return s(i,c,u);case"<=":return a(i,c,u);default:throw new TypeError(`Invalid operator: ${o}`)}},Jh}var Gh,qv;function rP(){if(qv)return Gh;qv=1;let e=nn(),t=to(),{safeRe:n,t:r}=qc();return Gh=(s,a)=>{if(s instanceof e)return s;if(typeof s=="number"&&(s=String(s)),typeof s!="string")return null;a=a||{};let i=null;if(!a.rtl)i=s.match(a.includePrerelease?n[r.COERCEFULL]:n[r.COERCE]);else{let p=a.includePrerelease?n[r.COERCERTLFULL]:n[r.COERCERTL],h;for(;(h=p.exec(s))&&(!i||i.index+i[0].length!==s.length);)(!i||h.index+h[0].length!==i.index+i[0].length)&&(i=h),p.lastIndex=h.index+h[1].length+h[2].length;p.lastIndex=-1}if(i===null)return null;let o=i[2],c=i[3]||"0",u=i[4]||"0",l=a.includePrerelease&&i[5]?`-${i[5]}`:"",d=a.includePrerelease&&i[6]?`+${i[6]}`:"";return t(`${o}.${c}.${u}${l}${d}`,a)},Gh}var Kh,Hv;function sP(){if(Hv)return Kh;Hv=1;class e{constructor(){this.max=1e3,this.map=new Map}get(n){let r=this.map.get(n);if(r!==void 0)return this.map.delete(n),this.map.set(n,r),r}delete(n){return this.map.delete(n)}set(n,r){if(!this.delete(n)&&r!==void 0){if(this.map.size>=this.max){let s=this.map.keys().next().value;this.delete(s)}this.map.set(n,r)}return this}}return Kh=e,Kh}var Xh,Wv;function ur(){if(Wv)return Xh;Wv=1;let e=/\s+/g;class t{constructor(L,z){if(z=s(z),L instanceof t)return L.loose===!!z.loose&&L.includePrerelease===!!z.includePrerelease?L:new t(L.raw,z);if(L instanceof a)return this.raw=L.value,this.set=[[L]],this.formatted=void 0,this;if(this.options=z,this.loose=!!z.loose,this.includePrerelease=!!z.includePrerelease,this.raw=L.trim().replace(e," "),this.set=this.raw.split("||").map(ee=>this.parseRange(ee.trim())).filter(ee=>ee.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let ee=this.set[0];if(this.set=this.set.filter(oe=>!m(oe[0])),this.set.length===0)this.set=[ee];else if(this.set.length>1){for(let oe of this.set)if(oe.length===1&&v(oe[0])){this.set=[oe];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let L=0;L<this.set.length;L++){L>0&&(this.formatted+="||");let z=this.set[L];for(let ee=0;ee<z.length;ee++)ee>0&&(this.formatted+=" "),this.formatted+=z[ee].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(L){let z=((this.options.includePrerelease&&h)|(this.options.loose&&f))+":"+L,ee=r.get(z);if(ee)return ee;let oe=this.options.loose,ne=oe?c[u.HYPHENRANGELOOSE]:c[u.HYPHENRANGE];L=L.replace(ne,ze(this.options.includePrerelease)),i("hyphen replace",L),L=L.replace(c[u.COMPARATORTRIM],l),i("comparator trim",L),L=L.replace(c[u.TILDETRIM],d),i("tilde trim",L),L=L.replace(c[u.CARETTRIM],p),i("caret trim",L);let ue=L.split(" ").map(De=>y(De,this.options)).join(" ").split(/\s+/).map(De=>Z(De,this.options));oe&&(ue=ue.filter(De=>(i("loose invalid filter",De,this.options),!!De.match(c[u.COMPARATORLOOSE])))),i("range list",ue);let Oe=new Map,Te=ue.map(De=>new a(De,this.options));for(let De of Te){if(m(De))return[De];Oe.set(De.value,De)}Oe.size>1&&Oe.has("")&&Oe.delete("");let Ue=[...Oe.values()];return r.set(z,Ue),Ue}intersects(L,z){if(!(L instanceof t))throw new TypeError("a Range is required");return this.set.some(ee=>g(ee,z)&&L.set.some(oe=>g(oe,z)&&ee.every(ne=>oe.every(ue=>ne.intersects(ue,z)))))}test(L){if(!L)return!1;if(typeof L=="string")try{L=new o(L,this.options)}catch{return!1}for(let z=0;z<this.set.length;z++)if(rt(this.set[z],L,this.options))return!0;return!1}}Xh=t;let n=sP(),r=new n,s=Cy(),a=Ip(),i=Sp(),o=nn(),{safeRe:c,t:u,comparatorTrimReplace:l,tildeTrimReplace:d,caretTrimReplace:p}=qc(),{FLAG_INCLUDE_PRERELEASE:h,FLAG_LOOSE:f}=Op(),m=B=>B.value==="<0.0.0-0",v=B=>B.value==="",g=(B,L)=>{let z=!0,ee=B.slice(),oe=ee.pop();for(;z&&ee.length;)z=ee.every(ne=>oe.intersects(ne,L)),oe=ee.pop();return z},y=(B,L)=>(B=B.replace(c[u.BUILD],""),i("comp",B,L),B=E(B,L),i("caret",B),B=x(B,L),i("tildes",B),B=w(B,L),i("xrange",B),B=A(B,L),i("stars",B),B),k=B=>!B||B.toLowerCase()==="x"||B==="*",x=(B,L)=>B.trim().split(/\s+/).map(z=>S(z,L)).join(" "),S=(B,L)=>{let z=L.loose?c[u.TILDELOOSE]:c[u.TILDE];return B.replace(z,(ee,oe,ne,ue,Oe)=>{i("tilde",B,ee,oe,ne,ue,Oe);let Te;return k(oe)?Te="":k(ne)?Te=`>=${oe}.0.0 <${+oe+1}.0.0-0`:k(ue)?Te=`>=${oe}.${ne}.0 <${oe}.${+ne+1}.0-0`:Oe?(i("replaceTilde pr",Oe),Te=`>=${oe}.${ne}.${ue}-${Oe} <${oe}.${+ne+1}.0-0`):Te=`>=${oe}.${ne}.${ue} <${oe}.${+ne+1}.0-0`,i("tilde return",Te),Te})},E=(B,L)=>B.trim().split(/\s+/).map(z=>I(z,L)).join(" "),I=(B,L)=>{i("caret",B,L);let z=L.loose?c[u.CARETLOOSE]:c[u.CARET],ee=L.includePrerelease?"-0":"";return B.replace(z,(oe,ne,ue,Oe,Te)=>{i("caret",B,oe,ne,ue,Oe,Te);let Ue;return k(ne)?Ue="":k(ue)?Ue=`>=${ne}.0.0${ee} <${+ne+1}.0.0-0`:k(Oe)?ne==="0"?Ue=`>=${ne}.${ue}.0${ee} <${ne}.${+ue+1}.0-0`:Ue=`>=${ne}.${ue}.0${ee} <${+ne+1}.0.0-0`:Te?(i("replaceCaret pr",Te),ne==="0"?ue==="0"?Ue=`>=${ne}.${ue}.${Oe}-${Te} <${ne}.${ue}.${+Oe+1}-0`:Ue=`>=${ne}.${ue}.${Oe}-${Te} <${ne}.${+ue+1}.0-0`:Ue=`>=${ne}.${ue}.${Oe}-${Te} <${+ne+1}.0.0-0`):(i("no pr"),ne==="0"?ue==="0"?Ue=`>=${ne}.${ue}.${Oe}${ee} <${ne}.${ue}.${+Oe+1}-0`:Ue=`>=${ne}.${ue}.${Oe}${ee} <${ne}.${+ue+1}.0-0`:Ue=`>=${ne}.${ue}.${Oe} <${+ne+1}.0.0-0`),i("caret return",Ue),Ue})},w=(B,L)=>(i("replaceXRanges",B,L),B.split(/\s+/).map(z=>P(z,L)).join(" ")),P=(B,L)=>{B=B.trim();let z=L.loose?c[u.XRANGELOOSE]:c[u.XRANGE];return B.replace(z,(ee,oe,ne,ue,Oe,Te)=>{i("xRange",B,ee,oe,ne,ue,Oe,Te);let Ue=k(ne),De=Ue||k(ue),kt=De||k(Oe),b=kt;return oe==="="&&b&&(oe=""),Te=L.includePrerelease?"-0":"",Ue?oe===">"||oe==="<"?ee="<0.0.0-0":ee="*":oe&&b?(De&&(ue=0),Oe=0,oe===">"?(oe=">=",De?(ne=+ne+1,ue=0,Oe=0):(ue=+ue+1,Oe=0)):oe==="<="&&(oe="<",De?ne=+ne+1:ue=+ue+1),oe==="<"&&(Te="-0"),ee=`${oe+ne}.${ue}.${Oe}${Te}`):De?ee=`>=${ne}.0.0${Te} <${+ne+1}.0.0-0`:kt&&(ee=`>=${ne}.${ue}.0${Te} <${ne}.${+ue+1}.0-0`),i("xRange return",ee),ee})},A=(B,L)=>(i("replaceStars",B,L),B.trim().replace(c[u.STAR],"")),Z=(B,L)=>(i("replaceGTE0",B,L),B.trim().replace(c[L.includePrerelease?u.GTE0PRE:u.GTE0],"")),ze=B=>(L,z,ee,oe,ne,ue,Oe,Te,Ue,De,kt,b)=>(k(ee)?z="":k(oe)?z=`>=${ee}.0.0${B?"-0":""}`:k(ne)?z=`>=${ee}.${oe}.0${B?"-0":""}`:ue?z=`>=${z}`:z=`>=${z}${B?"-0":""}`,k(Ue)?Te="":k(De)?Te=`<${+Ue+1}.0.0-0`:k(kt)?Te=`<${Ue}.${+De+1}.0-0`:b?Te=`<=${Ue}.${De}.${kt}-${b}`:B?Te=`<${Ue}.${De}.${+kt+1}-0`:Te=`<=${Te}`,`${z} ${Te}`.trim()),rt=(B,L,z)=>{for(let ee=0;ee<B.length;ee++)if(!B[ee].test(L))return!1;if(L.prerelease.length&&!z.includePrerelease){for(let ee=0;ee<B.length;ee++)if(i(B[ee].semver),B[ee].semver!==a.ANY&&B[ee].semver.prerelease.length>0){let oe=B[ee].semver;if(oe.major===L.major&&oe.minor===L.minor&&oe.patch===L.patch)return!0}return!1}return!0};return Xh}var Yh,Jv;function Ip(){if(Jv)return Yh;Jv=1;let e=Symbol("SemVer ANY");class t{static get ANY(){return e}constructor(l,d){if(d=n(d),l instanceof t){if(l.loose===!!d.loose)return l;l=l.value}l=l.trim().split(/\s+/).join(" "),i("comparator",l,d),this.options=d,this.loose=!!d.loose,this.parse(l),this.semver===e?this.value="":this.value=this.operator+this.semver.version,i("comp",this)}parse(l){let d=this.options.loose?r[s.COMPARATORLOOSE]:r[s.COMPARATOR],p=l.match(d);if(!p)throw new TypeError(`Invalid comparator: ${l}`);this.operator=p[1]!==void 0?p[1]:"",this.operator==="="&&(this.operator=""),p[2]?this.semver=new o(p[2],this.options.loose):this.semver=e}toString(){return this.value}test(l){if(i("Comparator.test",l,this.options.loose),this.semver===e||l===e)return!0;if(typeof l=="string")try{l=new o(l,this.options)}catch{return!1}return a(l,this.operator,this.semver,this.options)}intersects(l,d){if(!(l instanceof t))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new c(l.value,d).test(this.value):l.operator===""?l.value===""?!0:new c(this.value,d).test(l.semver):(d=n(d),d.includePrerelease&&(this.value==="<0.0.0-0"||l.value==="<0.0.0-0")||!d.includePrerelease&&(this.value.startsWith("<0.0.0")||l.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&l.operator.startsWith(">")||this.operator.startsWith("<")&&l.operator.startsWith("<")||this.semver.version===l.semver.version&&this.operator.includes("=")&&l.operator.includes("=")||a(this.semver,"<",l.semver,d)&&this.operator.startsWith(">")&&l.operator.startsWith("<")||a(this.semver,">",l.semver,d)&&this.operator.startsWith("<")&&l.operator.startsWith(">")))}}Yh=t;let n=Cy(),{safeRe:r,t:s}=qc(),a=ox(),i=Sp(),o=nn(),c=ur();return Yh}var Qh,Gv;function Ep(){if(Gv)return Qh;Gv=1;let e=ur();return Qh=(t,n,r)=>{try{n=new e(n,r)}catch{return!1}return n.test(t)},Qh}var ef,Kv;function aP(){if(Kv)return ef;Kv=1;let e=ur();return ef=(t,n)=>new e(t,n).set.map(r=>r.map(s=>s.value).join(" ").trim().split(" ")),ef}var tf,Xv;function iP(){if(Xv)return tf;Xv=1;let e=nn(),t=ur();return tf=(n,r,s)=>{let a=null,i=null,o=null;try{o=new t(r,s)}catch{return null}return n.forEach(c=>{o.test(c)&&(!a||i.compare(c)===-1)&&(a=c,i=new e(a,s))}),a},tf}var nf,Yv;function oP(){if(Yv)return nf;Yv=1;let e=nn(),t=ur();return nf=(n,r,s)=>{let a=null,i=null,o=null;try{o=new t(r,s)}catch{return null}return n.forEach(c=>{o.test(c)&&(!a||i.compare(c)===1)&&(a=c,i=new e(a,s))}),a},nf}var rf,Qv;function cP(){if(Qv)return rf;Qv=1;let e=nn(),t=ur(),n=Tp();return rf=(r,s)=>{r=new t(r,s);let a=new e("0.0.0");if(r.test(a)||(a=new e("0.0.0-0"),r.test(a)))return a;a=null;for(let i=0;i<r.set.length;++i){let o=r.set[i],c=null;o.forEach(u=>{let l=new e(u.semver.version);switch(u.operator){case">":l.prerelease.length===0?l.patch++:l.prerelease.push(0),l.raw=l.format();case"":case">=":(!c||n(l,c))&&(c=l);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${u.operator}`)}}),c&&(!a||n(a,c))&&(a=c)}return a&&r.test(a)?a:null},rf}var sf,ew;function uP(){if(ew)return sf;ew=1;let e=ur();return sf=(t,n)=>{try{return new e(t,n).range||"*"}catch{return null}},sf}var af,tw;function My(){if(tw)return af;tw=1;let e=nn(),t=Ip(),{ANY:n}=t,r=ur(),s=Ep(),a=Tp(),i=Py(),o=Ry(),c=jy();return af=(u,l,d,p)=>{u=new e(u,p),l=new r(l,p);let h,f,m,v,g;switch(d){case">":h=a,f=o,m=i,v=">",g=">=";break;case"<":h=i,f=c,m=a,v="<",g="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(s(u,l,p))return!1;for(let y=0;y<l.set.length;++y){let k=l.set[y],x=null,S=null;if(k.forEach(E=>{E.semver===n&&(E=new t(">=0.0.0")),x=x||E,S=S||E,h(E.semver,x.semver,p)?x=E:m(E.semver,S.semver,p)&&(S=E)}),x.operator===v||x.operator===g||(!S.operator||S.operator===v)&&f(u,S.semver)||S.operator===g&&m(u,S.semver))return!1}return!0},af}var of,nw;function lP(){if(nw)return of;nw=1;let e=My();return of=(t,n,r)=>e(t,n,">",r),of}var cf,rw;function dP(){if(rw)return cf;rw=1;let e=My();return cf=(t,n,r)=>e(t,n,"<",r),cf}var uf,sw;function pP(){if(sw)return uf;sw=1;let e=ur();return uf=(t,n,r)=>(t=new e(t,r),n=new e(n,r),t.intersects(n,r)),uf}var lf,aw;function hP(){if(aw)return lf;aw=1;let e=Ep(),t=cr();return lf=(n,r,s)=>{let a=[],i=null,o=null,c=n.sort((p,h)=>t(p,h,s));for(let p of c)e(p,r,s)?(o=p,i||(i=p)):(o&&a.push([i,o]),o=null,i=null);i&&a.push([i,null]);let u=[];for(let[p,h]of a)p===h?u.push(p):!h&&p===c[0]?u.push("*"):h?p===c[0]?u.push(`<=${h}`):u.push(`${p} - ${h}`):u.push(`>=${p}`);let l=u.join(" || "),d=typeof r.raw=="string"?r.raw:String(r);return l.length<d.length?l:r},lf}var df,iw;function fP(){if(iw)return df;iw=1;let e=ur(),t=Ip(),{ANY:n}=t,r=Ep(),s=cr(),a=(d,p,h={})=>{if(d===p)return!0;d=new e(d,h),p=new e(p,h);let f=!1;e:for(let m of d.set){for(let v of p.set){let g=c(m,v,h);if(f=f||g!==null,g)continue e}if(f)return!1}return!0},i=[new t(">=0.0.0-0")],o=[new t(">=0.0.0")],c=(d,p,h)=>{if(d===p)return!0;if(d.length===1&&d[0].semver===n){if(p.length===1&&p[0].semver===n)return!0;h.includePrerelease?d=i:d=o}if(p.length===1&&p[0].semver===n){if(h.includePrerelease)return!0;p=o}let f=new Set,m,v;for(let w of d)w.operator===">"||w.operator===">="?m=u(m,w,h):w.operator==="<"||w.operator==="<="?v=l(v,w,h):f.add(w.semver);if(f.size>1)return null;let g;if(m&&v&&(g=s(m.semver,v.semver,h),g>0||g===0&&(m.operator!==">="||v.operator!=="<=")))return null;for(let w of f){if(m&&!r(w,String(m),h)||v&&!r(w,String(v),h))return null;for(let P of p)if(!r(w,String(P),h))return!1;return!0}let y,k,x,S,E=v&&!h.includePrerelease&&v.semver.prerelease.length?v.semver:!1,I=m&&!h.includePrerelease&&m.semver.prerelease.length?m.semver:!1;E&&E.prerelease.length===1&&v.operator==="<"&&E.prerelease[0]===0&&(E=!1);for(let w of p){if(S=S||w.operator===">"||w.operator===">=",x=x||w.operator==="<"||w.operator==="<=",m){if(I&&w.semver.prerelease&&w.semver.prerelease.length&&w.semver.major===I.major&&w.semver.minor===I.minor&&w.semver.patch===I.patch&&(I=!1),w.operator===">"||w.operator===">="){if(y=u(m,w,h),y===w&&y!==m)return!1}else if(m.operator===">="&&!r(m.semver,String(w),h))return!1}if(v){if(E&&w.semver.prerelease&&w.semver.prerelease.length&&w.semver.major===E.major&&w.semver.minor===E.minor&&w.semver.patch===E.patch&&(E=!1),w.operator==="<"||w.operator==="<="){if(k=l(v,w,h),k===w&&k!==v)return!1}else if(v.operator==="<="&&!r(v.semver,String(w),h))return!1}if(!w.operator&&(v||m)&&g!==0)return!1}return!(m&&x&&!v&&g!==0||v&&S&&!m&&g!==0||I||E)},u=(d,p,h)=>{if(!d)return p;let f=s(d.semver,p.semver,h);return f>0?d:f<0||p.operator===">"&&d.operator===">="?p:d},l=(d,p,h)=>{if(!d)return p;let f=s(d.semver,p.semver,h);return f<0?d:f>0||p.operator==="<"&&d.operator==="<="?p:d};return df=a,df}var pf,ow;function mP(){if(ow)return pf;ow=1;let e=qc(),t=Op(),n=nn(),r=sx(),s=to(),a=qN(),i=HN(),o=WN(),c=JN(),u=GN(),l=KN(),d=XN(),p=YN(),h=cr(),f=QN(),m=eP(),v=Ny(),g=tP(),y=nP(),k=Tp(),x=Py(),S=ax(),E=ix(),I=jy(),w=Ry(),P=ox(),A=rP(),Z=Ip(),ze=ur(),rt=Ep(),B=aP(),L=iP(),z=oP(),ee=cP(),oe=uP(),ne=My(),ue=lP(),Oe=dP(),Te=pP(),Ue=hP(),De=fP();return pf={parse:s,valid:a,clean:i,inc:o,diff:c,major:u,minor:l,patch:d,prerelease:p,compare:h,rcompare:f,compareLoose:m,compareBuild:v,sort:g,rsort:y,gt:k,lt:x,eq:S,neq:E,gte:I,lte:w,cmp:P,coerce:A,Comparator:Z,Range:ze,satisfies:rt,toComparators:B,maxSatisfying:L,minSatisfying:z,minVersion:ee,validRange:oe,outside:ne,gtr:ue,ltr:Oe,intersects:Te,simplifyRange:Ue,subset:De,SemVer:n,re:e.re,src:e.src,tokens:e.t,SEMVER_SPEC_VERSION:t.SEMVER_SPEC_VERSION,RELEASE_TYPES:t.RELEASE_TYPES,compareIdentifiers:r.compareIdentifiers,rcompareIdentifiers:r.rcompareIdentifiers},pf}mP();function hf(e){return`Invalid prompt identifier format: "${e}". Expected one of:
22
- - "prompt-name" (for private prompts)
23
- - "owner/prompt-name" (for prompts with explicit owner)
24
- - "prompt-name:commit-hash" (with commit reference)
25
- - "owner/prompt-name:commit-hash" (with owner and commit)`}var _m=class extends Error{constructor(t){super(t),Object.defineProperty(this,"status",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name="LangSmithConflictError",this.status=409}},vm=class extends Error{constructor(t){super(t),Object.defineProperty(this,"status",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name="LangSmithNotFoundError",this.status=404}};function cw(e){return e!=null&&typeof e=="object"&&"name"in e&&e?.name==="LangSmithNotFoundError"}async function se(e,t,n){let r;if(e.ok){n&&(r=await e.text());return}if(e.status===403)try{(await e.json())?.error==="org_scoped_key_requires_workspace"&&(r="This API key is org-scoped and requires workspace specification. Please provide 'workspaceId' parameter, or set LANGSMITH_WORKSPACE_ID environment variable.")}catch{let i=new Error(`${e.status} ${e.statusText}`);throw i.status=e?.status,i}if(r===void 0)try{r=await e.text()}catch{r=""}let s=`Failed to ${t}. Received status [${e.status}]: ${e.statusText}. Message: ${r}`;if(e.status===404)throw new vm(s);if(e.status===409)throw new _m(s);let a=new Error(s);throw a.status=e.status,a}var cx="ERR_CONFLICTING_ENDPOINTS",wm=class extends Error{constructor(){super("You cannot provide both LANGSMITH_ENDPOINT / LANGCHAIN_ENDPOINT and LANGSMITH_RUNS_ENDPOINTS."),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:cx}),this.name="ConflictingEndpointsError"}};function gP(e){return typeof e=="object"&&e!==null&&e.code===cx}function Cr(e){if(!e||e.split("/").length>2||e.startsWith("/")||e.endsWith("/")||e.split(":").length>2)throw new Error(hf(e));let[t,n]=e.split(":"),r=n||"latest";if(t.includes("/")){let[s,a]=t.split("/",2);if(!s||!a)throw new Error(hf(e));return[s,a,r]}else{if(!t)throw new Error(hf(e));return["-",t,r]}}var uw="[...]",yP={result:"[Circular]"},jl=[],ai=[],_P=new TextEncoder;function vP(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function ku(e){return _P.encode(e)}function ux(e){if(e&&typeof e=="object"&&e!==null){if(e instanceof Map)return Object.fromEntries(e);if(e instanceof Set)return Array.from(e);if(e instanceof Date)return e.toISOString();if(e instanceof RegExp)return e.toString();if(e instanceof Error)return{name:e.name,message:e.message}}else if(typeof e=="bigint")return e.toString();return e}function wP(e){return function(t,n){return ux(n)}}function bn(e,t,n,r,s){try{let a=JSON.stringify(e,wP(n),r);return ku(a)}catch(a){if(!a.message?.includes("Converting circular structure to JSON"))return console.warn(`[WARNING]: LangSmith received unserializable value.${t?`
26
- Context: ${t}`:""}`),ku("[Unserializable]");Pt("SUPPRESS_CIRCULAR_JSON_WARNINGS")!=="true"&&console.warn(`[WARNING]: LangSmith received circular JSON. This will decrease tracer performance. ${t?`
27
- Context: ${t}`:""}`),typeof s>"u"&&(s=vP()),bm(e,"",0,[],void 0,0,s);let i;try{ai.length===0?i=JSON.stringify(e,n,r):i=JSON.stringify(e,bP(n),r)}catch{return ku("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;jl.length!==0;){let o=jl.pop();o.length===4?Object.defineProperty(o[0],o[1],o[3]):o[0][o[1]]=o[2]}}return ku(i)}}function ff(e,t,n,r){var s=Object.getOwnPropertyDescriptor(r,n);s.get!==void 0?s.configurable?(Object.defineProperty(r,n,{value:e}),jl.push([r,n,t,s])):ai.push([t,n,e]):(r[n]=e,jl.push([r,n,t]))}function bm(e,t,n,r,s,a,i){a+=1;var o;if(typeof e=="object"&&e!==null){for(o=0;o<r.length;o++)if(r[o]===e){ff(yP,e,t,s);return}if(typeof i.depthLimit<"u"&&a>i.depthLimit){ff(uw,e,t,s);return}if(typeof i.edgesLimit<"u"&&n+1>i.edgesLimit){ff(uw,e,t,s);return}if(r.push(e),Array.isArray(e))for(o=0;o<e.length;o++)bm(e[o],o,o,r,e,a,i);else{e=ux(e);var c=Object.keys(e);for(o=0;o<c.length;o++){var u=c[o];bm(e[u],u,o,r,e,a,i)}}r.pop()}}function bP(e){return e=typeof e<"u"?e:function(t,n){return n},function(t,n){if(ai.length>0)for(var r=0;r<ai.length;r++){var s=ai[r];if(s[1]===t&&s[0]===n){n=s[2],ai.splice(r,1);break}}return e.call(this,t,n)}}function lw(e){return typeof e=="string"&&e.length>0&&!e.includes("Z")&&!e.includes("+")&&!e.includes("-",10)?e+"Z":e}function po(e){return{...e,start_time:lw(e.start_time),end_time:lw(e.end_time)}}function dw(e,t,n){if(n)return e;let r=ex(),s=t??tx(),a=e.extra??{},i=a.metadata;return e.extra={...a,runtime:{...r,...a?.runtime},metadata:{...s,...s.revision_id||"revision_id"in e&&e.revision_id?{revision_id:("revision_id"in e?e.revision_id:void 0)??s.revision_id}:{},...i}},e}var kP=e=>{let t=e?.toString()??Pt("TRACING_SAMPLING_RATE");if(t===void 0)return;let n=parseFloat(t);if(n<0||n>1)throw new Error(`LANGSMITH_TRACING_SAMPLING_RATE must be between 0 and 1 if set. Got: ${n}`);return n},xP=e=>{let t=e.replace("http://","").replace("https://","").split("/")[0].split(":")[0];return t==="localhost"||t==="127.0.0.1"||t==="::1"};async function OP(e){let t=[];for await(let n of e)t.push(n);return t}function xu(e){if(e!==void 0)return e.trim().replace(/^"(.*)"$/,"$1").replace(/^'(.*)'$/,"$1")}var SP=async e=>{if(e?.status===429){let t=parseInt(e.headers.get("retry-after")??"10",10)*1e3;if(t>0)return await new Promise(n=>setTimeout(n,t)),!0}return!1};function pw(e){return typeof e=="number"?Number(e.toFixed(4)):e}var TP=24*1024*1024,lx=1024*1024*1024,IP=1e4,EP=100,hw="https://api.smith.langchain.com",km=class{constructor(t){Object.defineProperty(this,"items",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"sizeBytes",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"maxSizeBytes",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSizeBytes=t??lx}peek(){return this.items[0]}push(t){let n,r=new Promise(a=>{n=a}),s=bn(t.item,`Serializing run with id: ${t.item.id}`).length;return this.sizeBytes+s>this.maxSizeBytes&&this.items.length>0?(console.warn(`AutoBatchQueue size limit (${this.maxSizeBytes} bytes) exceeded. Dropping run with id: ${t.item.id}. Current queue size: ${this.sizeBytes} bytes, attempted addition: ${s} bytes.`),n(),r):(this.items.push({action:t.action,payload:t.item,otelContext:t.otelContext,apiKey:t.apiKey,apiUrl:t.apiUrl,itemPromiseResolve:n,itemPromise:r,size:s}),this.sizeBytes+=s,r)}pop({upToSizeBytes:t,upToSize:n}){if(t<1)throw new Error("Number of bytes to pop off may not be less than 1.");let r=[],s=0;for(;s+(this.peek()?.size??0)<t&&this.items.length>0&&r.length<n;){let a=this.items.shift();a&&(r.push(a),s+=a.size,this.sizeBytes-=a.size)}if(r.length===0&&this.items.length>0){let a=this.items.shift();r.push(a),s+=a.size,this.sizeBytes-=a.size}return[r.map(a=>({action:a.action,item:a.payload,otelContext:a.otelContext,apiKey:a.apiKey,apiUrl:a.apiUrl,size:a.size})),()=>r.forEach(a=>a.itemPromiseResolve())]}},ki=class e{get _fetch(){return this.fetchImplementation||MC(this.debug)}constructor(t={}){Object.defineProperty(this,"apiKey",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"apiUrl",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"webUrl",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"workspaceId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"caller",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"batchIngestCaller",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"timeout_ms",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_tenantId",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"hideInputs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"hideOutputs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"omitTracedRuntimeInfo",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"tracingSampleRate",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"filteredPostUuids",{enumerable:!0,configurable:!0,writable:!0,value:new Set}),Object.defineProperty(this,"autoBatchTracing",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"autoBatchQueue",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"autoBatchTimeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"autoBatchAggregationDelayMs",{enumerable:!0,configurable:!0,writable:!0,value:250}),Object.defineProperty(this,"batchSizeBytesLimit",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"batchSizeLimit",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"fetchOptions",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"settings",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"blockOnRootRunFinalization",{enumerable:!0,configurable:!0,writable:!0,value:Ir("LANGSMITH_TRACING_BACKGROUND")==="false"}),Object.defineProperty(this,"traceBatchConcurrency",{enumerable:!0,configurable:!0,writable:!0,value:5}),Object.defineProperty(this,"_serverInfo",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_getServerInfoPromise",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"manualFlushMode",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"langSmithToOTELTranslator",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"fetchImplementation",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cachedLSEnvVarsForMetadata",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_promptCache",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"multipartStreamingDisabled",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_multipartDisabled",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_runCompressionDisabled",{enumerable:!0,configurable:!0,writable:!0,value:Pt("DISABLE_RUN_COMPRESSION")==="true"}),Object.defineProperty(this,"failedTracesDir",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"failedTracesMaxBytes",{enumerable:!0,configurable:!0,writable:!0,value:100*1024*1024}),Object.defineProperty(this,"debug",{enumerable:!0,configurable:!0,writable:!0,value:Ir("LANGSMITH_DEBUG")==="true"});let n=e.getDefaultClientConfig();if(this.tracingSampleRate=kP(t.tracingSamplingRate),this.apiUrl=xu(t.apiUrl??n.apiUrl)??"",this.apiUrl.endsWith("/")&&(this.apiUrl=this.apiUrl.slice(0,-1)),this.apiKey=xu(t.apiKey??n.apiKey),this.webUrl=xu(t.webUrl??n.webUrl),this.webUrl?.endsWith("/")&&(this.webUrl=this.webUrl.slice(0,-1)),this.workspaceId=xu(t.workspaceId??Pt("WORKSPACE_ID")),this.timeout_ms=t.timeout_ms??9e4,this.caller=new hv({...t.callerOptions??{},maxRetries:4,debug:t.debug??this.debug}),this.traceBatchConcurrency=t.traceBatchConcurrency??this.traceBatchConcurrency,this.traceBatchConcurrency<1)throw new Error("Trace batch concurrency must be positive.");this.debug=t.debug??this.debug,this.fetchImplementation=t.fetchImplementation,this.failedTracesDir=Pt("FAILED_TRACES_DIR")||void 0;let r=Pt("FAILED_TRACES_MAX_MB");if(r){let a=parseInt(r,10);Number.isFinite(a)&&a>0&&(this.failedTracesMaxBytes=a*1024*1024)}let s=t.maxIngestMemoryBytes??lx;this.batchIngestCaller=new hv({maxRetries:4,maxConcurrency:this.traceBatchConcurrency,maxQueueSizeBytes:s,...t.callerOptions??{},onFailedResponseHook:SP,debug:t.debug??this.debug}),this.hideInputs=t.hideInputs??t.anonymizer??n.hideInputs,this.hideOutputs=t.hideOutputs??t.anonymizer??n.hideOutputs,this.omitTracedRuntimeInfo=t.omitTracedRuntimeInfo??!1,this.autoBatchTracing=t.autoBatchTracing??this.autoBatchTracing,this.autoBatchQueue=new km(s),this.blockOnRootRunFinalization=t.blockOnRootRunFinalization??this.blockOnRootRunFinalization,this.batchSizeBytesLimit=t.batchSizeBytesLimit,this.batchSizeLimit=t.batchSizeLimit,this.fetchOptions=t.fetchOptions||{},this.manualFlushMode=t.manualFlushMode??this.manualFlushMode,nx()&&(this.langSmithToOTELTranslator=new ym),this.cachedLSEnvVarsForMetadata=tx(),t.cache!==void 0&&t.disablePromptCache&&rl("Both 'cache' and 'disablePromptCache' were provided. The 'cache' parameter is deprecated and will be removed in a future version. Using 'cache' parameter value."),t.cache!==void 0?(rl("The 'cache' parameter is deprecated and will be removed in a future version. Use 'configureGlobalPromptCache()' to configure the global cache, or 'disablePromptCache: true' to disable caching for this client."),t.cache===!1?this._promptCache=void 0:t.cache===!0?this._promptCache=nv:this._promptCache=t.cache):t.disablePromptCache||(this._promptCache=nv)}static getDefaultClientConfig(){let t=Pt("API_KEY"),n=Pt("ENDPOINT")??hw,r=Pt("HIDE_INPUTS")==="true",s=Pt("HIDE_OUTPUTS")==="true";return{apiUrl:n,apiKey:t,webUrl:void 0,hideInputs:r,hideOutputs:s}}getHostUrl(){return this.webUrl?this.webUrl:xP(this.apiUrl)?(this.webUrl="http://localhost:3000",this.webUrl):this.apiUrl.endsWith("/api/v1")?(this.webUrl=this.apiUrl.replace("/api/v1",""),this.webUrl):this.apiUrl.includes("/api")&&!this.apiUrl.split(".",1)[0].endsWith("api")?(this.webUrl=this.apiUrl.replace("/api",""),this.webUrl):this.apiUrl.split(".",1)[0].includes("dev")?(this.webUrl="https://dev.smith.langchain.com",this.webUrl):this.apiUrl.split(".",1)[0].includes("eu")?(this.webUrl="https://eu.smith.langchain.com",this.webUrl):this.apiUrl.split(".",1)[0].includes("beta")?(this.webUrl="https://beta.smith.langchain.com",this.webUrl):(this.webUrl="https://smith.langchain.com",this.webUrl)}get headers(){let t={"User-Agent":`langsmith-js/${Xk}`};return this.apiKey&&(t["x-api-key"]=`${this.apiKey}`),this.workspaceId&&(t["x-tenant-id"]=this.workspaceId),t}_getPlatformEndpointPath(t){return this.apiUrl.slice(-3)!=="/v1"&&this.apiUrl.slice(-4)!=="/v1/"?`/v1/platform/${t}`:`/platform/${t}`}async processInputs(t){return this.hideInputs===!1?t:this.hideInputs===!0?{}:typeof this.hideInputs=="function"?this.hideInputs(t):t}async processOutputs(t){return this.hideOutputs===!1?t:this.hideOutputs===!0?{}:typeof this.hideOutputs=="function"?this.hideOutputs(t):t}async prepareRunCreateOrUpdateInputs(t){let n={...t};return n.inputs!==void 0&&(n.inputs=await this.processInputs(n.inputs)),n.outputs!==void 0&&(n.outputs=await this.processOutputs(n.outputs)),n}async _getResponse(t,n){let r=n?.toString()??"",s=`${this.apiUrl}${t}?${r}`;return await this.caller.call(async()=>{let a=await this._fetch(s,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(a,`fetch ${t}`),a})}async _get(t,n){return(await this._getResponse(t,n)).json()}async*_getPaginated(t,n=new URLSearchParams,r){let s=Number(n.get("offset"))||0,a=Number(n.get("limit"))||100;for(;;){n.set("offset",String(s)),n.set("limit",String(a));let i=`${this.apiUrl}${t}?${n}`,o=await this.caller.call(async()=>{let u=await this._fetch(i,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(u,`fetch ${t}`),u}),c=r?r(await o.json()):await o.json();if(c.length===0||(yield c,c.length<a))break;s+=c.length}}async*_getCursorPaginatedList(t,n=null,r="POST",s="runs"){let a=n?{...n}:{};for(;;){let i=JSON.stringify(a),o=await(await this.caller.call(async()=>{let u=await this._fetch(`${this.apiUrl}${t}`,{method:r,headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:i});return await se(u,`fetch ${t}`),u})).json();if(!o||!o[s])break;yield o[s];let c=o.cursors;if(!c||!c.next)break;a.cursor=c.next}}_shouldSample(){return this.tracingSampleRate===void 0?!0:Math.random()<this.tracingSampleRate}_filterForSampling(t,n=!1){if(this.tracingSampleRate===void 0)return t;if(n){let r=[];for(let s of t)this.filteredPostUuids.has(s.trace_id)?s.id===s.trace_id&&this.filteredPostUuids.delete(s.trace_id):r.push(s);return r}else{let r=[];for(let s of t){let a=s.trace_id??s.id;this.filteredPostUuids.has(a)||(s.id===a?this._shouldSample()?r.push(s):this.filteredPostUuids.add(a):r.push(s))}return r}}async _getBatchSizeLimitBytes(){let t=await this._ensureServerInfo();return this.batchSizeBytesLimit??t?.batch_ingest_config?.size_limit_bytes??TP}async _getBatchSizeLimit(){let t=await this._ensureServerInfo();return this.batchSizeLimit??t?.batch_ingest_config?.size_limit??EP}async _getDatasetExamplesMultiPartSupport(){return(await this._ensureServerInfo()).instance_flags?.dataset_examples_multipart_enabled??!1}drainAutoBatchQueue({batchSizeLimitBytes:t,batchSizeLimit:n}){let r=[];for(;this.autoBatchQueue.items.length>0;){let[s,a]=this.autoBatchQueue.pop({upToSizeBytes:t,upToSize:n});if(!s.length){a();break}let i=s.reduce((u,l)=>{let d=l.apiUrl??this.apiUrl,p=l.apiKey??this.apiKey,h=l.apiKey===this.apiKey&&l.apiUrl===this.apiUrl?"default":`${d}|${p}`;return u[h]||(u[h]=[]),u[h].push(l),u},{}),o=[];for(let[u,l]of Object.entries(i)){let d=this._processBatch(l,{apiUrl:u==="default"?void 0:u.split("|")[0],apiKey:u==="default"?void 0:u.split("|")[1]});o.push(d)}let c=Promise.all(o).finally(a);r.push(c)}return Promise.all(r)}static async _writeTraceToFallbackDir(t,n,r,s,a){try{let i=typeof n=="string"?Buffer.from(n,"utf8"):Buffer.from(n),o=JSON.stringify({version:1,endpoint:s,headers:r,body_base64:i.toString("base64")}),c=`trace_${Date.now()}_${Gs().slice(0,8)}.json`,u=dm.join(t,c);if(e._fallbackDirsCreated.has(t)||(await lN(t),e._fallbackDirsCreated.add(t)),a!==void 0&&a>0)try{let l=(await pN(t)).filter(p=>p.startsWith("trace_")&&p.endsWith(".json")),d=0;for(let p of l){let{size:h}=await hN(dm.join(t,p));d+=h}if(d>=a){console.warn(`Could not write trace to fallback dir ${t} as it's already over size limit (${d} bytes >= ${a} bytes). Increase LANGSMITH_FAILED_TRACES_MAX_MB if possible.`);return}}catch{}await dN(u,o),console.warn(`LangSmith trace upload failed; data saved to ${u} for later replay.`)}catch(i){console.error(`LangSmith tracing error: could not write trace to fallback dir ${t}:`,i)}}async _processBatch(t,n){if(!t.length)return;let r=t.reduce((s,a)=>s+(a.size??0),0);try{if(this.langSmithToOTELTranslator!==void 0)this._sendBatchToOTELTranslator(t);else{let s={runCreates:t.filter(i=>i.action==="create").map(i=>i.item),runUpdates:t.filter(i=>i.action==="update").map(i=>i.item)},a=await this._ensureServerInfo();if(!this._multipartDisabled&&(a?.batch_ingest_config?.use_multipart_endpoint??!0)){let i=!this._runCompressionDisabled&&a?.instance_flags?.gzip_body_enabled;try{await this.multipartIngestRuns(s,{...n,useGzip:i,sizeBytes:r})}catch(o){if(cw(o))this._multipartDisabled=!0,await this.batchIngestRuns(s,{...n,sizeBytes:r});else throw o}}else await this.batchIngestRuns(s,{...n,sizeBytes:r})}}catch(s){console.error("Error exporting batch:",s)}}_sendBatchToOTELTranslator(t){if(this.langSmithToOTELTranslator!==void 0){let n=new Map,r=[];for(let s of t)s.item.id&&s.otelContext&&(n.set(s.item.id,s.otelContext),s.action==="create"?r.push({operation:"post",id:s.item.id,trace_id:s.item.trace_id??s.item.id,run:s.item}):r.push({operation:"patch",id:s.item.id,trace_id:s.item.trace_id??s.item.id,run:s.item}));this.langSmithToOTELTranslator.exportBatch(r,n)}}async processRunOperation(t){clearTimeout(this.autoBatchTimeout),this.autoBatchTimeout=void 0,t.item=dw(t.item,this.cachedLSEnvVarsForMetadata,this.omitTracedRuntimeInfo);let n=this.autoBatchQueue.push(t);if(this.manualFlushMode)return n;let r=await this._getBatchSizeLimitBytes(),s=await this._getBatchSizeLimit();return(this.autoBatchQueue.sizeBytes>r||this.autoBatchQueue.items.length>s)&&this.drainAutoBatchQueue({batchSizeLimitBytes:r,batchSizeLimit:s}),this.autoBatchQueue.items.length>0&&(this.autoBatchTimeout=setTimeout(()=>{this.autoBatchTimeout=void 0,this.drainAutoBatchQueue({batchSizeLimitBytes:r,batchSizeLimit:s})},this.autoBatchAggregationDelayMs)),n}async _getServerInfo(){let t=await(await this.caller.call(async()=>{let n=await this._fetch(`${this.apiUrl}/info`,{method:"GET",headers:{Accept:"application/json"},signal:AbortSignal.timeout(IP),...this.fetchOptions});return await se(n,"get server info"),n})).json();return this.debug&&console.log(`
28
- === LangSmith Server Configuration ===
29
- `+JSON.stringify(t,null,2)+`
30
- `),t}async _ensureServerInfo(){return this._getServerInfoPromise===void 0&&(this._getServerInfoPromise=(async()=>{if(this._serverInfo===void 0)try{this._serverInfo=await this._getServerInfo()}catch(t){console.warn(`[LANGSMITH]: Failed to fetch info on supported operations. Falling back to batch operations and default limits. Info: ${t.status??"Unspecified status code"} ${t.message}`)}return this._serverInfo??{}})()),this._getServerInfoPromise.then(t=>(this._serverInfo===void 0&&(this._getServerInfoPromise=void 0),t))}async _getSettings(){return this.settings||(this.settings=this._get("/settings")),await this.settings}async flush(){let t=await this._getBatchSizeLimitBytes(),n=await this._getBatchSizeLimit();await this.drainAutoBatchQueue({batchSizeLimitBytes:t,batchSizeLimit:n})}_cloneCurrentOTELContext(){let t=rx(),n=xN();if(this.langSmithToOTELTranslator!==void 0){let r=t.getActiveSpan();if(r)return t.setSpan(n.active(),r)}}async createRun(t,n){if(!this._filterForSampling([t]).length)return;let r={...this.headers,"Content-Type":"application/json"},s=t.project_name;delete t.project_name;let a=await this.prepareRunCreateOrUpdateInputs({session_name:s,...t,start_time:t.start_time??Date.now()});if(this.autoBatchTracing&&a.trace_id!==void 0&&a.dotted_order!==void 0){let c=this._cloneCurrentOTELContext();this.processRunOperation({action:"create",item:a,otelContext:c,apiKey:n?.apiKey,apiUrl:n?.apiUrl}).catch(console.error);return}let i=dw(a,this.cachedLSEnvVarsForMetadata,this.omitTracedRuntimeInfo);n?.apiKey!==void 0&&(r["x-api-key"]=n.apiKey),n?.workspaceId!==void 0&&(r["x-tenant-id"]=n.workspaceId);let o=bn(i,`Creating run with id: ${i.id}`);await this.caller.call(async()=>{let c=await this._fetch(`${n?.apiUrl??this.apiUrl}/runs`,{method:"POST",headers:r,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:o});return await se(c,"create run",!0),c})}async batchIngestRuns({runCreates:t,runUpdates:n},r){if(t===void 0&&n===void 0)return;let s=await Promise.all(t?.map(c=>this.prepareRunCreateOrUpdateInputs(c))??[]),a=await Promise.all(n?.map(c=>this.prepareRunCreateOrUpdateInputs(c))??[]);if(s.length>0&&a.length>0){let c=s.reduce((l,d)=>(d.id&&(l[d.id]=d),l),{}),u=[];for(let l of a)l.id!==void 0&&c[l.id]?c[l.id]={...c[l.id],...l}:u.push(l);s=Object.values(c),a=u}let i={post:s,patch:a};if(!i.post.length&&!i.patch.length)return;let o={post:[],patch:[]};for(let c of["post","patch"]){let u=c,l=i[u].reverse(),d=l.pop();for(;d!==void 0;)o[u].push(d),d=l.pop()}if(o.post.length>0||o.patch.length>0){let c=o.post.map(u=>u.id).concat(o.patch.map(u=>u.id)).join(",");await this._postBatchIngestRuns(bn(o,`Ingesting runs with ids: ${c}`),r)}}async _postBatchIngestRuns(t,n){let r={...this.headers,"Content-Type":"application/json",Accept:"application/json"};n?.apiKey!==void 0&&(r["x-api-key"]=n.apiKey),await this.batchIngestCaller.callWithOptions({sizeBytes:n?.sizeBytes},async()=>{let s=await this._fetch(`${n?.apiUrl??this.apiUrl}/runs/batch`,{method:"POST",headers:r,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:t});return await se(s,"batch create run",!0),s})}async multipartIngestRuns({runCreates:t,runUpdates:n},r){if(t===void 0&&n===void 0)return;let s={},a=[];for(let u of t??[]){let l=await this.prepareRunCreateOrUpdateInputs(u);l.id!==void 0&&l.attachments!==void 0&&(s[l.id]=l.attachments),delete l.attachments,a.push(l)}let i=[];for(let u of n??[])i.push(await this.prepareRunCreateOrUpdateInputs(u));if(a.find(u=>u.trace_id===void 0||u.dotted_order===void 0)!==void 0)throw new Error('Multipart ingest requires "trace_id" and "dotted_order" to be set when creating a run');if(i.find(u=>u.trace_id===void 0||u.dotted_order===void 0)!==void 0)throw new Error('Multipart ingest requires "trace_id" and "dotted_order" to be set when updating a run');if(a.length>0&&i.length>0){let u=a.reduce((d,p)=>(p.id&&(d[p.id]=p),d),{}),l=[];for(let d of i)d.id!==void 0&&u[d.id]?u[d.id]={...u[d.id],...d}:l.push(d);a=Object.values(u),i=l}if(a.length===0&&i.length===0)return;let o=[],c=[];for(let[u,l]of[["post",a],["patch",i]])for(let d of l){let{inputs:p,outputs:h,events:f,extra:m,error:v,serialized:g,attachments:y,...k}=d,x={inputs:p,outputs:h,events:f,extra:m,error:v,serialized:g},S=bn(k,`Serializing for multipart ingestion of run with id: ${k.id}`);c.push({name:`${u}.${k.id}`,payload:new Blob([S],{type:`application/json; length=${S.length}`})});for(let[E,I]of Object.entries(x)){if(I===void 0)continue;let w=bn(I,`Serializing ${E} for multipart ingestion of run with id: ${k.id}`);c.push({name:`${u}.${k.id}.${E}`,payload:new Blob([w],{type:`application/json; length=${w.length}`})})}if(k.id!==void 0){let E=s[k.id];if(E){delete s[k.id];for(let[I,w]of Object.entries(E)){let P,A;if(Array.isArray(w)?[P,A]=w:(P=w.mimeType,A=w.data),I.includes(".")){console.warn(`Skipping attachment '${I}' for run ${k.id}: Invalid attachment name. Attachment names must not contain periods ('.'). Please rename the attachment and try again.`);continue}c.push({name:`attachment.${k.id}.${I}`,payload:new Blob([A],{type:`${P}; length=${A.byteLength}`})})}}}o.push(`trace=${k.trace_id},id=${k.id}`)}await this._sendMultipartRequest(c,o.join("; "),r)}async _createNodeFetchBody(t,n){let r=[];for(let s of t)r.push(new Blob([`--${n}\r
31
- `])),r.push(new Blob([`Content-Disposition: form-data; name="${s.name}"\r
32
- `,`Content-Type: ${s.payload.type}\r
33
- \r
34
- `])),r.push(s.payload),r.push(new Blob([`\r
35
- `]));return r.push(new Blob([`--${n}--\r
36
- `])),await new Blob(r).arrayBuffer()}async _createMultipartStream(t,n){let r=new TextEncoder;return new ReadableStream({async start(s){let a=async i=>{typeof i=="string"?s.enqueue(r.encode(i)):s.enqueue(i)};for(let i of t){await a(`--${n}\r
37
- `),await a(`Content-Disposition: form-data; name="${i.name}"\r
38
- `),await a(`Content-Type: ${i.payload.type}\r
39
- \r
40
- `);let o=i.payload.stream().getReader();try{let c;for(;!(c=await o.read()).done;)s.enqueue(c.value)}finally{o.releaseLock()}await a(`\r
41
- `)}await a(`--${n}--\r
42
- `),s.close()}})}async _sendMultipartRequest(t,n,r){let s="----LangSmithFormBoundary"+Math.random().toString(36).slice(2),a=()=>this._createNodeFetchBody(t,s),i=()=>this._createMultipartStream(t,s),o=async c=>this.batchIngestCaller.callWithOptions({sizeBytes:r?.sizeBytes},async()=>{let u=await c(),l={...this.headers,"Content-Type":`multipart/form-data; boundary=${s}`};r?.apiKey!==void 0&&(l["x-api-key"]=r.apiKey);let d=u;r?.useGzip&&typeof u=="object"&&"pipeThrough"in u&&(d=u.pipeThrough(new CompressionStream("gzip")),l["Content-Encoding"]="gzip");let p=await this._fetch(`${r?.apiUrl??this.apiUrl}/runs/multipart`,{method:"POST",headers:l,body:d,duplex:"half",signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(p,"Failed to send multipart request",!0),p});try{let c,u=!1;RC()&&!this.multipartStreamingDisabled&&Qk()!=="bun"?(u=!0,c=await o(i)):c=await o(a),(!this.multipartStreamingDisabled||u)&&c.status===422&&(r?.apiUrl??this.apiUrl)!==hw&&(console.warn(`Streaming multipart upload to ${r?.apiUrl??this.apiUrl}/runs/multipart failed. This usually means the host does not support chunked uploads. Retrying with a buffered upload for operation "${n}".`),this.multipartStreamingDisabled=!0,c=await o(a))}catch(c){if(cw(c))throw c;if(console.warn(`${c.message.trim()}
43
-
44
- Context: ${n}`),this.failedTracesDir){let u=await this._createNodeFetchBody(t,s).catch(()=>null);u&&await e._writeTraceToFallbackDir(this.failedTracesDir,u,{"Content-Type":`multipart/form-data; boundary=${s}`},"runs/multipart",this.failedTracesMaxBytes)}}}async updateRun(t,n,r){ve(t),n.inputs&&(n.inputs=await this.processInputs(n.inputs)),n.outputs&&(n.outputs=await this.processOutputs(n.outputs));let s={...n,id:t};if(!this._filterForSampling([s],!0).length)return;if(this.autoBatchTracing&&s.trace_id!==void 0&&s.dotted_order!==void 0){let o=this._cloneCurrentOTELContext();if(n.end_time!==void 0&&s.parent_run_id===void 0&&this.blockOnRootRunFinalization&&!this.manualFlushMode){await this.processRunOperation({action:"update",item:s,otelContext:o,apiKey:r?.apiKey,apiUrl:r?.apiUrl}).catch(console.error);return}else this.processRunOperation({action:"update",item:s,otelContext:o,apiKey:r?.apiKey,apiUrl:r?.apiUrl}).catch(console.error);return}let a={...this.headers,"Content-Type":"application/json"};r?.apiKey!==void 0&&(a["x-api-key"]=r.apiKey),r?.workspaceId!==void 0&&(a["x-tenant-id"]=r.workspaceId);let i=bn(n,`Serializing payload to update run with id: ${t}`);await this.caller.call(async()=>{let o=await this._fetch(`${r?.apiUrl??this.apiUrl}/runs/${t}`,{method:"PATCH",headers:a,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:i});return await se(o,"update run",!0),o})}async readRun(t,{loadChildRuns:n}={loadChildRuns:!1}){ve(t);let r=po(await this._get(`/runs/${t}`));return n&&(r=await this._loadChildRuns(r)),r}async getRunUrl({runId:t,run:n,projectOpts:r}){if(n!==void 0){let s;n.session_id?s=n.session_id:r?.projectName?s=(await this.readProject({projectName:r?.projectName})).id:r?.projectId?s=r?.projectId:s=(await this.readProject({projectName:Pt("PROJECT")||"default"})).id;let a=await this._getTenantId();return`${this.getHostUrl()}/o/${a}/projects/p/${s}/r/${n.id}?poll=true`}else if(t!==void 0){let s=await this.readRun(t);if(!s.app_path)throw new Error(`Run ${t} has no app_path`);return`${this.getHostUrl()}${s.app_path}`}else throw new Error("Must provide either runId or run")}async _loadChildRuns(t){let n=await OP(this.listRuns({isRoot:!1,projectId:t.session_id,traceId:t.trace_id})),r={},s={};n.sort((a,i)=>(a?.dotted_order??"").localeCompare(i?.dotted_order??""));for(let a of n){if(a.parent_run_id===null||a.parent_run_id===void 0)throw new Error(`Child run ${a.id} has no parent`);a.dotted_order?.startsWith(t.dotted_order??"")&&a.id!==t.id&&(a.parent_run_id in r||(r[a.parent_run_id]=[]),r[a.parent_run_id].push(a),s[a.id]=a)}t.child_runs=r[t.id]||[];for(let a in r)a!==t.id&&(s[a].child_runs=r[a]);return t}async*listRuns(t){let{projectId:n,projectName:r,parentRunId:s,traceId:a,referenceExampleId:i,startTime:o,executionOrder:c,isRoot:u,runType:l,error:d,id:p,query:h,filter:f,traceFilter:m,treeFilter:v,limit:g,select:y,order:k}=t,x=[];if(n&&(x=Array.isArray(n)?n:[n]),r){let w=Array.isArray(r)?r:[r],P=await Promise.all(w.map(A=>this.readProject({projectName:A}).then(Z=>Z.id)));x.push(...P)}let S=["app_path","completion_cost","completion_tokens","dotted_order","end_time","error","events","extra","feedback_stats","first_token_time","id","inputs","name","outputs","parent_run_id","parent_run_ids","prompt_cost","prompt_tokens","reference_example_id","run_type","session_id","start_time","status","tags","total_cost","total_tokens","trace_id"],E={session:x.length?x:null,run_type:l,reference_example:i,query:h,filter:f,trace_filter:m,tree_filter:v,execution_order:c,parent_run:s,start_time:o?o.toISOString():null,error:d,id:p,limit:g,trace:a,select:y||S,is_root:u,order:k};E.select.includes("child_run_ids")&&rl("Deprecated: 'child_run_ids' in the listRuns select parameter is deprecated and will be removed in a future version.");let I=0;for await(let w of this._getCursorPaginatedList("/runs/query",E)){let P=w.map(po);if(g){if(I>=g)break;if(P.length+I>g){yield*P.slice(0,g-I);break}I+=P.length,yield*P}else yield*P}}async*listGroupRuns(t){let{projectId:n,projectName:r,groupBy:s,filter:a,startTime:i,endTime:o,limit:c,offset:u}=t,l={session_id:n||(await this.readProject({projectName:r})).id,group_by:s,filter:a,start_time:i?i.toISOString():null,end_time:o?o.toISOString():null,limit:Number(c)||100},d=Number(u)||0,p="/runs/group",h=`${this.apiUrl}${p}`;for(;;){let f={...l,offset:d},m=Object.fromEntries(Object.entries(f).filter(([x,S])=>S!==void 0)),v=JSON.stringify(m),g=await(await this.caller.call(async()=>{let x=await this._fetch(h,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:v});return await se(x,`Failed to fetch ${p}`),x})).json(),{groups:y,total:k}=g;if(y.length===0)break;for(let x of y)yield x;if(d+=y.length,d>=k)break}}async*readThread(t){let{threadId:n,projectId:r,projectName:s,isRoot:a=!0,limit:i,filter:o,order:c="asc"}=t;if(!r&&!s)throw new Error("threadId requires projectId or projectName");let u=`eq(thread_id, ${JSON.stringify(n)})`,l=o?`and(${u}, ${o})`:u;yield*this.listRuns({projectId:r??void 0,projectName:s??void 0,isRoot:a,limit:i,filter:l,order:c})}async listThreads(t){let{projectId:n,projectName:r,limit:s,offset:a=0,filter:i,startTime:o,isRoot:c=!0}=t;if(!n&&!r)throw new Error("Either projectId or projectName must be provided");if(n&&r)throw new Error("Provide exactly one of projectId or projectName");let u=n??(await this.readProject({projectName:r})).id,l=o??new Date(Date.now()-1440*60*1e3),d={session:[u],is_root:c,limit:100,order:"desc",select:["id","name","status","start_time","end_time","thread_id","trace_id","run_type","error","tags","session_id","parent_run_id","total_tokens","total_cost","dotted_order","reference_example_id","feedback_stats","app_path","completion_cost","completion_tokens","prompt_cost","prompt_tokens","first_token_time"],start_time:l.toISOString()};i!=null&&(d.filter=i);let p=new Map;for await(let m of this._getCursorPaginatedList("/runs/query",d))for(let v of m){let g=po(v),y=g.thread_id;if(y){let k=p.get(y)??[];k.push(g),p.set(y,k)}}let h=[];for(let[m,v]of p.entries()){v.sort((x,S)=>{let E=x,I=S,w=E.start_time??"",P=I.start_time??"";if(w!==P)return w.localeCompare(P);let A=E.dotted_order??"",Z=I.dotted_order??"";return A.localeCompare(Z)});let g=[...v.map(x=>x.start_time).filter(Boolean)].sort(),y=g.length?g[0]:"",k=g.length?g[g.length-1]:"";h.push({thread_id:m,runs:v,count:v.length,filter:"",total_tokens:0,total_cost:null,min_start_time:y,max_start_time:k,latency_p50:0,latency_p99:0,feedback_stats:null,first_inputs:"",last_outputs:"",last_error:null})}h.sort((m,v)=>{let g=m.max_start_time??"";return(v.max_start_time??"").localeCompare(g)});let f=a>0?h.slice(a):h;return s!==void 0?f.slice(0,s):f}async getRunStats({id:t,trace:n,parentRun:r,runType:s,projectNames:a,projectIds:i,referenceExampleIds:o,startTime:c,endTime:u,error:l,query:d,filter:p,traceFilter:h,treeFilter:f,isRoot:m,dataSourceType:v}){let g=i||[];a&&(g=[...i||[],...await Promise.all(a.map(x=>this.readProject({projectName:x}).then(S=>S.id)))]);let y=Object.fromEntries(Object.entries({id:t,trace:n,parent_run:r,run_type:s,session:g,reference_example:o,start_time:c,end_time:u,error:l,query:d,filter:p,trace_filter:h,tree_filter:f,is_root:m,data_source_type:v}).filter(([x,S])=>S!==void 0)),k=JSON.stringify(y);return await(await this.caller.call(async()=>{let x=await this._fetch(`${this.apiUrl}/runs/stats`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:k});return await se(x,"get run stats"),x})).json()}async shareRun(t,{shareId:n}={}){let r={run_id:t,share_token:n||Gs()};ve(t);let s=JSON.stringify(r),a=await(await this.caller.call(async()=>{let i=await this._fetch(`${this.apiUrl}/runs/${t}/share`,{method:"PUT",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:s});return await se(i,"share run"),i})).json();if(a===null||!("share_token"in a))throw new Error("Invalid response from server");return`${this.getHostUrl()}/public/${a.share_token}/r`}async unshareRun(t){ve(t),await this.caller.call(async()=>{let n=await this._fetch(`${this.apiUrl}/runs/${t}/share`,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(n,"unshare run",!0),n})}async readRunSharedLink(t){ve(t);let n=await(await this.caller.call(async()=>{let r=await this._fetch(`${this.apiUrl}/runs/${t}/share`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(r,"read run shared link"),r})).json();if(!(n===null||!("share_token"in n)))return`${this.getHostUrl()}/public/${n.share_token}/r`}async listSharedRuns(t,{runIds:n}={}){let r=new URLSearchParams({share_token:t});if(n!==void 0)for(let s of n)r.append("id",s);return ve(t),(await(await this.caller.call(async()=>{let s=await this._fetch(`${this.apiUrl}/public/${t}/runs${r}`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(s,"list shared runs"),s})).json()).map(po)}async readDatasetSharedSchema(t,n){if(!t&&!n)throw new Error("Either datasetId or datasetName must be given");t||(t=(await this.readDataset({datasetName:n})).id),ve(t);let r=await(await this.caller.call(async()=>{let s=await this._fetch(`${this.apiUrl}/datasets/${t}/share`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(s,"read dataset shared schema"),s})).json();return r.url=`${this.getHostUrl()}/public/${r.share_token}/d`,r}async shareDataset(t,n){if(!t&&!n)throw new Error("Either datasetId or datasetName must be given");t||(t=(await this.readDataset({datasetName:n})).id);let r={dataset_id:t};ve(t);let s=JSON.stringify(r),a=await(await this.caller.call(async()=>{let i=await this._fetch(`${this.apiUrl}/datasets/${t}/share`,{method:"PUT",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:s});return await se(i,"share dataset"),i})).json();return a.url=`${this.getHostUrl()}/public/${a.share_token}/d`,a}async unshareDataset(t){ve(t),await this.caller.call(async()=>{let n=await this._fetch(`${this.apiUrl}/datasets/${t}/share`,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(n,"unshare dataset",!0),n})}async readSharedDataset(t){return ve(t),await(await this.caller.call(async()=>{let n=await this._fetch(`${this.apiUrl}/public/${t}/datasets`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(n,"read shared dataset"),n})).json()}async listSharedExamples(t,n){let r={};n?.exampleIds&&(r.id=n.exampleIds);let s=new URLSearchParams;Object.entries(r).forEach(([o,c])=>{Array.isArray(c)?c.forEach(u=>s.append(o,u)):s.append(o,c)});let a=await this.caller.call(async()=>{let o=await this._fetch(`${this.apiUrl}/public/${t}/examples?${s.toString()}`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(o,"list shared examples"),o}),i=await a.json();if(!a.ok)throw"detail"in i?new Error(`Failed to list shared examples.
45
- Status: ${a.status}
46
- Message: ${Array.isArray(i.detail)?i.detail.join(`
47
- `):"Unspecified error"}`):new Error(`Failed to list shared examples: ${a.status} ${a.statusText}`);return i.map(o=>({...o,_hostUrl:this.getHostUrl()}))}async createProject({projectName:t,description:n=null,metadata:r=null,upsert:s=!1,projectExtra:a=null,referenceDatasetId:i=null}){let o=s?"?upsert=true":"",c=`${this.apiUrl}/sessions${o}`,u=a||{};r&&(u.metadata=r);let l={name:t,extra:u,description:n};i!==null&&(l.reference_dataset_id=i);let d=JSON.stringify(l);return await(await this.caller.call(async()=>{let p=await this._fetch(c,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:d});return await se(p,"create project"),p})).json()}async updateProject(t,{name:n=null,description:r=null,metadata:s=null,projectExtra:a=null,endTime:i=null}){let o=`${this.apiUrl}/sessions/${t}`,c=a;s&&(c={...c||{},metadata:s});let u=JSON.stringify({name:n,extra:c,description:r,end_time:i?new Date(i).toISOString():null});return await(await this.caller.call(async()=>{let l=await this._fetch(o,{method:"PATCH",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:u});return await se(l,"update project"),l})).json()}async hasProject({projectId:t,projectName:n}){let r="/sessions",s=new URLSearchParams;if(t!==void 0&&n!==void 0)throw new Error("Must provide either projectName or projectId, not both");if(t!==void 0)ve(t),r+=`/${t}`;else if(n!==void 0)s.append("name",n);else throw new Error("Must provide projectName or projectId");let a=await this.caller.call(async()=>{let i=await this._fetch(`${this.apiUrl}${r}?${s}`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(i,"has project"),i});try{let i=await a.json();return a.ok?Array.isArray(i)?i.length>0:!0:!1}catch{return!1}}async readProject({projectId:t,projectName:n,includeStats:r}){let s="/sessions",a=new URLSearchParams;if(t!==void 0&&n!==void 0)throw new Error("Must provide either projectName or projectId, not both");if(t!==void 0)ve(t),s+=`/${t}`;else if(n!==void 0)a.append("name",n);else throw new Error("Must provide projectName or projectId");r!==void 0&&a.append("include_stats",r.toString());let i=await this._get(s,a),o;if(Array.isArray(i)){if(i.length===0)throw new Error(`Project[id=${t}, name=${n}] not found`);o=i[0]}else o=i;return o}async getProjectUrl({projectId:t,projectName:n}){if(t===void 0&&n===void 0)throw new Error("Must provide either projectName or projectId");let r=await this.readProject({projectId:t,projectName:n}),s=await this._getTenantId();return`${this.getHostUrl()}/o/${s}/projects/p/${r.id}`}async getDatasetUrl({datasetId:t,datasetName:n}){if(t===void 0&&n===void 0)throw new Error("Must provide either datasetName or datasetId");let r=await this.readDataset({datasetId:t,datasetName:n}),s=await this._getTenantId();return`${this.getHostUrl()}/o/${s}/datasets/${r.id}`}async _getTenantId(){if(this._tenantId!==null)return this._tenantId;let t=new URLSearchParams({limit:"1"});for await(let n of this._getPaginated("/sessions",t))return this._tenantId=n[0].tenant_id,n[0].tenant_id;throw new Error("No projects found to resolve tenant.")}async*listProjects({projectIds:t,name:n,nameContains:r,referenceDatasetId:s,referenceDatasetName:a,includeStats:i,datasetVersion:o,referenceFree:c,metadata:u}={}){let l=new URLSearchParams;if(t!==void 0)for(let d of t)l.append("id",d);if(n!==void 0&&l.append("name",n),r!==void 0&&l.append("name_contains",r),s!==void 0)l.append("reference_dataset",s);else if(a!==void 0){let d=await this.readDataset({datasetName:a});l.append("reference_dataset",d.id)}i!==void 0&&l.append("include_stats",i.toString()),o!==void 0&&l.append("dataset_version",o),c!==void 0&&l.append("reference_free",c.toString()),u!==void 0&&l.append("metadata",JSON.stringify(u));for await(let d of this._getPaginated("/sessions",l))yield*d}async deleteProject({projectId:t,projectName:n}){let r;if(t===void 0&&n===void 0)throw new Error("Must provide projectName or projectId");if(t!==void 0&&n!==void 0)throw new Error("Must provide either projectName or projectId, not both");t===void 0?r=(await this.readProject({projectName:n})).id:r=t,ve(r),await this.caller.call(async()=>{let s=await this._fetch(`${this.apiUrl}/sessions/${r}`,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(s,`delete session ${r} (${n})`,!0),s})}async uploadCsv({csvFile:t,fileName:n,inputKeys:r,outputKeys:s,description:a,dataType:i,name:o}){let c=`${this.apiUrl}/datasets/upload`,u=new FormData,l=new Blob([t],{type:"text/csv"});return u.append("file",l,n),r.forEach(d=>{u.append("input_keys",d)}),s.forEach(d=>{u.append("output_keys",d)}),a&&u.append("description",a),i&&u.append("data_type",i),o&&u.append("name",o),await(await this.caller.call(async()=>{let d=await this._fetch(c,{method:"POST",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:u});return await se(d,"upload CSV"),d})).json()}async createDataset(t,{description:n,dataType:r,inputsSchema:s,outputsSchema:a,metadata:i}={}){let o={name:t,description:n,extra:{source:"sdk",...i?{metadata:i}:{}}};r&&(o.data_type=r),s&&(o.inputs_schema_definition=s),a&&(o.outputs_schema_definition=a);let c=JSON.stringify(o);return await(await this.caller.call(async()=>{let u=await this._fetch(`${this.apiUrl}/datasets`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:c});return await se(u,"create dataset"),u})).json()}async readDataset({datasetId:t,datasetName:n}){let r="/datasets",s=new URLSearchParams({limit:"1"});if(t&&n)throw new Error("Must provide either datasetName or datasetId, not both");if(t)ve(t),r+=`/${t}`;else if(n)s.append("name",n);else throw new Error("Must provide datasetName or datasetId");let a=await this._get(r,s),i;if(Array.isArray(a)){if(a.length===0)throw new Error(`Dataset[id=${t}, name=${n}] not found`);i=a[0]}else i=a;return i}async hasDataset({datasetId:t,datasetName:n}){try{return await this.readDataset({datasetId:t,datasetName:n}),!0}catch(r){if(r instanceof Error&&r.message.toLocaleLowerCase().includes("not found"))return!1;throw r}}async diffDatasetVersions({datasetId:t,datasetName:n,fromVersion:r,toVersion:s}){let a=t;if(a===void 0&&n===void 0)throw new Error("Must provide either datasetName or datasetId");if(a!==void 0&&n!==void 0)throw new Error("Must provide either datasetName or datasetId, not both");a===void 0&&(a=(await this.readDataset({datasetName:n})).id);let i=new URLSearchParams({from_version:typeof r=="string"?r:r.toISOString(),to_version:typeof s=="string"?s:s.toISOString()});return await this._get(`/datasets/${a}/versions/diff`,i)}async readDatasetOpenaiFinetuning({datasetId:t,datasetName:n}){let r="/datasets";if(t===void 0)if(n!==void 0)t=(await this.readDataset({datasetName:n})).id;else throw new Error("Must provide either datasetName or datasetId");return(await(await this._getResponse(`${r}/${t}/openai_ft`)).text()).trim().split(`
48
- `).map(s=>JSON.parse(s))}async*listDatasets({limit:t=100,offset:n=0,datasetIds:r,datasetName:s,datasetNameContains:a,metadata:i}={}){let o="/datasets",c=new URLSearchParams({limit:t.toString(),offset:n.toString()});if(r!==void 0)for(let u of r)c.append("id",u);s!==void 0&&c.append("name",s),a!==void 0&&c.append("name_contains",a),i!==void 0&&c.append("metadata",JSON.stringify(i));for await(let u of this._getPaginated(o,c))yield*u}async updateDataset(t){let{datasetId:n,datasetName:r,...s}=t;if(!n&&!r)throw new Error("Must provide either datasetName or datasetId");let a=n??(await this.readDataset({datasetName:r})).id;ve(a);let i=JSON.stringify(s);return await(await this.caller.call(async()=>{let o=await this._fetch(`${this.apiUrl}/datasets/${a}`,{method:"PATCH",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:i});return await se(o,"update dataset"),o})).json()}async updateDatasetTag(t){let{datasetId:n,datasetName:r,asOf:s,tag:a}=t;if(!n&&!r)throw new Error("Must provide either datasetName or datasetId");let i=n??(await this.readDataset({datasetName:r})).id;ve(i);let o=JSON.stringify({as_of:typeof s=="string"?s:s.toISOString(),tag:a});await this.caller.call(async()=>{let c=await this._fetch(`${this.apiUrl}/datasets/${i}/tags`,{method:"PUT",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:o});return await se(c,"update dataset tags",!0),c})}async deleteDataset({datasetId:t,datasetName:n}){let r="/datasets",s=t;if(t!==void 0&&n!==void 0)throw new Error("Must provide either datasetName or datasetId, not both");if(n!==void 0&&(s=(await this.readDataset({datasetName:n})).id),s!==void 0)ve(s),r+=`/${s}`;else throw new Error("Must provide datasetName or datasetId");await this.caller.call(async()=>{let a=await this._fetch(this.apiUrl+r,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(a,`delete ${r}`,!0),a})}async indexDataset({datasetId:t,datasetName:n,tag:r}){let s=t;if(!s&&!n)throw new Error("Must provide either datasetName or datasetId");if(s&&n)throw new Error("Must provide either datasetName or datasetId, not both");s||(s=(await this.readDataset({datasetName:n})).id),ve(s);let a=JSON.stringify({tag:r});await(await this.caller.call(async()=>{let i=await this._fetch(`${this.apiUrl}/datasets/${s}/index`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:a});return await se(i,"index dataset"),i})).json()}async similarExamples(t,n,r,{filter:s}={}){let a={limit:r,inputs:t};s!==void 0&&(a.filter=s),ve(n);let i=JSON.stringify(a);return(await(await this.caller.call(async()=>{let o=await this._fetch(`${this.apiUrl}/datasets/${n}/search`,{headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,method:"POST",body:i});return await se(o,"fetch similar examples"),o})).json()).examples}async createExample(t,n,r){if(fw(t)&&(n!==void 0||r!==void 0))throw new Error("Cannot provide outputs or options when using ExampleCreate object");let s=n?r?.datasetId:t.dataset_id,a=n?r?.datasetName:t.dataset_name;if(s===void 0&&a===void 0)throw new Error("Must provide either datasetName or datasetId");if(s!==void 0&&a!==void 0)throw new Error("Must provide either datasetName or datasetId, not both");s===void 0&&(s=(await this.readDataset({datasetName:a})).id);let i=(n?r?.createdAt:t.created_at)||new Date,o;fw(t)?o=t:o={inputs:t,outputs:n,created_at:i?.toISOString(),id:r?.exampleId,metadata:r?.metadata,split:r?.split,source_run_id:r?.sourceRunId,use_source_run_io:r?.useSourceRunIO,use_source_run_attachments:r?.useSourceRunAttachments,attachments:r?.attachments};let c=await this._uploadExamplesMultipart(s,[o]);return await this.readExample(c.example_ids?.[0]??Gs())}async createExamples(t){if(Array.isArray(t)){if(t.length===0)return[];let g=t,y=g[0].dataset_id,k=g[0].dataset_name;if(y===void 0&&k===void 0)throw new Error("Must provide either datasetName or datasetId");if(y!==void 0&&k!==void 0)throw new Error("Must provide either datasetName or datasetId, not both");y===void 0&&(y=(await this.readDataset({datasetName:k})).id);let x=await this._uploadExamplesMultipart(y,g);return await Promise.all(x.example_ids.map(S=>this.readExample(S)))}let{inputs:n,outputs:r,metadata:s,splits:a,sourceRunIds:i,useSourceRunIOs:o,useSourceRunAttachments:c,attachments:u,exampleIds:l,datasetId:d,datasetName:p}=t;if(n===void 0)throw new Error("Must provide inputs when using legacy parameters");let h=d,f=p;if(h===void 0&&f===void 0)throw new Error("Must provide either datasetName or datasetId");if(h!==void 0&&f!==void 0)throw new Error("Must provide either datasetName or datasetId, not both");h===void 0&&(h=(await this.readDataset({datasetName:f})).id);let m=n.map((g,y)=>({dataset_id:h,inputs:g,outputs:r?.[y],metadata:s?.[y],split:a?.[y],id:l?.[y],attachments:u?.[y],source_run_id:i?.[y],use_source_run_io:o?.[y],use_source_run_attachments:c?.[y]})),v=await this._uploadExamplesMultipart(h,m);return await Promise.all(v.example_ids.map(g=>this.readExample(g)))}async createLLMExample(t,n,r){return this.createExample({input:t},{output:n},r)}async createChatExample(t,n,r){let s=t.map(i=>fv(i)?mv(i):i),a=fv(n)?mv(n):n;return this.createExample({input:s},{output:a},r)}async readExample(t){ve(t);let n=`/examples/${t}`,r=await this._get(n),{attachment_urls:s,...a}=r,i=a;return s&&(i.attachments=Object.entries(s).reduce((o,[c,u])=>(o[c.slice(11)]={presigned_url:u.presigned_url,mime_type:u.mime_type},o),{})),i}async*listExamples({datasetId:t,datasetName:n,exampleIds:r,asOf:s,splits:a,inlineS3Urls:i,metadata:o,limit:c,offset:u,filter:l,includeAttachments:d}={}){let p;if(t!==void 0&&n!==void 0)throw new Error("Must provide either datasetName or datasetId, not both");if(t!==void 0)p=t;else if(n!==void 0)p=(await this.readDataset({datasetName:n})).id;else throw new Error("Must provide a datasetName or datasetId");let h=new URLSearchParams({dataset:p}),f=s?typeof s=="string"?s:s?.toISOString():void 0;f&&h.append("as_of",f);let m=i??!0;if(h.append("inline_s3_urls",m.toString()),r!==void 0)for(let g of r)h.append("id",g);if(a!==void 0)for(let g of a)h.append("splits",g);if(o!==void 0){let g=JSON.stringify(o);h.append("metadata",g)}c!==void 0&&h.append("limit",c.toString()),u!==void 0&&h.append("offset",u.toString()),l!==void 0&&h.append("filter",l),d===!0&&["attachment_urls","outputs","metadata"].forEach(g=>h.append("select",g));let v=0;for await(let g of this._getPaginated("/examples",h)){for(let y of g){let{attachment_urls:k,...x}=y,S=x;k&&(S.attachments=Object.entries(k).reduce((E,[I,w])=>(E[I.slice(11)]={presigned_url:w.presigned_url,mime_type:w.mime_type||void 0},E),{})),yield S,v++}if(c!==void 0&&v>=c)break}}async deleteExample(t){ve(t);let n=`/examples/${t}`;await this.caller.call(async()=>{let r=await this._fetch(this.apiUrl+n,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(r,`delete ${n}`,!0),r})}async deleteExamples(t,n){if(t.forEach(r=>ve(r)),n?.hardDelete){let r=this._getPlatformEndpointPath("datasets/examples/delete");await this.caller.call(async()=>{let s=await this._fetch(`${this.apiUrl}${r}`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},body:JSON.stringify({example_ids:t,hard_delete:!0}),signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(s,"hard delete examples",!0),s})}else{let r=new URLSearchParams;t.forEach(s=>r.append("example_ids",s)),await this.caller.call(async()=>{let s=await this._fetch(`${this.apiUrl}/examples?${r.toString()}`,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(s,"delete examples",!0),s})}}async updateExample(t,n){let r;n?r=t:r=t.id,ve(r);let s;n?s={id:r,...n}:s=t;let a;return s.dataset_id!==void 0?a=s.dataset_id:a=(await this.readExample(r)).dataset_id,this._updateExamplesMultipart(a,[s])}async updateExamples(t){let n;return t[0].dataset_id===void 0?n=(await this.readExample(t[0].id)).dataset_id:n=t[0].dataset_id,this._updateExamplesMultipart(n,t)}async readDatasetVersion({datasetId:t,datasetName:n,asOf:r,tag:s}){let a;if(t?a=t:a=(await this.readDataset({datasetName:n})).id,ve(a),r&&s||!r&&!s)throw new Error("Exactly one of asOf and tag must be specified.");let i=new URLSearchParams;return r!==void 0&&i.append("as_of",typeof r=="string"?r:r.toISOString()),s!==void 0&&i.append("tag",s),await(await this.caller.call(async()=>{let o=await this._fetch(`${this.apiUrl}/datasets/${a}/version?${i.toString()}`,{method:"GET",headers:{...this.headers},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(o,"read dataset version"),o})).json()}async listDatasetSplits({datasetId:t,datasetName:n,asOf:r}){let s;if(t===void 0&&n===void 0)throw new Error("Must provide dataset name or ID");if(t!==void 0&&n!==void 0)throw new Error("Must provide either datasetName or datasetId, not both");t===void 0?s=(await this.readDataset({datasetName:n})).id:s=t,ve(s);let a=new URLSearchParams,i=r?typeof r=="string"?r:r?.toISOString():void 0;return i&&a.append("as_of",i),await this._get(`/datasets/${s}/splits`,a)}async updateDatasetSplits({datasetId:t,datasetName:n,splitName:r,exampleIds:s,remove:a=!1}){let i;if(t===void 0&&n===void 0)throw new Error("Must provide dataset name or ID");if(t!==void 0&&n!==void 0)throw new Error("Must provide either datasetName or datasetId, not both");t===void 0?i=(await this.readDataset({datasetName:n})).id:i=t,ve(i);let o={split_name:r,examples:s.map(u=>(ve(u),u)),remove:a},c=JSON.stringify(o);await this.caller.call(async()=>{let u=await this._fetch(`${this.apiUrl}/datasets/${i}/splits`,{method:"PUT",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:c});return await se(u,"update dataset splits",!0),u})}async createFeedback(t,n,{score:r,value:s,correction:a,comment:i,sourceInfo:o,feedbackSourceType:c="api",sourceRunId:u,feedbackId:l,feedbackConfig:d,projectId:p,comparativeExperimentId:h,sessionId:f,startTime:m}){if(!t&&!p)throw new Error("One of runId or projectId must be provided");if(t&&p)throw new Error("Only one of runId or projectId can be provided");let v={type:c??"api",metadata:o??{}};u!==void 0&&v?.metadata!==void 0&&!v.metadata.__run&&(v.metadata.__run={run_id:u}),v?.metadata!==void 0&&v.metadata.__run?.run_id!==void 0&&ve(v.metadata.__run.run_id);let g={id:l??ak(),run_id:t,key:n,score:pw(r),value:s,correction:a,comment:i,feedback_source:v,comparative_experiment_id:h,feedbackConfig:d,session_id:f??p,start_time:m},y=JSON.stringify(g),k=`${this.apiUrl}/feedback`;return await this.caller.call(async()=>{let x=await this._fetch(k,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:y});return await se(x,"create feedback",!0),x}),g}async updateFeedback(t,{score:n,value:r,correction:s,comment:a}){let i={};n!=null&&(i.score=pw(n)),r!=null&&(i.value=r),s!=null&&(i.correction=s),a!=null&&(i.comment=a),ve(t);let o=JSON.stringify(i);await this.caller.call(async()=>{let c=await this._fetch(`${this.apiUrl}/feedback/${t}`,{method:"PATCH",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:o});return await se(c,"update feedback",!0),c})}async readFeedback(t){ve(t);let n=`/feedback/${t}`;return await this._get(n)}async deleteFeedback(t){ve(t);let n=`/feedback/${t}`;await this.caller.call(async()=>{let r=await this._fetch(this.apiUrl+n,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(r,`delete ${n}`,!0),r})}async*listFeedback({runIds:t,feedbackKeys:n,feedbackSourceTypes:r}={}){let s=new URLSearchParams;if(t)for(let a of t)ve(a),s.append("run",a);if(n)for(let a of n)s.append("key",a);if(r)for(let a of r)s.append("source",a);for await(let a of this._getPaginated("/feedback",s))yield*a}async createPresignedFeedbackToken(t,n,{expiration:r,feedbackConfig:s}={}){let a={run_id:t,feedback_key:n,feedback_config:s};r?typeof r=="string"?a.expires_at=r:(r?.hours||r?.minutes||r?.days)&&(a.expires_in=r):a.expires_in={hours:3};let i=JSON.stringify(a);return await(await this.caller.call(async()=>{let o=await this._fetch(`${this.apiUrl}/feedback/tokens`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:i});return await se(o,"create presigned feedback token"),o})).json()}async createComparativeExperiment({name:t,experimentIds:n,referenceDatasetId:r,createdAt:s,description:a,metadata:i,id:o}){if(n.length===0)throw new Error("At least one experiment is required");if(r||(r=(await this.readProject({projectId:n[0]})).reference_dataset_id),!r==null)throw new Error("A reference dataset is required");let c={id:o,name:t,experiment_ids:n,reference_dataset_id:r,description:a,created_at:(s??new Date)?.toISOString(),extra:{}};i&&(c.extra.metadata=i);let u=JSON.stringify(c);return(await this.caller.call(async()=>{let l=await this._fetch(`${this.apiUrl}/datasets/comparative`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:u});return await se(l,"create comparative experiment"),l})).json()}async*listPresignedFeedbackTokens(t){ve(t);let n=new URLSearchParams({run_id:t});for await(let r of this._getPaginated("/feedback/tokens",n))yield*r}_selectEvalResults(t){let n;return"results"in t?n=t.results:Array.isArray(t)?n=t:n=[t],n}async _logEvaluationFeedback(t,n,r){let s=this._selectEvalResults(t),a=[];for(let i of s){let o=r||{};i.evaluatorInfo&&(o={...i.evaluatorInfo,...o});let c=null;i.targetRunId?c=i.targetRunId:n&&(c=n.id),a.push(await this.createFeedback(c,i.key,{score:i.score,value:i.value,comment:i.comment,correction:i.correction,sourceInfo:o,sourceRunId:i.sourceRunId,feedbackConfig:i.feedbackConfig,feedbackSourceType:"model",sessionId:n?.session_id,startTime:n?.start_time}))}return[s,a]}async logEvaluationFeedback(t,n,r){let[s]=await this._logEvaluationFeedback(t,n,r);return s}async createFeedbackConfig(t){let{feedbackKey:n,feedbackConfig:r,isLowerScoreBetter:s=!1}=t,a={feedback_key:n,feedback_config:r,is_lower_score_better:s};return(await this.caller.call(async()=>{let i=await this._fetch(`${this.apiUrl}/feedback-configs`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:JSON.stringify(a)});return await se(i,"create feedback config"),i})).json()}async*listFeedbackConfigs(t={}){let{feedbackKeys:n,nameContains:r,limit:s}=t,a=new URLSearchParams;n&&n.forEach(o=>{a.append("key",o)}),r&&a.append("name_contains",r),a.append("limit",(s!==void 0?Math.min(s,100):100).toString());let i=0;for await(let o of this._getPaginated("/feedback-configs",a))if(yield*o,i+=o.length,s!==void 0&&i>=s)break}async updateFeedbackConfig(t,n={}){let{feedbackConfig:r,isLowerScoreBetter:s}=n,a={feedback_key:t};return r!==void 0&&(a.feedback_config=r),s!==void 0&&(a.is_lower_score_better=s),(await this.caller.call(async()=>{let i=await this._fetch(`${this.apiUrl}/feedback-configs`,{method:"PATCH",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:JSON.stringify(a)});return await se(i,"update feedback config"),i})).json()}async deleteFeedbackConfig(t){let n=new URLSearchParams({feedback_key:t});await this.caller.call(async()=>{let r=await this._fetch(`${this.apiUrl}/feedback-configs?${n}`,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(r,"delete feedback config",!0),r})}async*listAnnotationQueues(t={}){let{queueIds:n,name:r,nameContains:s,limit:a}=t,i=new URLSearchParams;n&&n.forEach((c,u)=>{ve(c,`queueIds[${u}]`),i.append("ids",c)}),r&&i.append("name",r),s&&i.append("name_contains",s),i.append("limit",(a!==void 0?Math.min(a,100):100).toString());let o=0;for await(let c of this._getPaginated("/annotation-queues",i))if(yield*c,o++,a!==void 0&&o>=a)break}async createAnnotationQueue(t){let{name:n,description:r,queueId:s,rubricInstructions:a,rubricItems:i}=t,o={name:n,description:r,id:s||Gs(),rubric_instructions:a,rubric_items:i},c=JSON.stringify(Object.fromEntries(Object.entries(o).filter(([u,l])=>l!==void 0)));return(await this.caller.call(async()=>{let u=await this._fetch(`${this.apiUrl}/annotation-queues`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:c});return await se(u,"create annotation queue"),u})).json()}async readAnnotationQueue(t){return(await this.caller.call(async()=>{let n=await this._fetch(`${this.apiUrl}/annotation-queues/${ve(t,"queueId")}`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(n,"read annotation queue"),n})).json()}async updateAnnotationQueue(t,n){let{name:r,description:s,rubricInstructions:a,rubricItems:i}=n,o={};r!==void 0&&(o.name=r),s!==void 0&&(o.description=s),a!==void 0&&(o.rubric_instructions=a),i!==void 0&&(o.rubric_items=i);let c=JSON.stringify(o);await this.caller.call(async()=>{let u=await this._fetch(`${this.apiUrl}/annotation-queues/${ve(t,"queueId")}`,{method:"PATCH",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:c});return await se(u,"update annotation queue",!0),u})}async deleteAnnotationQueue(t){await this.caller.call(async()=>{let n=await this._fetch(`${this.apiUrl}/annotation-queues/${ve(t,"queueId")}`,{method:"DELETE",headers:{...this.headers,Accept:"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(n,"delete annotation queue",!0),n})}async addRunsToAnnotationQueue(t,n){let r=JSON.stringify(n.map((s,a)=>ve(s,`runIds[${a}]`).toString()));await this.caller.call(async()=>{let s=await this._fetch(`${this.apiUrl}/annotation-queues/${ve(t,"queueId")}/runs`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:r});return await se(s,"add runs to annotation queue",!0),s})}async getRunFromAnnotationQueue(t,n){let r=`/annotation-queues/${ve(t,"queueId")}/run`,s=await(await this.caller.call(async()=>{let a=await this._fetch(`${this.apiUrl}${r}/${n}`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(a,"get run from annotation queue"),a})).json();return po(s)}async deleteRunFromAnnotationQueue(t,n){await this.caller.call(async()=>{let r=await this._fetch(`${this.apiUrl}/annotation-queues/${ve(t,"queueId")}/runs/${ve(n,"queueRunId")}`,{method:"DELETE",headers:{...this.headers,Accept:"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(r,"delete run from annotation queue",!0),r})}async getSizeFromAnnotationQueue(t){return(await this.caller.call(async()=>{let n=await this._fetch(`${this.apiUrl}/annotation-queues/${ve(t,"queueId")}/size`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(n,"get size from annotation queue"),n})).json()}async _currentTenantIsOwner(t){let n=await this._getSettings();return t=="-"||n.tenant_handle===t}async _ownerConflictError(t,n){let r=await this._getSettings();return new Error(`Cannot ${t} for another tenant.
49
-
50
- Current tenant: ${r.tenant_handle}
51
-
52
- Requested tenant: ${n}`)}async _getLatestCommitHash(t){let n=await(await this.caller.call(async()=>{let r=await this._fetch(`${this.apiUrl}/commits/${t}/?limit=1&offset=0`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(r,"get latest commit hash"),r})).json();if(n.commits.length!==0)return n.commits[0].commit_hash}async _likeOrUnlikePrompt(t,n){let[r,s,a]=Cr(t),i=JSON.stringify({like:n});return(await this.caller.call(async()=>{let o=await this._fetch(`${this.apiUrl}/likes/${r}/${s}`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:i});return await se(o,`${n?"like":"unlike"} prompt`),o})).json()}async _getPromptUrl(t){let[n,r,s]=Cr(t);if(await this._currentTenantIsOwner(n)){let a=await this._getSettings();return s!=="latest"?`${this.getHostUrl()}/prompts/${r}/${s.substring(0,8)}?organizationId=${a.id}`:`${this.getHostUrl()}/prompts/${r}?organizationId=${a.id}`}else return s!=="latest"?`${this.getHostUrl()}/hub/${n}/${r}/${s.substring(0,8)}`:`${this.getHostUrl()}/hub/${n}/${r}`}async promptExists(t){return!!await this.getPrompt(t)}async likePrompt(t){return this._likeOrUnlikePrompt(t,!0)}async unlikePrompt(t){return this._likeOrUnlikePrompt(t,!1)}async*listCommits(t){let[n,r,s]=Cr(t);for await(let a of this._getPaginated(`/commits/${n}/${r}/`,new URLSearchParams,i=>i.commits))yield*a}async*listPrompts(t){let n=new URLSearchParams;n.append("sort_field",t?.sortField??"updated_at"),n.append("sort_direction","desc"),n.append("is_archived",(!!t?.isArchived).toString()),t?.isPublic!==void 0&&n.append("is_public",t.isPublic.toString()),t?.query&&n.append("query",t.query);for await(let r of this._getPaginated("/repos",n,s=>s.repos))yield*r}async getPrompt(t){let[n,r,s]=Cr(t),a=await(await this.caller.call(async()=>{let i=await this._fetch(`${this.apiUrl}/repos/${n}/${r}`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return i?.status===404?null:(await se(i,"get prompt"),i)}))?.json();return a?.repo?a.repo:null}async createPrompt(t,n){let r=await this._getSettings();if(n?.isPublic&&!r.tenant_handle)throw new Error(`Cannot create a public prompt without first
53
-
54
- creating a LangChain Hub handle.
55
- You can add a handle by creating a public prompt at:
56
-
57
- https://smith.langchain.com/prompts`);let[s,a,i]=Cr(t);if(!await this._currentTenantIsOwner(s))throw await this._ownerConflictError("create a prompt",s);let o={repo_handle:a,...n?.description&&{description:n.description},...n?.readme&&{readme:n.readme},...n?.tags&&{tags:n.tags},is_public:!!n?.isPublic},c=JSON.stringify(o),u=await this.caller.call(async()=>{let d=await this._fetch(`${this.apiUrl}/repos/`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:c});return await se(d,"create prompt"),d}),{repo:l}=await u.json();return l}async createCommit(t,n,r){if(!await this.promptExists(t))throw new Error("Prompt does not exist, you must create it first.");let[s,a,i]=Cr(t),o=r?.parentCommitHash==="latest"||!r?.parentCommitHash?await this._getLatestCommitHash(`${s}/${a}`):r?.parentCommitHash,c={manifest:JSON.parse(JSON.stringify(n)),parent_commit:o},u=JSON.stringify(c),l=await(await this.caller.call(async()=>{let d=await this._fetch(`${this.apiUrl}/commits/${s}/${a}`,{method:"POST",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:u});return await se(d,"create commit"),d})).json();return this._getPromptUrl(`${s}/${a}${l.commit_hash?`:${l.commit_hash}`:""}`)}async updateExamplesMultipart(t,n=[]){return this._updateExamplesMultipart(t,n)}async _updateExamplesMultipart(t,n=[]){if(!await this._getDatasetExamplesMultiPartSupport())throw new Error("Your LangSmith deployment does not allow using the multipart examples endpoint, please upgrade your deployment to the latest version.");let r=new FormData;for(let a of n){let i=a.id,o={...a.metadata&&{metadata:a.metadata},...a.split&&{split:a.split}},c=bn(o,`Serializing body for example with id: ${i}`),u=new Blob([c],{type:"application/json"});if(r.append(i,u),a.inputs){let l=bn(a.inputs,`Serializing inputs for example with id: ${i}`),d=new Blob([l],{type:"application/json"});r.append(`${i}.inputs`,d)}if(a.outputs){let l=bn(a.outputs,`Serializing outputs whle updating example with id: ${i}`),d=new Blob([l],{type:"application/json"});r.append(`${i}.outputs`,d)}if(a.attachments)for(let[l,d]of Object.entries(a.attachments)){let p,h;Array.isArray(d)?[p,h]=d:(p=d.mimeType,h=d.data);let f=new Blob([h],{type:`${p}; length=${h.byteLength}`});r.append(`${i}.attachment.${l}`,f)}if(a.attachments_operations){let l=bn(a.attachments_operations,`Serializing attachments while updating example with id: ${i}`),d=new Blob([l],{type:"application/json"});r.append(`${i}.attachments_operations`,d)}}let s=t??n[0]?.dataset_id;return(await this.caller.call(async()=>{let a=await this._fetch(`${this.apiUrl}${this._getPlatformEndpointPath(`datasets/${s}/examples`)}`,{method:"PATCH",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:r});return await se(a,"update examples"),a})).json()}async uploadExamplesMultipart(t,n=[]){return this._uploadExamplesMultipart(t,n)}async _uploadExamplesMultipart(t,n=[]){if(!await this._getDatasetExamplesMultiPartSupport())throw new Error("Your LangSmith deployment does not allow using the multipart examples endpoint, please upgrade your deployment to the latest version.");let r=new FormData;for(let s of n){let a=(s.id??Gs()).toString(),i={created_at:s.created_at,...s.metadata&&{metadata:s.metadata},...s.split&&{split:s.split},...s.source_run_id&&{source_run_id:s.source_run_id},...s.use_source_run_io&&{use_source_run_io:s.use_source_run_io},...s.use_source_run_attachments&&{use_source_run_attachments:s.use_source_run_attachments}},o=bn(i,`Serializing body for uploaded example with id: ${a}`),c=new Blob([o],{type:"application/json"});if(r.append(a,c),s.inputs){let u=bn(s.inputs,`Serializing inputs for uploaded example with id: ${a}`),l=new Blob([u],{type:"application/json"});r.append(`${a}.inputs`,l)}if(s.outputs){let u=bn(s.outputs,`Serializing outputs for uploaded example with id: ${a}`),l=new Blob([u],{type:"application/json"});r.append(`${a}.outputs`,l)}if(s.attachments)for(let[u,l]of Object.entries(s.attachments)){let d,p;Array.isArray(l)?[d,p]=l:(d=l.mimeType,p=l.data);let h=new Blob([p],{type:`${d}; length=${p.byteLength}`});r.append(`${a}.attachment.${u}`,h)}}return(await this.caller.call(async()=>{let s=await this._fetch(`${this.apiUrl}${this._getPlatformEndpointPath(`datasets/${t}/examples`)}`,{method:"POST",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:r});return await se(s,"upload examples"),s})).json()}async updatePrompt(t,n){if(!await this.promptExists(t))throw new Error("Prompt does not exist, you must create it first.");let[r,s]=Cr(t);if(!await this._currentTenantIsOwner(r))throw await this._ownerConflictError("update a prompt",r);let a={};if(n?.description!==void 0&&(a.description=n.description),n?.readme!==void 0&&(a.readme=n.readme),n?.tags!==void 0&&(a.tags=n.tags),n?.isPublic!==void 0&&(a.is_public=n.isPublic),n?.isArchived!==void 0&&(a.is_archived=n.isArchived),Object.keys(a).length===0)throw new Error("No valid update options provided");let i=JSON.stringify(a);return(await this.caller.call(async()=>{let o=await this._fetch(`${this.apiUrl}/repos/${r}/${s}`,{method:"PATCH",headers:{...this.headers,"Content-Type":"application/json"},signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions,body:i});return await se(o,"update prompt"),o})).json()}async deletePrompt(t){if(!await this.promptExists(t))throw new Error("Prompt does not exist, you must create it first.");let[n,r,s]=Cr(t);if(!await this._currentTenantIsOwner(n))throw await this._ownerConflictError("delete a prompt",n);return(await this.caller.call(async()=>{let a=await this._fetch(`${this.apiUrl}/repos/${n}/${r}`,{method:"DELETE",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(a,"delete prompt"),a})).json()}_getPromptCacheKey(t,n){return`${t}${n?":with_model":""}`}async _fetchPromptFromApi(t,n){let[r,s,a]=Cr(t),i=await(await this.caller.call(async()=>{let o=await this._fetch(`${this.apiUrl}/commits/${r}/${s}/${a}${n?.includeModel?"?include_model=true":""}`,{method:"GET",headers:this.headers,signal:AbortSignal.timeout(this.timeout_ms),...this.fetchOptions});return await se(o,"pull prompt commit"),o})).json();return{owner:r,repo:s,commit_hash:i.commit_hash,manifest:i.manifest,examples:i.examples}}async pullPromptCommit(t,n){let r=this._fetchPromptFromApi.bind(this,t,n);if(!n?.skipCache&&this._promptCache){let s=this._getPromptCacheKey(t,n?.includeModel),a=this._promptCache.get(s,r);if(a)return a;let i=await r();return this._promptCache.set(s,i,r),i}return this._fetchPromptFromApi(t,n)}async _pullPrompt(t,n){let r=await this.pullPromptCommit(t,{includeModel:n?.includeModel,skipCache:n?.skipCache});return JSON.stringify(r.manifest)}async pushPrompt(t,n){return await this.promptExists(t)?n&&Object.keys(n).some(r=>r!=="object")&&await this.updatePrompt(t,{description:n?.description,readme:n?.readme,tags:n?.tags,isPublic:n?.isPublic}):await this.createPrompt(t,{description:n?.description,readme:n?.readme,tags:n?.tags,isPublic:n?.isPublic}),n?.object?await this.createCommit(t,n?.object,{parentCommitHash:n?.parentCommitHash}):await this._getPromptUrl(t)}async clonePublicDataset(t,n={}){let{sourceApiUrl:r=this.apiUrl,datasetName:s}=n,[a,i]=this.parseTokenOrUrl(t,r),o=new e({apiUrl:a,apiKey:"placeholder"}),c=await o.readSharedDataset(i),u=s||c.name;try{if(await this.hasDataset({datasetId:u})){console.log(`Dataset ${u} already exists in your tenant. Skipping.`);return}}catch{}let l=await o.listSharedExamples(i),d=await this.createDataset(u,{description:c.description,dataType:c.data_type||"kv",inputsSchema:c.inputs_schema_definition??void 0,outputsSchema:c.outputs_schema_definition??void 0});try{await this.createExamples({inputs:l.map(p=>p.inputs),outputs:l.flatMap(p=>p.outputs?[p.outputs]:[]),datasetId:d.id})}catch(p){throw console.error(`An error occurred while creating dataset ${u}. You should delete it manually.`),p}}parseTokenOrUrl(t,n,r=2,s="dataset"){try{return ve(t),[n,t]}catch{}try{let a=new URL(t).pathname.split("/").filter(i=>i!=="");if(a.length>=r){let i=a[a.length-r];return[n,i]}else throw new Error(`Invalid public ${s} URL: ${t}`)}catch{throw new Error(`Invalid public ${s} URL or token: ${t}`)}}cleanup(){this._promptCache&&this._promptCache.stop()}async awaitPendingTraceBatches(){if(this.manualFlushMode)return console.warn("[WARNING]: When tracing in manual flush mode, you must call `await client.flush()` manually to submit trace batches."),Promise.resolve();await new Promise(t=>setTimeout(t,1)),await Promise.all([...this.autoBatchQueue.items.map(({itemPromise:t})=>t),this.batchIngestCaller.queue.onIdle()]),this.langSmithToOTELTranslator!==void 0&&await ON()?.DEFAULT_LANGSMITH_SPAN_PROCESSOR?.forceFlush()}};Object.defineProperty(ki,"_fallbackDirsCreated",{enumerable:!0,configurable:!0,writable:!0,value:new Set});function fw(e){return"dataset_id"in e||"dataset_name"in e}var AP=e=>!!["TRACING_V2","TRACING"].find(t=>Pt(t)==="true"),fs=Symbol.for("lc:context_variables"),mf=Symbol.for("langsmith:replica_trace_roots");function mw(e,t){if(fs in e)return e[fs][t]}function $P(e,t,n){let r=fs in e?e[fs]:{};r[t]=n,e[fs]=r}var CP="6ba7b810-9dad-11d1-80b4-00c04fd430c8";function gw(e){let t=Object.keys(e).sort().map(n=>`${n}:${e[n]??""}`).join("|");return sk(t,CP)}function NP(e){return e.replace(/[-:.]/g,"")}function dx(e,t=1){let n=t.toFixed(0).slice(0,3).padStart(3,"0");return`${new Date(e).toISOString().slice(0,-1)}${n}Z`}function px(e,t,n=1){let r=dx(e,n);return{dottedOrder:NP(r)+t,microsecondPrecisionDatestring:r}}var PP=new Set(["projectName","updates","reroot"]);function jP(e){let t={};for(let n of Object.keys(e))PP.has(n)&&(t[n]=e[n]);return t}var Rl=class e{constructor(t,n,r,s){Object.defineProperty(this,"metadata",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"tags",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"project_name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"replicas",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.metadata=t,this.tags=n,this.project_name=r,this.replicas=s}static fromHeader(t){let n=t.split(","),r={},s=[],a,i;for(let o of n){let[c,u]=o.split("="),l=decodeURIComponent(u);c==="langsmith-metadata"?r=JSON.parse(l):c==="langsmith-tags"?s=l.split(","):c==="langsmith-project"?a=l:c==="langsmith-replicas"&&(i=JSON.parse(l).map(d=>Array.isArray(d)?d:jP(d)))}return new e(r,s,a,i)}toHeader(){let t=[];return this.metadata&&Object.keys(this.metadata).length>0&&t.push(`langsmith-metadata=${encodeURIComponent(JSON.stringify(this.metadata))}`),this.tags&&this.tags.length>0&&t.push(`langsmith-tags=${encodeURIComponent(this.tags.join(","))}`),this.project_name&&t.push(`langsmith-project=${encodeURIComponent(this.project_name)}`),t.join(",")}},xi=class e{constructor(t){if(Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"run_type",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"project_name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"parent_run",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"parent_run_id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"child_runs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"start_time",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"end_time",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"extra",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"tags",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"error",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"serialized",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"inputs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"outputs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"reference_example_id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"client",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"events",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"trace_id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"dotted_order",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"tracingEnabled",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"execution_order",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"child_execution_order",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"attachments",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"replicas",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"distributedParentId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_serialized_start_time",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_awaitInputsOnPost",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),RP(t)){Object.assign(this,{...t});return}let n=e.getDefaultConfig(),{metadata:r,...s}=t,a=s.client??e.getSharedClient(),i={...r,...s?.extra?.metadata};if(s.extra={...s.extra,metadata:i},"id"in s&&s.id==null&&delete s.id,Object.assign(this,{...n,...s,client:a}),this.execution_order??=1,this.child_execution_order??=1,this.dotted_order||(this._serialized_start_time=dx(this.start_time,this.execution_order)),this.id||(this.id=sN(this._serialized_start_time??this.start_time)),this.trace_id||(this.parent_run?this.trace_id=this.parent_run.trace_id??this.id:this.trace_id=this.id),this.replicas=UP(this.replicas),!this.dotted_order){let{dottedOrder:o}=px(this.start_time,this.id,this.execution_order);this.parent_run?this.dotted_order=this.parent_run.dotted_order+"."+o:this.dotted_order=o}}set metadata(t){this.extra={...this.extra,metadata:{...this.extra?.metadata,...t}}}get metadata(){return this.extra?.metadata}static getDefaultConfig(){let t=Date.now();return{run_type:"chain",project_name:Zk(),child_runs:[],api_url:Ir("LANGCHAIN_ENDPOINT")??"http://localhost:1984",api_key:Ir("LANGCHAIN_API_KEY"),caller_options:{},start_time:t,serialized:{},inputs:{},extra:{}}}static getSharedClient(){return e.sharedClient||(e.sharedClient=new ki),e.sharedClient}createChild(t){let n=this.child_execution_order+1,r=this.replicas?.map(p=>{let{reroot:h,...f}=p;return f}),s=t.replicas??r,a=new e({...t,parent_run:this,project_name:this.project_name,replicas:s,client:this.client,tracingEnabled:this.tracingEnabled,execution_order:n,child_execution_order:n}),i=this.extra?.metadata??{},o=a.extra?.metadata??{};Object.keys(i).length>0&&(a.extra={...a.extra,metadata:{...i,...o}}),fs in this&&(a[fs]=this[fs]);let c=Symbol.for("lc:child_config"),u=t.extra?.[c]??this.extra[c];if(LP(u)){let p={...u},h=MP(p.callbacks)?p.callbacks.copy?.():void 0;h&&(Object.assign(h,{_parentRunId:a.id}),h.handlers?.find(hx)?.updateFromRunTree?.(a),p.callbacks=h),a.extra[c]=p}let l=new Set,d=this;for(;d!=null&&!l.has(d.id);)l.add(d.id),d.child_execution_order=Math.max(d.child_execution_order,n),d=d.parent_run;return this.child_runs.push(a),a}async end(t,n,r=Date.now(),s){this.outputs=this.outputs??t,this.error=this.error??n,this.end_time=this.end_time??r,s&&Object.keys(s).length>0&&(this.extra=this.extra?{...this.extra,metadata:{...this.extra.metadata,...s}}:{metadata:s})}_convertToCreate(t,n,r=!0){let s=t.extra??{};if(s?.runtime?.library===void 0&&(s.runtime||(s.runtime={}),n))for(let[o,c]of Object.entries(n))s.runtime[o]||(s.runtime[o]=c);let a=t.parent_run?.id??t.parent_run_id,i;return r?i=[]:i=t.child_runs.map(o=>this._convertToCreate(o,n,r)),{id:t.id,name:t.name,start_time:t._serialized_start_time??t.start_time,end_time:t.end_time,run_type:t.run_type,reference_example_id:t.reference_example_id,extra:s,serialized:t.serialized,error:t.error,inputs:t.inputs,outputs:t.outputs,session_name:t.project_name,child_runs:i,parent_run_id:a,trace_id:t.trace_id,dotted_order:t.dotted_order,tags:t.tags,attachments:t.attachments,events:t.events}}_sliceParentId(t,n){if(n.dotted_order){let r=n.dotted_order.split("."),s=null;for(let a=0;a<r.length;a++)if(r[a].slice(-36)===t){s=a;break}if(s!==null){let a=r.slice(s+1);n.dotted_order=a.join("."),a.length>0?n.trace_id=a[0].slice(-36):n.trace_id=n.id}}n.parent_run_id===t&&(n.parent_run_id=void 0)}_setReplicaTraceRoot(t,n){let r=mw(this,mf)??{};r[t]=n,$P(this,mf,r);for(let s of this.child_runs)s._setReplicaTraceRoot(t,n)}_remapForProject(t){let{projectName:n,runtimeEnv:r,excludeChildRuns:s=!0,reroot:a=!1,distributedParentId:i,apiUrl:o,apiKey:c,workspaceId:u}=t,l=this._convertToCreate(this,r,s);if(n===this.project_name)return{...l,session_name:n};if(a){if(i)this._sliceParentId(i,l);else if(l.parent_run_id=void 0,l.dotted_order){let y=l.dotted_order.split(".");y.length>0&&(l.dotted_order=y[y.length-1],l.trace_id=l.id)}let g=gw({projectName:n,apiUrl:o,apiKey:c,workspaceId:u});this._setReplicaTraceRoot(g,l.id)}let d;if(!a){let g=mw(this,mf)??{},y=gw({projectName:n,apiUrl:o,apiKey:c,workspaceId:u});if(d=g[y],d&&(l.trace_id=d,l.dotted_order)){let k=l.dotted_order.split("."),x=null;for(let S=0;S<k.length;S++)if(k[S].slice(-36)===d){x=S;break}if(x!==null){let S=k.slice(x);l.dotted_order=S.join(".")}}}let p=l.id,h=yu(p,n),f;l.trace_id?f=yu(l.trace_id,n):f=h;let m;l.parent_run_id&&(m=yu(l.parent_run_id,n));let v;return l.dotted_order&&(v=l.dotted_order.split(".").map(g=>{let y=g.slice(-36),k=yu(y,n);return g.slice(0,-36)+k}).join(".")),{...l,id:h,trace_id:f,parent_run_id:m,dotted_order:v,session_name:n}}async postRun(t=!0){this._awaitInputsOnPost&&(this.inputs=await this.inputs);try{let n=ex();if(this.replicas&&this.replicas.length>0)for(let{projectName:r,apiKey:s,apiUrl:a,workspaceId:i,reroot:o}of this.replicas){let c=this._remapForProject({projectName:r??this.project_name,runtimeEnv:n,excludeChildRuns:!0,reroot:o,distributedParentId:this.distributedParentId,apiUrl:a,apiKey:s,workspaceId:i});await this.client.createRun(c,{apiKey:s,apiUrl:a,workspaceId:i})}else{let r=this._convertToCreate(this,n,t);await this.client.createRun(r)}if(!t){rl("Posting with excludeChildRuns=false is deprecated and will be removed in a future version.");for(let r of this.child_runs)await r.postRun(!1)}this.child_runs=[]}catch(n){console.error(`Error in postRun for run ${this.id}:`,n)}}async patchRun(t){if(this.replicas&&this.replicas.length>0)for(let{projectName:n,apiKey:r,apiUrl:s,workspaceId:a,updates:i,reroot:o}of this.replicas){let c=this._remapForProject({projectName:n??this.project_name,runtimeEnv:void 0,excludeChildRuns:!0,reroot:o,distributedParentId:this.distributedParentId,apiUrl:s,apiKey:r,workspaceId:a}),u={id:c.id,name:c.name,run_type:c.run_type,start_time:c.start_time,outputs:c.outputs,error:c.error,parent_run_id:c.parent_run_id,session_name:c.session_name,reference_example_id:c.reference_example_id,end_time:c.end_time,dotted_order:c.dotted_order,trace_id:c.trace_id,events:c.events,tags:c.tags,extra:c.extra,attachments:this.attachments,...i};t?.excludeInputs||(u.inputs=c.inputs),await this.client.updateRun(c.id,u,{apiKey:r,apiUrl:s,workspaceId:a})}else try{let n={name:this.name,run_type:this.run_type,start_time:this._serialized_start_time??this.start_time,end_time:this.end_time,error:this.error,outputs:this.outputs,parent_run_id:this.parent_run?.id??this.parent_run_id,reference_example_id:this.reference_example_id,extra:this.extra,events:this.events,dotted_order:this.dotted_order,trace_id:this.trace_id,tags:this.tags,attachments:this.attachments,session_name:this.project_name};t?.excludeInputs||(n.inputs=this.inputs),await this.client.updateRun(this.id,n)}catch(n){console.error(`Error in patchRun for run ${this.id}`,n)}this.child_runs=[]}toJSON(){return this._convertToCreate(this,void 0,!1)}addEvent(t){this.events||(this.events=[]),typeof t=="string"?this.events.push({name:"event",time:new Date().toISOString(),message:t}):this.events.push({...t,time:t.time??new Date().toISOString()})}static fromRunnableConfig(t,n){let r=t?.callbacks,s,a,i,o=AP();if(r){let c=r?.getParentRunId?.()??"",u=r?.handlers?.find(l=>l?.name=="langchain_tracer");s=u?.getRun?.(c),a=u?.projectName,i=u?.client,o=o||!!u}return s?new e({name:s.name,id:s.id,trace_id:s.trace_id,dotted_order:s.dotted_order,client:i,tracingEnabled:o,project_name:a,tags:[...new Set((s?.tags??[]).concat(t?.tags??[]))],extra:{metadata:{...s?.extra?.metadata,...t?.metadata}}}).createChild(n):new e({...n,client:i,tracingEnabled:o,project_name:a})}static fromDottedOrder(t){return this.fromHeaders({"langsmith-trace":t})}static fromHeaders(t,n){let r="get"in t&&typeof t.get=="function"?{"langsmith-trace":t.get("langsmith-trace"),baggage:t.get("baggage")}:t,s=r["langsmith-trace"];if(!s||typeof s!="string")return;let a=s.trim(),i=a.split(".").map(l=>{let[d,p]=l.split("Z");return{strTime:d,time:Date.parse(d+"Z"),uuid:p}}),o=i[0].uuid,c={...n,name:n?.name??"parent",run_type:n?.run_type??"chain",start_time:n?.start_time??Date.now(),id:i.at(-1)?.uuid,trace_id:o,dotted_order:a};if(r.baggage&&typeof r.baggage=="string"){let l=Rl.fromHeader(r.baggage);c.metadata=l.metadata,c.tags=l.tags,c.project_name=l.project_name,c.replicas=l.replicas}let u=new e(c);return u.distributedParentId=u.id,u}toHeaders(t){let n={"langsmith-trace":this.dotted_order,baggage:new Rl(this.extra?.metadata,this.tags,this.project_name,this.replicas).toHeader()};if(t)for(let[r,s]of Object.entries(n))t.set(r,s);return n}};Object.defineProperty(xi,"sharedClient",{enumerable:!0,configurable:!0,writable:!0,value:null});function RP(e){return e!=null&&typeof e.createChild=="function"&&typeof e.postRun=="function"}function hx(e){return typeof e=="object"&&e!=null&&typeof e.name=="string"&&e.name==="langchain_tracer"}function yw(e){return Array.isArray(e)&&e.some(t=>hx(t))}function MP(e){return typeof e=="object"&&e!=null&&Array.isArray(e.handlers)}function LP(e){let t=e?.callbacks;return e!=null&&typeof t=="object"&&(yw(t?.handlers)||yw(t))}function zP(){let e=Ir("LANGSMITH_RUNS_ENDPOINTS");if(!e)return[];try{let t=JSON.parse(e);if(Array.isArray(t)){let n=[];for(let r of t){if(typeof r!="object"||r===null){console.warn(`Invalid item type in LANGSMITH_RUNS_ENDPOINTS: expected object, got ${typeof r}`);continue}if(typeof r.api_url!="string"){console.warn(`Invalid api_url type in LANGSMITH_RUNS_ENDPOINTS: expected string, got ${typeof r.api_url}`);continue}if(typeof r.api_key!="string"){console.warn(`Invalid api_key type in LANGSMITH_RUNS_ENDPOINTS: expected string, got ${typeof r.api_key}`);continue}n.push({apiUrl:r.api_url.replace(/\/$/,""),apiKey:r.api_key})}return n}else if(typeof t=="object"&&t!==null){DP(t);let n=[];for(let[r,s]of Object.entries(t)){let a=r.replace(/\/$/,"");if(typeof s=="string")n.push({apiUrl:a,apiKey:s});else{console.warn(`Invalid value type in LANGSMITH_RUNS_ENDPOINTS for URL ${r}: expected string, got ${typeof s}`);continue}}return n}else return console.warn(`Invalid LANGSMITH_RUNS_ENDPOINTS \u2013 must be valid JSON array of objects with api_url and api_key properties, or object mapping url->apiKey, got ${typeof t}`),[]}catch(t){if(gP(t))throw t;return console.warn("Invalid LANGSMITH_RUNS_ENDPOINTS \u2013 must be valid JSON array of objects with api_url and api_key properties, or object mapping url->apiKey"),[]}}function UP(e){return e?e.map(t=>Array.isArray(t)?{projectName:t[0],updates:t[1]}:t):zP()}function DP(e){if(Object.keys(e).length>0&&Pt("ENDPOINT"))throw new wm}var FP=Q({BaseTracer:()=>Xr,isBaseTracer:()=>Wa}),BP=e=>{if(e)return e.events=e.events??[],e.child_runs=e.child_runs??[],e};function xm(e,t){if(e)return new xi({...e,start_time:e._serialized_start_time??e.start_time,parent_run:xm(t),child_runs:e.child_runs.map(n=>xm(n)).filter(n=>n!==void 0),extra:{...e.extra,runtime:mk()},tracingEnabled:!1})}function gf(e,t){return e&&!Array.isArray(e)&&typeof e=="object"?e:{[t]:e}}function Wa(e){return typeof e._addRunToRunMap=="function"}var Xr=class extends Ca{runMap=new Map;runTreeMap=new Map;usesRunTreeMap=!1;constructor(e){super(...arguments)}copy(){return this}getRunById(e){if(e!==void 0)return this.usesRunTreeMap?BP(this.runTreeMap.get(e)):this.runMap.get(e)}stringifyError(e){return e instanceof Error?e.message+(e?.stack?`
58
-
59
- ${e.stack}`:""):typeof e=="string"?e:`${e}`}_addChildRun(e,t){e.child_runs.push(t)}_addRunToRunMap(e){let{dottedOrder:t,microsecondPrecisionDatestring:n}=px(new Date(e.start_time).getTime(),e.id,e.execution_order),r={...e},s=this.getRunById(r.parent_run_id);if(r.parent_run_id!==void 0?s?(this._addChildRun(s,r),s.child_execution_order=Math.max(s.child_execution_order,r.child_execution_order),r.trace_id=s.trace_id,s.dotted_order!==void 0&&(r.dotted_order=[s.dotted_order,t].join("."),r._serialized_start_time=n)):r.parent_run_id=void 0:(r.trace_id=r.id,r.dotted_order=t,r._serialized_start_time=n),this.usesRunTreeMap){let a=xm(r,s);a!==void 0&&this.runTreeMap.set(r.id,a)}else this.runMap.set(r.id,r);return r}async _endTrace(e){let t=e.parent_run_id!==void 0&&this.getRunById(e.parent_run_id);t?t.child_execution_order=Math.max(t.child_execution_order,e.child_execution_order):await this.persistRun(e),await this.onRunUpdate?.(e),this.usesRunTreeMap?this.runTreeMap.delete(e.id):this.runMap.delete(e.id)}_getExecutionOrder(e){let t=e!==void 0&&this.getRunById(e);return t?t.child_execution_order+1:1}_createRunForLLMStart(e,t,n,r,s,a,i,o){let c=this._getExecutionOrder(r),u=Date.now(),l=i?{...s,metadata:i}:s,d={id:n,name:o??e.id[e.id.length-1],parent_run_id:r,start_time:u,serialized:e,events:[{name:"start",time:new Date(u).toISOString()}],inputs:{prompts:t},execution_order:c,child_runs:[],child_execution_order:c,run_type:"llm",extra:l??{},tags:a||[]};return this._addRunToRunMap(d)}async handleLLMStart(e,t,n,r,s,a,i,o){let c=this.getRunById(n)??this._createRunForLLMStart(e,t,n,r,s,a,i,o);return await this.onRunCreate?.(c),await this.onLLMStart?.(c),c}_createRunForChatModelStart(e,t,n,r,s,a,i,o){let c=this._getExecutionOrder(r),u=Date.now(),l=i?{...s,metadata:i}:s,d={id:n,name:o??e.id[e.id.length-1],parent_run_id:r,start_time:u,serialized:e,events:[{name:"start",time:new Date(u).toISOString()}],inputs:{messages:t},execution_order:c,child_runs:[],child_execution_order:c,run_type:"llm",extra:l??{},tags:a||[]};return this._addRunToRunMap(d)}async handleChatModelStart(e,t,n,r,s,a,i,o){let c=this.getRunById(n)??this._createRunForChatModelStart(e,t,n,r,s,a,i,o);return await this.onRunCreate?.(c),await this.onLLMStart?.(c),c}async handleLLMEnd(e,t,n,r,s){let a=this.getRunById(t);if(!a||a?.run_type!=="llm")throw new Error("No LLM run to end.");return a.end_time=Date.now(),a.outputs=e,a.events.push({name:"end",time:new Date(a.end_time).toISOString()}),a.extra={...a.extra,...s},await this.onLLMEnd?.(a),await this._endTrace(a),a}async handleLLMError(e,t,n,r,s){let a=this.getRunById(t);if(!a||a?.run_type!=="llm")throw new Error("No LLM run to end.");return a.end_time=Date.now(),a.error=this.stringifyError(e),a.events.push({name:"error",time:new Date(a.end_time).toISOString()}),a.extra={...a.extra,...s},await this.onLLMError?.(a),await this._endTrace(a),a}_createRunForChainStart(e,t,n,r,s,a,i,o,c){let u=this._getExecutionOrder(r),l=Date.now(),d={id:n,name:o??e.id[e.id.length-1],parent_run_id:r,start_time:l,serialized:e,events:[{name:"start",time:new Date(l).toISOString()}],inputs:t,execution_order:u,child_execution_order:u,run_type:i??"chain",child_runs:[],extra:a?{...c,metadata:a}:{...c},tags:s||[]};return this._addRunToRunMap(d)}async handleChainStart(e,t,n,r,s,a,i,o){let c=this.getRunById(n)??this._createRunForChainStart(e,t,n,r,s,a,i,o);return await this.onRunCreate?.(c),await this.onChainStart?.(c),c}async handleChainEnd(e,t,n,r,s){let a=this.getRunById(t);if(!a)throw new Error("No chain run to end.");return a.end_time=Date.now(),a.outputs=gf(e,"output"),a.events.push({name:"end",time:new Date(a.end_time).toISOString()}),s?.inputs!==void 0&&(a.inputs=gf(s.inputs,"input")),await this.onChainEnd?.(a),await this._endTrace(a),a}async handleChainError(e,t,n,r,s){let a=this.getRunById(t);if(!a)throw new Error("No chain run to end.");return a.end_time=Date.now(),a.error=this.stringifyError(e),a.events.push({name:"error",time:new Date(a.end_time).toISOString()}),s?.inputs!==void 0&&(a.inputs=gf(s.inputs,"input")),await this.onChainError?.(a),await this._endTrace(a),a}_createRunForToolStart(e,t,n,r,s,a,i){let o=this._getExecutionOrder(r),c=Date.now(),u={id:n,name:i??e.id[e.id.length-1],parent_run_id:r,start_time:c,serialized:e,events:[{name:"start",time:new Date(c).toISOString()}],inputs:{input:t},execution_order:o,child_execution_order:o,run_type:"tool",child_runs:[],extra:a?{metadata:a}:{},tags:s||[]};return this._addRunToRunMap(u)}async handleToolStart(e,t,n,r,s,a,i){let o=this.getRunById(n)??this._createRunForToolStart(e,t,n,r,s,a,i);return await this.onRunCreate?.(o),await this.onToolStart?.(o),o}async handleToolEnd(e,t){let n=this.getRunById(t);if(!n||n?.run_type!=="tool")throw new Error("No tool run to end");return n.end_time=Date.now(),n.outputs={output:e},n.events.push({name:"end",time:new Date(n.end_time).toISOString()}),await this.onToolEnd?.(n),await this._endTrace(n),n}async handleToolError(e,t){let n=this.getRunById(t);if(!n||n?.run_type!=="tool")throw new Error("No tool run to end");return n.end_time=Date.now(),n.error=this.stringifyError(e),n.events.push({name:"error",time:new Date(n.end_time).toISOString()}),await this.onToolError?.(n),await this._endTrace(n),n}async handleAgentAction(e,t){let n=this.getRunById(t);if(!n||n?.run_type!=="chain")return;let r=n;r.actions=r.actions||[],r.actions.push(e),r.events.push({name:"agent_action",time:new Date().toISOString(),kwargs:{action:e}}),await this.onAgentAction?.(n)}async handleAgentEnd(e,t){let n=this.getRunById(t);!n||n?.run_type!=="chain"||(n.events.push({name:"agent_end",time:new Date().toISOString(),kwargs:{action:e}}),await this.onAgentEnd?.(n))}_createRunForRetrieverStart(e,t,n,r,s,a,i){let o=this._getExecutionOrder(r),c=Date.now(),u={id:n,name:i??e.id[e.id.length-1],parent_run_id:r,start_time:c,serialized:e,events:[{name:"start",time:new Date(c).toISOString()}],inputs:{query:t},execution_order:o,child_execution_order:o,run_type:"retriever",child_runs:[],extra:a?{metadata:a}:{},tags:s||[]};return this._addRunToRunMap(u)}async handleRetrieverStart(e,t,n,r,s,a,i){let o=this.getRunById(n)??this._createRunForRetrieverStart(e,t,n,r,s,a,i);return await this.onRunCreate?.(o),await this.onRetrieverStart?.(o),o}async handleRetrieverEnd(e,t){let n=this.getRunById(t);if(!n||n?.run_type!=="retriever")throw new Error("No retriever run to end");return n.end_time=Date.now(),n.outputs={documents:e},n.events.push({name:"end",time:new Date(n.end_time).toISOString()}),await this.onRetrieverEnd?.(n),await this._endTrace(n),n}async handleRetrieverError(e,t){let n=this.getRunById(t);if(!n||n?.run_type!=="retriever")throw new Error("No retriever run to end");return n.end_time=Date.now(),n.error=this.stringifyError(e),n.events.push({name:"error",time:new Date(n.end_time).toISOString()}),await this.onRetrieverError?.(n),await this._endTrace(n),n}async handleText(e,t){let n=this.getRunById(t);!n||n?.run_type!=="chain"||(n.events.push({name:"text",time:new Date().toISOString(),kwargs:{text:e}}),await this.onText?.(n))}async handleLLMNewToken(e,t,n,r,s,a){let i=this.getRunById(n);if(!i||i?.run_type!=="llm")throw new Error('Invalid "runId" provided to "handleLLMNewToken" callback.');return i.events.push({name:"new_token",time:new Date().toISOString(),kwargs:{token:e,idx:t,chunk:a?.chunk}}),await this.onLLMNewToken?.(i,e,{chunk:a?.chunk}),i}},Om={exports:{}};Om.exports;var _w;function ZP(){return _w||(_w=1,(function(e){let t=(s=0)=>a=>`\x1B[${38+s};5;${a}m`,n=(s=0)=>(a,i,o)=>`\x1B[${38+s};2;${a};${i};${o}m`;function r(){let s=new Map,a={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};a.color.gray=a.color.blackBright,a.bgColor.bgGray=a.bgColor.bgBlackBright,a.color.grey=a.color.blackBright,a.bgColor.bgGrey=a.bgColor.bgBlackBright;for(let[i,o]of Object.entries(a)){for(let[c,u]of Object.entries(o))a[c]={open:`\x1B[${u[0]}m`,close:`\x1B[${u[1]}m`},o[c]=a[c],s.set(u[0],u[1]);Object.defineProperty(a,i,{value:o,enumerable:!1})}return Object.defineProperty(a,"codes",{value:s,enumerable:!1}),a.color.close="\x1B[39m",a.bgColor.close="\x1B[49m",a.color.ansi256=t(),a.color.ansi16m=n(),a.bgColor.ansi256=t(10),a.bgColor.ansi16m=n(10),Object.defineProperties(a,{rgbToAnsi256:{value:(i,o,c)=>i===o&&o===c?i<8?16:i>248?231:Math.round((i-8)/247*24)+232:16+36*Math.round(i/255*5)+6*Math.round(o/255*5)+Math.round(c/255*5),enumerable:!1},hexToRgb:{value:i=>{let o=/(?<colorString>[a-f\d]{6}|[a-f\d]{3})/i.exec(i.toString(16));if(!o)return[0,0,0];let{colorString:c}=o.groups;c.length===3&&(c=c.split("").map(l=>l+l).join(""));let u=Number.parseInt(c,16);return[u>>16&255,u>>8&255,u&255]},enumerable:!1},hexToAnsi256:{value:i=>a.rgbToAnsi256(...a.hexToRgb(i)),enumerable:!1}}),a}Object.defineProperty(e,"exports",{enumerable:!0,get:r})})(Om)),Om.exports}var VP=ZP(),fx=za(VP),qP=Q({ConsoleCallbackHandler:()=>Sm});function qt(e,t){return`${e.open}${t}${e.close}`}function Nn(e,t){try{return JSON.stringify(e,null,2)}catch{return t}}function vw(e){return typeof e=="string"?e.trim():e==null?e:Nn(e,e.toString())}function Yr(e){if(!e.end_time)return"";let t=e.end_time-e.start_time;return t<1e3?`${t}ms`:`${(t/1e3).toFixed(2)}s`}var{color:on}=fx,Sm=class extends Xr{name="console_callback_handler";persistRun(e){return Promise.resolve()}getParents(e){let t=[],n=e;for(;n.parent_run_id;){let r=this.runMap.get(n.parent_run_id);if(r)t.push(r),n=r;else break}return t}getBreadcrumbs(e){let t=[...this.getParents(e).reverse(),e].map((n,r,s)=>{let a=`${n.execution_order}:${n.run_type}:${n.name}`;return r===s.length-1?qt(fx.bold,a):a}).join(" > ");return qt(on.grey,t)}onChainStart(e){let t=this.getBreadcrumbs(e);console.log(`${qt(on.green,"[chain/start]")} [${t}] Entering Chain run with input: ${Nn(e.inputs,"[inputs]")}`)}onChainEnd(e){let t=this.getBreadcrumbs(e);console.log(`${qt(on.cyan,"[chain/end]")} [${t}] [${Yr(e)}] Exiting Chain run with output: ${Nn(e.outputs,"[outputs]")}`)}onChainError(e){let t=this.getBreadcrumbs(e);console.log(`${qt(on.red,"[chain/error]")} [${t}] [${Yr(e)}] Chain run errored with error: ${Nn(e.error,"[error]")}`)}onLLMStart(e){let t=this.getBreadcrumbs(e),n="prompts"in e.inputs?{prompts:e.inputs.prompts.map(r=>r.trim())}:e.inputs;console.log(`${qt(on.green,"[llm/start]")} [${t}] Entering LLM run with input: ${Nn(n,"[inputs]")}`)}onLLMEnd(e){let t=this.getBreadcrumbs(e);console.log(`${qt(on.cyan,"[llm/end]")} [${t}] [${Yr(e)}] Exiting LLM run with output: ${Nn(e.outputs,"[response]")}`)}onLLMError(e){let t=this.getBreadcrumbs(e);console.log(`${qt(on.red,"[llm/error]")} [${t}] [${Yr(e)}] LLM run errored with error: ${Nn(e.error,"[error]")}`)}onToolStart(e){let t=this.getBreadcrumbs(e);console.log(`${qt(on.green,"[tool/start]")} [${t}] Entering Tool run with input: "${vw(e.inputs.input)}"`)}onToolEnd(e){let t=this.getBreadcrumbs(e);console.log(`${qt(on.cyan,"[tool/end]")} [${t}] [${Yr(e)}] Exiting Tool run with output: "${vw(e.outputs?.output)}"`)}onToolError(e){let t=this.getBreadcrumbs(e);console.log(`${qt(on.red,"[tool/error]")} [${t}] [${Yr(e)}] Tool run errored with error: ${Nn(e.error,"[error]")}`)}onRetrieverStart(e){let t=this.getBreadcrumbs(e);console.log(`${qt(on.green,"[retriever/start]")} [${t}] Entering Retriever run with input: ${Nn(e.inputs,"[inputs]")}`)}onRetrieverEnd(e){let t=this.getBreadcrumbs(e);console.log(`${qt(on.cyan,"[retriever/end]")} [${t}] [${Yr(e)}] Exiting Retriever run with output: ${Nn(e.outputs,"[outputs]")}`)}onRetrieverError(e){let t=this.getBreadcrumbs(e);console.log(`${qt(on.red,"[retriever/error]")} [${t}] [${Yr(e)}] Retriever run errored with error: ${Nn(e.error,"[error]")}`)}onAgentAction(e){let t=e,n=this.getBreadcrumbs(e);console.log(`${qt(on.blue,"[agent/action]")} [${n}] Agent selected action: ${Nn(t.actions[t.actions.length-1],"[action]")}`)}},yf,mx=()=>(yf===void 0&&(yf=new ki(rr("LANGCHAIN_CALLBACKS_BACKGROUND")==="false"?{blockOnRootRunFinalization:!0}:{})),yf),HP=class{getStore(){}run(e,t){return t()}},_f=Symbol.for("ls:tracing_async_local_storage"),WP=new HP,JP=class{getInstance(){return globalThis[_f]??WP}initializeGlobalInstance(e){globalThis[_f]===void 0&&(globalThis[_f]=e)}},GP=new JP;function KP(e=!1){let t=GP.getInstance().getStore();if(!e&&t===void 0)throw new Error(`Could not get the current run tree.
60
-
61
- Please make sure you are calling this method within a traceable function and that tracing is enabled.`);return t}function Ly(e){return typeof e=="function"&&"langsmith:traceable"in e}var XP=Q({LangChainTracer:()=>Tm});function YP(e){let t;for(let n of e)for(let r of n)Ke.isInstance(r.message)&&r.message.usage_metadata!==void 0&&(t=Oy(t,r.message.usage_metadata));return t}var Tm=class gx extends Xr{name="langchain_tracer";projectName;exampleId;client;replicas;usesRunTreeMap=!0;constructor(t={}){super(t);let{exampleId:n,projectName:r,client:s,replicas:a}=t;this.projectName=r??Zk(),this.replicas=a,this.exampleId=n,this.client=s??mx();let i=gx.getTraceableRunTree();i&&this.updateFromRunTree(i)}async persistRun(t){}async onRunCreate(t){t.extra?.lc_defers_inputs||await this.getRunTreeWithTracingConfig(t.id)?.postRun()}async onRunUpdate(t){let n=this.getRunTreeWithTracingConfig(t.id);t.extra?.lc_defers_inputs?await n?.postRun():await n?.patchRun()}onLLMEnd(t){let n=t.outputs;if(n?.generations){let r=YP(n.generations);if(r!==void 0){t.extra=t.extra??{};let s=t.extra.metadata??{};s.usage_metadata=r,t.extra.metadata=s}}}getRun(t){return this.runTreeMap.get(t)}updateFromRunTree(t){this.runTreeMap.set(t.id,t);let n=t,r=new Set;for(;n.parent_run&&!(r.has(n.id)||(r.add(n.id),!n.parent_run));)n=n.parent_run;r.clear();let s=[n];for(;s.length>0;){let a=s.shift();!a||r.has(a.id)||(r.add(a.id),this.runTreeMap.set(a.id,a),a.child_runs&&s.push(...a.child_runs))}this.client=t.client??this.client,this.replicas=t.replicas??this.replicas,this.projectName=t.project_name??this.projectName,this.exampleId=t.reference_example_id??this.exampleId}getRunTreeWithTracingConfig(t){let n=this.runTreeMap.get(t);if(n)return new xi({...n,client:this.client,project_name:this.projectName,replicas:this.replicas,reference_example_id:this.exampleId,tracingEnabled:!0})}static getTraceableRunTree(){try{return KP(!0)}catch{return}}},yx=Symbol.for("ls:tracing_async_local_storage"),Do=Symbol.for("lc:context_variables"),QP=e=>{globalThis[yx]=e},Yo=()=>globalThis[yx],aa;function ej(){return new("default"in Vr?Vr.default:Vr)({autoStart:!0,concurrency:1})}function tj(){return typeof aa>"u"&&(aa=ej()),aa}async function ft(e,t){if(t===!0){let n=Yo();n!==void 0?await n.run(void 0,async()=>e()):await e()}else aa=tj(),aa.add(async()=>{let n=Yo();n!==void 0?await n.run(void 0,async()=>e()):await e()})}async function nj(){let e=mx();await Promise.allSettled([typeof aa<"u"?aa.onIdle():Promise.resolve(),e.awaitPendingTraceBatches()])}var rj=Q({awaitAllCallbacks:()=>nj,consumeCallback:()=>ft}),sj=e=>!!["LANGSMITH_TRACING_V2","LANGCHAIN_TRACING_V2","LANGSMITH_TRACING","LANGCHAIN_TRACING"].find(t=>rr(t)==="true");function _x(e){let t=Yo();if(t!==void 0)return t.getStore()?.[Do]?.[e]}var aj=Symbol("lc:configure_hooks"),ij=()=>_x(aj)||[],oj=Q({BaseCallbackManager:()=>vx,BaseRunManager:()=>Wc,CallbackManager:()=>Qt,CallbackManagerForChainRun:()=>bx,CallbackManagerForLLMRun:()=>Im,CallbackManagerForRetrieverRun:()=>wx,CallbackManagerForToolRun:()=>kx,ensureHandler:()=>Qo,parseCallbackConfigArg:()=>Hc});function Hc(e){return e?Array.isArray(e)||"name"in e?{callbacks:e}:e:{}}var vx=class{setHandler(e){return this.setHandlers([e])}},Wc=class{constructor(e,t,n,r,s,a,i,o){this.runId=e,this.handlers=t,this.inheritableHandlers=n,this.tags=r,this.inheritableTags=s,this.metadata=a,this.inheritableMetadata=i,this._parentRunId=o}get parentRunId(){return this._parentRunId}async handleText(e){await Promise.all(this.handlers.map(t=>ft(async()=>{try{await t.handleText?.(e,this.runId,this._parentRunId,this.tags)}catch(n){if((t.raiseError?console.error:console.warn)(`Error in handler ${t.constructor.name}, handleText: ${n}`),t.raiseError)throw n}},t.awaitHandlers)))}async handleCustomEvent(e,t,n,r,s){await Promise.all(this.handlers.map(a=>ft(async()=>{try{await a.handleCustomEvent?.(e,t,this.runId,this.tags,this.metadata)}catch(i){if((a.raiseError?console.error:console.warn)(`Error in handler ${a.constructor.name}, handleCustomEvent: ${i}`),a.raiseError)throw i}},a.awaitHandlers)))}},wx=class extends Wc{getChild(e){let t=new Qt(this.runId);return t.setHandlers(this.inheritableHandlers),t.addTags(this.inheritableTags),t.addMetadata(this.inheritableMetadata),e&&t.addTags([e],!1),t}async handleRetrieverEnd(e){await Promise.all(this.handlers.map(t=>ft(async()=>{if(!t.ignoreRetriever)try{await t.handleRetrieverEnd?.(e,this.runId,this._parentRunId,this.tags)}catch(n){if((t.raiseError?console.error:console.warn)(`Error in handler ${t.constructor.name}, handleRetriever`),t.raiseError)throw n}},t.awaitHandlers)))}async handleRetrieverError(e){await Promise.all(this.handlers.map(t=>ft(async()=>{if(!t.ignoreRetriever)try{await t.handleRetrieverError?.(e,this.runId,this._parentRunId,this.tags)}catch(n){if((t.raiseError?console.error:console.warn)(`Error in handler ${t.constructor.name}, handleRetrieverError: ${n}`),t.raiseError)throw e}},t.awaitHandlers)))}},Im=class extends Wc{async handleLLMNewToken(e,t,n,r,s,a){await Promise.all(this.handlers.map(i=>ft(async()=>{if(!i.ignoreLLM)try{await i.handleLLMNewToken?.(e,t??{prompt:0,completion:0},this.runId,this._parentRunId,this.tags,a)}catch(o){if((i.raiseError?console.error:console.warn)(`Error in handler ${i.constructor.name}, handleLLMNewToken: ${o}`),i.raiseError)throw o}},i.awaitHandlers)))}async handleLLMError(e,t,n,r,s){await Promise.all(this.handlers.map(a=>ft(async()=>{if(!a.ignoreLLM)try{await a.handleLLMError?.(e,this.runId,this._parentRunId,this.tags,s)}catch(i){if((a.raiseError?console.error:console.warn)(`Error in handler ${a.constructor.name}, handleLLMError: ${i}`),a.raiseError)throw i}},a.awaitHandlers)))}async handleLLMEnd(e,t,n,r,s){await Promise.all(this.handlers.map(a=>ft(async()=>{if(!a.ignoreLLM)try{await a.handleLLMEnd?.(e,this.runId,this._parentRunId,this.tags,s)}catch(i){if((a.raiseError?console.error:console.warn)(`Error in handler ${a.constructor.name}, handleLLMEnd: ${i}`),a.raiseError)throw i}},a.awaitHandlers)))}},bx=class extends Wc{getChild(e){let t=new Qt(this.runId);return t.setHandlers(this.inheritableHandlers),t.addTags(this.inheritableTags),t.addMetadata(this.inheritableMetadata),e&&t.addTags([e],!1),t}async handleChainError(e,t,n,r,s){await Promise.all(this.handlers.map(a=>ft(async()=>{if(!a.ignoreChain)try{await a.handleChainError?.(e,this.runId,this._parentRunId,this.tags,s)}catch(i){if((a.raiseError?console.error:console.warn)(`Error in handler ${a.constructor.name}, handleChainError: ${i}`),a.raiseError)throw i}},a.awaitHandlers)))}async handleChainEnd(e,t,n,r,s){await Promise.all(this.handlers.map(a=>ft(async()=>{if(!a.ignoreChain)try{await a.handleChainEnd?.(e,this.runId,this._parentRunId,this.tags,s)}catch(i){if((a.raiseError?console.error:console.warn)(`Error in handler ${a.constructor.name}, handleChainEnd: ${i}`),a.raiseError)throw i}},a.awaitHandlers)))}async handleAgentAction(e){await Promise.all(this.handlers.map(t=>ft(async()=>{if(!t.ignoreAgent)try{await t.handleAgentAction?.(e,this.runId,this._parentRunId,this.tags)}catch(n){if((t.raiseError?console.error:console.warn)(`Error in handler ${t.constructor.name}, handleAgentAction: ${n}`),t.raiseError)throw n}},t.awaitHandlers)))}async handleAgentEnd(e){await Promise.all(this.handlers.map(t=>ft(async()=>{if(!t.ignoreAgent)try{await t.handleAgentEnd?.(e,this.runId,this._parentRunId,this.tags)}catch(n){if((t.raiseError?console.error:console.warn)(`Error in handler ${t.constructor.name}, handleAgentEnd: ${n}`),t.raiseError)throw n}},t.awaitHandlers)))}},kx=class extends Wc{getChild(e){let t=new Qt(this.runId);return t.setHandlers(this.inheritableHandlers),t.addTags(this.inheritableTags),t.addMetadata(this.inheritableMetadata),e&&t.addTags([e],!1),t}async handleToolError(e){await Promise.all(this.handlers.map(t=>ft(async()=>{if(!t.ignoreAgent)try{await t.handleToolError?.(e,this.runId,this._parentRunId,this.tags)}catch(n){if((t.raiseError?console.error:console.warn)(`Error in handler ${t.constructor.name}, handleToolError: ${n}`),t.raiseError)throw n}},t.awaitHandlers)))}async handleToolEvent(e){await Promise.all(this.handlers.map(t=>ft(async()=>{if(!t.ignoreAgent)try{await t.handleToolEvent?.(e,this.runId,this._parentRunId,this.tags)}catch(n){if(t.raiseError)throw n}},t.awaitHandlers)))}async handleToolEnd(e){await Promise.all(this.handlers.map(t=>ft(async()=>{if(!t.ignoreAgent)try{await t.handleToolEnd?.(e,this.runId,this._parentRunId,this.tags)}catch(n){if((t.raiseError?console.error:console.warn)(`Error in handler ${t.constructor.name}, handleToolEnd: ${n}`),t.raiseError)throw n}},t.awaitHandlers)))}},Qt=class _o extends vx{handlers=[];inheritableHandlers=[];tags=[];inheritableTags=[];metadata={};inheritableMetadata={};name="callback_manager";_parentRunId;constructor(t,n){super(),this.handlers=n?.handlers??this.handlers,this.inheritableHandlers=n?.inheritableHandlers??this.inheritableHandlers,this.tags=n?.tags??this.tags,this.inheritableTags=n?.inheritableTags??this.inheritableTags,this.metadata=n?.metadata??this.metadata,this.inheritableMetadata=n?.inheritableMetadata??this.inheritableMetadata,this._parentRunId=t}getParentRunId(){return this._parentRunId}async handleLLMStart(t,n,r=void 0,s=void 0,a=void 0,i=void 0,o=void 0,c=void 0){return Promise.all(n.map(async(u,l)=>{let d=l===0&&r?r:rs();return await Promise.all(this.handlers.map(p=>{if(!p.ignoreLLM)return Wa(p)&&p._createRunForLLMStart(t,[u],d,this._parentRunId,a,this.tags,this.metadata,c),ft(async()=>{try{await p.handleLLMStart?.(t,[u],d,this._parentRunId,a,this.tags,this.metadata,c)}catch(h){if((p.raiseError?console.error:console.warn)(`Error in handler ${p.constructor.name}, handleLLMStart: ${h}`),p.raiseError)throw h}},p.awaitHandlers)})),new Im(d,this.handlers,this.inheritableHandlers,this.tags,this.inheritableTags,this.metadata,this.inheritableMetadata,this._parentRunId)}))}async handleChatModelStart(t,n,r=void 0,s=void 0,a=void 0,i=void 0,o=void 0,c=void 0){return Promise.all(n.map(async(u,l)=>{let d=l===0&&r?r:rs();return await Promise.all(this.handlers.map(p=>{if(!p.ignoreLLM)return Wa(p)&&p._createRunForChatModelStart(t,[u],d,this._parentRunId,a,this.tags,this.metadata,c),ft(async()=>{try{if(p.handleChatModelStart)await p.handleChatModelStart?.(t,[u],d,this._parentRunId,a,this.tags,this.metadata,c);else if(p.handleLLMStart){let h=Sy(u);await p.handleLLMStart?.(t,[h],d,this._parentRunId,a,this.tags,this.metadata,c)}}catch(h){if((p.raiseError?console.error:console.warn)(`Error in handler ${p.constructor.name}, handleLLMStart: ${h}`),p.raiseError)throw h}},p.awaitHandlers)})),new Im(d,this.handlers,this.inheritableHandlers,this.tags,this.inheritableTags,this.metadata,this.inheritableMetadata,this._parentRunId)}))}async handleChainStart(t,n,r=rs(),s=void 0,a=void 0,i=void 0,o=void 0,c=void 0,u=void 0){return await Promise.all(this.handlers.map(l=>{if(!l.ignoreChain)return Wa(l)&&l._createRunForChainStart(t,n,r,this._parentRunId,this.tags,this.metadata,s,o,u),ft(async()=>{try{await l.handleChainStart?.(t,n,r,this._parentRunId,this.tags,this.metadata,s,o,u)}catch(d){if((l.raiseError?console.error:console.warn)(`Error in handler ${l.constructor.name}, handleChainStart: ${d}`),l.raiseError)throw d}},l.awaitHandlers)})),new bx(r,this.handlers,this.inheritableHandlers,this.tags,this.inheritableTags,this.metadata,this.inheritableMetadata,this._parentRunId)}async handleToolStart(t,n,r=rs(),s=void 0,a=void 0,i=void 0,o=void 0,c=void 0){return await Promise.all(this.handlers.map(u=>{if(!u.ignoreAgent)return Wa(u)&&u._createRunForToolStart(t,n,r,this._parentRunId,this.tags,this.metadata,o),ft(async()=>{try{await u.handleToolStart?.(t,n,r,this._parentRunId,this.tags,this.metadata,o,c)}catch(l){if((u.raiseError?console.error:console.warn)(`Error in handler ${u.constructor.name}, handleToolStart: ${l}`),u.raiseError)throw l}},u.awaitHandlers)})),new kx(r,this.handlers,this.inheritableHandlers,this.tags,this.inheritableTags,this.metadata,this.inheritableMetadata,this._parentRunId)}async handleRetrieverStart(t,n,r=rs(),s=void 0,a=void 0,i=void 0,o=void 0){return await Promise.all(this.handlers.map(c=>{if(!c.ignoreRetriever)return Wa(c)&&c._createRunForRetrieverStart(t,n,r,this._parentRunId,this.tags,this.metadata,o),ft(async()=>{try{await c.handleRetrieverStart?.(t,n,r,this._parentRunId,this.tags,this.metadata,o)}catch(u){if((c.raiseError?console.error:console.warn)(`Error in handler ${c.constructor.name}, handleRetrieverStart: ${u}`),c.raiseError)throw u}},c.awaitHandlers)})),new wx(r,this.handlers,this.inheritableHandlers,this.tags,this.inheritableTags,this.metadata,this.inheritableMetadata,this._parentRunId)}async handleCustomEvent(t,n,r,s,a){await Promise.all(this.handlers.map(i=>ft(async()=>{if(!i.ignoreCustomEvent)try{await i.handleCustomEvent?.(t,n,r,this.tags,this.metadata)}catch(o){if((i.raiseError?console.error:console.warn)(`Error in handler ${i.constructor.name}, handleCustomEvent: ${o}`),i.raiseError)throw o}},i.awaitHandlers)))}addHandler(t,n=!0){this.handlers.push(t),n&&this.inheritableHandlers.push(t)}removeHandler(t){this.handlers=this.handlers.filter(n=>n!==t),this.inheritableHandlers=this.inheritableHandlers.filter(n=>n!==t)}setHandlers(t,n=!0){this.handlers=[],this.inheritableHandlers=[];for(let r of t)this.addHandler(r,n)}addTags(t,n=!0){this.removeTags(t),this.tags.push(...t),n&&this.inheritableTags.push(...t)}removeTags(t){this.tags=this.tags.filter(n=>!t.includes(n)),this.inheritableTags=this.inheritableTags.filter(n=>!t.includes(n))}addMetadata(t,n=!0){this.metadata={...this.metadata,...t},n&&(this.inheritableMetadata={...this.inheritableMetadata,...t})}removeMetadata(t){for(let n of Object.keys(t))delete this.metadata[n],delete this.inheritableMetadata[n]}copy(t=[],n=!0){let r=new _o(this._parentRunId);for(let s of this.handlers){let a=this.inheritableHandlers.includes(s);r.addHandler(s,a)}for(let s of this.tags){let a=this.inheritableTags.includes(s);r.addTags([s],a)}for(let s of Object.keys(this.metadata)){let a=Object.keys(this.inheritableMetadata).includes(s);r.addMetadata({[s]:this.metadata[s]},a)}for(let s of t)r.handlers.filter(a=>a.name==="console_callback_handler").some(a=>a.name===s.name)||r.addHandler(s,n);return r}static fromHandlers(t){class n extends Ca{name=rs();constructor(){super(),Object.assign(this,t)}}let r=new this;return r.addHandler(new n),r}static configure(t,n,r,s,a,i,o){return this._configureSync(t,n,r,s,a,i,o)}static _configureSync(t,n,r,s,a,i,o){let c;(t||n)&&(Array.isArray(t)||!t?(c=new _o,c.setHandlers(t?.map(Qo)??[],!0)):c=t,c=c.copy(Array.isArray(n)?n.map(Qo):n?.handlers,!1));let u=rr("LANGCHAIN_VERBOSE")==="true"||o?.verbose,l=Tm.getTraceableRunTree(),d=l?.tracingEnabled??sj();if(l?.tracingEnabled===!1&&c){let h=c.handlers.filter(f=>f.name==="langchain_tracer");for(let f of h)c.removeHandler(f)}let p=d||(rr("LANGCHAIN_TRACING")??!1);if(u||p){if(c||(c=new _o),u&&!c.handlers.some(h=>h.name===Sm.prototype.name)){let h=new Sm;c.addHandler(h,!0)}if(p&&!c.handlers.some(h=>h.name==="langchain_tracer")&&d){let h=new Tm;c.addHandler(h,!0)}d&&l&&c._parentRunId===void 0&&(c._parentRunId=l.id,c.handlers.find(h=>h.name==="langchain_tracer")?.updateFromRunTree(l))}for(let{contextVar:h,inheritable:f=!0,handlerClass:m,envVar:v}of ij()){let g=v&&rr(v)==="true"&&m,y,k=h!==void 0?_x(h):void 0;k&&Fk(k)?y=k:g&&(y=new m({})),y!==void 0&&(c||(c=new _o),c.handlers.some(x=>x.name===y.name)||c.addHandler(y,f))}return(r||s)&&c&&(c.addTags(r??[]),c.addTags(s??[],!1)),(a||i)&&c&&(c.addMetadata(a??{}),c.addMetadata(i??{},!1)),c}};function Qo(e){return"name"in e?e:Ca.fromMethods(e)}var xx=class{getStore(){}run(e,t){return t()}enterWith(e){}},cj=new xx,ww=Symbol.for("lc:child_config"),uj=class{getInstance(){return Yo()??cj}getRunnableConfig(){return this.getInstance().getStore()?.extra?.[ww]}runWithConfig(e,t,n){let r=Qt._configureSync(e?.callbacks,void 0,e?.tags,void 0,e?.metadata),s=this.getInstance(),a=s.getStore(),i=r?.getParentRunId(),o=r?.handlers?.find(u=>u?.name==="langchain_tracer"),c;return o&&i?c=o.getRunTreeWithTracingConfig(i):n||(c=new xi({name:"<runnable_lambda>",tracingEnabled:!1})),c&&(c.extra={...c.extra,[ww]:e}),a!==void 0&&a[Do]!==void 0&&(c===void 0&&(c={}),c[Do]=a[Do]),s.run(c,t)}initializeGlobalInstance(e){Yo()===void 0&&QP(e)}},Mt=new uj,lj=Q({AsyncLocalStorageProviderSingleton:()=>Mt,MockAsyncLocalStorage:()=>xx,_CONTEXT_VARIABLES_KEY:()=>Do});async function en(e){return Qt._configureSync(e?.callbacks,void 0,e?.tags,void 0,e?.metadata)}function jn(...e){let t={};for(let n of e.filter(r=>!!r))for(let r of Object.keys(n))if(r==="metadata")t[r]={...t[r],...n[r]};else if(r==="tags"){let s=t[r]??[];t[r]=[...new Set(s.concat(n[r]??[]))]}else if(r==="configurable")t[r]={...t[r],...n[r]};else if(r==="timeout")t.timeout===void 0?t.timeout=n.timeout:n.timeout!==void 0&&(t.timeout=Math.min(t.timeout,n.timeout));else if(r==="signal")t.signal===void 0?t.signal=n.signal:n.signal!==void 0&&("any"in AbortSignal?t.signal=AbortSignal.any([t.signal,n.signal]):t.signal=n.signal);else if(r==="callbacks"){let s=t.callbacks,a=n.callbacks;if(Array.isArray(a))if(!s)t.callbacks=a;else if(Array.isArray(s))t.callbacks=s.concat(a);else{let i=s.copy();for(let o of a)i.addHandler(Qo(o),!0);t.callbacks=i}else if(a)if(!s)t.callbacks=a;else if(Array.isArray(s)){let i=a.copy();for(let o of s)i.addHandler(Qo(o),!0);t.callbacks=i}else t.callbacks=new Qt(a._parentRunId,{handlers:s.handlers.concat(a.handlers),inheritableHandlers:s.inheritableHandlers.concat(a.inheritableHandlers),tags:Array.from(new Set(s.tags.concat(a.tags))),inheritableTags:Array.from(new Set(s.inheritableTags.concat(a.inheritableTags))),metadata:{...s.metadata,...a.metadata}})}else{let s=r;t[s]=n[s]??t[s]}return t}var dj=new Set(["string","number","boolean"]);function Me(e){let t=Mt.getRunnableConfig(),n={tags:[],metadata:{},recursionLimit:25,runId:void 0};if(t){let{runId:r,runName:s,...a}=t;n=Object.entries(a).reduce((i,[o,c])=>(c!==void 0&&(i[o]=c),i),n)}if(e&&(n=Object.entries(e).reduce((r,[s,a])=>(a!==void 0&&(r[s]=a),r),n)),n?.configurable)for(let r of Object.keys(n.configurable))dj.has(typeof n.configurable[r])&&!n.metadata?.[r]&&(n.metadata||(n.metadata={}),n.metadata[r]=n.configurable[r]);if(n.timeout!==void 0){if(n.timeout<=0)throw new Error("Timeout must be a positive number");let r=n.timeout,s=AbortSignal.timeout(r);n.metadata||(n.metadata={}),n.metadata.timeoutMs===void 0&&(n.metadata.timeoutMs=r),n.signal!==void 0?"any"in AbortSignal&&(n.signal=AbortSignal.any([n.signal,s])):n.signal=s,delete n.timeout}return n}function Ve(e={},{callbacks:t,maxConcurrency:n,recursionLimit:r,runName:s,configurable:a,runId:i}={}){let o=Me(e);return t!==void 0&&(delete o.runName,o.callbacks=t),r!==void 0&&(o.recursionLimit=r),n!==void 0&&(o.maxConcurrency=n),s!==void 0&&(o.runName=s),a!==void 0&&(o.configurable={...o.configurable,...a}),i!==void 0&&delete o.runId,o}function Hr(e){if(e)return{configurable:e.configurable,recursionLimit:e.recursionLimit,callbacks:e.callbacks,tags:e.tags,metadata:e.metadata,maxConcurrency:e.maxConcurrency,timeout:e.timeout,signal:e.signal,store:e.store}}async function Er(e,t){if(t===void 0)return e;let n;return Promise.race([e.catch(r=>{if(!t?.aborted)throw r}),new Promise((r,s)=>{n=()=>{s(ec(t))},t.addEventListener("abort",n,{once:!0}),t.aborted&&s(ec(t))})]).finally(()=>t.removeEventListener("abort",n))}function ec(e){return e?.reason instanceof Error?e.reason:typeof e?.reason=="string"?new Error(e.reason):new Error("Aborted")}var pj=Q({AsyncGeneratorWithSetup:()=>Na,IterableReadableStream:()=>gn,atee:()=>zy,concat:()=>ks,pipeGeneratorWithSetup:()=>Ox}),gn=class Em extends ReadableStream{reader;ensureReader(){this.reader||(this.reader=this.getReader())}async next(){this.ensureReader();try{let t=await this.reader.read();return t.done?(this.reader.releaseLock(),{done:!0,value:void 0}):{done:!1,value:t.value}}catch(t){throw this.reader.releaseLock(),t}}async return(){if(this.ensureReader(),this.locked){let t=this.reader.cancel();this.reader.releaseLock(),await t}return{done:!0,value:void 0}}async throw(t){if(this.ensureReader(),this.locked){let n=this.reader.cancel();this.reader.releaseLock(),await n}throw t}[Symbol.asyncIterator](){return this}async[Symbol.asyncDispose](){await this.return()}static fromReadableStream(t){let n=t.getReader();return new Em({start(r){return s();function s(){return n.read().then(({done:a,value:i})=>{if(a){r.close();return}return r.enqueue(i),s()})}},cancel(){n.releaseLock()}})}static fromAsyncGenerator(t){return new Em({async pull(n){let{value:r,done:s}=await t.next();s&&n.close(),n.enqueue(r)},async cancel(n){await t.return(n)}})}};function zy(e,t=2){let n=Array.from({length:t},()=>[]);return n.map(async function*(r){for(;;)if(r.length===0){let s=await e.next();for(let a of n)a.push(s)}else{if(r[0].done)return;yield r.shift().value}})}function ks(e,t){if(Array.isArray(e)&&Array.isArray(t))return e.concat(t);if(typeof e=="string"&&typeof t=="string"||typeof e=="number"&&typeof t=="number")return e+t;if("concat"in e&&typeof e.concat=="function")return e.concat(t);if(typeof e=="object"&&typeof t=="object"){let n={...e};for(let[r,s]of Object.entries(t))r in n&&!Array.isArray(n[r])?n[r]=ks(n[r],s):n[r]=s;return n}else throw new Error(`Cannot concat ${typeof e} and ${typeof t}`)}var Na=class{generator;setup;config;signal;firstResult;firstResultUsed=!1;constructor(e){this.generator=e.generator,this.config=e.config,this.signal=e.signal??this.config?.signal,this.setup=new Promise((t,n)=>{Mt.runWithConfig(Hr(e.config),async()=>{this.firstResult=this.signal?Er(e.generator.next(),this.signal):e.generator.next(),e.startSetup?this.firstResult.then(e.startSetup).then(t,n):this.firstResult.then(r=>t(void 0),n)},!0)})}async next(...e){return this.signal?.throwIfAborted(),this.firstResultUsed?Mt.runWithConfig(Hr(this.config),this.signal?async()=>Er(this.generator.next(...e),this.signal):async()=>this.generator.next(...e),!0):(this.firstResultUsed=!0,this.firstResult)}async return(e){return this.generator.return(e)}async throw(e){return this.generator.throw(e)}[Symbol.asyncIterator](){return this}async[Symbol.asyncDispose](){await this.return()}};async function Ox(e,t,n,r,...s){let a=new Na({generator:t,startSetup:n,signal:r}),i=await a.setup;return{output:e(a,i,...s),setup:i}}var hj=Object.prototype.hasOwnProperty;function Am(e,t){return hj.call(e,t)}function $m(e){if(Array.isArray(e)){let n=new Array(e.length);for(let r=0;r<n.length;r++)n[r]=""+r;return n}if(Object.keys)return Object.keys(e);let t=[];for(let n in e)Am(e,n)&&t.push(n);return t}function er(e){switch(typeof e){case"object":return JSON.parse(JSON.stringify(e));case"undefined":return null;default:return e}}function Cm(e){let t=0,n=e.length,r;for(;t<n;){if(r=e.charCodeAt(t),r>=48&&r<=57){t++;continue}return!1}return!0}function Ua(e){return e.indexOf("/")===-1&&e.indexOf("~")===-1?e:e.replace(/~/g,"~0").replace(/\//g,"~1")}function fj(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}function Nm(e){if(e===void 0)return!0;if(e){if(Array.isArray(e)){for(let n=0,r=e.length;n<r;n++)if(Nm(e[n]))return!0}else if(typeof e=="object"){let n=$m(e),r=n.length;for(var t=0;t<r;t++)if(Nm(e[n[t]]))return!0}}return!1}function bw(e,t){let n=[e];for(let r in t){let s=typeof t[r]=="object"?JSON.stringify(t[r],null,2):t[r];typeof s<"u"&&n.push(`${r}: ${s}`)}return n.join(`
62
- `)}var mj=class extends Error{constructor(e,t,n,r,s){super(bw(e,{name:t,index:n,operation:r,tree:s})),this.name=t,this.index=n,this.operation=r,this.tree=s,Object.setPrototypeOf(this,new.target.prototype),this.message=bw(e,{name:t,index:n,operation:r,tree:s})}},gj=Q({JsonPatchError:()=>ct,_areEquals:()=>tc,applyOperation:()=>ia,applyPatch:()=>Oi,applyReducer:()=>vj,deepClone:()=>yj,getValueByPointer:()=>Ml,validate:()=>Sx,validator:()=>Ll}),ct=mj,yj=er,ii={add:function(e,t,n){if(t==="__proto__"||t==="constructor")throw new TypeError("JSON-Patch: modifying `__proto__` or `constructor` prop is banned for security reasons");return e[t]=this.value,{newDocument:n}},remove:function(e,t,n){if(t==="__proto__"||t==="constructor")throw new TypeError("JSON-Patch: modifying `__proto__` or `constructor` prop is banned for security reasons");var r=e[t];return delete e[t],{newDocument:n,removed:r}},replace:function(e,t,n){if(t==="__proto__"||t==="constructor")throw new TypeError("JSON-Patch: modifying `__proto__` or `constructor` prop is banned for security reasons");var r=e[t];return e[t]=this.value,{newDocument:n,removed:r}},move:function(e,t,n){let r=Ml(n,this.path);r&&(r=er(r));let s=ia(n,{op:"remove",path:this.from}).removed;return ia(n,{op:"add",path:this.path,value:s}),{newDocument:n,removed:r}},copy:function(e,t,n){let r=Ml(n,this.from);return ia(n,{op:"add",path:this.path,value:er(r)}),{newDocument:n}},test:function(e,t,n){return{newDocument:n,test:tc(e[t],this.value)}},_get:function(e,t,n){return this.value=e[t],{newDocument:n}}},_j={add:function(e,t,n){return Cm(t)?e.splice(t,0,this.value):e[t]=this.value,{newDocument:n,index:t}},remove:function(e,t,n){return{newDocument:n,removed:e.splice(t,1)[0]}},replace:function(e,t,n){var r=e[t];return e[t]=this.value,{newDocument:n,removed:r}},move:ii.move,copy:ii.copy,test:ii.test,_get:ii._get};function Ml(e,t){if(t=="")return e;var n={op:"_get",path:t};return ia(e,n),n.value}function ia(e,t,n=!1,r=!0,s=!0,a=0){if(n&&(typeof n=="function"?n(t,0,e,t.path):Ll(t,0)),t.path===""){let i={newDocument:e};if(t.op==="add")return i.newDocument=t.value,i;if(t.op==="replace")return i.newDocument=t.value,i.removed=e,i;if(t.op==="move"||t.op==="copy")return i.newDocument=Ml(e,t.from),t.op==="move"&&(i.removed=e),i;if(t.op==="test"){if(i.test=tc(e,t.value),i.test===!1)throw new ct("Test operation failed","TEST_OPERATION_FAILED",a,t,e);return i.newDocument=e,i}else{if(t.op==="remove")return i.removed=e,i.newDocument=null,i;if(t.op==="_get")return t.value=e,i;if(n)throw new ct("Operation `op` property is not one of operations defined in RFC-6902","OPERATION_OP_INVALID",a,t,e);return i}}else{r||(e=er(e));let i=(t.path||"").split("/"),o=e,c=1,u=i.length,l,d,p;for(typeof n=="function"?p=n:p=Ll;;){if(d=i[c],d&&d.indexOf("~")!=-1&&(d=fj(d)),s&&(d=="__proto__"||d=="prototype"&&c>0&&i[c-1]=="constructor"))throw new TypeError("JSON-Patch: modifying `__proto__` or `constructor/prototype` prop is banned for security reasons, if this was on purpose, please set `banPrototypeModifications` flag false and pass it to this function. More info in fast-json-patch README");if(n&&l===void 0&&(o[d]===void 0?l=i.slice(0,c).join("/"):c==u-1&&(l=t.path),l!==void 0&&p(t,0,e,l)),c++,Array.isArray(o)){if(d==="-")d=o.length;else{if(n&&!Cm(d))throw new ct("Expected an unsigned base-10 integer value, making the new referenced value the array element with the zero-based index","OPERATION_PATH_ILLEGAL_ARRAY_INDEX",a,t,e);Cm(d)&&(d=~~d)}if(c>=u){if(n&&t.op==="add"&&d>o.length)throw new ct("The specified index MUST NOT be greater than the number of elements in the array","OPERATION_VALUE_OUT_OF_BOUNDS",a,t,e);let h=_j[t.op].call(t,o,d,e);if(h.test===!1)throw new ct("Test operation failed","TEST_OPERATION_FAILED",a,t,e);return h}}else if(c>=u){let h=ii[t.op].call(t,o,d,e);if(h.test===!1)throw new ct("Test operation failed","TEST_OPERATION_FAILED",a,t,e);return h}if(o=o[d],n&&c<u&&(!o||typeof o!="object"))throw new ct("Cannot perform operation at the desired path","OPERATION_PATH_UNRESOLVABLE",a,t,e)}}}function Oi(e,t,n,r=!0,s=!0){if(n&&!Array.isArray(t))throw new ct("Patch sequence must be an array","SEQUENCE_NOT_AN_ARRAY");r||(e=er(e));let a=new Array(t.length);for(let i=0,o=t.length;i<o;i++)a[i]=ia(e,t[i],n,!0,s,i),e=a[i].newDocument;return a.newDocument=e,a}function vj(e,t,n){let r=ia(e,t);if(r.test===!1)throw new ct("Test operation failed","TEST_OPERATION_FAILED",n,t,e);return r.newDocument}function Ll(e,t,n,r){if(typeof e!="object"||e===null||Array.isArray(e))throw new ct("Operation is not an object","OPERATION_NOT_AN_OBJECT",t,e,n);if(ii[e.op]){if(typeof e.path!="string")throw new ct("Operation `path` property is not a string","OPERATION_PATH_INVALID",t,e,n);if(e.path.indexOf("/")!==0&&e.path.length>0)throw new ct('Operation `path` property must start with "/"',"OPERATION_PATH_INVALID",t,e,n);if((e.op==="move"||e.op==="copy")&&typeof e.from!="string")throw new ct("Operation `from` property is not present (applicable in `move` and `copy` operations)","OPERATION_FROM_REQUIRED",t,e,n);if((e.op==="add"||e.op==="replace"||e.op==="test")&&e.value===void 0)throw new ct("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_REQUIRED",t,e,n);if((e.op==="add"||e.op==="replace"||e.op==="test")&&Nm(e.value))throw new ct("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_CANNOT_CONTAIN_UNDEFINED",t,e,n);if(n){if(e.op=="add"){var s=e.path.split("/").length,a=r.split("/").length;if(s!==a+1&&s!==a)throw new ct("Cannot perform an `add` operation at the desired path","OPERATION_PATH_CANNOT_ADD",t,e,n)}else if(e.op==="replace"||e.op==="remove"||e.op==="_get"){if(e.path!==r)throw new ct("Cannot perform the operation at a path that does not exist","OPERATION_PATH_UNRESOLVABLE",t,e,n)}else if(e.op==="move"||e.op==="copy"){var i=Sx([{op:"_get",path:e.from,value:void 0}],n);if(i&&i.name==="OPERATION_PATH_UNRESOLVABLE")throw new ct("Cannot perform the operation from a path that does not exist","OPERATION_FROM_UNRESOLVABLE",t,e,n)}}}else throw new ct("Operation `op` property is not one of operations defined in RFC-6902","OPERATION_OP_INVALID",t,e,n)}function Sx(e,t,n){try{if(!Array.isArray(e))throw new ct("Patch sequence must be an array","SEQUENCE_NOT_AN_ARRAY");if(t)Oi(er(t),er(e),n||!0);else{n=n||Ll;for(var r=0;r<e.length;r++)n(e[r],r,t,void 0)}}catch(s){if(s instanceof ct)return s;throw s}}function tc(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){var n=Array.isArray(e),r=Array.isArray(t),s,a,i;if(n&&r){if(a=e.length,a!=t.length)return!1;for(s=a;s--!==0;)if(!tc(e[s],t[s]))return!1;return!0}if(n!=r)return!1;var o=Object.keys(e);if(a=o.length,a!==Object.keys(t).length)return!1;for(s=a;s--!==0;)if(!t.hasOwnProperty(o[s]))return!1;for(s=a;s--!==0;)if(i=o[s],!tc(e[i],t[i]))return!1;return!0}return e!==e&&t!==t}function Tx(e,t,n,r,s){if(t!==e){typeof t.toJSON=="function"&&(t=t.toJSON());for(var a=$m(t),i=$m(e),o=!1,c=i.length-1;c>=0;c--){var u=i[c],l=e[u];if(Am(t,u)&&!(t[u]===void 0&&l!==void 0&&Array.isArray(t)===!1)){var d=t[u];typeof l=="object"&&l!=null&&typeof d=="object"&&d!=null&&Array.isArray(l)===Array.isArray(d)?Tx(l,d,n,r+"/"+Ua(u),s):l!==d&&(s&&n.push({op:"test",path:r+"/"+Ua(u),value:er(l)}),n.push({op:"replace",path:r+"/"+Ua(u),value:er(d)}))}else Array.isArray(e)===Array.isArray(t)?(s&&n.push({op:"test",path:r+"/"+Ua(u),value:er(l)}),n.push({op:"remove",path:r+"/"+Ua(u)}),o=!0):(s&&n.push({op:"test",path:r,value:e}),n.push({op:"replace",path:r,value:t}))}if(!(!o&&a.length==i.length))for(var c=0;c<a.length;c++){var u=a[c];!Am(e,u)&&t[u]!==void 0&&n.push({op:"add",path:r+"/"+Ua(u),value:er(t[u])})}}}function Ap(e,t,n=!1){var r=[];return Tx(e,t,r,"",n),r}({...gj});var wj=Q({LogStreamCallbackHandler:()=>jm,RunLog:()=>Uy,RunLogPatch:()=>zr,isLogStreamHandler:()=>Ix}),zr=class{ops;constructor(e){this.ops=e.ops??[]}concat(e){let t=this.ops.concat(e.ops),n=Oi({},t);return new Uy({ops:t,state:n[n.length-1].newDocument})}},Uy=class Pm extends zr{state;constructor(t){super(t),this.state=t.state}concat(t){let n=this.ops.concat(t.ops),r=Oi(this.state,t.ops);return new Pm({ops:n,state:r[r.length-1].newDocument})}static fromRunLogPatch(t){let n=Oi({},t.ops);return new Pm({ops:t.ops,state:n[n.length-1].newDocument})}},Ix=e=>e.name==="log_stream_tracer";async function kw(e,t){if(t==="original")throw new Error("Do not assign inputs with original schema drop the key for now. When inputs are added to streamLog they should be added with standardized schema for streaming events.");let{inputs:n}=e;if(["retriever","llm","prompt"].includes(e.run_type))return n;if(!(Object.keys(n).length===1&&n?.input===""))return n.input}async function xw(e,t){let{outputs:n}=e;return t==="original"||["retriever","llm","prompt"].includes(e.run_type)?n:n!==void 0&&Object.keys(n).length===1&&n?.output!==void 0?n.output:n}function bj(e){return e!==void 0&&e.message!==void 0}var jm=class extends Xr{autoClose=!0;includeNames;includeTypes;includeTags;excludeNames;excludeTypes;excludeTags;_schemaFormat="original";rootId;keyMapByRunId={};counterMapByRunName={};transformStream;writer;receiveStream;name="log_stream_tracer";lc_prefer_streaming=!0;constructor(e){super({_awaitHandler:!0,...e}),this.autoClose=e?.autoClose??!0,this.includeNames=e?.includeNames,this.includeTypes=e?.includeTypes,this.includeTags=e?.includeTags,this.excludeNames=e?.excludeNames,this.excludeTypes=e?.excludeTypes,this.excludeTags=e?.excludeTags,this._schemaFormat=e?._schemaFormat??this._schemaFormat,this.transformStream=new TransformStream,this.writer=this.transformStream.writable.getWriter(),this.receiveStream=gn.fromReadableStream(this.transformStream.readable)}[Symbol.asyncIterator](){return this.receiveStream}async persistRun(e){}_includeRun(e){if(e.id===this.rootId)return!1;let t=e.tags??[],n=this.includeNames===void 0&&this.includeTags===void 0&&this.includeTypes===void 0;return this.includeNames!==void 0&&(n=n||this.includeNames.includes(e.name)),this.includeTypes!==void 0&&(n=n||this.includeTypes.includes(e.run_type)),this.includeTags!==void 0&&(n=n||t.find(r=>this.includeTags?.includes(r))!==void 0),this.excludeNames!==void 0&&(n=n&&!this.excludeNames.includes(e.name)),this.excludeTypes!==void 0&&(n=n&&!this.excludeTypes.includes(e.run_type)),this.excludeTags!==void 0&&(n=n&&t.every(r=>!this.excludeTags?.includes(r))),n}async*tapOutputIterable(e,t){for await(let n of t){if(e!==this.rootId){let r=this.keyMapByRunId[e];r&&await this.writer.write(new zr({ops:[{op:"add",path:`/logs/${r}/streamed_output/-`,value:n}]}))}yield n}}async onRunCreate(e){if(this.rootId===void 0&&(this.rootId=e.id,await this.writer.write(new zr({ops:[{op:"replace",path:"",value:{id:e.id,name:e.name,type:e.run_type,streamed_output:[],final_output:void 0,logs:{}}}]}))),!this._includeRun(e))return;this.counterMapByRunName[e.name]===void 0&&(this.counterMapByRunName[e.name]=0),this.counterMapByRunName[e.name]+=1;let t=this.counterMapByRunName[e.name];this.keyMapByRunId[e.id]=t===1?e.name:`${e.name}:${t}`;let n={id:e.id,name:e.name,type:e.run_type,tags:e.tags??[],metadata:e.extra?.metadata??{},start_time:new Date(e.start_time).toISOString(),streamed_output:[],streamed_output_str:[],final_output:void 0,end_time:void 0};this._schemaFormat==="streaming_events"&&(n.inputs=await kw(e,this._schemaFormat)),await this.writer.write(new zr({ops:[{op:"add",path:`/logs/${this.keyMapByRunId[e.id]}`,value:n}]}))}async onRunUpdate(e){try{let t=this.keyMapByRunId[e.id];if(t===void 0)return;let n=[];this._schemaFormat==="streaming_events"&&n.push({op:"replace",path:`/logs/${t}/inputs`,value:await kw(e,this._schemaFormat)}),n.push({op:"add",path:`/logs/${t}/final_output`,value:await xw(e,this._schemaFormat)}),e.end_time!==void 0&&n.push({op:"add",path:`/logs/${t}/end_time`,value:new Date(e.end_time).toISOString()});let r=new zr({ops:n});await this.writer.write(r)}finally{if(e.id===this.rootId){let t=new zr({ops:[{op:"replace",path:"/final_output",value:await xw(e,this._schemaFormat)}]});await this.writer.write(t),this.autoClose&&await this.writer.close()}}}async onLLMNewToken(e,t,n){let r=this.keyMapByRunId[e.id];if(r===void 0)return;let s=e.inputs.messages!==void 0,a;s?bj(n?.chunk)?a=n?.chunk:a=new mn({id:`run-${e.id}`,content:t}):a=t;let i=new zr({ops:[{op:"add",path:`/logs/${r}/streamed_output_str/-`,value:t},{op:"add",path:`/logs/${r}/streamed_output/-`,value:a}]});await this.writer.write(i)}},kj=Q({ChatGenerationChunk:()=>Wr,GenerationChunk:()=>Si,RUN_KEY:()=>nc}),nc="__run",Si=class Ex{text;generationInfo;constructor(t){this.text=t.text,this.generationInfo=t.generationInfo}concat(t){return new Ex({text:this.text+t.text,generationInfo:{...this.generationInfo,...t.generationInfo}})}},Wr=class Ax extends Si{message;constructor(t){super(t),this.message=t.message}concat(t){return new Ax({text:this.text+t.text,generationInfo:{...this.generationInfo,...t.generationInfo},message:this.message.concat(t.message)})}},xj=Object.prototype.toString,Oj=e=>xj.call(e)==="[object Error]",Sj=new Set(["network error","Failed to fetch","NetworkError when attempting to fetch resource.","The Internet connection appears to be offline.","Network request failed","fetch failed","terminated"," A network error occurred.","Network connection lost"]);function Tj(e){if(!(e&&Oj(e)&&e.name==="TypeError"&&typeof e.message=="string"))return!1;let{message:t,stack:n}=e;return t==="Load failed"?n===void 0||"__sentry_captured__"in e:t.startsWith("error sending request for url")?!0:Sj.has(t)}function Ij(e){if(typeof e=="number"){if(e<0)throw new TypeError("Expected `retries` to be a non-negative number.");if(Number.isNaN(e))throw new TypeError("Expected `retries` to be a valid number or Infinity, got NaN.")}else if(e!==void 0)throw new TypeError("Expected `retries` to be a number or Infinity.")}function Ou(e,t,{min:n=0,allowInfinity:r=!1}={}){if(t!==void 0){if(typeof t!="number"||Number.isNaN(t))throw new TypeError(`Expected \`${e}\` to be a number${r?" or Infinity":""}.`);if(!r&&!Number.isFinite(t))throw new TypeError(`Expected \`${e}\` to be a finite number.`);if(t<n)throw new TypeError(`Expected \`${e}\` to be \u2265 ${n}.`)}}var Ej=class extends Error{constructor(e){super(),e instanceof Error?(this.originalError=e,{message:e}=e):(this.originalError=new Error(e),this.originalError.stack=this.stack),this.name="AbortError",this.message=e}};function Aj(e,t){let n=Math.max(1,e+1),r=t.randomize?Math.random()+1:1,s=Math.round(r*t.minTimeout*t.factor**(n-1));return s=Math.min(s,t.maxTimeout),s}function Ow(e,t){return Number.isFinite(t)?t-(performance.now()-e):t}async function $j({error:e,attemptNumber:t,retriesConsumed:n,startTime:r,options:s}){let a=e instanceof Error?e:new TypeError(`Non-error was thrown: "${e}". You should only throw errors.`);if(a instanceof Ej)throw a.originalError;let i=Number.isFinite(s.retries)?Math.max(0,s.retries-n):s.retries,o=s.maxRetryTime??Number.POSITIVE_INFINITY,c=Object.freeze({error:a,attemptNumber:t,retriesLeft:i,retriesConsumed:n});if(await s.onFailedAttempt(c),Ow(r,o)<=0)throw a;let u=await s.shouldConsumeRetry(c),l=Ow(r,o);if(l<=0||i<=0)throw a;if(a instanceof TypeError&&!Tj(a)){if(u)throw a;return s.signal?.throwIfAborted(),!1}if(!await s.shouldRetry(c))throw a;if(!u)return s.signal?.throwIfAborted(),!1;let d=Aj(n,s),p=Math.min(d,l);return p>0&&await new Promise((h,f)=>{let m=()=>{clearTimeout(v),s.signal?.removeEventListener("abort",m),f(s.signal.reason)},v=setTimeout(()=>{s.signal?.removeEventListener("abort",m),h()},p);s.unref&&v.unref?.(),s.signal?.addEventListener("abort",m,{once:!0})}),s.signal?.throwIfAborted(),!0}async function Rm(e,t={}){if(t={...t},Ij(t.retries),Object.hasOwn(t,"forever"))throw new Error("The `forever` option is no longer supported. For many use-cases, you can set `retries: Infinity` instead.");t.retries??=10,t.factor??=2,t.minTimeout??=1e3,t.maxTimeout??=Number.POSITIVE_INFINITY,t.maxRetryTime??=Number.POSITIVE_INFINITY,t.randomize??=!1,t.onFailedAttempt??=()=>{},t.shouldRetry??=()=>!0,t.shouldConsumeRetry??=()=>!0,Ou("factor",t.factor,{min:0,allowInfinity:!1}),Ou("minTimeout",t.minTimeout,{min:0,allowInfinity:!1}),Ou("maxTimeout",t.maxTimeout,{min:0,allowInfinity:!0}),Ou("maxRetryTime",t.maxRetryTime,{min:0,allowInfinity:!0}),t.factor>0||(t.factor=1),t.signal?.throwIfAborted();let n=0,r=0,s=performance.now();for(;!Number.isFinite(t.retries)||r<=t.retries;){n++;try{t.signal?.throwIfAborted();let a=await e(n);return t.signal?.throwIfAborted(),a}catch(a){await $j({error:a,attemptNumber:n,retriesConsumed:r,startTime:s,options:t})&&r++}}throw new Error("Retry attempts exhausted without throwing an error.")}var Cj=Q({AsyncCaller:()=>Jc}),Nj=[400,401,402,403,404,405,406,407,409],Pj=e=>{if(typeof e!="object"||e===null)return;if("message"in e&&typeof e.message=="string"&&(e.message.startsWith("Cancel")||e.message.startsWith("AbortError"))||"name"in e&&typeof e.name=="string"&&e.name==="AbortError"||"code"in e&&typeof e.code=="string"&&e.code==="ECONNABORTED")throw e;let t="response"in e&&typeof e.response=="object"&&e.response!==null&&"status"in e.response&&typeof e.response.status=="number"?e.response.status:void 0,n="status"in e&&typeof e.status=="number"?e.status:void 0,r=t??n;if(r&&Nj.includes(+r))throw e;if(("error"in e&&typeof e.error=="object"&&e.error!==null&&"code"in e.error&&typeof e.error.code=="string"?e.error.code:void 0)==="insufficient_quota"){let s=new Error("message"in e&&typeof e.message=="string"?e.message:"Insufficient quota");throw s.name="InsufficientQuotaError",s}},Jc=class{maxConcurrency;maxRetries;onFailedAttempt;queue;constructor(e){this.maxConcurrency=e.maxConcurrency??1/0,this.maxRetries=e.maxRetries??6,this.onFailedAttempt=e.onFailedAttempt??Pj,this.queue=new("default"in Vr?Vr.default:Vr)({concurrency:this.maxConcurrency})}async call(e,...t){return this.queue.add(()=>Rm(()=>e(...t).catch(n=>{throw n instanceof Error?n:new Error(n)}),{onFailedAttempt:({error:n})=>this.onFailedAttempt?.(n),retries:this.maxRetries,randomize:!0}),{throwOnTimeout:!0})}callWithOptions(e,t,...n){if(e.signal){let r;return Promise.race([this.call(t,...n),new Promise((s,a)=>{r=()=>{a(ec(e.signal))},e.signal?.addEventListener("abort",r,{once:!0})})]).finally(()=>{e.signal&&r&&e.signal.removeEventListener("abort",r)})}return this.call(t,...n)}fetch(...e){return this.call(()=>fetch(...e).then(t=>t.ok?t:Promise.reject(t)))}},jj=Q({isSerializableSchema:()=>ha,isStandardJsonSchema:()=>Dy,isStandardSchema:()=>$x});function $x(e){return(typeof e=="object"||typeof e=="function")&&e!==null&&"~standard"in e&&typeof e["~standard"]=="object"&&e["~standard"]!==null&&"validate"in e["~standard"]}function Dy(e){return(typeof e=="object"||typeof e=="function")&&e!==null&&"~standard"in e&&typeof e["~standard"]=="object"&&e["~standard"]!==null&&"jsonSchema"in e["~standard"]}function ha(e){return $x(e)&&Dy(e)}function no(e,t,n){function r(o,c){if(o._zod||Object.defineProperty(o,"_zod",{value:{def:c,constr:i,traits:new Set},enumerable:!1}),o._zod.traits.has(e))return;o._zod.traits.add(e),t(o,c);let u=i.prototype,l=Object.keys(u);for(let d=0;d<l.length;d++){let p=l[d];p in o||(o[p]=u[p].bind(o))}}let s=n?.Parent??Object;class a extends s{}Object.defineProperty(a,"name",{value:e});function i(o){var c;let u=n?.Parent?new a:this;r(u,o),(c=u._zod).deferred??(c.deferred=[]);for(let l of u._zod.deferred)l();return u}return Object.defineProperty(i,"init",{value:r}),Object.defineProperty(i,Symbol.hasInstance,{value:o=>n?.Parent&&o instanceof n.Parent?!0:o?._zod?.traits?.has(e)}),Object.defineProperty(i,"name",{value:e}),i}var Fo=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},Rj={};function $p(e){return Rj}function Mj(e){let t=Object.values(e).filter(n=>typeof n=="number");return Object.entries(e).filter(([n,r])=>t.indexOf(+n)===-1).map(([n,r])=>r)}function Lj(e,t){return typeof t=="bigint"?t.toString():t}function zj(e){let t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}var Sw=Symbol("evaluating");function Mm(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==Sw)return r===void 0&&(r=Sw,r=n()),r},set(s){Object.defineProperty(e,t,{value:s})},configurable:!0})}function Cx(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function Nx(...e){let t={};for(let n of e){let r=Object.getOwnPropertyDescriptors(n);Object.assign(t,r)}return Object.defineProperties({},t)}var Px="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function Tw(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Uj(e){if(Tw(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!="function")return!0;let n=t.prototype;return!(Tw(n)===!1||Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)}function tr(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function Dj(e){return{}}function Fj(e,t){if(!Uj(t))throw new Error("Invalid input to extend: expected a plain object");let n=e._zod.def.checks;if(n&&n.length>0){let s=e._zod.def.shape;for(let a in t)if(Object.getOwnPropertyDescriptor(s,a)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let r=Nx(e._zod.def,{get shape(){let s={...e._zod.def.shape,...t};return Cx(this,"shape",s),s}});return tr(e,r)}function Bj(e,t,n){let r=t._zod.def.checks;if(r&&r.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");let s=Nx(t._zod.def,{get shape(){let a=t._zod.def.shape,i={...a};for(let o in a)i[o]=e?new e({type:"optional",innerType:a[o]}):a[o];return Cx(this,"shape",i),i},checks:[]});return tr(t,s)}function Su(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function Tu(e){return typeof e=="string"?e:e?.message}function Cp(e,t,n){let r={...e,path:e.path??[]};if(!e.message){let s=Tu(e.inst?._zod.def?.error?.(e))??Tu(t?.error?.(e))??Tu(n.customError?.(e))??Tu(n.localeError?.(e))??"Invalid input";r.message=s}return delete r.inst,delete r.continue,t?.reportInput||delete r.input,r}var jx=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,Lj,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Zj=no("$ZodError",jx),Np=no("$ZodError",jx,{Parent:Error});function Vj(e){let t=[],n=e.map(r=>typeof r=="object"?r.key:r);for(let r of n)typeof r=="number"?t.push(`[${r}]`):typeof r=="symbol"?t.push(`[${JSON.stringify(String(r))}]`):/[^\w$]/.test(r)?t.push(`[${JSON.stringify(r)}]`):(t.length&&t.push("."),t.push(r));return t.join("")}function qj(e){let t=[],n=[...e.issues].sort((r,s)=>(r.path??[]).length-(s.path??[]).length);for(let r of n)t.push(`\u2716 ${r.message}`),r.path?.length&&t.push(` \u2192 at ${Vj(r.path)}`);return t.join(`
63
- `)}var Hj=e=>(t,n,r,s)=>{let a=r?Object.assign(r,{async:!1}):{async:!1},i=t._zod.run({value:n,issues:[]},a);if(i instanceof Promise)throw new Fo;if(i.issues.length){let o=new(s?.Err??e)(i.issues.map(c=>Cp(c,a,$p())));throw Px(o,s?.callee),o}return i.value},Fy=Hj(Np),Wj=e=>async(t,n,r,s)=>{let a=r?Object.assign(r,{async:!0}):{async:!0},i=t._zod.run({value:n,issues:[]},a);if(i instanceof Promise&&(i=await i),i.issues.length){let o=new(s?.Err??e)(i.issues.map(c=>Cp(c,a,$p())));throw Px(o,s?.callee),o}return i.value},Rx=Wj(Np),Jj=e=>(t,n,r)=>{let s=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},s);if(a instanceof Promise)throw new Fo;return a.issues.length?{success:!1,error:new(e??Zj)(a.issues.map(i=>Cp(i,s,$p())))}:{success:!0,data:a.value}},Gj=Jj(Np),Kj=e=>async(t,n,r)=>{let s=r?Object.assign(r,{async:!0}):{async:!0},a=t._zod.run({value:n,issues:[]},s);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new e(a.issues.map(i=>Cp(i,s,$p())))}:{success:!0,data:a.value}},Xj=Kj(Np),Yj={major:4,minor:3,patch:6},By=no("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Yj;let r=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&r.unshift(e);for(let s of r)for(let a of s._zod.onattach)a(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let s=(i,o,c)=>{let u=Su(i),l;for(let d of o){if(d._zod.def.when){if(!d._zod.def.when(i))continue}else if(u)continue;let p=i.issues.length,h=d._zod.check(i);if(h instanceof Promise&&c?.async===!1)throw new Fo;if(l||h instanceof Promise)l=(l??Promise.resolve()).then(async()=>{await h,i.issues.length!==p&&(u||(u=Su(i,p)))});else{if(i.issues.length===p)continue;u||(u=Su(i,p))}}return l?l.then(()=>i):i},a=(i,o,c)=>{if(Su(i))return i.aborted=!0,i;let u=s(o,r,c);if(u instanceof Promise){if(c.async===!1)throw new Fo;return u.then(l=>e._zod.parse(l,c))}return e._zod.parse(u,c)};e._zod.run=(i,o)=>{if(o.skipChecks)return e._zod.parse(i,o);if(o.direction==="backward"){let u=e._zod.parse({value:i.value,issues:[]},{...o,skipChecks:!0});return u instanceof Promise?u.then(l=>a(l,i,o)):a(u,i,o)}let c=e._zod.parse(i,o);if(c instanceof Promise){if(o.async===!1)throw new Fo;return c.then(u=>s(u,r,o))}return s(c,r,o)}}Mm(e,"~standard",()=>({validate:s=>{try{let a=Gj(e,s);return a.success?{value:a.data}:{issues:a.error?.issues}}catch{return Xj(e,s).then(a=>a.success?{value:a.data}:{issues:a.error?.issues})}},vendor:"zod",version:1}))}),Qj=no("$ZodUnknown",(e,t)=>{By.init(e,t),e._zod.parse=n=>n}),eR=no("$ZodNever",(e,t)=>{By.init(e,t),e._zod.parse=(n,r)=>(n.issues.push({expected:"never",code:"invalid_type",input:n.value,inst:e}),n)});function Iw(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}var Mx=no("$ZodOptional",(e,t)=>{By.init(e,t),e._zod.optin="optional",e._zod.optout="optional",Mm(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),Mm(e._zod,"pattern",()=>{let n=t.innerType._zod.pattern;return n?new RegExp(`^(${zj(n.source)})?$`):void 0}),e._zod.parse=(n,r)=>{if(t.innerType._zod.optin==="optional"){let s=t.innerType._zod.run(n,r);return s instanceof Promise?s.then(a=>Iw(a,n.value)):Iw(s,n.value)}return n.value===void 0?n:t.innerType._zod.run(n,r)}}),Ew,tR=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){let n=t[0];return this._map.set(e,n),n&&typeof n=="object"&&"id"in n&&this._idmap.set(n.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let t=this._map.get(e);return t&&typeof t=="object"&&"id"in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};delete n.id;let r={...n,...this._map.get(e)};return Object.keys(r).length?r:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function nR(){return new tR}(Ew=globalThis).__zod_globalRegistry??(Ew.__zod_globalRegistry=nR());var hn=globalThis.__zod_globalRegistry;function rR(e){return new e({type:"unknown"})}function sR(e,t){return new e({type:"never",...Dj()})}function Lm(e){let t=e?.target??"draft-2020-12";return t==="draft-4"&&(t="draft-04"),t==="draft-7"&&(t="draft-07"),{processors:e.processors??{},metadataRegistry:e?.metadata??hn,target:t,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:new Map,cycles:e?.cycles??"ref",reused:e?.reused??"inline",external:e?.external??void 0}}function tt(e,t,n={path:[],schemaPath:[]}){var r;let s=e._zod.def,a=t.seen.get(e);if(a)return a.count++,n.schemaPath.includes(e)&&(a.cycle=n.path),a.schema;let i={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,i);let o=e._zod.toJSONSchema?.();if(o)i.schema=o;else{let u={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,i.schema,u);else{let d=i.schema,p=t.processors[s.type];if(!p)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${s.type}`);p(e,t,d,u)}let l=e._zod.parent;l&&(i.ref||(i.ref=l),tt(l,t,u),t.seen.get(l).isParent=!0)}let c=t.metadataRegistry.get(e);return c&&Object.assign(i.schema,c),t.io==="input"&&Wt(e)&&(delete i.schema.examples,delete i.schema.default),t.io==="input"&&i.schema._prefault&&((r=i.schema).default??(r.default=i.schema._prefault)),delete i.schema._prefault,t.seen.get(e).schema}function zm(e,t){let n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");let r=new Map;for(let i of e.seen.entries()){let o=e.metadataRegistry.get(i[0])?.id;if(o){let c=r.get(o);if(c&&c!==i[0])throw new Error(`Duplicate schema id "${o}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(o,i[0])}}let s=i=>{let o=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){let l=e.external.registry.get(i[0])?.id,d=e.external.uri??(h=>h);if(l)return{ref:d(l)};let p=i[1].defId??i[1].schema.id??`schema${e.counter++}`;return i[1].defId=p,{defId:p,ref:`${d("__shared")}#/${o}/${p}`}}if(i[1]===n)return{ref:"#"};let c=`#/${o}/`,u=i[1].schema.id??`__schema${e.counter++}`;return{defId:u,ref:c+u}},a=i=>{if(i[1].schema.$ref)return;let o=i[1],{ref:c,defId:u}=s(i);o.def={...o.schema},u&&(o.defId=u);let l=o.schema;for(let d in l)delete l[d];l.$ref=c};if(e.cycles==="throw")for(let i of e.seen.entries()){let o=i[1];if(o.cycle)throw new Error(`Cycle detected: #/${o.cycle?.join("/")}/<root>
64
-
65
- Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let i of e.seen.entries()){let o=i[1];if(t===i[0]){a(i);continue}if(e.external){let c=e.external.registry.get(i[0])?.id;if(t!==i[0]&&c){a(i);continue}}if(e.metadataRegistry.get(i[0])?.id){a(i);continue}if(o.cycle){a(i);continue}if(o.count>1&&e.reused==="ref"){a(i);continue}}}function Um(e,t){let n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");let r=i=>{let o=e.seen.get(i);if(o.ref===null)return;let c=o.def??o.schema,u={...c},l=o.ref;if(o.ref=null,l){r(l);let p=e.seen.get(l),h=p.schema;if(h.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(c.allOf=c.allOf??[],c.allOf.push(h)):Object.assign(c,h),Object.assign(c,u),i._zod.parent===l)for(let f in c)f==="$ref"||f==="allOf"||f in u||delete c[f];if(h.$ref&&p.def)for(let f in c)f==="$ref"||f==="allOf"||f in p.def&&JSON.stringify(c[f])===JSON.stringify(p.def[f])&&delete c[f]}let d=i._zod.parent;if(d&&d!==l){r(d);let p=e.seen.get(d);if(p?.schema.$ref&&(c.$ref=p.schema.$ref,p.def))for(let h in c)h==="$ref"||h==="allOf"||h in p.def&&JSON.stringify(c[h])===JSON.stringify(p.def[h])&&delete c[h]}e.override({zodSchema:i,jsonSchema:c,path:o.path??[]})};for(let i of[...e.seen.entries()].reverse())r(i[0]);let s={};if(e.target==="draft-2020-12"?s.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?s.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?s.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){let i=e.external.registry.get(t)?.id;if(!i)throw new Error("Schema is missing an `id` property");s.$id=e.external.uri(i)}Object.assign(s,n.def??n.schema);let a=e.external?.defs??{};for(let i of e.seen.entries()){let o=i[1];o.def&&o.defId&&(a[o.defId]=o.def)}e.external||Object.keys(a).length>0&&(e.target==="draft-2020-12"?s.$defs=a:s.definitions=a);try{let i=JSON.parse(JSON.stringify(s));return Object.defineProperty(i,"~standard",{value:{...t["~standard"],jsonSchema:{input:Aw(t,"input",e.processors),output:Aw(t,"output",e.processors)}},enumerable:!1,writable:!1}),i}catch{throw new Error("Error converting schema to JSON.")}}function Wt(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);let r=e._zod.def;if(r.type==="transform")return!0;if(r.type==="array")return Wt(r.element,n);if(r.type==="set")return Wt(r.valueType,n);if(r.type==="lazy")return Wt(r.getter(),n);if(r.type==="promise"||r.type==="optional"||r.type==="nonoptional"||r.type==="nullable"||r.type==="readonly"||r.type==="default"||r.type==="prefault")return Wt(r.innerType,n);if(r.type==="intersection")return Wt(r.left,n)||Wt(r.right,n);if(r.type==="record"||r.type==="map")return Wt(r.keyType,n)||Wt(r.valueType,n);if(r.type==="pipe")return Wt(r.in,n)||Wt(r.out,n);if(r.type==="object"){for(let s in r.shape)if(Wt(r.shape[s],n))return!0;return!1}if(r.type==="union"){for(let s of r.options)if(Wt(s,n))return!0;return!1}if(r.type==="tuple"){for(let s of r.items)if(Wt(s,n))return!0;return!!(r.rest&&Wt(r.rest,n))}return!1}var Aw=(e,t,n={})=>r=>{let{libraryOptions:s,target:a}=r??{},i=Lm({...s??{},target:a,io:t,processors:n});return tt(e,i),zm(i,e),Um(i,e)},aR={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},iR=(e,t,n,r)=>{let s=n;s.type="string";let{minimum:a,maximum:i,format:o,patterns:c,contentEncoding:u}=e._zod.bag;if(typeof a=="number"&&(s.minLength=a),typeof i=="number"&&(s.maxLength=i),o&&(s.format=aR[o]??o,s.format===""&&delete s.format,o==="time"&&delete s.format),u&&(s.contentEncoding=u),c&&c.size>0){let l=[...c];l.length===1?s.pattern=l[0].source:l.length>1&&(s.allOf=[...l.map(d=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:d.source}))])}},oR=(e,t,n,r)=>{let s=n,{minimum:a,maximum:i,format:o,multipleOf:c,exclusiveMaximum:u,exclusiveMinimum:l}=e._zod.bag;typeof o=="string"&&o.includes("int")?s.type="integer":s.type="number",typeof l=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(s.minimum=l,s.exclusiveMinimum=!0):s.exclusiveMinimum=l),typeof a=="number"&&(s.minimum=a,typeof l=="number"&&t.target!=="draft-04"&&(l>=a?delete s.minimum:delete s.exclusiveMinimum)),typeof u=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(s.maximum=u,s.exclusiveMaximum=!0):s.exclusiveMaximum=u),typeof i=="number"&&(s.maximum=i,typeof u=="number"&&t.target!=="draft-04"&&(u<=i?delete s.maximum:delete s.exclusiveMaximum)),typeof c=="number"&&(s.multipleOf=c)},cR=(e,t,n,r)=>{n.type="boolean"},uR=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema")},lR=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema")},dR=(e,t,n,r)=>{t.target==="openapi-3.0"?(n.type="string",n.nullable=!0,n.enum=[null]):n.type="null"},pR=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema")},hR=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema")},fR=(e,t,n,r)=>{n.not={}},mR=(e,t,n,r)=>{},gR=(e,t,n,r)=>{},yR=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema")},_R=(e,t,n,r)=>{let s=e._zod.def,a=Mj(s.entries);a.every(i=>typeof i=="number")&&(n.type="number"),a.every(i=>typeof i=="string")&&(n.type="string"),n.enum=a},vR=(e,t,n,r)=>{let s=e._zod.def,a=[];for(let i of s.values)if(i===void 0){if(t.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof i=="bigint"){if(t.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");a.push(Number(i))}else a.push(i);if(a.length!==0)if(a.length===1){let i=a[0];n.type=i===null?"null":typeof i,t.target==="draft-04"||t.target==="openapi-3.0"?n.enum=[i]:n.const=i}else a.every(i=>typeof i=="number")&&(n.type="number"),a.every(i=>typeof i=="string")&&(n.type="string"),a.every(i=>typeof i=="boolean")&&(n.type="boolean"),a.every(i=>i===null)&&(n.type="null"),n.enum=a},wR=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema")},bR=(e,t,n,r)=>{let s=n,a=e._zod.pattern;if(!a)throw new Error("Pattern not found in template literal");s.type="string",s.pattern=a.source},kR=(e,t,n,r)=>{let s=n,a={type:"string",format:"binary",contentEncoding:"binary"},{minimum:i,maximum:o,mime:c}=e._zod.bag;i!==void 0&&(a.minLength=i),o!==void 0&&(a.maxLength=o),c?c.length===1?(a.contentMediaType=c[0],Object.assign(s,a)):(Object.assign(s,a),s.anyOf=c.map(u=>({contentMediaType:u}))):Object.assign(s,a)},xR=(e,t,n,r)=>{n.type="boolean"},OR=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},SR=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Function types cannot be represented in JSON Schema")},TR=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},IR=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema")},ER=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema")},AR=(e,t,n,r)=>{let s=n,a=e._zod.def,{minimum:i,maximum:o}=e._zod.bag;typeof i=="number"&&(s.minItems=i),typeof o=="number"&&(s.maxItems=o),s.type="array",s.items=tt(a.element,t,{...r,path:[...r.path,"items"]})},$R=(e,t,n,r)=>{let s=n,a=e._zod.def;s.type="object",s.properties={};let i=a.shape;for(let u in i)s.properties[u]=tt(i[u],t,{...r,path:[...r.path,"properties",u]});let o=new Set(Object.keys(i)),c=new Set([...o].filter(u=>{let l=a.shape[u]._zod;return t.io==="input"?l.optin===void 0:l.optout===void 0}));c.size>0&&(s.required=Array.from(c)),a.catchall?._zod.def.type==="never"?s.additionalProperties=!1:a.catchall?a.catchall&&(s.additionalProperties=tt(a.catchall,t,{...r,path:[...r.path,"additionalProperties"]})):t.io==="output"&&(s.additionalProperties=!1)},CR=(e,t,n,r)=>{let s=e._zod.def,a=s.inclusive===!1,i=s.options.map((o,c)=>tt(o,t,{...r,path:[...r.path,a?"oneOf":"anyOf",c]}));a?n.oneOf=i:n.anyOf=i},NR=(e,t,n,r)=>{let s=e._zod.def,a=tt(s.left,t,{...r,path:[...r.path,"allOf",0]}),i=tt(s.right,t,{...r,path:[...r.path,"allOf",1]}),o=u=>"allOf"in u&&Object.keys(u).length===1,c=[...o(a)?a.allOf:[a],...o(i)?i.allOf:[i]];n.allOf=c},PR=(e,t,n,r)=>{let s=n,a=e._zod.def;s.type="array";let i=t.target==="draft-2020-12"?"prefixItems":"items",o=t.target==="draft-2020-12"||t.target==="openapi-3.0"?"items":"additionalItems",c=a.items.map((p,h)=>tt(p,t,{...r,path:[...r.path,i,h]})),u=a.rest?tt(a.rest,t,{...r,path:[...r.path,o,...t.target==="openapi-3.0"?[a.items.length]:[]]}):null;t.target==="draft-2020-12"?(s.prefixItems=c,u&&(s.items=u)):t.target==="openapi-3.0"?(s.items={anyOf:c},u&&s.items.anyOf.push(u),s.minItems=c.length,u||(s.maxItems=c.length)):(s.items=c,u&&(s.additionalItems=u));let{minimum:l,maximum:d}=e._zod.bag;typeof l=="number"&&(s.minItems=l),typeof d=="number"&&(s.maxItems=d)},jR=(e,t,n,r)=>{let s=n,a=e._zod.def;s.type="object";let i=a.keyType,o=i._zod.bag?.patterns;if(a.mode==="loose"&&o&&o.size>0){let u=tt(a.valueType,t,{...r,path:[...r.path,"patternProperties","*"]});s.patternProperties={};for(let l of o)s.patternProperties[l.source]=u}else(t.target==="draft-07"||t.target==="draft-2020-12")&&(s.propertyNames=tt(a.keyType,t,{...r,path:[...r.path,"propertyNames"]})),s.additionalProperties=tt(a.valueType,t,{...r,path:[...r.path,"additionalProperties"]});let c=i._zod.values;if(c){let u=[...c].filter(l=>typeof l=="string"||typeof l=="number");u.length>0&&(s.required=u)}},RR=(e,t,n,r)=>{let s=e._zod.def,a=tt(s.innerType,t,r),i=t.seen.get(e);t.target==="openapi-3.0"?(i.ref=s.innerType,n.nullable=!0):n.anyOf=[a,{type:"null"}]},MR=(e,t,n,r)=>{let s=e._zod.def;tt(s.innerType,t,r);let a=t.seen.get(e);a.ref=s.innerType},LR=(e,t,n,r)=>{let s=e._zod.def;tt(s.innerType,t,r);let a=t.seen.get(e);a.ref=s.innerType,n.default=JSON.parse(JSON.stringify(s.defaultValue))},zR=(e,t,n,r)=>{let s=e._zod.def;tt(s.innerType,t,r);let a=t.seen.get(e);a.ref=s.innerType,t.io==="input"&&(n._prefault=JSON.parse(JSON.stringify(s.defaultValue)))},UR=(e,t,n,r)=>{let s=e._zod.def;tt(s.innerType,t,r);let a=t.seen.get(e);a.ref=s.innerType;let i;try{i=s.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}n.default=i},DR=(e,t,n,r)=>{let s=e._zod.def,a=t.io==="input"?s.in._zod.def.type==="transform"?s.out:s.in:s.out;tt(a,t,r);let i=t.seen.get(e);i.ref=a},FR=(e,t,n,r)=>{let s=e._zod.def;tt(s.innerType,t,r);let a=t.seen.get(e);a.ref=s.innerType,n.readOnly=!0},BR=(e,t,n,r)=>{let s=e._zod.def;tt(s.innerType,t,r);let a=t.seen.get(e);a.ref=s.innerType},ZR=(e,t,n,r)=>{let s=e._zod.def;tt(s.innerType,t,r);let a=t.seen.get(e);a.ref=s.innerType},VR=(e,t,n,r)=>{let s=e._zod.innerType;tt(s,t,r);let a=t.seen.get(e);a.ref=s},$w={string:iR,number:oR,boolean:cR,bigint:uR,symbol:lR,null:dR,undefined:pR,void:hR,never:fR,any:mR,unknown:gR,date:yR,enum:_R,literal:vR,nan:wR,template_literal:bR,file:kR,success:xR,custom:OR,function:SR,transform:TR,map:IR,set:ER,array:AR,object:$R,union:CR,intersection:NR,tuple:PR,record:jR,nullable:RR,nonoptional:MR,default:LR,prefault:zR,catch:UR,pipe:DR,readonly:FR,promise:BR,optional:ZR,lazy:VR};function Cw(e,t){if("_idmap"in e){let r=e,s=Lm({...t,processors:$w}),a={};for(let c of r._idmap.entries()){let[u,l]=c;tt(l,s)}let i={},o={registry:r,uri:t?.uri,defs:a};s.external=o;for(let c of r._idmap.entries()){let[u,l]=c;zm(s,l),i[u]=Um(s,l)}if(Object.keys(a).length>0){let c=s.target==="draft-2020-12"?"$defs":"definitions";i.__shared={[c]:a}}return{schemas:i}}let n=Lm({...t,processors:$w});return tt(e,n),zm(n,e),Um(n,e)}function nt(e){if(typeof e!="object"||e===null)return!1;let t=e;if(!("_zod"in t))return!1;let n=t._zod;return typeof n=="object"&&n!==null&&"def"in n}function gt(e){if(typeof e!="object"||e===null)return!1;let t=e;if(!("_def"in t)||"_zod"in t)return!1;let n=t._def;return typeof n=="object"&&n!=null&&"typeName"in n}function qR(e){return nt(e)&&console.warn("[WARNING] Attempting to use Zod 4 schema in a context where Zod 3 schema is expected. This may cause unexpected behavior."),gt(e)}function In(e){return!e||typeof e!="object"||Array.isArray(e)?!1:!!(nt(e)||gt(e))}function Lx(e){return typeof e=="object"&&e!==null&&"_def"in e&&typeof e._def=="object"&&e._def!==null&&"typeName"in e._def&&e._def.typeName==="ZodLiteral"}function zx(e){return nt(e)?typeof e=="object"&&e!==null&&"_zod"in e&&typeof e._zod=="object"&&e._zod!==null&&"def"in e._zod&&typeof e._zod.def=="object"&&e._zod.def!==null&&"type"in e._zod.def&&e._zod.def.type==="literal":!1}function HR(e){return!!(Lx(e)||zx(e))}async function Ux(e,t){if(nt(e))try{return{success:!0,data:await Rx(e,t)}}catch(n){return{success:!1,error:n}}if(gt(e))return await e.safeParseAsync(t);throw new Error("Schema must be an instance of z3.ZodType or z4.$ZodType")}async function Pp(e,t){if(nt(e))return await Rx(e,t);if(gt(e))return await e.parseAsync(t);throw new Error("Schema must be an instance of z3.ZodType or z4.$ZodType")}function WR(e,t){if(nt(e))try{return{success:!0,data:Fy(e,t)}}catch(n){return{success:!1,error:n}}if(gt(e))return e.safeParse(t);throw new Error("Schema must be an instance of z3.ZodType or z4.$ZodType")}function al(e,t){if(nt(e))return Fy(e,t);if(gt(e))return e.parse(t);throw new Error("Schema must be an instance of z3.ZodType or z4.$ZodType")}function Ti(e){if(nt(e))return hn.get(e)?.description;if(gt(e)||"description"in e&&typeof e.description=="string")return e.description}function JR(e){if(!In(e))return!1;if(gt(e)){let t=e._def;if(t.typeName==="ZodObject"){let n=e;return!n.shape||Object.keys(n.shape).length===0}if(t.typeName==="ZodRecord")return!0}if(nt(e)){let t=e._zod.def;if(t.type==="object"){let n=e;return!n.shape||Object.keys(n.shape).length===0}if(t.type==="record")return!0}return typeof e=="object"&&e!==null&&!("shape"in e)}function Zy(e){return In(e)?gt(e)?e._def.typeName==="ZodString":nt(e)?e._zod.def.type==="string":!1:!1}function Vy(e){return typeof e=="object"&&e!==null&&"_def"in e&&typeof e._def=="object"&&e._def!==null&&"typeName"in e._def&&e._def.typeName==="ZodObject"}function xr(e){return nt(e)?typeof e=="object"&&e!==null&&"_zod"in e&&typeof e._zod=="object"&&e._zod!==null&&"def"in e._zod&&typeof e._zod.def=="object"&&e._zod.def!==null&&"type"in e._zod.def&&e._zod.def.type==="object":!1}function jp(e){return nt(e)?typeof e=="object"&&e!==null&&"_zod"in e&&typeof e._zod=="object"&&e._zod!==null&&"def"in e._zod&&typeof e._zod.def=="object"&&e._zod.def!==null&&"type"in e._zod.def&&e._zod.def.type==="array":!1}function Dx(e){return nt(e)?typeof e=="object"&&e!==null&&"_zod"in e&&typeof e._zod=="object"&&e._zod!==null&&"def"in e._zod&&typeof e._zod.def=="object"&&e._zod.def!==null&&"type"in e._zod.def&&e._zod.def.type==="optional":!1}function Fx(e){return nt(e)?typeof e=="object"&&e!==null&&"_zod"in e&&typeof e._zod=="object"&&e._zod!==null&&"def"in e._zod&&typeof e._zod.def=="object"&&e._zod.def!==null&&"type"in e._zod.def&&e._zod.def.type==="nullable":!1}function Pn(e){return!!(Vy(e)||xr(e))}function rc(e){if(gt(e))return e.shape;if(nt(e))return e._zod.def.shape;throw new Error("Schema must be an instance of z3.ZodObject or z4.$ZodObject")}function Bx(e,t){if(gt(e))return e.extend(t);if(nt(e))return Fj(e,t);throw new Error("Schema must be an instance of z3.ZodObject or z4.$ZodObject")}function qy(e){if(gt(e))return e.partial();if(nt(e))return Bj(Mx,e);throw new Error("Schema must be an instance of z3.ZodObject or z4.$ZodObject")}function zl(e,t=!1){if(gt(e))return e.strict();if(xr(e)){let n=e._zod.def.shape;if(t)for(let[a,i]of Object.entries(e._zod.def.shape)){if(xr(i))n[a]=zl(i,t);else if(jp(i)){let c=i._zod.def.element;xr(c)&&(c=zl(c,t)),n[a]=tr(i,{...i._zod.def,element:c})}else n[a]=i;let o=hn.get(i);o&&hn.add(n[a],o)}let r=tr(e,{...e._zod.def,shape:n,catchall:sR(eR)}),s=hn.get(e);return s&&hn.add(r,s),r}throw new Error("Schema must be an instance of z3.ZodObject or z4.$ZodObject")}function Dm(e,t=!1){if(Vy(e))return e.passthrough();if(xr(e)){let n=e._zod.def.shape;if(t)for(let[a,i]of Object.entries(e._zod.def.shape)){if(xr(i))n[a]=Dm(i,t);else if(jp(i)){let c=i._zod.def.element;xr(c)&&(c=Dm(c,t)),n[a]=tr(i,{...i._zod.def,element:c})}else n[a]=i;let o=hn.get(i);o&&hn.add(n[a],o)}let r=tr(e,{...e._zod.def,shape:n,catchall:rR(Qj)}),s=hn.get(e);return s&&hn.add(r,s),r}throw new Error("Schema must be an instance of z3.ZodObject or z4.$ZodObject")}function Zx(e){if(gt(e))try{let t=e.parse(void 0);return()=>t}catch{return}if(nt(e))try{let t=Fy(e,void 0);return()=>t}catch{return}}function GR(e){return gt(e)&&"typeName"in e._def&&e._def.typeName==="ZodEffects"}function KR(e){return nt(e)&&e._zod.def.type==="pipe"}function Vs(e,t,n){let r=n.get(e);if(r!==void 0)return r;if(gt(e))return GR(e)?Vs(e._def.schema,t,n):e;if(nt(e)){let s=e;if(KR(e)&&(s=Vs(e._zod.def.in,t,n)),t){if(xr(s)){let i={};for(let[o,c]of Object.entries(s._zod.def.shape))i[o]=Vs(c,t,n);s=tr(s,{...s._zod.def,shape:i})}else if(jp(s)){let i=Vs(s._zod.def.element,t,n);s=tr(s,{...s._zod.def,element:i})}else if(Dx(s)){let i=Vs(s._zod.def.innerType,t,n);s=tr(s,{...s._zod.def,innerType:i})}else if(Fx(s)){let i=Vs(s._zod.def.innerType,t,n);s=tr(s,{...s._zod.def,innerType:i})}}let a=hn.get(e);return a&&hn.add(s,a),n.set(e,s),s}throw new Error("Schema must be an instance of z3.ZodType or z4.$ZodType")}function Vx(e,t=!1){return Vs(e,t,new WeakMap)}function XR(e,t){if(gt(e)){let n=rc(e),r={};for(let[s,a]of Object.entries(n))t(s,a)?r[s]=a.optional():r[s]=a;return e.extend(r)}if(nt(e)){let n=rc(e),r={...e._zod.def.shape};for(let[i,o]of Object.entries(n))t(i,o)&&(r[i]=new Mx({type:"optional",innerType:o}));let s=tr(e,{...e._zod.def,shape:r}),a=hn.get(e);return a&&hn.add(s,a),s}throw new Error("Schema must be an instance of z3.ZodObject or z4.$ZodObject")}function qx(e){return e instanceof Error&&(e.constructor.name==="ZodError"||e.constructor.name==="$ZodError")}var YR=Symbol("Let zodToJsonSchema decide on which parser to use"),QR={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,definitions:{},errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref",openAiAnyTypeName:"OpenAiAnyType"},e2=e=>({...QR,...e}),t2=e=>{let t=e2(e),n=t.name!==void 0?[...t.basePath,t.definitionPath,t.name]:t.basePath;return{...t,flags:{hasReferencedOpenAiAnyType:!1},currentPath:n,propertyPath:void 0,seen:new Map(Object.entries(t.definitions).map(([r,s])=>[s._def,{def:s._def,path:[...t.basePath,t.definitionPath,r],jsonSchema:void 0}]))}},Hx=(e,t)=>{let n=0;for(;n<e.length&&n<t.length&&e[n]===t[n];n++);return[(e.length-n).toString(),...t.slice(n)].join("/")};function yn(e){if(e.target!=="openAi")return{};let t=[...e.basePath,e.definitionPath,e.openAiAnyTypeName];return e.flags.hasReferencedOpenAiAnyType=!0,{$ref:e.$refStrategy==="relative"?Hx(t,e.currentPath):t.join("/")}}function Wx(e,t,n,r){r?.errorMessages&&n&&(e.errorMessage={...e.errorMessage,[t]:n})}function qe(e,t,n,r,s){e[t]=n,Wx(e,t,r,s)}var Fe;(function(e){e.assertEqual=s=>{};function t(s){}e.assertIs=t;function n(s){throw new Error}e.assertNever=n,e.arrayToEnum=s=>{let a={};for(let i of s)a[i]=i;return a},e.getValidEnumValues=s=>{let a=e.objectKeys(s).filter(o=>typeof s[s[o]]!="number"),i={};for(let o of a)i[o]=s[o];return e.objectValues(i)},e.objectValues=s=>e.objectKeys(s).map(function(a){return s[a]}),e.objectKeys=typeof Object.keys=="function"?s=>Object.keys(s):s=>{let a=[];for(let i in s)Object.prototype.hasOwnProperty.call(s,i)&&a.push(i);return a},e.find=(s,a)=>{for(let i of s)if(a(i))return i},e.isInteger=typeof Number.isInteger=="function"?s=>Number.isInteger(s):s=>typeof s=="number"&&Number.isFinite(s)&&Math.floor(s)===s;function r(s,a=" | "){return s.map(i=>typeof i=="string"?`'${i}'`:i).join(a)}e.joinValues=r,e.jsonStringifyReplacer=(s,a)=>typeof a=="bigint"?a.toString():a})(Fe||(Fe={}));var Nw;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(Nw||(Nw={}));var re=Fe.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),ss=e=>{switch(typeof e){case"undefined":return re.undefined;case"string":return re.string;case"number":return Number.isNaN(e)?re.nan:re.number;case"boolean":return re.boolean;case"function":return re.function;case"bigint":return re.bigint;case"symbol":return re.symbol;case"object":return Array.isArray(e)?re.array:e===null?re.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?re.promise:typeof Map<"u"&&e instanceof Map?re.map:typeof Set<"u"&&e instanceof Set?re.set:typeof Date<"u"&&e instanceof Date?re.date:re.object;default:return re.unknown}},D=Fe.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),fa=class Jx extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};let n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=t}format(t){let n=t||function(a){return a.message},r={_errors:[]},s=a=>{for(let i of a.issues)if(i.code==="invalid_union")i.unionErrors.map(s);else if(i.code==="invalid_return_type")s(i.returnTypeError);else if(i.code==="invalid_arguments")s(i.argumentsError);else if(i.path.length===0)r._errors.push(n(i));else{let o=r,c=0;for(;c<i.path.length;){let u=i.path[c];c===i.path.length-1?(o[u]=o[u]||{_errors:[]},o[u]._errors.push(n(i))):o[u]=o[u]||{_errors:[]},o=o[u],c++}}};return s(this),r}static assert(t){if(!(t instanceof Jx))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,Fe.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=n=>n.message){let n=Object.create(null),r=[];for(let s of this.issues)if(s.path.length>0){let a=s.path[0];n[a]=n[a]||[],n[a].push(t(s))}else r.push(t(s));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}};fa.create=e=>new fa(e);var Fm=(e,t)=>{let n;switch(e.code){case D.invalid_type:e.received===re.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case D.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,Fe.jsonStringifyReplacer)}`;break;case D.unrecognized_keys:n=`Unrecognized key(s) in object: ${Fe.joinValues(e.keys,", ")}`;break;case D.invalid_union:n="Invalid input";break;case D.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${Fe.joinValues(e.options)}`;break;case D.invalid_enum_value:n=`Invalid enum value. Expected ${Fe.joinValues(e.options)}, received '${e.received}'`;break;case D.invalid_arguments:n="Invalid function arguments";break;case D.invalid_return_type:n="Invalid function return type";break;case D.invalid_date:n="Invalid date";break;case D.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:Fe.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case D.too_small:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="bigint"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:n="Invalid input";break;case D.too_big:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?n=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:n="Invalid input";break;case D.custom:n="Invalid input";break;case D.invalid_intersection_types:n="Intersection results could not be merged";break;case D.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case D.not_finite:n="Number must be finite";break;default:n=t.defaultError,Fe.assertNever(e)}return{message:n}},n2=Fm;function r2(){return n2}var s2=e=>{let{data:t,path:n,errorMaps:r,issueData:s}=e,a=[...n,...s.path||[]],i={...s,path:a};if(s.message!==void 0)return{...s,path:a,message:s.message};let o="",c=r.filter(u=>!!u).slice().reverse();for(let u of c)o=u(i,{data:t,defaultError:o}).message;return{...s,path:a,message:o}};function H(e,t){let n=r2(),r=s2({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===Fm?void 0:Fm].filter(s=>!!s)});e.common.issues.push(r)}var or=class Gx{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,n){let r=[];for(let s of n){if(s.status==="aborted")return we;s.status==="dirty"&&t.dirty(),r.push(s.value)}return{status:t.value,value:r}}static async mergeObjectAsync(t,n){let r=[];for(let s of n){let a=await s.key,i=await s.value;r.push({key:a,value:i})}return Gx.mergeObjectSync(t,r)}static mergeObjectSync(t,n){let r={};for(let s of n){let{key:a,value:i}=s;if(a.status==="aborted"||i.status==="aborted")return we;a.status==="dirty"&&t.dirty(),i.status==="dirty"&&t.dirty(),a.value!=="__proto__"&&(typeof i.value<"u"||s.alwaysSet)&&(r[a.value]=i.value)}return{status:t.value,value:r}}},we=Object.freeze({status:"aborted"}),Bm=e=>({status:"dirty",value:e}),Un=e=>({status:"valid",value:e}),Pw=e=>e.status==="aborted",jw=e=>e.status==="dirty",Ii=e=>e.status==="valid",Ul=e=>typeof Promise<"u"&&e instanceof Promise,ae;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(ae||(ae={}));var xs=class{constructor(e,t,n,r){this._cachedPath=[],this.parent=e,this.data=t,this._path=n,this._key=r}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},Rw=(e,t)=>{if(Ii(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let n=new fa(e.common.issues);return this._error=n,this._error}}};function $e(e){if(!e)return{};let{errorMap:t,invalid_type_error:n,required_error:r,description:s}=e;if(t&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:s}:{errorMap:(a,i)=>{let{message:o}=e;return a.code==="invalid_enum_value"?{message:o??i.defaultError}:typeof i.data>"u"?{message:o??r??i.defaultError}:a.code!=="invalid_type"?{message:i.defaultError}:{message:o??n??i.defaultError}},description:s}}var Le=class{get description(){return this._def.description}_getType(e){return ss(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:ss(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new or,ctx:{common:e.parent.common,data:e.data,parsedType:ss(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let t=this._parse(e);if(Ul(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){let t=this._parse(e);return Promise.resolve(t)}parse(e,t){let n=this.safeParse(e,t);if(n.success)return n.data;throw n.error}safeParse(e,t){let n={common:{issues:[],async:t?.async??!1,contextualErrorMap:t?.errorMap},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:ss(e)},r=this._parseSync({data:e,path:n.path,parent:n});return Rw(n,r)}"~validate"(e){let t={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:ss(e)};if(!this["~standard"].async)try{let n=this._parseSync({data:e,path:[],parent:t});return Ii(n)?{value:n.value}:{issues:t.common.issues}}catch(n){n?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),t.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:t}).then(n=>Ii(n)?{value:n.value}:{issues:t.common.issues})}async parseAsync(e,t){let n=await this.safeParseAsync(e,t);if(n.success)return n.data;throw n.error}async safeParseAsync(e,t){let n={common:{issues:[],contextualErrorMap:t?.errorMap,async:!0},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:ss(e)},r=this._parse({data:e,path:n.path,parent:n}),s=await(Ul(r)?r:Promise.resolve(r));return Rw(n,s)}refine(e,t){let n=r=>typeof t=="string"||typeof t>"u"?{message:t}:typeof t=="function"?t(r):t;return this._refinement((r,s)=>{let a=e(r),i=()=>s.addIssue({code:D.custom,...n(r)});return typeof Promise<"u"&&a instanceof Promise?a.then(o=>o?!0:(i(),!1)):a?!0:(i(),!1)})}refinement(e,t){return this._refinement((n,r)=>e(n)?!0:(r.addIssue(typeof t=="function"?t(n,r):t),!1))}_refinement(e){return new Ai({schema:this,typeName:F.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:t=>this["~validate"](t)}}optional(){return ms.create(this,this._def)}nullable(){return $i.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Ei.create(this)}promise(){return Bl.create(this,this._def)}or(e){return Dl.create([this,e],this._def)}and(e){return Fl.create(this,e,this._def)}transform(e){return new Ai({...$e(this._def),schema:this,typeName:F.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let t=typeof e=="function"?e:()=>e;return new Km({...$e(this._def),innerType:this,defaultValue:t,typeName:F.ZodDefault})}brand(){return new I2({typeName:F.ZodBranded,type:this,...$e(this._def)})}catch(e){let t=typeof e=="function"?e:()=>e;return new Xm({...$e(this._def),innerType:this,catchValue:t,typeName:F.ZodCatch})}describe(e){let t=this.constructor;return new t({...this._def,description:e})}pipe(e){return E2.create(this,e)}readonly(){return Ym.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},a2=/^c[^\s-]{8,}$/i,i2=/^[0-9a-z]+$/,o2=/^[0-9A-HJKMNP-TV-Z]{26}$/i,c2=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,u2=/^[a-z0-9_-]{21}$/i,l2=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,d2=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,p2=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,h2="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",vf,f2=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,m2=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,g2=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,y2=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,_2=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,v2=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Kx="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",w2=new RegExp(`^${Kx}$`);function Xx(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`);let n=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${n}`}function b2(e){return new RegExp(`^${Xx(e)}$`)}function k2(e){let t=`${Kx}T${Xx(e)}`,n=[];return n.push(e.local?"Z?":"Z"),e.offset&&n.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${n.join("|")})`,new RegExp(`^${t}$`)}function x2(e,t){return!!((t==="v4"||!t)&&f2.test(e)||(t==="v6"||!t)&&g2.test(e))}function O2(e,t){if(!l2.test(e))return!1;try{let[n]=e.split(".");if(!n)return!1;let r=n.replace(/-/g,"+").replace(/_/g,"/").padEnd(n.length+(4-n.length%4)%4,"="),s=JSON.parse(atob(r));return!(typeof s!="object"||s===null||"typ"in s&&s?.typ!=="JWT"||!s.alg||t&&s.alg!==t)}catch{return!1}}function S2(e,t){return!!((t==="v4"||!t)&&m2.test(e)||(t==="v6"||!t)&&y2.test(e))}var Zm=class vo extends Le{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==re.string){let s=this._getOrReturnCtx(t);return H(s,{code:D.invalid_type,expected:re.string,received:s.parsedType}),we}let n=new or,r;for(let s of this._def.checks)if(s.kind==="min")t.data.length<s.value&&(r=this._getOrReturnCtx(t,r),H(r,{code:D.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="max")t.data.length>s.value&&(r=this._getOrReturnCtx(t,r),H(r,{code:D.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="length"){let a=t.data.length>s.value,i=t.data.length<s.value;(a||i)&&(r=this._getOrReturnCtx(t,r),a?H(r,{code:D.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):i&&H(r,{code:D.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),n.dirty())}else if(s.kind==="email")p2.test(t.data)||(r=this._getOrReturnCtx(t,r),H(r,{validation:"email",code:D.invalid_string,message:s.message}),n.dirty());else if(s.kind==="emoji")vf||(vf=new RegExp(h2,"u")),vf.test(t.data)||(r=this._getOrReturnCtx(t,r),H(r,{validation:"emoji",code:D.invalid_string,message:s.message}),n.dirty());else if(s.kind==="uuid")c2.test(t.data)||(r=this._getOrReturnCtx(t,r),H(r,{validation:"uuid",code:D.invalid_string,message:s.message}),n.dirty());else if(s.kind==="nanoid")u2.test(t.data)||(r=this._getOrReturnCtx(t,r),H(r,{validation:"nanoid",code:D.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid")a2.test(t.data)||(r=this._getOrReturnCtx(t,r),H(r,{validation:"cuid",code:D.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid2")i2.test(t.data)||(r=this._getOrReturnCtx(t,r),H(r,{validation:"cuid2",code:D.invalid_string,message:s.message}),n.dirty());else if(s.kind==="ulid")o2.test(t.data)||(r=this._getOrReturnCtx(t,r),H(r,{validation:"ulid",code:D.invalid_string,message:s.message}),n.dirty());else if(s.kind==="url")try{new URL(t.data)}catch{r=this._getOrReturnCtx(t,r),H(r,{validation:"url",code:D.invalid_string,message:s.message}),n.dirty()}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(t.data)||(r=this._getOrReturnCtx(t,r),H(r,{validation:"regex",code:D.invalid_string,message:s.message}),n.dirty())):s.kind==="trim"?t.data=t.data.trim():s.kind==="includes"?t.data.includes(s.value,s.position)||(r=this._getOrReturnCtx(t,r),H(r,{code:D.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),n.dirty()):s.kind==="toLowerCase"?t.data=t.data.toLowerCase():s.kind==="toUpperCase"?t.data=t.data.toUpperCase():s.kind==="startsWith"?t.data.startsWith(s.value)||(r=this._getOrReturnCtx(t,r),H(r,{code:D.invalid_string,validation:{startsWith:s.value},message:s.message}),n.dirty()):s.kind==="endsWith"?t.data.endsWith(s.value)||(r=this._getOrReturnCtx(t,r),H(r,{code:D.invalid_string,validation:{endsWith:s.value},message:s.message}),n.dirty()):s.kind==="datetime"?k2(s).test(t.data)||(r=this._getOrReturnCtx(t,r),H(r,{code:D.invalid_string,validation:"datetime",message:s.message}),n.dirty()):s.kind==="date"?w2.test(t.data)||(r=this._getOrReturnCtx(t,r),H(r,{code:D.invalid_string,validation:"date",message:s.message}),n.dirty()):s.kind==="time"?b2(s).test(t.data)||(r=this._getOrReturnCtx(t,r),H(r,{code:D.invalid_string,validation:"time",message:s.message}),n.dirty()):s.kind==="duration"?d2.test(t.data)||(r=this._getOrReturnCtx(t,r),H(r,{validation:"duration",code:D.invalid_string,message:s.message}),n.dirty()):s.kind==="ip"?x2(t.data,s.version)||(r=this._getOrReturnCtx(t,r),H(r,{validation:"ip",code:D.invalid_string,message:s.message}),n.dirty()):s.kind==="jwt"?O2(t.data,s.alg)||(r=this._getOrReturnCtx(t,r),H(r,{validation:"jwt",code:D.invalid_string,message:s.message}),n.dirty()):s.kind==="cidr"?S2(t.data,s.version)||(r=this._getOrReturnCtx(t,r),H(r,{validation:"cidr",code:D.invalid_string,message:s.message}),n.dirty()):s.kind==="base64"?_2.test(t.data)||(r=this._getOrReturnCtx(t,r),H(r,{validation:"base64",code:D.invalid_string,message:s.message}),n.dirty()):s.kind==="base64url"?v2.test(t.data)||(r=this._getOrReturnCtx(t,r),H(r,{validation:"base64url",code:D.invalid_string,message:s.message}),n.dirty()):Fe.assertNever(s);return{status:n.value,value:t.data}}_regex(t,n,r){return this.refinement(s=>t.test(s),{validation:n,code:D.invalid_string,...ae.errToObj(r)})}_addCheck(t){return new vo({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...ae.errToObj(t)})}url(t){return this._addCheck({kind:"url",...ae.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...ae.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...ae.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...ae.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...ae.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...ae.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...ae.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...ae.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...ae.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...ae.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...ae.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...ae.errToObj(t)})}datetime(t){return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof t?.precision>"u"?null:t?.precision,offset:t?.offset??!1,local:t?.local??!1,...ae.errToObj(t?.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof t?.precision>"u"?null:t?.precision,...ae.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",...ae.errToObj(t)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...ae.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n?.position,...ae.errToObj(n?.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...ae.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...ae.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...ae.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...ae.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...ae.errToObj(n)})}nonempty(t){return this.min(1,ae.errToObj(t))}trim(){return new vo({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new vo({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new vo({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxLength(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}};Zm.create=e=>new Zm({checks:[],typeName:F.ZodString,coerce:e?.coerce??!1,...$e(e)});function T2(e,t){let n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,s=n>r?n:r,a=Number.parseInt(e.toFixed(s).replace(".","")),i=Number.parseInt(t.toFixed(s).replace(".",""));return a%i/10**s}var Mw=class Vm extends Le{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==re.number){let s=this._getOrReturnCtx(t);return H(s,{code:D.invalid_type,expected:re.number,received:s.parsedType}),we}let n,r=new or;for(let s of this._def.checks)s.kind==="int"?Fe.isInteger(t.data)||(n=this._getOrReturnCtx(t,n),H(n,{code:D.invalid_type,expected:"integer",received:"float",message:s.message}),r.dirty()):s.kind==="min"?(s.inclusive?t.data<s.value:t.data<=s.value)&&(n=this._getOrReturnCtx(t,n),H(n,{code:D.too_small,minimum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),r.dirty()):s.kind==="max"?(s.inclusive?t.data>s.value:t.data>=s.value)&&(n=this._getOrReturnCtx(t,n),H(n,{code:D.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),r.dirty()):s.kind==="multipleOf"?T2(t.data,s.value)!==0&&(n=this._getOrReturnCtx(t,n),H(n,{code:D.not_multiple_of,multipleOf:s.value,message:s.message}),r.dirty()):s.kind==="finite"?Number.isFinite(t.data)||(n=this._getOrReturnCtx(t,n),H(n,{code:D.not_finite,message:s.message}),r.dirty()):Fe.assertNever(s);return{status:r.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,ae.toString(n))}gt(t,n){return this.setLimit("min",t,!1,ae.toString(n))}lte(t,n){return this.setLimit("max",t,!0,ae.toString(n))}lt(t,n){return this.setLimit("max",t,!1,ae.toString(n))}setLimit(t,n,r,s){return new Vm({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:ae.toString(s)}]})}_addCheck(t){return new Vm({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:ae.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:ae.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:ae.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:ae.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:ae.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:ae.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:ae.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:ae.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:ae.toString(t)})}get minValue(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}get isInt(){return!!this._def.checks.find(t=>t.kind==="int"||t.kind==="multipleOf"&&Fe.isInteger(t.value))}get isFinite(){let t=null,n=null;for(let r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(t===null||r.value<t)&&(t=r.value)}return Number.isFinite(n)&&Number.isFinite(t)}};Mw.create=e=>new Mw({checks:[],typeName:F.ZodNumber,coerce:e?.coerce||!1,...$e(e)});var Lw=class qm extends Le{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==re.bigint)return this._getInvalidInput(t);let n,r=new or;for(let s of this._def.checks)s.kind==="min"?(s.inclusive?t.data<s.value:t.data<=s.value)&&(n=this._getOrReturnCtx(t,n),H(n,{code:D.too_small,type:"bigint",minimum:s.value,inclusive:s.inclusive,message:s.message}),r.dirty()):s.kind==="max"?(s.inclusive?t.data>s.value:t.data>=s.value)&&(n=this._getOrReturnCtx(t,n),H(n,{code:D.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),r.dirty()):s.kind==="multipleOf"?t.data%s.value!==BigInt(0)&&(n=this._getOrReturnCtx(t,n),H(n,{code:D.not_multiple_of,multipleOf:s.value,message:s.message}),r.dirty()):Fe.assertNever(s);return{status:r.value,value:t.data}}_getInvalidInput(t){let n=this._getOrReturnCtx(t);return H(n,{code:D.invalid_type,expected:re.bigint,received:n.parsedType}),we}gte(t,n){return this.setLimit("min",t,!0,ae.toString(n))}gt(t,n){return this.setLimit("min",t,!1,ae.toString(n))}lte(t,n){return this.setLimit("max",t,!0,ae.toString(n))}lt(t,n){return this.setLimit("max",t,!1,ae.toString(n))}setLimit(t,n,r,s){return new qm({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:ae.toString(s)}]})}_addCheck(t){return new qm({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:ae.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:ae.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:ae.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:ae.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:ae.toString(n)})}get minValue(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}};Lw.create=e=>new Lw({checks:[],typeName:F.ZodBigInt,coerce:e?.coerce??!1,...$e(e)});var zw=class extends Le{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==re.boolean){let t=this._getOrReturnCtx(e);return H(t,{code:D.invalid_type,expected:re.boolean,received:t.parsedType}),we}return Un(e.data)}};zw.create=e=>new zw({typeName:F.ZodBoolean,coerce:e?.coerce||!1,...$e(e)});var Uw=class Yx extends Le{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==re.date){let s=this._getOrReturnCtx(t);return H(s,{code:D.invalid_type,expected:re.date,received:s.parsedType}),we}if(Number.isNaN(t.data.getTime())){let s=this._getOrReturnCtx(t);return H(s,{code:D.invalid_date}),we}let n=new or,r;for(let s of this._def.checks)s.kind==="min"?t.data.getTime()<s.value&&(r=this._getOrReturnCtx(t,r),H(r,{code:D.too_small,message:s.message,inclusive:!0,exact:!1,minimum:s.value,type:"date"}),n.dirty()):s.kind==="max"?t.data.getTime()>s.value&&(r=this._getOrReturnCtx(t,r),H(r,{code:D.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),n.dirty()):Fe.assertNever(s);return{status:n.value,value:new Date(t.data.getTime())}}_addCheck(t){return new Yx({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:ae.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:ae.toString(n)})}get minDate(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t!=null?new Date(t):null}};Uw.create=e=>new Uw({checks:[],coerce:e?.coerce||!1,typeName:F.ZodDate,...$e(e)});var Dw=class extends Le{_parse(e){if(this._getType(e)!==re.symbol){let t=this._getOrReturnCtx(e);return H(t,{code:D.invalid_type,expected:re.symbol,received:t.parsedType}),we}return Un(e.data)}};Dw.create=e=>new Dw({typeName:F.ZodSymbol,...$e(e)});var Fw=class extends Le{_parse(e){if(this._getType(e)!==re.undefined){let t=this._getOrReturnCtx(e);return H(t,{code:D.invalid_type,expected:re.undefined,received:t.parsedType}),we}return Un(e.data)}};Fw.create=e=>new Fw({typeName:F.ZodUndefined,...$e(e)});var Bw=class extends Le{_parse(e){if(this._getType(e)!==re.null){let t=this._getOrReturnCtx(e);return H(t,{code:D.invalid_type,expected:re.null,received:t.parsedType}),we}return Un(e.data)}};Bw.create=e=>new Bw({typeName:F.ZodNull,...$e(e)});var Hm=class extends Le{constructor(){super(...arguments),this._any=!0}_parse(e){return Un(e.data)}};Hm.create=e=>new Hm({typeName:F.ZodAny,...$e(e)});var Zw=class extends Le{constructor(){super(...arguments),this._unknown=!0}_parse(e){return Un(e.data)}};Zw.create=e=>new Zw({typeName:F.ZodUnknown,...$e(e)});var Os=class extends Le{_parse(e){let t=this._getOrReturnCtx(e);return H(t,{code:D.invalid_type,expected:re.never,received:t.parsedType}),we}};Os.create=e=>new Os({typeName:F.ZodNever,...$e(e)});var Vw=class extends Le{_parse(e){if(this._getType(e)!==re.undefined){let t=this._getOrReturnCtx(e);return H(t,{code:D.invalid_type,expected:re.void,received:t.parsedType}),we}return Un(e.data)}};Vw.create=e=>new Vw({typeName:F.ZodVoid,...$e(e)});var Ei=class il extends Le{_parse(t){let{ctx:n,status:r}=this._processInputParams(t),s=this._def;if(n.parsedType!==re.array)return H(n,{code:D.invalid_type,expected:re.array,received:n.parsedType}),we;if(s.exactLength!==null){let i=n.data.length>s.exactLength.value,o=n.data.length<s.exactLength.value;(i||o)&&(H(n,{code:i?D.too_big:D.too_small,minimum:o?s.exactLength.value:void 0,maximum:i?s.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:s.exactLength.message}),r.dirty())}if(s.minLength!==null&&n.data.length<s.minLength.value&&(H(n,{code:D.too_small,minimum:s.minLength.value,type:"array",inclusive:!0,exact:!1,message:s.minLength.message}),r.dirty()),s.maxLength!==null&&n.data.length>s.maxLength.value&&(H(n,{code:D.too_big,maximum:s.maxLength.value,type:"array",inclusive:!0,exact:!1,message:s.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((i,o)=>s.type._parseAsync(new xs(n,i,n.path,o)))).then(i=>or.mergeArray(r,i));let a=[...n.data].map((i,o)=>s.type._parseSync(new xs(n,i,n.path,o)));return or.mergeArray(r,a)}get element(){return this._def.type}min(t,n){return new il({...this._def,minLength:{value:t,message:ae.toString(n)}})}max(t,n){return new il({...this._def,maxLength:{value:t,message:ae.toString(n)}})}length(t,n){return new il({...this._def,exactLength:{value:t,message:ae.toString(n)}})}nonempty(t){return this.min(1,t)}};Ei.create=(e,t)=>new Ei({type:e,minLength:null,maxLength:null,exactLength:null,typeName:F.ZodArray,...$e(t)});function Ja(e){if(e instanceof Jr){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=ms.create(Ja(r))}return new Jr({...e._def,shape:()=>t})}else return e instanceof Ei?new Ei({...e._def,type:Ja(e.element)}):e instanceof ms?ms.create(Ja(e.unwrap())):e instanceof $i?$i.create(Ja(e.unwrap())):e instanceof sc?sc.create(e.items.map(t=>Ja(t))):e}var Jr=class Wn extends Le{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let t=this._def.shape(),n=Fe.objectKeys(t);return this._cached={shape:t,keys:n},this._cached}_parse(t){if(this._getType(t)!==re.object){let c=this._getOrReturnCtx(t);return H(c,{code:D.invalid_type,expected:re.object,received:c.parsedType}),we}let{status:n,ctx:r}=this._processInputParams(t),{shape:s,keys:a}=this._getCached(),i=[];if(!(this._def.catchall instanceof Os&&this._def.unknownKeys==="strip"))for(let c in r.data)a.includes(c)||i.push(c);let o=[];for(let c of a){let u=s[c],l=r.data[c];o.push({key:{status:"valid",value:c},value:u._parse(new xs(r,l,r.path,c)),alwaysSet:c in r.data})}if(this._def.catchall instanceof Os){let c=this._def.unknownKeys;if(c==="passthrough")for(let u of i)o.push({key:{status:"valid",value:u},value:{status:"valid",value:r.data[u]}});else if(c==="strict")i.length>0&&(H(r,{code:D.unrecognized_keys,keys:i}),n.dirty());else if(c!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let c=this._def.catchall;for(let u of i){let l=r.data[u];o.push({key:{status:"valid",value:u},value:c._parse(new xs(r,l,r.path,u)),alwaysSet:u in r.data})}}return r.common.async?Promise.resolve().then(async()=>{let c=[];for(let u of o){let l=await u.key,d=await u.value;c.push({key:l,value:d,alwaysSet:u.alwaysSet})}return c}).then(c=>or.mergeObjectSync(n,c)):or.mergeObjectSync(n,o)}get shape(){return this._def.shape()}strict(t){return ae.errToObj,new Wn({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(n,r)=>{let s=this._def.errorMap?.(n,r).message??r.defaultError;return n.code==="unrecognized_keys"?{message:ae.errToObj(t).message??s}:{message:s}}}:{}})}strip(){return new Wn({...this._def,unknownKeys:"strip"})}passthrough(){return new Wn({...this._def,unknownKeys:"passthrough"})}extend(t){return new Wn({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new Wn({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:F.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new Wn({...this._def,catchall:t})}pick(t){let n={};for(let r of Fe.objectKeys(t))t[r]&&this.shape[r]&&(n[r]=this.shape[r]);return new Wn({...this._def,shape:()=>n})}omit(t){let n={};for(let r of Fe.objectKeys(this.shape))t[r]||(n[r]=this.shape[r]);return new Wn({...this._def,shape:()=>n})}deepPartial(){return Ja(this)}partial(t){let n={};for(let r of Fe.objectKeys(this.shape)){let s=this.shape[r];t&&!t[r]?n[r]=s:n[r]=s.optional()}return new Wn({...this._def,shape:()=>n})}required(t){let n={};for(let r of Fe.objectKeys(this.shape))if(t&&!t[r])n[r]=this.shape[r];else{let s=this.shape[r];for(;s instanceof ms;)s=s._def.innerType;n[r]=s}return new Wn({...this._def,shape:()=>n})}keyof(){return eO(Fe.objectKeys(this.shape))}};Jr.create=(e,t)=>new Jr({shape:()=>e,unknownKeys:"strip",catchall:Os.create(),typeName:F.ZodObject,...$e(t)});Jr.strictCreate=(e,t)=>new Jr({shape:()=>e,unknownKeys:"strict",catchall:Os.create(),typeName:F.ZodObject,...$e(t)});Jr.lazycreate=(e,t)=>new Jr({shape:e,unknownKeys:"strip",catchall:Os.create(),typeName:F.ZodObject,...$e(t)});var Dl=class extends Le{_parse(e){let{ctx:t}=this._processInputParams(e),n=this._def.options;function r(s){for(let i of s)if(i.result.status==="valid")return i.result;for(let i of s)if(i.result.status==="dirty")return t.common.issues.push(...i.ctx.common.issues),i.result;let a=s.map(i=>new fa(i.ctx.common.issues));return H(t,{code:D.invalid_union,unionErrors:a}),we}if(t.common.async)return Promise.all(n.map(async s=>{let a={...t,common:{...t.common,issues:[]},parent:null};return{result:await s._parseAsync({data:t.data,path:t.path,parent:a}),ctx:a}})).then(r);{let s,a=[];for(let o of n){let c={...t,common:{...t.common,issues:[]},parent:null},u=o._parseSync({data:t.data,path:t.path,parent:c});if(u.status==="valid")return u;u.status==="dirty"&&!s&&(s={result:u,ctx:c}),c.common.issues.length&&a.push(c.common.issues)}if(s)return t.common.issues.push(...s.ctx.common.issues),s.result;let i=a.map(o=>new fa(o));return H(t,{code:D.invalid_union,unionErrors:i}),we}}get options(){return this._def.options}};Dl.create=(e,t)=>new Dl({options:e,typeName:F.ZodUnion,...$e(t)});function Wm(e,t){let n=ss(e),r=ss(t);if(e===t)return{valid:!0,data:e};if(n===re.object&&r===re.object){let s=Fe.objectKeys(t),a=Fe.objectKeys(e).filter(o=>s.indexOf(o)!==-1),i={...e,...t};for(let o of a){let c=Wm(e[o],t[o]);if(!c.valid)return{valid:!1};i[o]=c.data}return{valid:!0,data:i}}else if(n===re.array&&r===re.array){if(e.length!==t.length)return{valid:!1};let s=[];for(let a=0;a<e.length;a++){let i=e[a],o=t[a],c=Wm(i,o);if(!c.valid)return{valid:!1};s.push(c.data)}return{valid:!0,data:s}}else return n===re.date&&r===re.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}var Fl=class extends Le{_parse(e){let{status:t,ctx:n}=this._processInputParams(e),r=(s,a)=>{if(Pw(s)||Pw(a))return we;let i=Wm(s.value,a.value);return i.valid?((jw(s)||jw(a))&&t.dirty(),{status:t.value,value:i.data}):(H(n,{code:D.invalid_intersection_types}),we)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([s,a])=>r(s,a)):r(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};Fl.create=(e,t,n)=>new Fl({left:e,right:t,typeName:F.ZodIntersection,...$e(n)});var sc=class Qx extends Le{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==re.array)return H(r,{code:D.invalid_type,expected:re.array,received:r.parsedType}),we;if(r.data.length<this._def.items.length)return H(r,{code:D.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),we;!this._def.rest&&r.data.length>this._def.items.length&&(H(r,{code:D.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());let s=[...r.data].map((a,i)=>{let o=this._def.items[i]||this._def.rest;return o?o._parse(new xs(r,a,r.path,i)):null}).filter(a=>!!a);return r.common.async?Promise.all(s).then(a=>or.mergeArray(n,a)):or.mergeArray(n,s)}get items(){return this._def.items}rest(t){return new Qx({...this._def,rest:t})}};sc.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new sc({items:e,typeName:F.ZodTuple,rest:null,...$e(t)})};var qw=class extends Le{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==re.map)return H(n,{code:D.invalid_type,expected:re.map,received:n.parsedType}),we;let r=this._def.keyType,s=this._def.valueType,a=[...n.data.entries()].map(([i,o],c)=>({key:r._parse(new xs(n,i,n.path,[c,"key"])),value:s._parse(new xs(n,o,n.path,[c,"value"]))}));if(n.common.async){let i=new Map;return Promise.resolve().then(async()=>{for(let o of a){let c=await o.key,u=await o.value;if(c.status==="aborted"||u.status==="aborted")return we;(c.status==="dirty"||u.status==="dirty")&&t.dirty(),i.set(c.value,u.value)}return{status:t.value,value:i}})}else{let i=new Map;for(let o of a){let c=o.key,u=o.value;if(c.status==="aborted"||u.status==="aborted")return we;(c.status==="dirty"||u.status==="dirty")&&t.dirty(),i.set(c.value,u.value)}return{status:t.value,value:i}}}};qw.create=(e,t,n)=>new qw({valueType:t,keyType:e,typeName:F.ZodMap,...$e(n)});var Hw=class Jm extends Le{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==re.set)return H(r,{code:D.invalid_type,expected:re.set,received:r.parsedType}),we;let s=this._def;s.minSize!==null&&r.data.size<s.minSize.value&&(H(r,{code:D.too_small,minimum:s.minSize.value,type:"set",inclusive:!0,exact:!1,message:s.minSize.message}),n.dirty()),s.maxSize!==null&&r.data.size>s.maxSize.value&&(H(r,{code:D.too_big,maximum:s.maxSize.value,type:"set",inclusive:!0,exact:!1,message:s.maxSize.message}),n.dirty());let a=this._def.valueType;function i(c){let u=new Set;for(let l of c){if(l.status==="aborted")return we;l.status==="dirty"&&n.dirty(),u.add(l.value)}return{status:n.value,value:u}}let o=[...r.data.values()].map((c,u)=>a._parse(new xs(r,c,r.path,u)));return r.common.async?Promise.all(o).then(c=>i(c)):i(o)}min(t,n){return new Jm({...this._def,minSize:{value:t,message:ae.toString(n)}})}max(t,n){return new Jm({...this._def,maxSize:{value:t,message:ae.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}};Hw.create=(e,t)=>new Hw({valueType:e,minSize:null,maxSize:null,typeName:F.ZodSet,...$e(t)});var Ww=class extends Le{get schema(){return this._def.getter()}_parse(e){let{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}};Ww.create=(e,t)=>new Ww({getter:e,typeName:F.ZodLazy,...$e(t)});var Jw=class extends Le{_parse(e){if(e.data!==this._def.value){let t=this._getOrReturnCtx(e);return H(t,{received:t.data,code:D.invalid_literal,expected:this._def.value}),we}return{status:"valid",value:e.data}}get value(){return this._def.value}};Jw.create=(e,t)=>new Jw({value:e,typeName:F.ZodLiteral,...$e(t)});function eO(e,t){return new Hy({values:e,typeName:F.ZodEnum,...$e(t)})}var Hy=class Gm extends Le{_parse(t){if(typeof t.data!="string"){let n=this._getOrReturnCtx(t),r=this._def.values;return H(n,{expected:Fe.joinValues(r),received:n.parsedType,code:D.invalid_type}),we}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){let n=this._getOrReturnCtx(t),r=this._def.values;return H(n,{received:n.data,code:D.invalid_enum_value,options:r}),we}return Un(t.data)}get options(){return this._def.values}get enum(){let t={};for(let n of this._def.values)t[n]=n;return t}get Values(){let t={};for(let n of this._def.values)t[n]=n;return t}get Enum(){let t={};for(let n of this._def.values)t[n]=n;return t}extract(t,n=this._def){return Gm.create(t,{...this._def,...n})}exclude(t,n=this._def){return Gm.create(this.options.filter(r=>!t.includes(r)),{...this._def,...n})}};Hy.create=eO;var Gw=class extends Le{_parse(e){let t=Fe.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==re.string&&n.parsedType!==re.number){let r=Fe.objectValues(t);return H(n,{expected:Fe.joinValues(r),received:n.parsedType,code:D.invalid_type}),we}if(this._cache||(this._cache=new Set(Fe.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let r=Fe.objectValues(t);return H(n,{received:n.data,code:D.invalid_enum_value,options:r}),we}return Un(e.data)}get enum(){return this._def.values}};Gw.create=(e,t)=>new Gw({values:e,typeName:F.ZodNativeEnum,...$e(t)});var Bl=class extends Le{unwrap(){return this._def.type}_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==re.promise&&t.common.async===!1)return H(t,{code:D.invalid_type,expected:re.promise,received:t.parsedType}),we;let n=t.parsedType===re.promise?t.data:Promise.resolve(t.data);return Un(n.then(r=>this._def.type.parseAsync(r,{path:t.path,errorMap:t.common.contextualErrorMap})))}};Bl.create=(e,t)=>new Bl({type:e,typeName:F.ZodPromise,...$e(t)});var Ai=class extends Le{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===F.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:t,ctx:n}=this._processInputParams(e),r=this._def.effect||null,s={addIssue:a=>{H(n,a),a.fatal?t.abort():t.dirty()},get path(){return n.path}};if(s.addIssue=s.addIssue.bind(s),r.type==="preprocess"){let a=r.transform(n.data,s);if(n.common.async)return Promise.resolve(a).then(async i=>{if(t.value==="aborted")return we;let o=await this._def.schema._parseAsync({data:i,path:n.path,parent:n});return o.status==="aborted"?we:o.status==="dirty"||t.value==="dirty"?Bm(o.value):o});{if(t.value==="aborted")return we;let i=this._def.schema._parseSync({data:a,path:n.path,parent:n});return i.status==="aborted"?we:i.status==="dirty"||t.value==="dirty"?Bm(i.value):i}}if(r.type==="refinement"){let a=i=>{let o=r.refinement(i,s);if(n.common.async)return Promise.resolve(o);if(o instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return i};if(n.common.async===!1){let i=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return i.status==="aborted"?we:(i.status==="dirty"&&t.dirty(),a(i.value),{status:t.value,value:i.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(i=>i.status==="aborted"?we:(i.status==="dirty"&&t.dirty(),a(i.value).then(()=>({status:t.value,value:i.value}))))}if(r.type==="transform")if(n.common.async===!1){let a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!Ii(a))return we;let i=r.transform(a.value,s);if(i instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:i}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(a=>Ii(a)?Promise.resolve(r.transform(a.value,s)).then(i=>({status:t.value,value:i})):we);Fe.assertNever(r)}};Ai.create=(e,t,n)=>new Ai({schema:e,typeName:F.ZodEffects,effect:t,...$e(n)});Ai.createWithPreprocess=(e,t,n)=>new Ai({schema:t,effect:{type:"preprocess",transform:e},typeName:F.ZodEffects,...$e(n)});var ms=class extends Le{_parse(e){return this._getType(e)===re.undefined?Un(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};ms.create=(e,t)=>new ms({innerType:e,typeName:F.ZodOptional,...$e(t)});var $i=class extends Le{_parse(e){return this._getType(e)===re.null?Un(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};$i.create=(e,t)=>new $i({innerType:e,typeName:F.ZodNullable,...$e(t)});var Km=class extends Le{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return t.parsedType===re.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}};Km.create=(e,t)=>new Km({innerType:e,typeName:F.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...$e(t)});var Xm=class extends Le{_parse(e){let{ctx:t}=this._processInputParams(e),n={...t,common:{...t.common,issues:[]}},r=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return Ul(r)?r.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new fa(n.common.issues)},input:n.data})})):{status:"valid",value:r.status==="valid"?r.value:this._def.catchValue({get error(){return new fa(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};Xm.create=(e,t)=>new Xm({innerType:e,typeName:F.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...$e(t)});var Kw=class extends Le{_parse(e){if(this._getType(e)!==re.nan){let t=this._getOrReturnCtx(e);return H(t,{code:D.invalid_type,expected:re.nan,received:t.parsedType}),we}return{status:"valid",value:e.data}}};Kw.create=e=>new Kw({typeName:F.ZodNaN,...$e(e)});var I2=class extends Le{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return this._def.type._parse({data:n,path:t.path,parent:t})}unwrap(){return this._def.type}},E2=class tO extends Le{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.common.async)return(async()=>{let s=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return s.status==="aborted"?we:s.status==="dirty"?(n.dirty(),Bm(s.value)):this._def.out._parseAsync({data:s.value,path:r.path,parent:r})})();{let s=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return s.status==="aborted"?we:s.status==="dirty"?(n.dirty(),{status:"dirty",value:s.value}):this._def.out._parseSync({data:s.value,path:r.path,parent:r})}}static create(t,n){return new tO({in:t,out:n,typeName:F.ZodPipeline})}},Ym=class extends Le{_parse(e){let t=this._def.innerType._parse(e),n=r=>(Ii(r)&&(r.value=Object.freeze(r.value)),r);return Ul(t)?t.then(r=>n(r)):n(t)}unwrap(){return this._def.innerType}};Ym.create=(e,t)=>new Ym({innerType:e,typeName:F.ZodReadonly,...$e(t)});var F;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(F||(F={}));var Rp=Zm.create,Xw=Hm.create;Os.create;Ei.create;var Mp=Jr.create;Dl.create;Fl.create;sc.create;Hy.create;Bl.create;ms.create;$i.create;function A2(e,t){let n={type:"array"};return e.type?._def&&e.type?._def?.typeName!==F.ZodAny&&(n.items=Ze(e.type._def,{...t,currentPath:[...t.currentPath,"items"]})),e.minLength&&qe(n,"minItems",e.minLength.value,e.minLength.message,t),e.maxLength&&qe(n,"maxItems",e.maxLength.value,e.maxLength.message,t),e.exactLength&&(qe(n,"minItems",e.exactLength.value,e.exactLength.message,t),qe(n,"maxItems",e.exactLength.value,e.exactLength.message,t)),n}function $2(e,t){let n={type:"integer",format:"int64"};if(!e.checks)return n;for(let r of e.checks)switch(r.kind){case"min":t.target==="jsonSchema7"?r.inclusive?qe(n,"minimum",r.value,r.message,t):qe(n,"exclusiveMinimum",r.value,r.message,t):(r.inclusive||(n.exclusiveMinimum=!0),qe(n,"minimum",r.value,r.message,t));break;case"max":t.target==="jsonSchema7"?r.inclusive?qe(n,"maximum",r.value,r.message,t):qe(n,"exclusiveMaximum",r.value,r.message,t):(r.inclusive||(n.exclusiveMaximum=!0),qe(n,"maximum",r.value,r.message,t));break;case"multipleOf":qe(n,"multipleOf",r.value,r.message,t);break}return n}function C2(){return{type:"boolean"}}function nO(e,t){return Ze(e.type._def,t)}var N2=(e,t)=>Ze(e.innerType._def,t);function rO(e,t,n){let r=n??t.dateStrategy;if(Array.isArray(r))return{anyOf:r.map(s=>rO(e,t,s))};switch(r){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return P2(e,t)}}var P2=(e,t)=>{let n={type:"integer",format:"unix-time"};if(t.target==="openApi3")return n;for(let r of e.checks)switch(r.kind){case"min":qe(n,"minimum",r.value,r.message,t);break;case"max":qe(n,"maximum",r.value,r.message,t);break}return n};function j2(e,t){return{...Ze(e.innerType._def,t),default:e.defaultValue()}}function R2(e,t){return t.effectStrategy==="input"?Ze(e.schema._def,t):yn(t)}function M2(e){return{type:"string",enum:Array.from(e.values)}}var L2=e=>"type"in e&&e.type==="string"?!1:"allOf"in e;function z2(e,t){let n=[Ze(e.left._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),Ze(e.right._def,{...t,currentPath:[...t.currentPath,"allOf","1"]})].filter(a=>!!a),r=t.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,s=[];return n.forEach(a=>{if(L2(a))s.push(...a.allOf),a.unevaluatedProperties===void 0&&(r=void 0);else{let i=a;if("additionalProperties"in a&&a.additionalProperties===!1){let{additionalProperties:o,...c}=a;i=c}else r=void 0;s.push(i)}}),s.length?{allOf:s,...r}:void 0}function U2(e,t){let n=typeof e.value;return n!=="bigint"&&n!=="number"&&n!=="boolean"&&n!=="string"?{type:Array.isArray(e.value)?"array":"object"}:t.target==="openApi3"?{type:n==="bigint"?"integer":n,enum:[e.value]}:{type:n==="bigint"?"integer":n,const:e.value}}var wf,Zn={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>(wf===void 0&&(wf=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),wf),uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function sO(e,t){let n={type:"string"};if(e.checks)for(let r of e.checks)switch(r.kind){case"min":qe(n,"minLength",typeof n.minLength=="number"?Math.max(n.minLength,r.value):r.value,r.message,t);break;case"max":qe(n,"maxLength",typeof n.maxLength=="number"?Math.min(n.maxLength,r.value):r.value,r.message,t);break;case"email":switch(t.emailStrategy){case"format:email":Vn(n,"email",r.message,t);break;case"format:idn-email":Vn(n,"idn-email",r.message,t);break;case"pattern:zod":Ht(n,Zn.email,r.message,t);break}break;case"url":Vn(n,"uri",r.message,t);break;case"uuid":Vn(n,"uuid",r.message,t);break;case"regex":Ht(n,r.regex,r.message,t);break;case"cuid":Ht(n,Zn.cuid,r.message,t);break;case"cuid2":Ht(n,Zn.cuid2,r.message,t);break;case"startsWith":Ht(n,RegExp(`^${bf(r.value,t)}`),r.message,t);break;case"endsWith":Ht(n,RegExp(`${bf(r.value,t)}$`),r.message,t);break;case"datetime":Vn(n,"date-time",r.message,t);break;case"date":Vn(n,"date",r.message,t);break;case"time":Vn(n,"time",r.message,t);break;case"duration":Vn(n,"duration",r.message,t);break;case"length":qe(n,"minLength",typeof n.minLength=="number"?Math.max(n.minLength,r.value):r.value,r.message,t),qe(n,"maxLength",typeof n.maxLength=="number"?Math.min(n.maxLength,r.value):r.value,r.message,t);break;case"includes":Ht(n,RegExp(bf(r.value,t)),r.message,t);break;case"ip":r.version!=="v6"&&Vn(n,"ipv4",r.message,t),r.version!=="v4"&&Vn(n,"ipv6",r.message,t);break;case"base64url":Ht(n,Zn.base64url,r.message,t);break;case"jwt":Ht(n,Zn.jwt,r.message,t);break;case"cidr":r.version!=="v6"&&Ht(n,Zn.ipv4Cidr,r.message,t),r.version!=="v4"&&Ht(n,Zn.ipv6Cidr,r.message,t);break;case"emoji":Ht(n,Zn.emoji(),r.message,t);break;case"ulid":Ht(n,Zn.ulid,r.message,t);break;case"base64":switch(t.base64Strategy){case"format:binary":Vn(n,"binary",r.message,t);break;case"contentEncoding:base64":qe(n,"contentEncoding","base64",r.message,t);break;case"pattern:zod":Ht(n,Zn.base64,r.message,t);break}break;case"nanoid":Ht(n,Zn.nanoid,r.message,t);break}return n}function bf(e,t){return t.patternStrategy==="escape"?F2(e):e}var D2=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function F2(e){let t="";for(let n=0;n<e.length;n++)D2.has(e[n])||(t+="\\"),t+=e[n];return t}function Vn(e,t,n,r){e.format||e.anyOf?.some(s=>s.format)?(e.anyOf||(e.anyOf=[]),e.format&&(e.anyOf.push({format:e.format,...e.errorMessage&&r.errorMessages&&{errorMessage:{format:e.errorMessage.format}}}),delete e.format,e.errorMessage&&(delete e.errorMessage.format,Object.keys(e.errorMessage).length===0&&delete e.errorMessage)),e.anyOf.push({format:t,...n&&r.errorMessages&&{errorMessage:{format:n}}})):qe(e,"format",t,n,r)}function Ht(e,t,n,r){e.pattern||e.allOf?.some(s=>s.pattern)?(e.allOf||(e.allOf=[]),e.pattern&&(e.allOf.push({pattern:e.pattern,...e.errorMessage&&r.errorMessages&&{errorMessage:{pattern:e.errorMessage.pattern}}}),delete e.pattern,e.errorMessage&&(delete e.errorMessage.pattern,Object.keys(e.errorMessage).length===0&&delete e.errorMessage)),e.allOf.push({pattern:Yw(t,r),...n&&r.errorMessages&&{errorMessage:{pattern:n}}})):qe(e,"pattern",Yw(t,r),n,r)}function Yw(e,t){if(!t.applyRegexFlags||!e.flags)return e.source;let n={i:e.flags.includes("i"),m:e.flags.includes("m"),s:e.flags.includes("s")},r=n.i?e.source.toLowerCase():e.source,s="",a=!1,i=!1,o=!1;for(let c=0;c<r.length;c++){if(a){s+=r[c],a=!1;continue}if(n.i){if(i){if(r[c].match(/[a-z]/)){o?(s+=r[c],s+=`${r[c-2]}-${r[c]}`.toUpperCase(),o=!1):r[c+1]==="-"&&r[c+2]?.match(/[a-z]/)?(s+=r[c],o=!0):s+=`${r[c]}${r[c].toUpperCase()}`;continue}}else if(r[c].match(/[a-z]/)){s+=`[${r[c]}${r[c].toUpperCase()}]`;continue}}if(n.m){if(r[c]==="^"){s+=`(^|(?<=[\r
66
- ]))`;continue}else if(r[c]==="$"){s+=`($|(?=[\r
67
- ]))`;continue}}if(n.s&&r[c]==="."){s+=i?`${r[c]}\r
68
- `:`[${r[c]}\r
69
- ]`;continue}s+=r[c],r[c]==="\\"?a=!0:i&&r[c]==="]"?i=!1:!i&&r[c]==="["&&(i=!0)}try{new RegExp(s)}catch{return console.warn(`Could not convert regex pattern at ${t.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return s}function aO(e,t){if(t.target==="openAi"&&console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead."),t.target==="openApi3"&&e.keyType?._def.typeName===F.ZodEnum)return{type:"object",required:e.keyType._def.values,properties:e.keyType._def.values.reduce((r,s)=>({...r,[s]:Ze(e.valueType._def,{...t,currentPath:[...t.currentPath,"properties",s]})??yn(t)}),{}),additionalProperties:t.rejectedAdditionalProperties};let n={type:"object",additionalProperties:Ze(e.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]})??t.allowedAdditionalProperties};if(t.target==="openApi3")return n;if(e.keyType?._def.typeName===F.ZodString&&e.keyType._def.checks?.length){let{type:r,...s}=sO(e.keyType._def,t);return{...n,propertyNames:s}}else{if(e.keyType?._def.typeName===F.ZodEnum)return{...n,propertyNames:{enum:e.keyType._def.values}};if(e.keyType?._def.typeName===F.ZodBranded&&e.keyType._def.type._def.typeName===F.ZodString&&e.keyType._def.type._def.checks?.length){let{type:r,...s}=nO(e.keyType._def,t);return{...n,propertyNames:s}}}return n}function B2(e,t){return t.mapStrategy==="record"?aO(e,t):{type:"array",maxItems:125,items:{type:"array",items:[Ze(e.keyType._def,{...t,currentPath:[...t.currentPath,"items","items","0"]})||yn(t),Ze(e.valueType._def,{...t,currentPath:[...t.currentPath,"items","items","1"]})||yn(t)],minItems:2,maxItems:2}}}function Z2(e){let t=e.values,n=Object.keys(e.values).filter(s=>typeof t[t[s]]!="number").map(s=>t[s]),r=Array.from(new Set(n.map(s=>typeof s)));return{type:r.length===1?r[0]==="string"?"string":"number":["string","number"],enum:n}}function V2(e){return e.target==="openAi"?void 0:{not:yn({...e,currentPath:[...e.currentPath,"not"]})}}function q2(e){return e.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var Zl={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function H2(e,t){if(t.target==="openApi3")return Qw(e,t);let n=e.options instanceof Map?Array.from(e.options.values()):e.options;if(n.every(r=>r._def.typeName in Zl&&(!r._def.checks||!r._def.checks.length))){let r=n.reduce((s,a)=>{let i=Zl[a._def.typeName];return i&&!s.includes(i)?[...s,i]:s},[]);return{type:r.length>1?r:r[0]}}else if(n.every(r=>r._def.typeName==="ZodLiteral"&&!r.description)){let r=n.reduce((s,a)=>{let i=typeof a._def.value;switch(i){case"string":case"number":case"boolean":return[...s,i];case"bigint":return[...s,"integer"];case"object":return a._def.value===null?[...s,"null"]:s;default:return s}},[]);if(r.length===n.length){let s=r.filter((a,i,o)=>o.indexOf(a)===i);return{type:s.length>1?s:s[0],enum:n.reduce((a,i)=>a.includes(i._def.value)?a:[...a,i._def.value],[])}}}else if(n.every(r=>r._def.typeName==="ZodEnum"))return{type:"string",enum:n.reduce((r,s)=>[...r,...s._def.values.filter(a=>!r.includes(a))],[])};return Qw(e,t)}var Qw=(e,t)=>{let n=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((r,s)=>Ze(r._def,{...t,currentPath:[...t.currentPath,"anyOf",`${s}`]})).filter(r=>!!r&&(!t.strictUnions||typeof r=="object"&&Object.keys(r).length>0));return n.length?{anyOf:n}:void 0};function W2(e,t){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return t.target==="openApi3"?{type:Zl[e.innerType._def.typeName],nullable:!0}:{type:[Zl[e.innerType._def.typeName],"null"]};if(t.target==="openApi3"){let r=Ze(e.innerType._def,{...t,currentPath:[...t.currentPath]});return r&&"$ref"in r?{allOf:[r],nullable:!0}:r&&{...r,nullable:!0}}let n=Ze(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","0"]});return n&&{anyOf:[n,{type:"null"}]}}function J2(e,t){let n={type:"number"};if(!e.checks)return n;for(let r of e.checks)switch(r.kind){case"int":n.type="integer",Wx(n,"type",r.message,t);break;case"min":t.target==="jsonSchema7"?r.inclusive?qe(n,"minimum",r.value,r.message,t):qe(n,"exclusiveMinimum",r.value,r.message,t):(r.inclusive||(n.exclusiveMinimum=!0),qe(n,"minimum",r.value,r.message,t));break;case"max":t.target==="jsonSchema7"?r.inclusive?qe(n,"maximum",r.value,r.message,t):qe(n,"exclusiveMaximum",r.value,r.message,t):(r.inclusive||(n.exclusiveMaximum=!0),qe(n,"maximum",r.value,r.message,t));break;case"multipleOf":qe(n,"multipleOf",r.value,r.message,t);break}return n}function G2(e,t){let n=t.target==="openAi",r={type:"object",properties:{}},s=[],a=e.shape();for(let o in a){let c=a[o];if(c===void 0||c._def===void 0)continue;let u=X2(c);u&&n&&(c._def.typeName==="ZodOptional"&&(c=c._def.innerType),c.isNullable()||(c=c.nullable()),u=!1);let l=Ze(c._def,{...t,currentPath:[...t.currentPath,"properties",o],propertyPath:[...t.currentPath,"properties",o]});l!==void 0&&(r.properties[o]=l,u||s.push(o))}s.length&&(r.required=s);let i=K2(e,t);return i!==void 0&&(r.additionalProperties=i),r}function K2(e,t){if(e.catchall._def.typeName!=="ZodNever")return Ze(e.catchall._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]});switch(e.unknownKeys){case"passthrough":return t.allowedAdditionalProperties;case"strict":return t.rejectedAdditionalProperties;case"strip":return t.removeAdditionalStrategy==="strict"?t.allowedAdditionalProperties:t.rejectedAdditionalProperties}}function X2(e){try{return e.isOptional()}catch{return!0}}var Y2=(e,t)=>{if(t.currentPath.toString()===t.propertyPath?.toString())return Ze(e.innerType._def,t);let n=Ze(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","1"]});return n?{anyOf:[{not:yn(t)},n]}:yn(t)},Q2=(e,t)=>{if(t.pipeStrategy==="input")return Ze(e.in._def,t);if(t.pipeStrategy==="output")return Ze(e.out._def,t);let n=Ze(e.in._def,{...t,currentPath:[...t.currentPath,"allOf","0"]});return{allOf:[n,Ze(e.out._def,{...t,currentPath:[...t.currentPath,"allOf",n?"1":"0"]})].filter(r=>r!==void 0)}};function eM(e,t){return Ze(e.type._def,t)}function tM(e,t){let n={type:"array",uniqueItems:!0,items:Ze(e.valueType._def,{...t,currentPath:[...t.currentPath,"items"]})};return e.minSize&&qe(n,"minItems",e.minSize.value,e.minSize.message,t),e.maxSize&&qe(n,"maxItems",e.maxSize.value,e.maxSize.message,t),n}function nM(e,t){return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((n,r)=>Ze(n._def,{...t,currentPath:[...t.currentPath,"items",`${r}`]})).reduce((n,r)=>r===void 0?n:[...n,r],[]),additionalItems:Ze(e.rest._def,{...t,currentPath:[...t.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((n,r)=>Ze(n._def,{...t,currentPath:[...t.currentPath,"items",`${r}`]})).reduce((n,r)=>r===void 0?n:[...n,r],[])}}function rM(e){return{not:yn(e)}}function sM(e){return yn(e)}var aM=(e,t)=>Ze(e.innerType._def,t),iM=(e,t,n)=>{switch(t){case F.ZodString:return sO(e,n);case F.ZodNumber:return J2(e,n);case F.ZodObject:return G2(e,n);case F.ZodBigInt:return $2(e,n);case F.ZodBoolean:return C2();case F.ZodDate:return rO(e,n);case F.ZodUndefined:return rM(n);case F.ZodNull:return q2(n);case F.ZodArray:return A2(e,n);case F.ZodUnion:case F.ZodDiscriminatedUnion:return H2(e,n);case F.ZodIntersection:return z2(e,n);case F.ZodTuple:return nM(e,n);case F.ZodRecord:return aO(e,n);case F.ZodLiteral:return U2(e,n);case F.ZodEnum:return M2(e);case F.ZodNativeEnum:return Z2(e);case F.ZodNullable:return W2(e,n);case F.ZodOptional:return Y2(e,n);case F.ZodMap:return B2(e,n);case F.ZodSet:return tM(e,n);case F.ZodLazy:return()=>e.getter()._def;case F.ZodPromise:return eM(e,n);case F.ZodNaN:case F.ZodNever:return V2(n);case F.ZodEffects:return R2(e,n);case F.ZodAny:return yn(n);case F.ZodUnknown:return sM(n);case F.ZodDefault:return j2(e,n);case F.ZodBranded:return nO(e,n);case F.ZodReadonly:return aM(e,n);case F.ZodCatch:return N2(e,n);case F.ZodPipeline:return Q2(e,n);case F.ZodFunction:case F.ZodVoid:case F.ZodSymbol:return;default:return(r=>{})()}};function Ze(e,t,n=!1){let r=t.seen.get(e);if(t.override){let o=t.override?.(e,t,r,n);if(o!==YR)return o}if(r&&!n){let o=oM(r,t);if(o!==void 0)return o}let s={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,s);let a=iM(e,e.typeName,t),i=typeof a=="function"?Ze(a(),t):a;if(i&&cM(e,t,i),t.postProcess){let o=t.postProcess(i,e,t);return s.jsonSchema=i,o}return s.jsonSchema=i,i}var oM=(e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:Hx(t.currentPath,e.path)};case"none":case"seen":return e.path.length<t.currentPath.length&&e.path.every((n,r)=>t.currentPath[r]===n)?(console.warn(`Recursive reference detected at ${t.currentPath.join("/")}! Defaulting to any`),yn(t)):t.$refStrategy==="seen"?yn(t):void 0}},cM=(e,t,n)=>(e.description&&(n.description=e.description,t.markdownDescription&&(n.markdownDescription=e.description)),n),uM=(e,t)=>{let n=t2(t),r=typeof t=="object"&&t.definitions?Object.entries(t.definitions).reduce((o,[c,u])=>({...o,[c]:Ze(u._def,{...n,currentPath:[...n.basePath,n.definitionPath,c]},!0)??yn(n)}),{}):void 0,s=typeof t=="string"?t:t?.name,a=Ze(e._def,n,!1)??yn(n);n.flags.hasReferencedOpenAiAnyType&&(r||(r={}),r[n.openAiAnyTypeName]||(r[n.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:n.$refStrategy==="relative"?"1":[...n.basePath,n.definitionPath,n.openAiAnyTypeName].join("/")}}));let i=s===void 0?r?{...a,[n.definitionPath]:r}:a:{$ref:[...n.$refStrategy==="relative"?[]:n.basePath,n.definitionPath,s].join("/"),[n.definitionPath]:{...r,[s]:a}};return n.target==="jsonSchema7"?i.$schema="http://json-schema.org/draft-07/schema#":(n.target==="jsonSchema2019-09"||n.target==="openAi")&&(i.$schema="https://json-schema.org/draft/2019-09/schema#"),n.target==="openAi"&&("anyOf"in i||"oneOf"in i||"allOf"in i||"type"in i&&Array.isArray(i.type))&&console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property."),i};function oa(e,t){let n=typeof e;if(n!==typeof t)return!1;if(Array.isArray(e)){if(!Array.isArray(t))return!1;let r=e.length;if(r!==t.length)return!1;for(let s=0;s<r;s++)if(!oa(e[s],t[s]))return!1;return!0}if(n==="object"){if(!e||!t)return e===t;let r=Object.keys(e),s=Object.keys(t);if(r.length!==s.length)return!1;for(let a of r)if(!oa(e[a],t[a]))return!1;return!0}return e===t}function Gn(e){return encodeURI(lM(e))}function lM(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}var dM={prefixItems:!0,items:!0,allOf:!0,anyOf:!0,oneOf:!0},pM={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependentSchemas:!0},hM={id:!0,$id:!0,$ref:!0,$schema:!0,$anchor:!0,$vocabulary:!0,$comment:!0,default:!0,enum:!0,const:!0,required:!0,type:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0},fM=typeof self<"u"&&self.location&&self.location.origin!=="null"?new URL(self.location.origin+self.location.pathname+location.search):new URL("https://github.com/cfworker");function cs(e,t=Object.create(null),n=fM,r=""){if(e&&typeof e=="object"&&!Array.isArray(e)){let a=e.$id||e.id;if(a){let i=new URL(a,n.href);i.hash.length>1?t[i.href]=e:(i.hash="",r===""?n=i:cs(e,t,n))}}else if(e!==!0&&e!==!1)return t;let s=n.href+(r?"#"+r:"");if(t[s]!==void 0)throw new Error(`Duplicate schema URI "${s}".`);if(t[s]=e,e===!0||e===!1)return t;if(e.__absolute_uri__===void 0&&Object.defineProperty(e,"__absolute_uri__",{enumerable:!1,value:s}),e.$ref&&e.__absolute_ref__===void 0){let a=new URL(e.$ref,n.href);a.hash=a.hash,Object.defineProperty(e,"__absolute_ref__",{enumerable:!1,value:a.href})}if(e.$recursiveRef&&e.__absolute_recursive_ref__===void 0){let a=new URL(e.$recursiveRef,n.href);a.hash=a.hash,Object.defineProperty(e,"__absolute_recursive_ref__",{enumerable:!1,value:a.href})}if(e.$anchor){let a=new URL("#"+e.$anchor,n.href);t[a.href]=e}for(let a in e){if(hM[a])continue;let i=`${r}/${Gn(a)}`,o=e[a];if(Array.isArray(o)){if(dM[a]){let c=o.length;for(let u=0;u<c;u++)cs(o[u],t,n,`${i}/${u}`)}}else if(pM[a])for(let c in o)cs(o[c],t,n,`${i}/${Gn(c)}`);else cs(o,t,n,i)}return t}var mM=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,gM=[0,31,28,31,30,31,30,31,31,30,31,30,31],yM=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i,_M=/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,vM=/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,wM=/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,bM=/^(?:(?:https?|ftp):\/\/)(?:\S+(?::\S*)?@)?(?:(?!10(?:\.\d{1,3}){3})(?!127(?:\.\d{1,3}){3})(?!169\.254(?:\.\d{1,3}){2})(?!192\.168(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u{00a1}-\u{ffff}0-9]+-?)*[a-z\u{00a1}-\u{ffff}0-9]+)(?:\.(?:[a-z\u{00a1}-\u{ffff}0-9]+-?)*[a-z\u{00a1}-\u{ffff}0-9]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,kM=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,xM=/^(?:\/(?:[^~/]|~0|~1)*)*$/,OM=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,SM=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,TM=e=>{if(e[0]==='"')return!1;let[t,n,...r]=e.split("@");return!t||!n||r.length!==0||t.length>64||n.length>253||t[0]==="."||t.endsWith(".")||t.includes("..")||!/^[a-z0-9.-]+$/i.test(n)||!/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+$/i.test(t)?!1:n.split(".").every(s=>/^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$/i.test(s))},IM=/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,EM=/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,AM=e=>e.length>1&&e.length<80&&(/^P\d+([.,]\d+)?W$/.test(e)||/^P[\dYMDTHS]*(\d[.,]\d+)?[YMDHS]$/.test(e)&&/^P([.,\d]+Y)?([.,\d]+M)?([.,\d]+D)?(T([.,\d]+H)?([.,\d]+M)?([.,\d]+S)?)?$/.test(e));function pr(e){return e.test.bind(e)}var eb={date:iO,time:oO.bind(void 0,!1),"date-time":NM,duration:AM,uri:RM,"uri-reference":pr(vM),"uri-template":pr(wM),url:pr(bM),email:TM,hostname:pr(_M),ipv4:pr(IM),ipv6:pr(EM),regex:LM,uuid:pr(kM),"json-pointer":pr(xM),"json-pointer-uri-fragment":pr(OM),"relative-json-pointer":pr(SM)};function $M(e){return e%4===0&&(e%100!==0||e%400===0)}function iO(e){let t=e.match(mM);if(!t)return!1;let n=+t[1],r=+t[2],s=+t[3];return r>=1&&r<=12&&s>=1&&s<=(r==2&&$M(n)?29:gM[r])}function oO(e,t){let n=t.match(yM);if(!n)return!1;let r=+n[1],s=+n[2],a=+n[3],i=!!n[5];return(r<=23&&s<=59&&a<=59||r==23&&s==59&&a==60)&&(!e||i)}var CM=/t|\s/i;function NM(e){let t=e.split(CM);return t.length==2&&iO(t[0])&&oO(!0,t[1])}var PM=/\/|:/,jM=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function RM(e){return PM.test(e)&&jM.test(e)}var MM=/[^\\]\\Z/;function LM(e){if(MM.test(e))return!1;try{return new RegExp(e,"u"),!0}catch{return!1}}function zM(e){let t=0,n=e.length,r=0,s;for(;r<n;)t++,s=e.charCodeAt(r++),s>=55296&&s<=56319&&r<n&&(s=e.charCodeAt(r),(s&64512)==56320&&r++);return t}function st(e,t,n="2019-09",r=cs(t),s=!0,a=null,i="#",o="#",c=Object.create(null)){if(t===!0)return{valid:!0,errors:[]};if(t===!1)return{valid:!1,errors:[{instanceLocation:i,keyword:"false",keywordLocation:i,error:"False boolean schema."}]};let u=typeof e,l;switch(u){case"boolean":case"number":case"string":l=u;break;case"object":e===null?l="null":Array.isArray(e)?l="array":l="object";break;default:throw new Error(`Instances of "${u}" type are not supported.`)}let{$ref:d,$recursiveRef:p,$recursiveAnchor:h,type:f,const:m,enum:v,required:g,not:y,anyOf:k,allOf:x,oneOf:S,if:E,then:I,else:w,format:P,properties:A,patternProperties:Z,additionalProperties:ze,unevaluatedProperties:rt,minProperties:B,maxProperties:L,propertyNames:z,dependentRequired:ee,dependentSchemas:oe,dependencies:ne,prefixItems:ue,items:Oe,additionalItems:Te,unevaluatedItems:Ue,contains:De,minContains:kt,maxContains:b,minItems:_,maxItems:C,uniqueItems:O,minimum:Ne,maximum:Je,exclusiveMinimum:yt,exclusiveMaximum:pt,multipleOf:Lt,minLength:Cn,maxLength:ht,pattern:dr,__absolute_ref__:La,__absolute_recursive_ref__:uu}=t,q=[];if(h===!0&&a===null&&(a=t),p==="#"){let he=a===null?r[uu]:a,ce=`${o}/$recursiveRef`,Ae=st(e,a===null?t:a,n,r,s,he,i,ce,c);Ae.valid||q.push({instanceLocation:i,keyword:"$recursiveRef",keywordLocation:ce,error:"A subschema had errors."},...Ae.errors)}if(d!==void 0){let he=r[La||d];if(he===void 0){let X=`Unresolved $ref "${d}".`;throw La&&La!==d&&(X+=` Absolute URI "${La}".`),X+=`
70
- Known schemas:
71
- - ${Object.keys(r).join(`
72
- - `)}`,new Error(X)}let ce=`${o}/$ref`,Ae=st(e,he,n,r,s,a,i,ce,c);if(Ae.valid||q.push({instanceLocation:i,keyword:"$ref",keywordLocation:ce,error:"A subschema had errors."},...Ae.errors),n==="4"||n==="7")return{valid:q.length===0,errors:q}}if(Array.isArray(f)){let he=f.length,ce=!1;for(let Ae=0;Ae<he;Ae++)if(l===f[Ae]||f[Ae]==="integer"&&l==="number"&&e%1===0&&e===e){ce=!0;break}ce||q.push({instanceLocation:i,keyword:"type",keywordLocation:`${o}/type`,error:`Instance type "${l}" is invalid. Expected "${f.join('", "')}".`})}else f==="integer"?(l!=="number"||e%1||e!==e)&&q.push({instanceLocation:i,keyword:"type",keywordLocation:`${o}/type`,error:`Instance type "${l}" is invalid. Expected "${f}".`}):f!==void 0&&l!==f&&q.push({instanceLocation:i,keyword:"type",keywordLocation:`${o}/type`,error:`Instance type "${l}" is invalid. Expected "${f}".`});if(m!==void 0&&(l==="object"||l==="array"?oa(e,m)||q.push({instanceLocation:i,keyword:"const",keywordLocation:`${o}/const`,error:`Instance does not match ${JSON.stringify(m)}.`}):e!==m&&q.push({instanceLocation:i,keyword:"const",keywordLocation:`${o}/const`,error:`Instance does not match ${JSON.stringify(m)}.`})),v!==void 0&&(l==="object"||l==="array"?v.some(he=>oa(e,he))||q.push({instanceLocation:i,keyword:"enum",keywordLocation:`${o}/enum`,error:`Instance does not match any of ${JSON.stringify(v)}.`}):v.some(he=>e===he)||q.push({instanceLocation:i,keyword:"enum",keywordLocation:`${o}/enum`,error:`Instance does not match any of ${JSON.stringify(v)}.`})),y!==void 0){let he=`${o}/not`;st(e,y,n,r,s,a,i,he).valid&&q.push({instanceLocation:i,keyword:"not",keywordLocation:he,error:'Instance matched "not" schema.'})}let Fs=[];if(k!==void 0){let he=`${o}/anyOf`,ce=q.length,Ae=!1;for(let X=0;X<k.length;X++){let W=k[X],_e=Object.create(c),ye=st(e,W,n,r,s,h===!0?a:null,i,`${he}/${X}`,_e);q.push(...ye.errors),Ae=Ae||ye.valid,ye.valid&&Fs.push(_e)}Ae?q.length=ce:q.splice(ce,0,{instanceLocation:i,keyword:"anyOf",keywordLocation:he,error:"Instance does not match any subschemas."})}if(x!==void 0){let he=`${o}/allOf`,ce=q.length,Ae=!0;for(let X=0;X<x.length;X++){let W=x[X],_e=Object.create(c),ye=st(e,W,n,r,s,h===!0?a:null,i,`${he}/${X}`,_e);q.push(...ye.errors),Ae=Ae&&ye.valid,ye.valid&&Fs.push(_e)}Ae?q.length=ce:q.splice(ce,0,{instanceLocation:i,keyword:"allOf",keywordLocation:he,error:"Instance does not match every subschema."})}if(S!==void 0){let he=`${o}/oneOf`,ce=q.length,Ae=S.filter((X,W)=>{let _e=Object.create(c),ye=st(e,X,n,r,s,h===!0?a:null,i,`${he}/${W}`,_e);return q.push(...ye.errors),ye.valid&&Fs.push(_e),ye.valid}).length;Ae===1?q.length=ce:q.splice(ce,0,{instanceLocation:i,keyword:"oneOf",keywordLocation:he,error:`Instance does not match exactly one subschema (${Ae} matches).`})}if((l==="object"||l==="array")&&Object.assign(c,...Fs),E!==void 0){let he=`${o}/if`;if(st(e,E,n,r,s,a,i,he,c).valid){if(I!==void 0){let ce=st(e,I,n,r,s,a,i,`${o}/then`,c);ce.valid||q.push({instanceLocation:i,keyword:"if",keywordLocation:he,error:'Instance does not match "then" schema.'},...ce.errors)}}else if(w!==void 0){let ce=st(e,w,n,r,s,a,i,`${o}/else`,c);ce.valid||q.push({instanceLocation:i,keyword:"if",keywordLocation:he,error:'Instance does not match "else" schema.'},...ce.errors)}}if(l==="object"){if(g!==void 0)for(let X of g)X in e||q.push({instanceLocation:i,keyword:"required",keywordLocation:`${o}/required`,error:`Instance does not have required property "${X}".`});let he=Object.keys(e);if(B!==void 0&&he.length<B&&q.push({instanceLocation:i,keyword:"minProperties",keywordLocation:`${o}/minProperties`,error:`Instance does not have at least ${B} properties.`}),L!==void 0&&he.length>L&&q.push({instanceLocation:i,keyword:"maxProperties",keywordLocation:`${o}/maxProperties`,error:`Instance does not have at least ${L} properties.`}),z!==void 0){let X=`${o}/propertyNames`;for(let W in e){let _e=`${i}/${Gn(W)}`,ye=st(W,z,n,r,s,a,_e,X);ye.valid||q.push({instanceLocation:i,keyword:"propertyNames",keywordLocation:X,error:`Property name "${W}" does not match schema.`},...ye.errors)}}if(ee!==void 0){let X=`${o}/dependantRequired`;for(let W in ee)if(W in e){let _e=ee[W];for(let ye of _e)ye in e||q.push({instanceLocation:i,keyword:"dependentRequired",keywordLocation:X,error:`Instance has "${W}" but does not have "${ye}".`})}}if(oe!==void 0)for(let X in oe){let W=`${o}/dependentSchemas`;if(X in e){let _e=st(e,oe[X],n,r,s,a,i,`${W}/${Gn(X)}`,c);_e.valid||q.push({instanceLocation:i,keyword:"dependentSchemas",keywordLocation:W,error:`Instance has "${X}" but does not match dependant schema.`},..._e.errors)}}if(ne!==void 0){let X=`${o}/dependencies`;for(let W in ne)if(W in e){let _e=ne[W];if(Array.isArray(_e))for(let ye of _e)ye in e||q.push({instanceLocation:i,keyword:"dependencies",keywordLocation:X,error:`Instance has "${W}" but does not have "${ye}".`});else{let ye=st(e,_e,n,r,s,a,i,`${X}/${Gn(W)}`);ye.valid||q.push({instanceLocation:i,keyword:"dependencies",keywordLocation:X,error:`Instance has "${W}" but does not match dependant schema.`},...ye.errors)}}}let ce=Object.create(null),Ae=!1;if(A!==void 0){let X=`${o}/properties`;for(let W in A){if(!(W in e))continue;let _e=`${i}/${Gn(W)}`,ye=st(e[W],A[W],n,r,s,a,_e,`${X}/${Gn(W)}`);if(ye.valid)c[W]=ce[W]=!0;else if(Ae=s,q.push({instanceLocation:i,keyword:"properties",keywordLocation:X,error:`Property "${W}" does not match schema.`},...ye.errors),Ae)break}}if(!Ae&&Z!==void 0){let X=`${o}/patternProperties`;for(let W in Z){let _e=new RegExp(W,"u"),ye=Z[W];for(let an in e){if(!_e.test(an))continue;let FE=`${i}/${Gn(an)}`,n0=st(e[an],ye,n,r,s,a,FE,`${X}/${Gn(W)}`);n0.valid?c[an]=ce[an]=!0:(Ae=s,q.push({instanceLocation:i,keyword:"patternProperties",keywordLocation:X,error:`Property "${an}" matches pattern "${W}" but does not match associated schema.`},...n0.errors))}}}if(!Ae&&ze!==void 0){let X=`${o}/additionalProperties`;for(let W in e){if(ce[W])continue;let _e=`${i}/${Gn(W)}`,ye=st(e[W],ze,n,r,s,a,_e,X);ye.valid?c[W]=!0:(Ae=s,q.push({instanceLocation:i,keyword:"additionalProperties",keywordLocation:X,error:`Property "${W}" does not match additional properties schema.`},...ye.errors))}}else if(!Ae&&rt!==void 0){let X=`${o}/unevaluatedProperties`;for(let W in e)if(!c[W]){let _e=`${i}/${Gn(W)}`,ye=st(e[W],rt,n,r,s,a,_e,X);ye.valid?c[W]=!0:q.push({instanceLocation:i,keyword:"unevaluatedProperties",keywordLocation:X,error:`Property "${W}" does not match unevaluated properties schema.`},...ye.errors)}}}else if(l==="array"){C!==void 0&&e.length>C&&q.push({instanceLocation:i,keyword:"maxItems",keywordLocation:`${o}/maxItems`,error:`Array has too many items (${e.length} > ${C}).`}),_!==void 0&&e.length<_&&q.push({instanceLocation:i,keyword:"minItems",keywordLocation:`${o}/minItems`,error:`Array has too few items (${e.length} < ${_}).`});let he=e.length,ce=0,Ae=!1;if(ue!==void 0){let X=`${o}/prefixItems`,W=Math.min(ue.length,he);for(;ce<W;ce++){let _e=st(e[ce],ue[ce],n,r,s,a,`${i}/${ce}`,`${X}/${ce}`);if(c[ce]=!0,!_e.valid&&(Ae=s,q.push({instanceLocation:i,keyword:"prefixItems",keywordLocation:X,error:"Items did not match schema."},..._e.errors),Ae))break}}if(Oe!==void 0){let X=`${o}/items`;if(Array.isArray(Oe)){let W=Math.min(Oe.length,he);for(;ce<W;ce++){let _e=st(e[ce],Oe[ce],n,r,s,a,`${i}/${ce}`,`${X}/${ce}`);if(c[ce]=!0,!_e.valid&&(Ae=s,q.push({instanceLocation:i,keyword:"items",keywordLocation:X,error:"Items did not match schema."},..._e.errors),Ae))break}}else for(;ce<he;ce++){let W=st(e[ce],Oe,n,r,s,a,`${i}/${ce}`,X);if(c[ce]=!0,!W.valid&&(Ae=s,q.push({instanceLocation:i,keyword:"items",keywordLocation:X,error:"Items did not match schema."},...W.errors),Ae))break}if(!Ae&&Te!==void 0){let W=`${o}/additionalItems`;for(;ce<he;ce++){let _e=st(e[ce],Te,n,r,s,a,`${i}/${ce}`,W);c[ce]=!0,_e.valid||(Ae=s,q.push({instanceLocation:i,keyword:"additionalItems",keywordLocation:W,error:"Items did not match additional items schema."},..._e.errors))}}}if(De!==void 0)if(he===0&&kt===void 0)q.push({instanceLocation:i,keyword:"contains",keywordLocation:`${o}/contains`,error:"Array is empty. It must contain at least one item matching the schema."});else if(kt!==void 0&&he<kt)q.push({instanceLocation:i,keyword:"minContains",keywordLocation:`${o}/minContains`,error:`Array has less items (${he}) than minContains (${kt}).`});else{let X=`${o}/contains`,W=q.length,_e=0;for(let ye=0;ye<he;ye++){let an=st(e[ye],De,n,r,s,a,`${i}/${ye}`,X);an.valid?(c[ye]=!0,_e++):q.push(...an.errors)}_e>=(kt||0)&&(q.length=W),kt===void 0&&b===void 0&&_e===0?q.splice(W,0,{instanceLocation:i,keyword:"contains",keywordLocation:X,error:"Array does not contain item matching schema."}):kt!==void 0&&_e<kt?q.push({instanceLocation:i,keyword:"minContains",keywordLocation:`${o}/minContains`,error:`Array must contain at least ${kt} items matching schema. Only ${_e} items were found.`}):b!==void 0&&_e>b&&q.push({instanceLocation:i,keyword:"maxContains",keywordLocation:`${o}/maxContains`,error:`Array may contain at most ${b} items matching schema. ${_e} items were found.`})}if(!Ae&&Ue!==void 0){let X=`${o}/unevaluatedItems`;for(ce;ce<he;ce++){if(c[ce])continue;let W=st(e[ce],Ue,n,r,s,a,`${i}/${ce}`,X);c[ce]=!0,W.valid||q.push({instanceLocation:i,keyword:"unevaluatedItems",keywordLocation:X,error:"Items did not match unevaluated items schema."},...W.errors)}}if(O)for(let X=0;X<he;X++){let W=e[X],_e=typeof W=="object"&&W!==null;for(let ye=0;ye<he;ye++){if(X===ye)continue;let an=e[ye];(W===an||_e&&typeof an=="object"&&an!==null&&oa(W,an))&&(q.push({instanceLocation:i,keyword:"uniqueItems",keywordLocation:`${o}/uniqueItems`,error:`Duplicate items at indexes ${X} and ${ye}.`}),X=Number.MAX_SAFE_INTEGER,ye=Number.MAX_SAFE_INTEGER)}}}else if(l==="number"){if(n==="4"?(Ne!==void 0&&(yt===!0&&e<=Ne||e<Ne)&&q.push({instanceLocation:i,keyword:"minimum",keywordLocation:`${o}/minimum`,error:`${e} is less than ${yt?"or equal to ":""} ${Ne}.`}),Je!==void 0&&(pt===!0&&e>=Je||e>Je)&&q.push({instanceLocation:i,keyword:"maximum",keywordLocation:`${o}/maximum`,error:`${e} is greater than ${pt?"or equal to ":""} ${Je}.`})):(Ne!==void 0&&e<Ne&&q.push({instanceLocation:i,keyword:"minimum",keywordLocation:`${o}/minimum`,error:`${e} is less than ${Ne}.`}),Je!==void 0&&e>Je&&q.push({instanceLocation:i,keyword:"maximum",keywordLocation:`${o}/maximum`,error:`${e} is greater than ${Je}.`}),yt!==void 0&&e<=yt&&q.push({instanceLocation:i,keyword:"exclusiveMinimum",keywordLocation:`${o}/exclusiveMinimum`,error:`${e} is less than ${yt}.`}),pt!==void 0&&e>=pt&&q.push({instanceLocation:i,keyword:"exclusiveMaximum",keywordLocation:`${o}/exclusiveMaximum`,error:`${e} is greater than or equal to ${pt}.`})),Lt!==void 0){let he=e%Lt;Math.abs(0-he)>=11920929e-14&&Math.abs(Lt-he)>=11920929e-14&&q.push({instanceLocation:i,keyword:"multipleOf",keywordLocation:`${o}/multipleOf`,error:`${e} is not a multiple of ${Lt}.`})}}else if(l==="string"){let he=Cn===void 0&&ht===void 0?0:zM(e);Cn!==void 0&&he<Cn&&q.push({instanceLocation:i,keyword:"minLength",keywordLocation:`${o}/minLength`,error:`String is too short (${he} < ${Cn}).`}),ht!==void 0&&he>ht&&q.push({instanceLocation:i,keyword:"maxLength",keywordLocation:`${o}/maxLength`,error:`String is too long (${he} > ${ht}).`}),dr!==void 0&&!new RegExp(dr,"u").test(e)&&q.push({instanceLocation:i,keyword:"pattern",keywordLocation:`${o}/pattern`,error:"String does not match pattern."}),P!==void 0&&eb[P]&&!eb[P](e)&&q.push({instanceLocation:i,keyword:"format",keywordLocation:`${o}/format`,error:`String does not match format "${P}".`})}return{valid:q.length===0,errors:q}}var Qm=class{schema;draft;shortCircuit;lookup;constructor(t,n="2019-09",r=!0){this.schema=t,this.draft=n,this.shortCircuit=r,this.lookup=cs(t)}validate(t){return st(t,this.schema,this.draft,this.lookup,this.shortCircuit)}addSchema(t,n){n&&(t={...t,$id:n}),cs(t,this.lookup)}},UM=Q({Validator:()=>Qm,deepCompareStrict:()=>oa,toJsonSchema:()=>It,validatesOnlyStrings:()=>Bo});function It(e,t){if(Dy(e)&&!nt(e))return e["~standard"].jsonSchema.input({target:"draft-07"});if(nt(e)){let n=Vx(e,!0);return xr(n)?Cw(zl(n,!0),t):Cw(e,t)}return gt(e)?uM(e):e}function Bo(e){if(!e||typeof e!="object"||Object.keys(e).length===0||Array.isArray(e))return!1;if("type"in e)return typeof e.type=="string"?e.type==="string":Array.isArray(e.type)?e.type.every(t=>t==="string"):!1;if("enum"in e)return Array.isArray(e.enum)&&e.enum.length>0&&e.enum.every(t=>typeof t=="string");if("const"in e)return typeof e.const=="string";if("allOf"in e&&Array.isArray(e.allOf))return e.allOf.some(t=>Bo(t));if("anyOf"in e&&Array.isArray(e.anyOf)||"oneOf"in e&&Array.isArray(e.oneOf)){let t="anyOf"in e?e.anyOf:e.oneOf;return t.length>0&&t.every(n=>Bo(n))}if("not"in e)return!1;if("$ref"in e&&typeof e.$ref=="string"){let t=e.$ref,n=cs(e);return n[t]?Bo(n[t]):!1}return!1}function Wy(e){return e?e.lc_runnable:!1}var DM=class{includeNames;includeTypes;includeTags;excludeNames;excludeTypes;excludeTags;constructor(e){this.includeNames=e.includeNames,this.includeTypes=e.includeTypes,this.includeTags=e.includeTags,this.excludeNames=e.excludeNames,this.excludeTypes=e.excludeTypes,this.excludeTags=e.excludeTags}includeEvent(e,t){let n=this.includeNames===void 0&&this.includeTypes===void 0&&this.includeTags===void 0,r=e.tags??[];return this.includeNames!==void 0&&(n=n||this.includeNames.includes(e.name)),this.includeTypes!==void 0&&(n=n||this.includeTypes.includes(t)),this.includeTags!==void 0&&(n=n||r.some(s=>this.includeTags?.includes(s))),this.excludeNames!==void 0&&(n=n&&!this.excludeNames.includes(e.name)),this.excludeTypes!==void 0&&(n=n&&!this.excludeTypes.includes(t)),this.excludeTags!==void 0&&(n=n&&r.every(s=>!this.excludeTags?.includes(s))),n}},FM=e=>btoa(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"");function kf(e){return e.replace(/[^a-zA-Z-_0-9]/g,"_")}var BM=["*","_","`"];function ZM(e){let t="";for(let[n,r]of Object.entries(e))t+=` classDef ${n} ${r};
73
- `;return t}function VM(e,t,n){let{firstNode:r,lastNode:s,nodeColors:a,withStyles:i=!0,curveStyle:o="linear",wrapLabelNWords:c=9}=n??{},u=i?`%%{init: {'flowchart': {'curve': '${o}'}}}%%
74
- graph TD;
75
- `:`graph TD;
76
- `;if(i){let f="default",m={[f]:"{0}({1})"};r!==void 0&&(m[r]="{0}([{1}]):::first"),s!==void 0&&(m[s]="{0}([{1}]):::last");for(let[v,g]of Object.entries(e)){let y=g.name.split(":").pop()??"",k=BM.some(S=>y.startsWith(S)&&y.endsWith(S))?`<p>${y}</p>`:y;Object.keys(g.metadata??{}).length&&(k+=`<hr/><small><em>${Object.entries(g.metadata??{}).map(([S,E])=>`${S} = ${E}`).join(`
77
- `)}</em></small>`);let x=(m[v]??m[f]).replace("{0}",kf(v)).replace("{1}",k);u+=` ${x}
78
- `}}let l={};for(let f of t){let m=f.source.split(":"),v=f.target.split(":"),g=m.filter((y,k)=>y===v[k]).join(":");l[g]||(l[g]=[]),l[g].push(f)}let d=new Set;function p(f){return[...f].sort((m,v)=>m.split(":").length-v.split(":").length)}function h(f,m){let v=f.length===1&&f[0].source===f[0].target;if(m&&!v){let y=m.split(":").pop();if(d.has(m))throw new Error(`Found duplicate subgraph '${y}' at '${m} -- this likely means that you're reusing a subgraph node with the same name. Please adjust your graph to have subgraph nodes with unique names.`);d.add(m),u+=` subgraph ${y}
79
- `}let g=p(Object.keys(l).filter(y=>y.startsWith(`${m}:`)&&y!==m&&y.split(":").length===m.split(":").length+1));for(let y of g)h(l[y],y);for(let y of f){let{source:k,target:x,data:S,conditional:E}=y,I="";if(S!==void 0){let w=S,P=w.split(" ");P.length>c&&(w=Array.from({length:Math.ceil(P.length/c)},(A,Z)=>P.slice(Z*c,(Z+1)*c).join(" ")).join("&nbsp;<br>&nbsp;")),I=E?` -. &nbsp;${w}&nbsp; .-> `:` -- &nbsp;${w}&nbsp; --> `}else I=E?" -.-> ":" --> ";u+=` ${kf(k)}${I}${kf(x)};
80
- `}m&&!v&&(u+=` end
81
- `)}h(l[""]??[],"");for(let f in l)!f.includes(":")&&f!==""&&h(l[f],f);return i&&(u+=ZM(a??{})),u}async function qM(e,t){let n=t?.backgroundColor??"white",r=t?.imageType??"png",s=FM(e);n!==void 0&&(/^#(?:[0-9a-fA-F]{3}){1,2}$/.test(n)||(n=`!${n}`));let a=`https://mermaid.ink/img/${s}?bgColor=${n}&type=${r}`,i=await fetch(a);if(!i.ok)throw new Error(["Failed to render the graph using the Mermaid.INK API.",`Status code: ${i.status}`,`Status text: ${i.statusText}`].join(`
82
- `));return await i.blob()}var HM=Q({Graph:()=>ac});function WM(e,t){if(e!==void 0&&!Uo(e))return e;if(Wy(t))try{let n=t.getName();return n=n.startsWith("Runnable")?n.slice(8):n,n}catch{return t.getName()}else return t.name??"UnknownSchema"}function JM(e){return Wy(e.data)?{type:"runnable",data:{id:e.data.lc_id,name:e.data.getName()}}:{type:"schema",data:{...It(e.data.schema),title:e.data.name}}}var ac=class cO{nodes={};edges=[];constructor(t){this.nodes=t?.nodes??this.nodes,this.edges=t?.edges??this.edges}toJSON(){let t={};return Object.values(this.nodes).forEach((n,r)=>{t[n.id]=Uo(n.id)?r:n.id}),{nodes:Object.values(this.nodes).map(n=>({id:t[n.id],...JM(n)})),edges:this.edges.map(n=>{let r={source:t[n.source],target:t[n.target]};return typeof n.data<"u"&&(r.data=n.data),typeof n.conditional<"u"&&(r.conditional=n.conditional),r})}}addNode(t,n,r){if(n!==void 0&&this.nodes[n]!==void 0)throw new Error(`Node with id ${n} already exists`);let s=n??Q$(),a={id:s,data:t,name:WM(n,t),metadata:r};return this.nodes[s]=a,a}removeNode(t){delete this.nodes[t.id],this.edges=this.edges.filter(n=>n.source!==t.id&&n.target!==t.id)}addEdge(t,n,r,s){if(this.nodes[t.id]===void 0)throw new Error(`Source node ${t.id} not in graph`);if(this.nodes[n.id]===void 0)throw new Error(`Target node ${n.id} not in graph`);let a={source:t.id,target:n.id,data:r,conditional:s};return this.edges.push(a),a}firstNode(){return tb(this)}lastNode(){return nb(this)}extend(t,n=""){let r=n;Object.values(t.nodes).map(c=>c.id).every(Uo)&&(r="");let s=c=>r?`${r}:${c}`:c;Object.entries(t.nodes).forEach(([c,u])=>{this.nodes[s(c)]={...u,id:s(c)}});let a=t.edges.map(c=>({...c,source:s(c.source),target:s(c.target)}));this.edges=[...this.edges,...a];let i=t.firstNode(),o=t.lastNode();return[i?{id:s(i.id),data:i.data}:void 0,o?{id:s(o.id),data:o.data}:void 0]}trimFirstNode(){let t=this.firstNode();t&&tb(this,[t.id])&&this.removeNode(t)}trimLastNode(){let t=this.lastNode();t&&nb(this,[t.id])&&this.removeNode(t)}reid(){let t=Object.fromEntries(Object.values(this.nodes).map(s=>[s.id,s.name])),n=new Map;Object.values(t).forEach(s=>{n.set(s,(n.get(s)||0)+1)});let r=s=>{let a=t[s];return Uo(s)&&n.get(a)===1?a:s};return new cO({nodes:Object.fromEntries(Object.entries(this.nodes).map(([s,a])=>[r(s),{...a,id:r(s)}])),edges:this.edges.map(s=>({...s,source:r(s.source),target:r(s.target)}))})}drawMermaid(t){let{withStyles:n,curveStyle:r,nodeColors:s={default:"fill:#f2f0ff,line-height:1.2",first:"fill-opacity:0",last:"fill:#bfb6fc"},wrapLabelNWords:a}=t??{},i=this.reid(),o=i.firstNode(),c=i.lastNode();return VM(i.nodes,i.edges,{firstNode:o?.id,lastNode:c?.id,withStyles:n,curveStyle:r,nodeColors:s,wrapLabelNWords:a})}async drawMermaidPng(t){return qM(this.drawMermaid(t),{backgroundColor:t?.backgroundColor})}};function tb(e,t=[]){let n=new Set(e.edges.filter(s=>!t.includes(s.source)).map(s=>s.target)),r=[];for(let s of Object.values(e.nodes))!t.includes(s.id)&&!n.has(s.id)&&r.push(s);return r.length===1?r[0]:void 0}function nb(e,t=[]){let n=new Set(e.edges.filter(s=>!t.includes(s.target)).map(s=>s.source)),r=[];for(let s of Object.values(e.nodes))!t.includes(s.id)&&!n.has(s.id)&&r.push(s);return r.length===1?r[0]:void 0}function Iu({name:e,serialized:t}){return e!==void 0?e:t?.name!==void 0?t.name:t?.id!==void 0&&Array.isArray(t?.id)?t.id[t.id.length-1]:"Unnamed"}var GM=e=>e.name==="event_stream_tracer",KM=class extends Xr{autoClose=!0;includeNames;includeTypes;includeTags;excludeNames;excludeTypes;excludeTags;runInfoMap=new Map;tappedPromises=new Map;transformStream;writer;receiveStream;readableStreamClosed=!1;name="event_stream_tracer";lc_prefer_streaming=!0;constructor(e){super({_awaitHandler:!0,...e}),this.autoClose=e?.autoClose??!0,this.includeNames=e?.includeNames,this.includeTypes=e?.includeTypes,this.includeTags=e?.includeTags,this.excludeNames=e?.excludeNames,this.excludeTypes=e?.excludeTypes,this.excludeTags=e?.excludeTags,this.transformStream=new TransformStream({flush:()=>{this.readableStreamClosed=!0}}),this.writer=this.transformStream.writable.getWriter(),this.receiveStream=gn.fromReadableStream(this.transformStream.readable)}[Symbol.asyncIterator](){return this.receiveStream}async persistRun(e){}_includeRun(e){let t=e.tags??[],n=this.includeNames===void 0&&this.includeTags===void 0&&this.includeTypes===void 0;return this.includeNames!==void 0&&(n=n||this.includeNames.includes(e.name)),this.includeTypes!==void 0&&(n=n||this.includeTypes.includes(e.runType)),this.includeTags!==void 0&&(n=n||t.find(r=>this.includeTags?.includes(r))!==void 0),this.excludeNames!==void 0&&(n=n&&!this.excludeNames.includes(e.name)),this.excludeTypes!==void 0&&(n=n&&!this.excludeTypes.includes(e.runType)),this.excludeTags!==void 0&&(n=n&&t.every(r=>!this.excludeTags?.includes(r))),n}async*tapOutputIterable(e,t){let n=await t.next();if(n.done)return;let r=this.runInfoMap.get(e);if(r===void 0){yield n.value;return}function s(i,o){return i==="llm"&&typeof o=="string"?new Si({text:o}):o}let a=this.tappedPromises.get(e);if(a===void 0){let i;a=new Promise(o=>{i=o}),this.tappedPromises.set(e,a);try{let o={event:`on_${r.runType}_stream`,run_id:e,name:r.name,tags:r.tags,metadata:r.metadata,data:{}};await this.send({...o,data:{chunk:s(r.runType,n.value)}},r),yield n.value;for await(let c of t)r.runType!=="tool"&&r.runType!=="retriever"&&await this.send({...o,data:{chunk:s(r.runType,c)}},r),yield c}finally{i?.()}}else{yield n.value;for await(let i of t)yield i}}async send(e,t){this.readableStreamClosed||this._includeRun(t)&&await this.writer.write(e)}async sendEndEvent(e,t){let n=this.tappedPromises.get(e.run_id);n!==void 0?n.then(()=>{this.send(e,t)}):await this.send(e,t)}async onLLMStart(e){let t=Iu(e),n=e.inputs.messages!==void 0?"chat_model":"llm",r={tags:e.tags??[],metadata:e.extra?.metadata??{},name:t,runType:n,inputs:e.inputs};this.runInfoMap.set(e.id,r);let s=`on_${n}_start`;await this.send({event:s,data:{input:e.inputs},name:t,tags:e.tags??[],run_id:e.id,metadata:e.extra?.metadata??{}},r)}async onLLMNewToken(e,t,n){let r=this.runInfoMap.get(e.id),s,a;if(r===void 0)throw new Error(`onLLMNewToken: Run ID ${e.id} not found in run map.`);if(this.runInfoMap.size!==1){if(r.runType==="chat_model")a="on_chat_model_stream",n?.chunk===void 0?s=new mn({content:t,id:`run-${e.id}`}):s=n.chunk.message;else if(r.runType==="llm")a="on_llm_stream",n?.chunk===void 0?s=new Si({text:t}):s=n.chunk;else throw new Error(`Unexpected run type ${r.runType}`);await this.send({event:a,data:{chunk:s},run_id:e.id,name:r.name,tags:r.tags,metadata:r.metadata},r)}}async onLLMEnd(e){let t=this.runInfoMap.get(e.id);this.runInfoMap.delete(e.id);let n;if(t===void 0)throw new Error(`onLLMEnd: Run ID ${e.id} not found in run map.`);let r=e.outputs?.generations,s;if(t.runType==="chat_model"){for(let a of r??[]){if(s!==void 0)break;s=a[0]?.message}n="on_chat_model_end"}else if(t.runType==="llm")s={generations:r?.map(a=>a.map(i=>({text:i.text,generationInfo:i.generationInfo}))),llmOutput:e.outputs?.llmOutput??{}},n="on_llm_end";else throw new Error(`onLLMEnd: Unexpected run type: ${t.runType}`);await this.sendEndEvent({event:n,data:{output:s,input:t.inputs},run_id:e.id,name:t.name,tags:t.tags,metadata:t.metadata},t)}async onChainStart(e){let t=Iu(e),n=e.run_type??"chain",r={tags:e.tags??[],metadata:e.extra?.metadata??{},name:t,runType:e.run_type},s={};e.inputs.input===""&&Object.keys(e.inputs).length===1?(s={},r.inputs={}):e.inputs.input!==void 0?(s.input=e.inputs.input,r.inputs=e.inputs.input):(s.input=e.inputs,r.inputs=e.inputs),this.runInfoMap.set(e.id,r),await this.send({event:`on_${n}_start`,data:s,name:t,tags:e.tags??[],run_id:e.id,metadata:e.extra?.metadata??{}},r)}async onChainEnd(e){let t=this.runInfoMap.get(e.id);if(this.runInfoMap.delete(e.id),t===void 0)throw new Error(`onChainEnd: Run ID ${e.id} not found in run map.`);let n=`on_${e.run_type}_end`,r=e.inputs??t.inputs??{},s={output:e.outputs?.output??e.outputs,input:r};r.input&&Object.keys(r).length===1&&(s.input=r.input,t.inputs=r.input),await this.sendEndEvent({event:n,data:s,run_id:e.id,name:t.name,tags:t.tags,metadata:t.metadata??{}},t)}async onToolStart(e){let t=Iu(e),n={tags:e.tags??[],metadata:e.extra?.metadata??{},name:t,runType:"tool",inputs:e.inputs??{}};this.runInfoMap.set(e.id,n),await this.send({event:"on_tool_start",data:{input:e.inputs??{}},name:t,run_id:e.id,tags:e.tags??[],metadata:e.extra?.metadata??{}},n)}async onToolEnd(e){let t=this.runInfoMap.get(e.id);if(this.runInfoMap.delete(e.id),t===void 0)throw new Error(`onToolEnd: Run ID ${e.id} not found in run map.`);if(t.inputs===void 0)throw new Error(`onToolEnd: Run ID ${e.id} is a tool call, and is expected to have traced inputs.`);let n=e.outputs?.output===void 0?e.outputs:e.outputs.output;await this.sendEndEvent({event:"on_tool_end",data:{output:n,input:t.inputs},run_id:e.id,name:t.name,tags:t.tags,metadata:t.metadata},t)}async onToolError(e){let t=this.runInfoMap.get(e.id);if(this.runInfoMap.delete(e.id),t===void 0)throw new Error(`onToolEnd: Run ID ${e.id} not found in run map.`);if(t.inputs===void 0)throw new Error(`onToolEnd: Run ID ${e.id} is a tool call, and is expected to have traced inputs.`);await this.sendEndEvent({event:"on_tool_error",data:{input:t.inputs,error:e.error},run_id:e.id,name:t.name,tags:t.tags,metadata:t.metadata},t)}async onRetrieverStart(e){let t=Iu(e),n={tags:e.tags??[],metadata:e.extra?.metadata??{},name:t,runType:"retriever",inputs:{query:e.inputs.query}};this.runInfoMap.set(e.id,n),await this.send({event:"on_retriever_start",data:{input:{query:e.inputs.query}},name:t,tags:e.tags??[],run_id:e.id,metadata:e.extra?.metadata??{}},n)}async onRetrieverEnd(e){let t=this.runInfoMap.get(e.id);if(this.runInfoMap.delete(e.id),t===void 0)throw new Error(`onRetrieverEnd: Run ID ${e.id} not found in run map.`);await this.sendEndEvent({event:"on_retriever_end",data:{output:e.outputs?.documents??e.outputs,input:t.inputs},run_id:e.id,name:t.name,tags:t.tags,metadata:t.metadata},t)}async handleCustomEvent(e,t,n){let r=this.runInfoMap.get(n);if(r===void 0)throw new Error(`handleCustomEvent: Run ID ${n} not found in run map.`);await this.send({event:"on_custom_event",run_id:n,name:e,tags:r.tags,metadata:r.metadata,data:t},r)}async finish(){let e=[...this.tappedPromises.values()];Promise.all(e).finally(()=>{this.writer.close()})}},uO=class extends Xr{name="RootListenersTracer";rootId;config;argOnStart;argOnEnd;argOnError;constructor({config:e,onStart:t,onEnd:n,onError:r}){super({_awaitHandler:!0}),this.config=e,this.argOnStart=t,this.argOnEnd=n,this.argOnError=r}persistRun(e){return Promise.resolve()}async onRunCreate(e){this.rootId||(this.rootId=e.id,this.argOnStart&&await this.argOnStart(e,this.config))}async onRunUpdate(e){e.id===this.rootId&&(e.error?this.argOnError&&await this.argOnError(e,this.config):this.argOnEnd&&await this.argOnEnd(e,this.config))}};function XM(e){let t=new TextEncoder,n=new ReadableStream({async start(r){for await(let s of e)r.enqueue(t.encode(`event: data
83
- data: ${JSON.stringify(s)}
84
-
85
- `));r.enqueue(t.encode(`event: end
86
-
87
- `)),r.close()}});return gn.fromReadableStream(n)}function rb(e){return typeof e=="object"&&e!==null&&typeof e[Symbol.iterator]=="function"&&typeof e.next=="function"}var YM=e=>e!=null&&typeof e=="object"&&"next"in e&&typeof e.next=="function";function eg(e){return typeof e=="object"&&e!==null&&typeof e[Symbol.asyncIterator]=="function"}function lO(e){return e!=null&&typeof e=="object"&&typeof e.next=="function"}async function QM(e,t){try{let n=await e.next();for(;!n.done;)await t?.(n.value),n=await e.next();return n.value}finally{await e.return?.(void 0)}}function*sb(e,t){for(;;){let{value:n,done:r}=Mt.runWithConfig(Hr(e),t.next.bind(t),!0);if(r)break;yield n}}async function*tg(e,t){let n=t[Symbol.asyncIterator]();for(;;){let{value:r,done:s}=await Mt.runWithConfig(Hr(e),n.next.bind(t),!0);if(s)break;yield r}}function bt(e,t){return e&&!Array.isArray(e)&&!(e instanceof Date)&&typeof e=="object"?e:{[t]:e}}var je=class extends Rn{lc_runnable=!0;name;getName(e){let t=this.name??this.constructor.lc_name()??this.constructor.name;return e?`${t}${e}`:t}withRetry(e){return new Jy({bound:this,kwargs:{},config:{},maxAttemptNumber:e?.stopAfterAttempt,...e})}withConfig(e){return new Ss({bound:this,config:e,kwargs:{}})}withFallbacks(e){let t=Array.isArray(e)?e:e.fallbacks;return new gO({runnable:this,fallbacks:t})}_getOptionsList(e,t=0){if(Array.isArray(e)&&e.length!==t)throw new Error(`Passed "options" must be an array with the same length as the inputs, but got ${e.length} options for ${t} inputs`);if(Array.isArray(e))return e.map(Me);if(t>1&&!Array.isArray(e)&&e.runId){console.warn("Provided runId will be used only for the first element of the batch.");let n=Object.fromEntries(Object.entries(e).filter(([r])=>r!=="runId"));return Array.from({length:t},(r,s)=>Me(s===0?e:n))}return Array.from({length:t},()=>Me(e))}async batch(e,t,n){let r=this._getOptionsList(t??{},e.length),s=new Jc({maxConcurrency:r[0]?.maxConcurrency??n?.maxConcurrency,onFailedAttempt:i=>{throw i}}),a=e.map((i,o)=>s.call(async()=>{try{return await this.invoke(i,r[o])}catch(c){if(n?.returnExceptions)return c;throw c}}));return Promise.all(a)}async*_streamIterator(e,t){yield this.invoke(e,t)}async stream(e,t){let n=Me(t),r=new Na({generator:this._streamIterator(e,n),config:n});return await r.setup,gn.fromAsyncGenerator(r)}_separateRunnableConfigFromCallOptions(e){let t;e===void 0?t=Me(e):t=Me({callbacks:e.callbacks,tags:e.tags,metadata:e.metadata,runName:e.runName,configurable:e.configurable,recursionLimit:e.recursionLimit,maxConcurrency:e.maxConcurrency,runId:e.runId,timeout:e.timeout,signal:e.signal});let n={...e};return delete n.callbacks,delete n.tags,delete n.metadata,delete n.runName,delete n.configurable,delete n.recursionLimit,delete n.maxConcurrency,delete n.runId,delete n.timeout,delete n.signal,[t,n]}async _callWithConfig(e,t,n){let r=Me(n),s=await(await en(r))?.handleChainStart(this.toJSON(),bt(t,"input"),r.runId,r?.runType,void 0,void 0,r?.runName??this.getName());delete r.runId;let a;try{a=await Er(e.call(this,t,r,s),r.signal)}catch(i){throw await s?.handleChainError(i),i}return await s?.handleChainEnd(bt(a,"output")),a}async _batchWithConfig(e,t,n,r){let s=this._getOptionsList(n??{},t.length),a=await Promise.all(s.map(en)),i=await Promise.all(a.map(async(c,u)=>{let l=await c?.handleChainStart(this.toJSON(),bt(t[u],"input"),s[u].runId,s[u].runType,void 0,void 0,s[u].runName??this.getName());return delete s[u].runId,l})),o;try{o=await Er(e.call(this,t,s,i,r),s?.[0]?.signal)}catch(c){throw await Promise.all(i.map(u=>u?.handleChainError(c))),c}return await Promise.all(i.map(c=>c?.handleChainEnd(bt(o,"output")))),o}_concatOutputChunks(e,t){return ks(e,t)}async*_transformStreamWithConfig(e,t,n){let r,s=!0,a,i=!0,o=Me(n),c=await en(o),u=this;async function*l(){for await(let p of e){if(s)if(r===void 0)r=p;else try{r=u._concatOutputChunks(r,p)}catch{r=void 0,s=!1}yield p}}let d;try{let p=await Ox(t.bind(this),l(),async()=>c?.handleChainStart(this.toJSON(),{input:""},o.runId,o.runType,void 0,void 0,o.runName??this.getName(),void 0,{lc_defers_inputs:!0}),o.signal,o);delete o.runId,d=p.setup;let h=d?.handlers.find(GM),f=p.output;h!==void 0&&d!==void 0&&(f=h.tapOutputIterable(d.runId,f));let m=d?.handlers.find(Ix);m!==void 0&&d!==void 0&&(f=m.tapOutputIterable(d.runId,f));for await(let v of f)if(yield v,i)if(a===void 0)a=v;else try{a=this._concatOutputChunks(a,v)}catch{a=void 0,i=!1}}catch(p){throw await d?.handleChainError(p,void 0,void 0,void 0,{inputs:bt(r,"input")}),p}await d?.handleChainEnd(a??{},void 0,void 0,void 0,{inputs:bt(r,"input")})}getGraph(e){let t=new ac,n=t.addNode({name:`${this.getName()}Input`,schema:Xw()}),r=t.addNode(this),s=t.addNode({name:`${this.getName()}Output`,schema:Xw()});return t.addEdge(n,r),t.addEdge(r,s),t}pipe(e){return new Ts({first:this,last:Rt(e)})}pick(e){return this.pipe(new yO(e))}assign(e){return this.pipe(new Gy(new ro({steps:e})))}async*transform(e,t){let n;for await(let r of e)n===void 0?n=r:n=this._concatOutputChunks(n,r);yield*this._streamIterator(n,Me(t))}async*streamLog(e,t,n){let r=new jm({...n,autoClose:!1,_schemaFormat:"original"}),s=Me(t);yield*this._streamLog(e,r,s)}async*_streamLog(e,t,n){let{callbacks:r}=n;if(r===void 0)n.callbacks=[t];else if(Array.isArray(r))n.callbacks=r.concat([t]);else{let o=r.copy();o.addHandler(t,!0),n.callbacks=o}let s=this.stream(e,n);async function a(){try{let o=await s;for await(let c of o){let u=new zr({ops:[{op:"add",path:"/streamed_output/-",value:c}]});await t.writer.write(u)}}finally{await t.writer.close()}}let i=a();try{for await(let o of t)yield o}finally{await i}}streamEvents(e,t,n){let r;if(t.version==="v1")r=this._streamEventsV1(e,t,n);else if(t.version==="v2")r=this._streamEventsV2(e,t,n);else throw new Error('Only versions "v1" and "v2" of the schema are currently supported.');return t.encoding==="text/event-stream"?XM(r):gn.fromAsyncGenerator(r)}async*_streamEventsV2(e,t,n){let r=new KM({...n,autoClose:!1}),s=Me(t),a=s.runId??rs();s.runId=a;let i=s.callbacks;if(i===void 0)s.callbacks=[r];else if(Array.isArray(i))s.callbacks=i.concat(r);else{let h=i.copy();h.addHandler(r,!0),s.callbacks=h}let o=new AbortController,c=this;async function u(){let h;try{if(s.signal)if("any"in AbortSignal)h=AbortSignal.any([o.signal,s.signal]);else{let v=new AbortController;s.signal.addEventListener("abort",()=>v.abort(),{once:!0}),o.signal.addEventListener("abort",()=>v.abort(),{once:!0}),h=v.signal}else h=o.signal;let f=await c.stream(e,{...s,signal:h}),m=r.tapOutputIterable(a,f);for await(let v of m)if(o.signal.aborted)break}finally{await r.finish()}}let l=u(),d=!1,p;try{for await(let h of r){if(!d){h.data.input=e,d=!0,p=h.run_id,yield h;continue}h.run_id===p&&h.event.endsWith("_end")&&h.data?.input&&delete h.data.input,yield h}}finally{o.abort(),await l}}async*_streamEventsV1(e,t,n){let r,s=!1,a=Me(t),i=a.tags??[],o=a.metadata??{},c=a.runName??this.getName(),u=new jm({...n,autoClose:!1,_schemaFormat:"streaming_events"}),l=new DM({...n}),d=this._streamLog(e,u,a);for await(let h of d){if(r?r=r.concat(h):r=Uy.fromRunLogPatch(h),r.state===void 0)throw new Error('Internal error: "streamEvents" state is missing. Please open a bug report.');if(!s){s=!0;let g={...r.state},y={run_id:g.id,event:`on_${g.type}_start`,name:c,tags:i,metadata:o,data:{input:e}};l.includeEvent(y,g.type)&&(yield y)}let f=h.ops.filter(g=>g.path.startsWith("/logs/")).map(g=>g.path.split("/")[2]),m=[...new Set(f)];for(let g of m){let y,k={},x=r.state.logs[g];if(x.end_time===void 0?x.streamed_output.length>0?y="stream":y="start":y="end",y==="start")x.inputs!==void 0&&(k.input=x.inputs);else if(y==="end")x.inputs!==void 0&&(k.input=x.inputs),k.output=x.final_output;else if(y==="stream"){let S=x.streamed_output.length;if(S!==1)throw new Error(`Expected exactly one chunk of streamed output, got ${S} instead. Encountered in: "${x.name}"`);k={chunk:x.streamed_output[0]},x.streamed_output=[]}yield{event:`on_${x.type}_${y}`,name:x.name,run_id:x.id,tags:x.tags,metadata:x.metadata,data:k}}let{state:v}=r;if(v.streamed_output.length>0){let g=v.streamed_output.length;if(g!==1)throw new Error(`Expected exactly one chunk of streamed output, got ${g} instead. Encountered in: "${v.name}"`);let y={chunk:v.streamed_output[0]};v.streamed_output=[];let k={event:`on_${v.type}_stream`,run_id:v.id,tags:i,metadata:o,name:c,data:y};l.includeEvent(k,v.type)&&(yield k)}}let p=r?.state;if(p!==void 0){let h={event:`on_${p.type}_end`,name:c,run_id:p.id,tags:i,metadata:o,data:{output:p.final_output}};l.includeEvent(h,p.type)&&(yield h)}}static isRunnable(e){return Wy(e)}withListeners({onStart:e,onEnd:t,onError:n}){return new Ss({bound:this,config:{},configFactories:[r=>({callbacks:[new uO({config:r,onStart:e,onEnd:t,onError:n})]})]})}asTool(e){return sL(this,e)}},Ss=class dO extends je{static lc_name(){return"RunnableBinding"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;bound;config;kwargs;configFactories;constructor(t){super(t),this.bound=t.bound,this.kwargs=t.kwargs,this.config=t.config,this.configFactories=t.configFactories}getName(t){return this.bound.getName(t)}async _mergeConfig(...t){let n=jn(this.config,...t);return jn(n,...this.configFactories?await Promise.all(this.configFactories.map(async r=>await r(n))):[])}withConfig(t){return new this.constructor({bound:this.bound,kwargs:this.kwargs,config:{...this.config,...t}})}withRetry(t){return new Jy({bound:this.bound,kwargs:this.kwargs,config:this.config,maxAttemptNumber:t?.stopAfterAttempt,...t})}async invoke(t,n){return this.bound.invoke(t,await this._mergeConfig(n,this.kwargs))}async batch(t,n,r){let s=Array.isArray(n)?await Promise.all(n.map(async a=>this._mergeConfig(Me(a),this.kwargs))):await this._mergeConfig(Me(n),this.kwargs);return this.bound.batch(t,s,r)}_concatOutputChunks(t,n){return this.bound._concatOutputChunks(t,n)}async*_streamIterator(t,n){yield*this.bound._streamIterator(t,await this._mergeConfig(Me(n),this.kwargs))}async stream(t,n){return this.bound.stream(t,await this._mergeConfig(Me(n),this.kwargs))}async*transform(t,n){yield*this.bound.transform(t,await this._mergeConfig(Me(n),this.kwargs))}streamEvents(t,n,r){let s=this,a=async function*(){yield*s.bound.streamEvents(t,{...await s._mergeConfig(Me(n),s.kwargs),version:n.version},r)};return gn.fromAsyncGenerator(a())}static isRunnableBinding(t){return t.bound&&je.isRunnable(t.bound)}withListeners({onStart:t,onEnd:n,onError:r}){return new dO({bound:this.bound,kwargs:this.kwargs,config:this.config,configFactories:[s=>({callbacks:[new uO({config:s,onStart:t,onEnd:n,onError:r})]})]})}},eL=class pO extends je{static lc_name(){return"RunnableEach"}lc_serializable=!0;lc_namespace=["langchain_core","runnables"];bound;constructor(t){super(t),this.bound=t.bound}async invoke(t,n){return this._callWithConfig(this._invoke.bind(this),t,n)}async _invoke(t,n,r){return this.bound.batch(t,Ve(n,{callbacks:r?.getChild()}))}withListeners({onStart:t,onEnd:n,onError:r}){return new pO({bound:this.bound.withListeners({onStart:t,onEnd:n,onError:r})})}},Jy=class extends Ss{static lc_name(){return"RunnableRetry"}lc_namespace=["langchain_core","runnables"];maxAttemptNumber=3;onFailedAttempt=()=>{};constructor(e){super(e),this.maxAttemptNumber=e.maxAttemptNumber??this.maxAttemptNumber,this.onFailedAttempt=e.onFailedAttempt??this.onFailedAttempt}_patchConfigForRetry(e,t,n){let r=e>1?`retry:attempt:${e}`:void 0;return Ve(t,{callbacks:n?.getChild(r)})}async _invoke(e,t,n){return Rm(r=>super.invoke(e,this._patchConfigForRetry(r,t,n)),{onFailedAttempt:({error:r})=>this.onFailedAttempt(r,e),retries:Math.max(this.maxAttemptNumber-1,0),randomize:!0})}async invoke(e,t){return this._callWithConfig(this._invoke.bind(this),e,t)}async _batch(e,t,n,r){let s={};try{await Rm(async a=>{let i=e.map((d,p)=>p).filter(d=>s[d.toString()]===void 0||s[d.toString()]instanceof Error),o=i.map(d=>e[d]),c=i.map(d=>this._patchConfigForRetry(a,t?.[d],n?.[d])),u=await super.batch(o,c,{...r,returnExceptions:!0}),l;for(let d=0;d<u.length;d+=1){let p=u[d],h=i[d];p instanceof Error&&l===void 0&&(l=p,l.input=o[d]),s[h.toString()]=p}if(l)throw l;return u},{onFailedAttempt:({error:a})=>this.onFailedAttempt(a,a.input),retries:Math.max(this.maxAttemptNumber-1,0),randomize:!0})}catch(a){if(r?.returnExceptions!==!0)throw a}return Object.keys(s).sort((a,i)=>parseInt(a,10)-parseInt(i,10)).map(a=>s[parseInt(a,10)])}async batch(e,t,n){return this._batchWithConfig(this._batch.bind(this),e,t,n)}},Ts=class wo extends je{static lc_name(){return"RunnableSequence"}first;middle=[];last;omitSequenceTags=!1;lc_serializable=!0;lc_namespace=["langchain_core","runnables"];constructor(t){super(t),this.first=t.first,this.middle=t.middle??this.middle,this.last=t.last,this.name=t.name,this.omitSequenceTags=t.omitSequenceTags??this.omitSequenceTags}get steps(){return[this.first,...this.middle,this.last]}async invoke(t,n){let r=Me(n),s=await(await en(r))?.handleChainStart(this.toJSON(),bt(t,"input"),r.runId,void 0,void 0,void 0,r?.runName);delete r.runId;let a=t,i;try{let o=[this.first,...this.middle];for(let c=0;c<o.length;c+=1)a=await Er(o[c].invoke(a,Ve(r,{callbacks:s?.getChild(this.omitSequenceTags?void 0:`seq:step:${c+1}`)})),r.signal);if(r.signal?.aborted)throw ec(r.signal);i=await this.last.invoke(a,Ve(r,{callbacks:s?.getChild(this.omitSequenceTags?void 0:`seq:step:${this.steps.length}`)}))}catch(o){throw await s?.handleChainError(o),o}return await s?.handleChainEnd(bt(i,"output")),i}async batch(t,n,r){let s=this._getOptionsList(n??{},t.length),a=await Promise.all(s.map(en)),i=await Promise.all(a.map(async(c,u)=>{let l=await c?.handleChainStart(this.toJSON(),bt(t[u],"input"),s[u].runId,void 0,void 0,void 0,s[u].runName);return delete s[u].runId,l})),o=t;try{for(let c=0;c<this.steps.length;c+=1)o=await Er(this.steps[c].batch(o,i.map((u,l)=>{let d=u?.getChild(this.omitSequenceTags?void 0:`seq:step:${c+1}`);return Ve(s[l],{callbacks:d})}),r),s[0]?.signal)}catch(c){throw await Promise.all(i.map(u=>u?.handleChainError(c))),c}return await Promise.all(i.map(c=>c?.handleChainEnd(bt(o,"output")))),o}_concatOutputChunks(t,n){return this.last._concatOutputChunks(t,n)}async*_streamIterator(t,n){let r=await en(n),{runId:s,...a}=n??{},i=await r?.handleChainStart(this.toJSON(),bt(t,"input"),s,void 0,void 0,void 0,a?.runName),o=[this.first,...this.middle,this.last],c=!0,u;async function*l(){yield t}try{let d=o[0].transform(l(),Ve(a,{callbacks:i?.getChild(this.omitSequenceTags?void 0:"seq:step:1")}));for(let p=1;p<o.length;p+=1)d=await o[p].transform(d,Ve(a,{callbacks:i?.getChild(this.omitSequenceTags?void 0:`seq:step:${p+1}`)}));for await(let p of d)if(n?.signal?.throwIfAborted(),yield p,c)if(u===void 0)u=p;else try{u=this._concatOutputChunks(u,p)}catch{u=void 0,c=!1}}catch(d){throw await i?.handleChainError(d),d}await i?.handleChainEnd(bt(u,"output"))}getGraph(t){let n=new ac,r=null;return this.steps.forEach((s,a)=>{let i=s.getGraph(t);a!==0&&i.trimFirstNode(),a!==this.steps.length-1&&i.trimLastNode(),n.extend(i);let o=i.firstNode();if(!o)throw new Error(`Runnable ${s} has no first node`);r&&n.addEdge(r,o),r=i.lastNode()}),n}pipe(t){return wo.isRunnableSequence(t)?new wo({first:this.first,middle:this.middle.concat([this.last,t.first,...t.middle]),last:t.last,name:this.name??t.name}):new wo({first:this.first,middle:[...this.middle,this.last],last:Rt(t),name:this.name})}static isRunnableSequence(t){return Array.isArray(t.middle)&&je.isRunnable(t)}static from([t,...n],r){let s={};return typeof r=="string"?s.name=r:r!==void 0&&(s=r),new wo({...s,first:Rt(t),middle:n.slice(0,-1).map(Rt),last:Rt(n[n.length-1])})}},ro=class hO extends je{static lc_name(){return"RunnableMap"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;steps;getStepsKeys(){return Object.keys(this.steps)}constructor(t){super(t),this.steps={};for(let[n,r]of Object.entries(t.steps))this.steps[n]=Rt(r)}static from(t){return new hO({steps:t})}async invoke(t,n){let r=Me(n),s=await(await en(r))?.handleChainStart(this.toJSON(),{input:t},r.runId,void 0,void 0,void 0,r?.runName);delete r.runId;let a={};try{let i=Object.entries(this.steps).map(async([o,c])=>{a[o]=await c.invoke(t,Ve(r,{callbacks:s?.getChild(`map:key:${o}`)}))});await Er(Promise.all(i),r.signal)}catch(i){throw await s?.handleChainError(i),i}return await s?.handleChainEnd(a),a}async*_transform(t,n,r){let s={...this.steps},a=zy(t,Object.keys(s).length),i=new Map(Object.entries(s).map(([o,c],u)=>{let l=c.transform(a[u],Ve(r,{callbacks:n?.getChild(`map:key:${o}`)}));return[o,l.next().then(d=>({key:o,gen:l,result:d}))]}));for(;i.size;){let{key:o,result:c,gen:u}=await Er(Promise.race(i.values()),r?.signal);i.delete(o),c.done||(yield{[o]:c.value},i.set(o,u.next().then(l=>({key:o,gen:u,result:l}))))}}transform(t,n){return this._transformStreamWithConfig(t,this._transform.bind(this),n)}async stream(t,n){async function*r(){yield t}let s=Me(n),a=new Na({generator:this.transform(r(),s),config:s});return await a.setup,gn.fromAsyncGenerator(a)}},tL=class fO extends je{lc_serializable=!1;lc_namespace=["langchain_core","runnables"];func;constructor(t){if(super(t),!Ly(t.func))throw new Error("RunnableTraceable requires a function that is wrapped in traceable higher-order function");this.func=t.func}async invoke(t,n){let[r]=this._getOptionsList(n??{},1),s=await en(r);return Er(this.func(Ve(r,{callbacks:s}),t),r?.signal)}async*_streamIterator(t,n){let[r]=this._getOptionsList(n??{},1),s=await this.invoke(t,n);if(eg(s)){for await(let a of s)r?.signal?.throwIfAborted(),yield a;return}if(YM(s)){for(;;){r?.signal?.throwIfAborted();let a=s.next();if(a.done)break;yield a.value}return}yield s}static from(t){return new fO({func:t})}};function nL(e){if(Ly(e))throw new Error("RunnableLambda requires a function that is not wrapped in traceable higher-order function. This shouldn't happen.")}var lr=class mO extends je{static lc_name(){return"RunnableLambda"}lc_namespace=["langchain_core","runnables"];func;constructor(t){if(Ly(t.func))return tL.from(t.func);super(t),nL(t.func),this.func=t.func}static from(t){return new mO({func:t})}async _invoke(t,n,r){return new Promise((s,a)=>{let i=Ve(n,{callbacks:r?.getChild(),recursionLimit:(n?.recursionLimit??25)-1});Mt.runWithConfig(Hr(i),async()=>{try{let o=await this.func(t,{...i});if(o&&je.isRunnable(o)){if(n?.recursionLimit===0)throw new Error("Recursion limit reached.");o=await o.invoke(t,{...i,recursionLimit:(i.recursionLimit??25)-1})}else if(eg(o)){let c;for await(let u of tg(i,o))if(n?.signal?.throwIfAborted(),c===void 0)c=u;else try{c=this._concatOutputChunks(c,u)}catch{c=u}o=c}else if(rb(o)){let c;for(let u of sb(i,o))if(n?.signal?.throwIfAborted(),c===void 0)c=u;else try{c=this._concatOutputChunks(c,u)}catch{c=u}o=c}s(o)}catch(o){a(o)}})})}async invoke(t,n){return this._callWithConfig(this._invoke.bind(this),t,n)}async*_transform(t,n,r){let s;for await(let o of t)if(s===void 0)s=o;else try{s=this._concatOutputChunks(s,o)}catch{s=o}let a=Ve(r,{callbacks:n?.getChild(),recursionLimit:(r?.recursionLimit??25)-1}),i=await new Promise((o,c)=>{Mt.runWithConfig(Hr(a),async()=>{try{o(await this.func(s,{...a,config:a}))}catch(u){c(u)}})});if(i&&je.isRunnable(i)){if(r?.recursionLimit===0)throw new Error("Recursion limit reached.");let o=await i.stream(s,a);for await(let c of o)yield c}else if(eg(i))for await(let o of tg(a,i))r?.signal?.throwIfAborted(),yield o;else if(rb(i))for(let o of sb(a,i))r?.signal?.throwIfAborted(),yield o;else yield i}transform(t,n){return this._transformStreamWithConfig(t,this._transform.bind(this),n)}async stream(t,n){async function*r(){yield t}let s=Me(n),a=new Na({generator:this.transform(r(),s),config:s});return await a.setup,gn.fromAsyncGenerator(a)}},rL=class extends ro{},gO=class extends je{static lc_name(){return"RunnableWithFallbacks"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;runnable;fallbacks;constructor(e){super(e),this.runnable=e.runnable,this.fallbacks=e.fallbacks}*runnables(){yield this.runnable;for(let e of this.fallbacks)yield e}async invoke(e,t){let n=Me(t),r=await en(n),{runId:s,...a}=n,i=await r?.handleChainStart(this.toJSON(),bt(e,"input"),s,void 0,void 0,void 0,a?.runName),o=Ve(a,{callbacks:i?.getChild()});return await Mt.runWithConfig(o,async()=>{let c;for(let u of this.runnables()){n?.signal?.throwIfAborted();try{let l=await u.invoke(e,o);return await i?.handleChainEnd(bt(l,"output")),l}catch(l){c===void 0&&(c=l)}}throw c===void 0?new Error("No error stored at end of fallback."):(await i?.handleChainError(c),c)})}async*_streamIterator(e,t){let n=Me(t),r=await en(n),{runId:s,...a}=n,i=await r?.handleChainStart(this.toJSON(),bt(e,"input"),s,void 0,void 0,void 0,a?.runName),o,c;for(let l of this.runnables()){n?.signal?.throwIfAborted();let d=Ve(a,{callbacks:i?.getChild()});try{c=tg(d,await l.stream(e,d));break}catch(p){o===void 0&&(o=p)}}if(c===void 0){let l=o??new Error("No error stored at end of fallback.");throw await i?.handleChainError(l),l}let u;try{for await(let l of c){yield l;try{u=u===void 0?u:this._concatOutputChunks(u,l)}catch{u=void 0}}}catch(l){throw await i?.handleChainError(l),l}await i?.handleChainEnd(bt(u,"output"))}async batch(e,t,n){if(n?.returnExceptions)throw new Error("Not implemented.");let r=this._getOptionsList(t??{},e.length),s=await Promise.all(r.map(o=>en(o))),a=await Promise.all(s.map(async(o,c)=>{let u=await o?.handleChainStart(this.toJSON(),bt(e[c],"input"),r[c].runId,void 0,void 0,void 0,r[c].runName);return delete r[c].runId,u})),i;for(let o of this.runnables()){r[0].signal?.throwIfAborted();try{let c=await o.batch(e,a.map((u,l)=>Ve(r[l],{callbacks:u?.getChild()})),n);return await Promise.all(a.map((u,l)=>u?.handleChainEnd(bt(c[l],"output")))),c}catch(c){i===void 0&&(i=c)}}throw i?(await Promise.all(a.map(o=>o?.handleChainError(i))),i):new Error("No error stored at end of fallbacks.")}};function Rt(e){if(typeof e=="function")return new lr({func:e});if(je.isRunnable(e))return e;if(!Array.isArray(e)&&typeof e=="object"){let t={};for(let[n,r]of Object.entries(e))t[n]=Rt(r);return new ro({steps:t})}else throw new Error(`Expected a Runnable, function or object.
88
- Instead got an unsupported type.`)}var Gy=class extends je{static lc_name(){return"RunnableAssign"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;mapper;constructor(e){e instanceof ro&&(e={mapper:e}),super(e),this.mapper=e.mapper}async invoke(e,t){let n=await this.mapper.invoke(e,t);return{...e,...n}}async*_transform(e,t,n){let r=this.mapper.getStepsKeys(),[s,a]=zy(e),i=this.mapper.transform(a,Ve(n,{callbacks:t?.getChild()})),o=i.next();for await(let c of s){if(typeof c!="object"||Array.isArray(c))throw new Error(`RunnableAssign can only be used with objects as input, got ${typeof c}`);let u=Object.fromEntries(Object.entries(c).filter(([l])=>!r.includes(l)));Object.keys(u).length>0&&(yield u)}yield(await o).value;for await(let c of i)yield c}transform(e,t){return this._transformStreamWithConfig(e,this._transform.bind(this),t)}async stream(e,t){async function*n(){yield e}let r=Me(t),s=new Na({generator:this.transform(n(),r),config:r});return await s.setup,gn.fromAsyncGenerator(s)}},yO=class extends je{static lc_name(){return"RunnablePick"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;keys;constructor(e){(typeof e=="string"||Array.isArray(e))&&(e={keys:e}),super(e),this.keys=e.keys}async _pick(e){if(typeof this.keys=="string")return e[this.keys];{let t=this.keys.map(n=>[n,e[n]]).filter(n=>n[1]!==void 0);return t.length===0?void 0:Object.fromEntries(t)}}async invoke(e,t){return this._callWithConfig(this._pick.bind(this),e,t)}async*_transform(e){for await(let t of e){let n=await this._pick(t);n!==void 0&&(yield n)}}transform(e,t){return this._transformStreamWithConfig(e,this._transform.bind(this),t)}async stream(e,t){async function*n(){yield e}let r=Me(t),s=new Na({generator:this.transform(n(),r),config:r});return await s.setup,gn.fromAsyncGenerator(s)}},ng=class extends Ss{name;description;schema;constructor(e){let t=Ts.from([lr.from(async n=>{let r;if(zo(n))try{r=await Pp(this.schema,n.args)}catch{throw new El("Received tool input did not match expected schema",JSON.stringify(n.args))}else r=n;return r}).withConfig({runName:`${e.name}:parse_input`}),e.bound]).withConfig({runName:e.name});super({bound:t,config:e.config??{}}),this.name=e.name,this.description=e.description,this.schema=e.schema}static lc_name(){return"RunnableToolLike"}};function sL(e,t){let n=t.name??e.getName(),r=t.description??Ti(t.schema);return Zy(t.schema)?new ng({name:n,description:r,schema:Mp({input:Rp()}).transform(s=>s.input),bound:e}):new ng({name:n,description:r,schema:t.schema,bound:e})}var Vl=(e,t)=>{let n=[...new Set(t?.map(s=>{if(typeof s=="string")return s;let a=new s({});if(!("getType"in a)||typeof a.getType!="function")throw new Error("Invalid type provided.");return a.getType()}))],r=e.getType();return n.some(s=>s===r)};function aL(e,t){return Array.isArray(e)?ab(e,t):lr.from(n=>ab(n,e))}function ab(e,t={}){let{includeNames:n,excludeNames:r,includeTypes:s,excludeTypes:a,includeIds:i,excludeIds:o}=t,c=[];for(let u of e)if(!(r&&u.name&&r.includes(u.name))){if(a&&Vl(u,a)||o&&u.id&&o.includes(u.id))continue;s||i||n?(n&&u.name&&n.some(l=>l===u.name)||s&&Vl(u,s)||i&&u.id&&i.some(l=>l===u.id))&&c.push(u):c.push(u)}return c}function iL(e){return Array.isArray(e)?ib(e):lr.from(ib)}function ib(e){if(!e.length)return[];let t=[];for(let n of e){let r=n,s=t.pop();if(!s)t.push(r);else if(r.getType()==="tool"||r.getType()!==s.getType())t.push(s,r);else{let a=$l(s),i=$l(r),o=a.concat(i);typeof a.content=="string"&&typeof i.content=="string"&&(o.content=`${a.content}
89
- ${i.content}`),t.push(uL(o))}}return t}function oL(e,t){if(Array.isArray(e)){let n=e;if(!t)throw new Error("Options parameter is required when providing messages.");return ob(n,t)}else{let n=e;return lr.from(r=>ob(r,n)).withConfig({runName:"trim_messages"})}}async function ob(e,t){let{maxTokens:n,tokenCounter:r,strategy:s="last",allowPartial:a=!1,endOn:i,startOn:o,includeSystem:c=!1,textSplitter:u}=t;if(o&&s==="first")throw new Error("`startOn` should only be specified if `strategy` is 'last'.");if(c&&s==="first")throw new Error("`includeSystem` should only be specified if `strategy` is 'last'.");let l;"getNumTokens"in r?l=async p=>(await Promise.all(p.map(h=>r.getNumTokens(h.content)))).reduce((h,f)=>h+f,0):l=async p=>r(p);let d=vO;if(u&&("splitText"in u?d=u.splitText:d=async p=>u(p)),s==="first")return _O(e,{maxTokens:n,tokenCounter:l,textSplitter:d,partialStrategy:a?"first":void 0,endOn:i});if(s==="last")return cL(e,{maxTokens:n,tokenCounter:l,textSplitter:d,allowPartial:a,includeSystem:c,startOn:o,endOn:i});throw new Error(`Unrecognized strategy: '${s}'. Must be one of 'first' or 'last'.`)}async function _O(e,t){let{maxTokens:n,tokenCounter:r,textSplitter:s,partialStrategy:a,endOn:i}=t,o=[...e],c=0;for(let u=0;u<o.length;u+=1)if(await r(u>0?o.slice(0,-u):o)<=n){c=o.length-u;break}if(c<o.length&&a){let u=!1;if(Array.isArray(o[c].content)){let l=o[c];if(typeof l.content=="string")throw new Error("Expected content to be an array.");let d=l.content.length,p=a==="last"?[...l.content].reverse():l.content;for(let h=1;h<=d;h+=1){let f=a==="first"?p.slice(0,h):p.slice(-h),m=Object.fromEntries(Object.entries(l).filter(([y])=>y!=="type"&&!y.startsWith("lc_"))),v=Ky(l.getType(),{...m,content:f}),g=[...o.slice(0,c),v];if(await r(g)<=n)o=g,c+=1,u=!0;else break}u&&a==="last"&&(l.content=[...p].reverse())}if(!u){let l=o[c],d;if(Array.isArray(l.content)&&l.content.some(p=>typeof p=="string"||p.type==="text")?d=l.content.find(p=>p.type==="text"&&p.text)?.text:typeof l.content=="string"&&(d=l.content),d){let p=await s(d),h=p.length;a==="last"&&p.reverse();for(let f=0;f<h-1;f+=1)if(p.pop(),l.content=p.join(""),await r([...o.slice(0,c),l])<=n){a==="last"&&(l.content=[...p].reverse().join("")),o=[...o.slice(0,c),l],c+=1;break}}}}if(i){let u=Array.isArray(i)?i:[i];for(;c>0&&!Vl(o[c-1],u);)c-=1}return o.slice(0,c)}async function cL(e,t){let{allowPartial:n=!1,includeSystem:r=!1,endOn:s,startOn:a,...i}=t,o=e.map(l=>{let d=Object.fromEntries(Object.entries(l).filter(([p])=>p!=="type"&&!p.startsWith("lc_")));return Ky(l.getType(),d,Xo(l))});if(s){let l=Array.isArray(s)?s:[s];for(;o.length>0&&!Vl(o[o.length-1],l);)o=o.slice(0,-1)}let c=r&&o[0]?.getType()==="system",u=c?o.slice(0,1).concat(o.slice(1).reverse()):o.reverse();return u=await _O(u,{...i,partialStrategy:n?"last":void 0,endOn:a}),c?[u[0],...u.slice(1).reverse()]:u.reverse()}var cb={human:{message:An,messageChunk:Vc},ai:{message:Ke,messageChunk:mn},system:{message:Tr,messageChunk:ws},developer:{message:Tr,messageChunk:ws},tool:{message:Mn,messageChunk:Fc},function:{message:xp,messageChunk:Zc},generic:{message:Kr,messageChunk:Bc},remove:{message:sa,messageChunk:sa}};function Ky(e,t,n){let r,s;switch(e){case"human":n?r=new Vc(t):s=new An(t);break;case"ai":if(n){let a={...t};"tool_calls"in a&&(a={...a,tool_call_chunks:a.tool_calls?.map(i=>({...i,type:"tool_call_chunk",index:void 0,args:JSON.stringify(i.args)}))}),r=new mn(a)}else s=new Ke(t);break;case"system":n?r=new ws(t):s=new Tr(t);break;case"developer":n?r=new ws({...t,additional_kwargs:{...t.additional_kwargs,__openai_role__:"developer"}}):s=new Tr({...t,additional_kwargs:{...t.additional_kwargs,__openai_role__:"developer"}});break;case"tool":if("tool_call_id"in t)n?r=new Fc(t):s=new Mn(t);else throw new Error("Can not convert ToolMessage to ToolMessageChunk if 'tool_call_id' field is not defined.");break;case"function":if(n)r=new Zc(t);else{if(!t.name)throw new Error("FunctionMessage must have a 'name' field");s=new xp(t)}break;case"generic":if("role"in t)n?r=new Bc(t):s=new Kr(t);else throw new Error("Can not convert ChatMessage to ChatMessageChunk if 'role' field is not defined.");break;default:throw new Error(`Unrecognized message type ${e}`)}if(n&&r)return r;if(s)return s;throw new Error(`Unrecognized message type ${e}`)}function uL(e){let t=e.getType(),n,r=Object.fromEntries(Object.entries(e).filter(([s])=>!["type","tool_call_chunks"].includes(s)&&!s.startsWith("lc_")));if(t in cb&&(n=Ky(t,r)),!n)throw new Error(`Unrecognized message chunk class ${t}. Supported classes are ${Object.keys(cb)}`);return n}function vO(e){let t=e.split(`
90
- `);return Promise.resolve([...t.slice(0,-1).map(n=>`${n}
91
- `),t[t.length-1]])}var lL=["tool_call","tool_call_chunk","invalid_tool_call","server_tool_call","server_tool_call_chunk","server_tool_call_result"],dL=["image","video","audio","text-plain","file"],pL=["text","reasoning",...lL,...dL],hL=Q({AIMessage:()=>Ke,AIMessageChunk:()=>mn,BaseMessage:()=>Yt,BaseMessageChunk:()=>Ms,ChatMessage:()=>Kr,ChatMessageChunk:()=>Bc,DEFAULT_MERGE_IGNORE_KEYS:()=>Sk,FunctionMessage:()=>xp,FunctionMessageChunk:()=>Zc,HumanMessage:()=>An,HumanMessageChunk:()=>Vc,KNOWN_BLOCK_TYPES:()=>pL,RemoveMessage:()=>sa,SystemMessage:()=>Tr,SystemMessageChunk:()=>ws,ToolMessage:()=>Mn,ToolMessageChunk:()=>Fc,_isMessageFieldWithRole:()=>Ek,_mergeDicts:()=>Ft,_mergeLists:()=>vi,_mergeObj:()=>Tk,_mergeStatus:()=>Ok,coerceMessageLikeToMessage:()=>kr,collapseToolCallChunks:()=>Rk,convertToChunk:()=>$l,convertToOpenAIImageBlock:()=>wk,convertToProviderContentBlock:()=>yy,defaultTextSplitter:()=>vO,defaultToolCallParser:()=>by,filterMessages:()=>aL,getBufferString:()=>Sy,iife:()=>jk,isAIMessage:()=>kp,isAIMessageChunk:()=>cm,isBase64ContentBlock:()=>gy,isBaseMessage:()=>jt,isBaseMessageChunk:()=>Xo,isChatMessage:()=>E$,isChatMessageChunk:()=>A$,isDataContentBlock:()=>Sr,isDirectToolOutput:()=>wy,isFunctionMessage:()=>$$,isFunctionMessageChunk:()=>C$,isHumanMessage:()=>N$,isHumanMessageChunk:()=>P$,isIDContentBlock:()=>vk,isMessage:()=>xk,isOpenAIToolCallArray:()=>l$,isPlainTextContentBlock:()=>WA,isSystemMessage:()=>j$,isSystemMessageChunk:()=>R$,isToolMessage:()=>ky,isToolMessageChunk:()=>Ak,isURLContentBlock:()=>my,mapChatMessagesToStoredMessages:()=>F$,mapStoredMessageToChatMessage:()=>Ty,mapStoredMessagesToChatMessages:()=>D$,mergeContent:()=>qr,mergeMessageRuns:()=>iL,mergeResponseMetadata:()=>Ck,mergeUsageMetadata:()=>Oy,parseBase64DataUrl:()=>Ko,parseMimeType:()=>om,trimMessages:()=>oL}),fL=Q({BaseChatMessageHistory:()=>wO,BaseListChatMessageHistory:()=>Xy,InMemoryChatMessageHistory:()=>mL}),wO=class extends Rn{async addMessages(e){for(let t of e)await this.addMessage(t)}},Xy=class extends Rn{addUserMessage(e){return this.addMessage(new An(e))}addAIMessage(e){return this.addMessage(new Ke(e))}async addMessages(e){for(let t of e)await this.addMessage(t)}clear(){throw new Error("Not implemented.")}},mL=class extends Xy{lc_namespace=["langchain","stores","message","in_memory"];messages=[];constructor(e){super(...arguments),this.messages=e??[]}async getMessages(){return this.messages}async addMessage(e){this.messages.push(e)}async clear(){this.messages=[]}},gs=class{pageContent;metadata;id;constructor(e){this.pageContent=e.pageContent!==void 0?e.pageContent.toString():"",this.metadata=e.metadata??{},this.id=e.id}},bO=class extends je{lc_namespace=["langchain_core","documents","transformers"];invoke(e,t){return this.transformDocuments(e)}},gL=class extends bO{async transformDocuments(e){let t=[];for(let n of e){let r=await this._transformDocument(n);t.push(r)}return t}},yL=Q({BaseDocumentTransformer:()=>bO,Document:()=>gs,MappingDocumentTransformer:()=>gL}),_L=Q({BaseDocumentLoader:()=>kO}),kO=class{},vL=Q({LangSmithLoader:()=>wL}),wL=class extends kO{datasetId;datasetName;exampleIds;asOf;splits;inlineS3Urls;offset;limit;metadata;filter;contentKey;formatContent;client;constructor(e){if(super(),e.client&&e.clientConfig)throw new Error("client and clientConfig cannot both be provided.");this.client=e.client??new ki(e?.clientConfig),this.contentKey=e.contentKey?e.contentKey.split("."):[],this.formatContent=e.formatContent??bL,this.datasetId=e.datasetId,this.datasetName=e.datasetName,this.exampleIds=e.exampleIds,this.asOf=e.asOf,this.splits=e.splits,this.inlineS3Urls=e.inlineS3Urls,this.offset=e.offset,this.limit=e.limit,this.metadata=e.metadata,this.filter=e.filter}async load(){let e=[];for await(let t of this.client.listExamples({datasetId:this.datasetId,datasetName:this.datasetName,exampleIds:this.exampleIds,asOf:this.asOf,splits:this.splits,inlineS3Urls:this.inlineS3Urls,offset:this.offset,limit:this.limit,metadata:this.metadata,filter:this.filter})){let n=t.inputs;for(let a of this.contentKey)n=n[a];let r=this.formatContent(n),s=t;["created_at","modified_at"].forEach(a=>{a in s&&typeof s[a]=="object"&&(s[a]=s[a].toString())}),e.push({pageContent:r,metadata:s})}return e}};function bL(e){if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}var kL=Q({Embeddings:()=>Yy}),Yy=class{caller;constructor(e){this.caller=new Jc(e??{})}},Qy=class extends Rn{lc_namespace=["langchain_core","example_selectors","base"]},xO=class{async getPromptAsync(e,t){return this.getPrompt(e).partial(t?.partialVariables??{})}},xL=class extends xO{defaultPrompt;conditionals;constructor(e,t=[]){super(),this.defaultPrompt=e,this.conditionals=t}getPrompt(e){for(let[t,n]of this.conditionals)if(t(e))return n;return this.defaultPrompt}};function OL(e){return e._modelType()==="base_llm"}function SL(e){return e._modelType()==="base_chat_model"}function ub(e){return e.split(/\n| /).length}var TL=class OO extends Qy{examples=[];examplePrompt;getTextLength=ub;maxLength=2048;exampleTextLengths=[];constructor(t){super(t),this.examplePrompt=t.examplePrompt,this.maxLength=t.maxLength??2048,this.getTextLength=t.getTextLength??ub}async addExample(t){this.examples.push(t);let n=await this.examplePrompt.format(t);this.exampleTextLengths.push(this.getTextLength(n))}async calculateExampleTextLengths(t,n){if(t.length>0)return t;let{examples:r,examplePrompt:s}=n;return(await Promise.all(r.map(a=>s.format(a)))).map(a=>this.getTextLength(a))}async selectExamples(t){let n=Object.values(t).join(" "),r=this.maxLength-this.getTextLength(n),s=0,a=[];for(;r>0&&s<this.examples.length;){let i=r-this.exampleTextLengths[s];if(i<0)break;a.push(this.examples[s]),r=i,s+=1}return a}static async fromExamples(t,n){let r=new OO(n);return await Promise.all(t.map(s=>r.addExample(s))),r}};function xf(e){return Object.keys(e).sort().map(t=>e[t])}var IL=class SO extends Qy{vectorStoreRetriever;exampleKeys;inputKeys;constructor(t){if(super(t),this.exampleKeys=t.exampleKeys,this.inputKeys=t.inputKeys,t.vectorStore!==void 0)this.vectorStoreRetriever=t.vectorStore.asRetriever({k:t.k??4,filter:t.filter});else if(t.vectorStoreRetriever)this.vectorStoreRetriever=t.vectorStoreRetriever;else throw new Error('You must specify one of "vectorStore" and "vectorStoreRetriever".')}async addExample(t){let n=xf((this.inputKeys??Object.keys(t)).reduce((r,s)=>({...r,[s]:t[s]}),{})).join(" ");await this.vectorStoreRetriever.addDocuments([new gs({pageContent:n,metadata:t})])}async selectExamples(t){let n=xf((this.inputKeys??Object.keys(t)).reduce((s,a)=>({...s,[a]:t[a]}),{})).join(" "),r=(await this.vectorStoreRetriever.invoke(n)).map(s=>s.metadata);return this.exampleKeys?r.map(s=>this.exampleKeys.reduce((a,i)=>({...a,[i]:s[i]}),{})):r}static async fromExamples(t,n,r,s={}){let a=s.inputKeys??null,i=t.map(o=>xf(a?a.reduce((c,u)=>({...c,[u]:o[u]}),{}):o).join(" "));return new SO({vectorStore:await r.fromTexts(i,t,n,s),k:s.k??4,exampleKeys:s.exampleKeys,inputKeys:s.inputKeys})}},EL=Q({BaseExampleSelector:()=>Qy,BasePromptSelector:()=>xO,ConditionalPromptSelector:()=>xL,LengthBasedExampleSelector:()=>TL,SemanticSimilarityExampleSelector:()=>IL,isChatModel:()=>SL,isLLM:()=>OL}),rg="10f90ea3-90a4-4962-bf75-83a0f3c1c62a",AL=class extends Rn{lc_namespace=["langchain","recordmanagers"]},TO=class{uid;hash_;contentHash;metadataHash;pageContent;metadata;keyEncoder=hy;constructor(e){this.uid=e.uid,this.pageContent=e.pageContent,this.metadata=e.metadata}makeDefaultKeyEncoder(e){this.keyEncoder=e}calculateHashes(){let e=["hash_","content_hash","metadata_hash"];for(let n of e)if(n in this.metadata)throw new Error(`Metadata cannot contain key ${n} as it is reserved for internal use. Restricted keys: [${e.join(", ")}]`);let t=this._hashStringToUUID(this.pageContent);try{let n=this._hashNestedDictToUUID(this.metadata);this.contentHash=t,this.metadataHash=n}catch(n){throw new Error(`Failed to hash metadata: ${n}. Please use a dict that can be serialized using json.`)}this.hash_=this._hashStringToUUID(this.contentHash+this.metadataHash),this.uid||(this.uid=this.hash_)}toDocument(){return new gs({pageContent:this.pageContent,metadata:this.metadata})}static fromDocument(e,t){let n=new this({pageContent:e.pageContent,metadata:e.metadata,uid:t||e.uid});return n.calculateHashes(),n}_hashStringToUUID(e){return Cl(this.keyEncoder(e),rg)}_hashNestedDictToUUID(e){let t=JSON.stringify(e,Object.keys(e).sort());return Cl(this.keyEncoder(t),rg)}};function IO(e,t){let n=[],r=[];return t.forEach(s=>{r.push(s),r.length>=e&&(n.push(r),r=[])}),r.length>0&&n.push(r),n}function EO(e){let t=new Set,n=[];for(let r of e){if(!r.hash_)throw new Error("Hashed document does not have a hash");t.has(r.hash_)||(t.add(r.hash_),n.push(r))}return n}function AO(e){if(e===null)return t=>null;if(typeof e=="string")return t=>t.metadata[e];if(typeof e=="function")return e;throw new Error(`sourceIdKey should be null, a string or a function, got ${typeof e}`)}var $O=e=>"load"in e&&typeof e.load=="function"&&"loadAndSplit"in e&&typeof e.loadAndSplit=="function";async function $L(e){let{docsSource:t,recordManager:n,vectorStore:r,options:s}=e,{batchSize:a=100,cleanup:i,sourceIdKey:o,cleanupBatchSize:c=1e3,forceUpdate:u=!1}=s??{};if(i==="incremental"&&!o)throw new Error("sourceIdKey is required when cleanup mode is incremental. Please provide through 'options.sourceIdKey'.");let l=$O(t)?await t.load():t,d=AO(o??null),p=await n.getTime(),h=0,f=0,m=0,v=0,g=IO(a??100,l);for(let y of g){let k=EO(y.map(A=>TO.fromDocument(A))),x=k.map(A=>d(A));i==="incremental"&&k.forEach((A,Z)=>{if(x[Z]===null)throw new Error("sourceIdKey must be provided when cleanup is incremental")});let S=await n.exists(k.map(A=>A.uid)),E=[],I=[],w=[],P=new Set;if(k.forEach((A,Z)=>{if(S[Z])if(u)P.add(A.uid);else{w.push(A.uid);return}E.push(A.uid),I.push(A.toDocument())}),w.length>0&&(await n.update(w,{timeAtLeast:p}),v+=w.length),I.length>0&&(await r.addDocuments(I,{ids:E}),h+=I.length-P.size,m+=P.size),await n.update(k.map(A=>A.uid),{timeAtLeast:p,groupIds:x}),i==="incremental"){x.forEach(Z=>{if(!Z)throw new Error("Source id cannot be null")});let A=await n.listKeys({before:p,groupIds:x});A.length>0&&(await r.delete({ids:A}),await n.deleteKeys(A),f+=A.length)}}if(i==="full"){let y=await n.listKeys({before:p,limit:c});for(;y.length>0;)await r.delete({ids:y}),await n.deleteKeys(y),f+=y.length,y=await n.listKeys({before:p,limit:c})}return{numAdded:h,numDeleted:f,numUpdated:m,numSkipped:v}}var CL=Q({RecordManager:()=>AL,UUIDV5_NAMESPACE:()=>rg,_HashedDocument:()=>TO,_batch:()=>IO,_deduplicateInOrder:()=>EO,_getSourceIdAssigner:()=>AO,_isBaseDocumentLoader:()=>$O,index:()=>$L}),NL=Q({BasePromptValue:()=>Lp,ChatPromptValue:()=>t_,ImagePromptValue:()=>CO,StringPromptValue:()=>e_}),Lp=class extends Rn{},e_=class extends Lp{static lc_name(){return"StringPromptValue"}lc_namespace=["langchain_core","prompt_values"];lc_serializable=!0;value;constructor(e){super({value:e}),this.value=e}toString(){return this.value}toChatMessages(){return[new An(this.value)]}},t_=class extends Lp{lc_namespace=["langchain_core","prompt_values"];lc_serializable=!0;static lc_name(){return"ChatPromptValue"}messages;constructor(e){Array.isArray(e)&&(e={messages:e}),super(e),this.messages=e.messages}toString(){return Sy(this.messages)}toChatMessages(){return this.messages}},CO=class extends Lp{lc_namespace=["langchain_core","prompt_values"];lc_serializable=!0;static lc_name(){return"ImagePromptValue"}imageUrl;value;constructor(e){"imageUrl"in e||(e={imageUrl:e}),super(e),this.imageUrl=e.imageUrl}toString(){return this.imageUrl.url}toChatMessages(){return[new An({content:[{type:"image_url",image_url:{detail:this.imageUrl.detail,url:this.imageUrl.url}}]})]}},ho={},lb;function PL(){if(lb)return ho;lb=1,ho.byteLength=o,ho.toByteArray=u,ho.fromByteArray=p;for(var e=[],t=[],n=typeof Uint8Array<"u"?Uint8Array:Array,r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,a=r.length;s<a;++s)e[s]=r[s],t[r.charCodeAt(s)]=s;t[45]=62,t[95]=63;function i(h){var f=h.length;if(f%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var m=h.indexOf("=");m===-1&&(m=f);var v=m===f?0:4-m%4;return[m,v]}function o(h){var f=i(h),m=f[0],v=f[1];return(m+v)*3/4-v}function c(h,f,m){return(f+m)*3/4-m}function u(h){var f,m=i(h),v=m[0],g=m[1],y=new n(c(h,v,g)),k=0,x=g>0?v-4:v,S;for(S=0;S<x;S+=4)f=t[h.charCodeAt(S)]<<18|t[h.charCodeAt(S+1)]<<12|t[h.charCodeAt(S+2)]<<6|t[h.charCodeAt(S+3)],y[k++]=f>>16&255,y[k++]=f>>8&255,y[k++]=f&255;return g===2&&(f=t[h.charCodeAt(S)]<<2|t[h.charCodeAt(S+1)]>>4,y[k++]=f&255),g===1&&(f=t[h.charCodeAt(S)]<<10|t[h.charCodeAt(S+1)]<<4|t[h.charCodeAt(S+2)]>>2,y[k++]=f>>8&255,y[k++]=f&255),y}function l(h){return e[h>>18&63]+e[h>>12&63]+e[h>>6&63]+e[h&63]}function d(h,f,m){for(var v,g=[],y=f;y<m;y+=3)v=(h[y]<<16&16711680)+(h[y+1]<<8&65280)+(h[y+2]&255),g.push(l(v));return g.join("")}function p(h){for(var f,m=h.length,v=m%3,g=[],y=16383,k=0,x=m-v;k<x;k+=y)g.push(d(h,k,k+y>x?x:k+y));return v===1?(f=h[m-1],g.push(e[f>>2]+e[f<<4&63]+"==")):v===2&&(f=(h[m-2]<<8)+h[m-1],g.push(e[f>>10]+e[f>>4&63]+e[f<<2&63]+"=")),g.join("")}return ho}var jL=PL(),RL=za(jL),ML=Object.defineProperty,LL=(e,t,n)=>t in e?ML(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,zL=(e,t,n)=>(LL(e,t+"",n),n);function UL(e,t){let n=Array.from({length:e.length},(r,s)=>({start:s,end:s+1}));for(;n.length>1;){let r=null;for(let s=0;s<n.length-1;s++){let a=e.slice(n[s].start,n[s+1].end),i=t.get(a.join(","));i!=null&&(r==null||i<r[0])&&(r=[i,s])}if(r!=null){let s=r[1];n[s]={start:n[s].start,end:n[s+1].end},n.splice(s+1,1)}else break}return n}function DL(e,t){return e.length===1?[t.get(e.join(","))]:UL(e,t).map(n=>t.get(e.slice(n.start,n.end).join(","))).filter(n=>n!=null)}function FL(e){return e.replace(/[\\^$*+?.()|[\]{}]/g,"\\$&")}var sg=class{specialTokens;inverseSpecialTokens;patStr;textEncoder=new TextEncoder;textDecoder=new TextDecoder("utf-8");rankMap=new Map;textMap=new Map;constructor(e,t){this.patStr=e.pat_str;let n=e.bpe_ranks.split(`
92
- `).filter(Boolean).reduce((r,s)=>{let[a,i,...o]=s.split(" "),c=Number.parseInt(i,10);return o.forEach((u,l)=>r[u]=c+l),r},{});for(let[r,s]of Object.entries(n)){let a=RL.toByteArray(r);this.rankMap.set(a.join(","),s),this.textMap.set(s,a)}this.specialTokens={...e.special_tokens,...t},this.inverseSpecialTokens=Object.entries(this.specialTokens).reduce((r,[s,a])=>(r[a]=this.textEncoder.encode(s),r),{})}encode(e,t=[],n="all"){let r=new RegExp(this.patStr,"ug"),s=sg.specialTokenRegex(Object.keys(this.specialTokens)),a=[],i=new Set(t==="all"?Object.keys(this.specialTokens):t),o=new Set(n==="all"?Object.keys(this.specialTokens).filter(u=>!i.has(u)):n);if(o.size>0){let u=sg.specialTokenRegex([...o]),l=e.match(u);if(l!=null)throw new Error(`The text contains a special token that is not allowed: ${l[0]}`)}let c=0;for(;;){let u=null,l=c;for(;s.lastIndex=l,u=s.exec(e),!(u==null||i.has(u[0]));)l=u.index+1;let d=u?.index??e.length;for(let h of e.substring(c,d).matchAll(r)){let f=this.textEncoder.encode(h[0]),m=this.rankMap.get(f.join(","));if(m!=null){a.push(m);continue}a.push(...DL(f,this.rankMap))}if(u==null)break;let p=this.specialTokens[u[0]];a.push(p),c=u.index+u[0].length}return a}decode(e){let t=[],n=0;for(let a=0;a<e.length;++a){let i=e[a],o=this.textMap.get(i)??this.inverseSpecialTokens[i];o!=null&&(t.push(o),n+=o.length)}let r=new Uint8Array(n),s=0;for(let a of t)r.set(a,s),s+=a.length;return this.textDecoder.decode(r)}},NO=sg;zL(NO,"specialTokenRegex",e=>new RegExp(e.map(t=>FL(t)).join("|"),"g"));function BL(e){switch(e){case"gpt2":return"gpt2";case"code-cushman-001":case"code-cushman-002":case"code-davinci-001":case"code-davinci-002":case"cushman-codex":case"davinci-codex":case"davinci-002":case"text-davinci-002":case"text-davinci-003":return"p50k_base";case"code-davinci-edit-001":case"text-davinci-edit-001":return"p50k_edit";case"ada":case"babbage":case"babbage-002":case"code-search-ada-code-001":case"code-search-babbage-code-001":case"curie":case"davinci":case"text-ada-001":case"text-babbage-001":case"text-curie-001":case"text-davinci-001":case"text-search-ada-doc-001":case"text-search-babbage-doc-001":case"text-search-curie-doc-001":case"text-search-davinci-doc-001":case"text-similarity-ada-001":case"text-similarity-babbage-001":case"text-similarity-curie-001":case"text-similarity-davinci-001":return"r50k_base";case"gpt-3.5-turbo-instruct-0914":case"gpt-3.5-turbo-instruct":case"gpt-3.5-turbo-16k-0613":case"gpt-3.5-turbo-16k":case"gpt-3.5-turbo-0613":case"gpt-3.5-turbo-0301":case"gpt-3.5-turbo":case"gpt-4-32k-0613":case"gpt-4-32k-0314":case"gpt-4-32k":case"gpt-4-0613":case"gpt-4-0314":case"gpt-4":case"gpt-3.5-turbo-1106":case"gpt-35-turbo":case"gpt-4-1106-preview":case"gpt-4-vision-preview":case"gpt-3.5-turbo-0125":case"gpt-4-turbo":case"gpt-4-turbo-2024-04-09":case"gpt-4-turbo-preview":case"gpt-4-0125-preview":case"text-embedding-ada-002":case"text-embedding-3-small":case"text-embedding-3-large":return"cl100k_base";case"gpt-4o":case"gpt-4o-2024-05-13":case"gpt-4o-2024-08-06":case"gpt-4o-2024-11-20":case"gpt-4o-mini-2024-07-18":case"gpt-4o-mini":case"gpt-4o-search-preview":case"gpt-4o-search-preview-2025-03-11":case"gpt-4o-mini-search-preview":case"gpt-4o-mini-search-preview-2025-03-11":case"gpt-4o-audio-preview":case"gpt-4o-audio-preview-2024-12-17":case"gpt-4o-audio-preview-2024-10-01":case"gpt-4o-mini-audio-preview":case"gpt-4o-mini-audio-preview-2024-12-17":case"o1":case"o1-2024-12-17":case"o1-mini":case"o1-mini-2024-09-12":case"o1-preview":case"o1-preview-2024-09-12":case"o1-pro":case"o1-pro-2025-03-19":case"o3":case"o3-2025-04-16":case"o3-mini":case"o3-mini-2025-01-31":case"o4-mini":case"o4-mini-2025-04-16":case"chatgpt-4o-latest":case"gpt-4o-realtime":case"gpt-4o-realtime-preview-2024-10-01":case"gpt-4o-realtime-preview-2024-12-17":case"gpt-4o-mini-realtime-preview":case"gpt-4o-mini-realtime-preview-2024-12-17":case"gpt-4.1":case"gpt-4.1-2025-04-14":case"gpt-4.1-mini":case"gpt-4.1-mini-2025-04-14":case"gpt-4.1-nano":case"gpt-4.1-nano-2025-04-14":case"gpt-4.5-preview":case"gpt-4.5-preview-2025-02-27":case"gpt-5":case"gpt-5-2025-08-07":case"gpt-5-nano":case"gpt-5-nano-2025-08-07":case"gpt-5-mini":case"gpt-5-mini-2025-08-07":case"gpt-5-chat-latest":return"o200k_base";default:throw new Error("Unknown model")}}var ZL=Q({encodingForModel:()=>n_,getEncoding:()=>PO}),Eu={},VL=new Jc({});async function PO(e){return e in Eu||(Eu[e]=VL.fetch(`https://tiktoken.pages.dev/js/${e}.json`).then(t=>t.json()).then(t=>new NO(t)).catch(t=>{throw delete Eu[e],t})),await Eu[e]}async function n_(e){return PO(BL(e))}var qL=Q({BaseLangChain:()=>s_,BaseLanguageModel:()=>a_,calculateMaxTokens:()=>WL,getEmbeddingContextSize:()=>HL,getModelContextSize:()=>jO,getModelNameForTiktoken:()=>zp,isOpenAITool:()=>r_}),zp=e=>e.startsWith("gpt-5")?"gpt-5":e.startsWith("gpt-3.5-turbo-16k")?"gpt-3.5-turbo-16k":e.startsWith("gpt-3.5-turbo-")?"gpt-3.5-turbo":e.startsWith("gpt-4-32k")?"gpt-4-32k":e.startsWith("gpt-4-")?"gpt-4":e.startsWith("gpt-4o")?"gpt-4o":e,HL=e=>e==="text-embedding-ada-002"?8191:2046,jO=e=>{switch(zp(e)){case"gpt-5":case"gpt-5-turbo":case"gpt-5-turbo-preview":return 4e5;case"gpt-4o":case"gpt-4o-mini":case"gpt-4o-2024-05-13":case"gpt-4o-2024-08-06":return 128e3;case"gpt-4-turbo":case"gpt-4-turbo-preview":case"gpt-4-turbo-2024-04-09":case"gpt-4-0125-preview":case"gpt-4-1106-preview":return 128e3;case"gpt-4-32k":case"gpt-4-32k-0314":case"gpt-4-32k-0613":return 32768;case"gpt-4":case"gpt-4-0314":case"gpt-4-0613":return 8192;case"gpt-3.5-turbo-16k":case"gpt-3.5-turbo-16k-0613":return 16384;case"gpt-3.5-turbo":case"gpt-3.5-turbo-0301":case"gpt-3.5-turbo-0613":case"gpt-3.5-turbo-1106":case"gpt-3.5-turbo-0125":return 4096;case"text-davinci-003":case"text-davinci-002":return 4097;case"text-davinci-001":return 2049;case"text-curie-001":case"text-babbage-001":case"text-ada-001":return 2048;case"code-davinci-002":case"code-davinci-001":return 8e3;case"code-cushman-001":return 2048;case"claude-3-5-sonnet-20241022":case"claude-3-5-sonnet-20240620":case"claude-3-opus-20240229":case"claude-3-sonnet-20240229":case"claude-3-haiku-20240307":case"claude-2.1":return 2e5;case"claude-2.0":case"claude-instant-1.2":return 1e5;case"gemini-1.5-pro":case"gemini-1.5-pro-latest":case"gemini-1.5-flash":case"gemini-1.5-flash-latest":return 1e6;case"gemini-pro":case"gemini-pro-vision":return 32768;default:return 4097}};function r_(e){return typeof e!="object"||!e?!1:!!("type"in e&&e.type==="function"&&"function"in e&&typeof e.function=="object"&&e.function&&"name"in e.function&&"parameters"in e.function)}var WL=async({prompt:e,modelName:t})=>{let n;try{n=(await n_(zp(t))).encode(e).length}catch{console.warn("Failed to calculate number of tokens, falling back to approximate count"),n=Math.ceil(e.length/4)}return jO(t)-n},JL=()=>!1,s_=class extends je{verbose;callbacks;tags;metadata;get lc_attributes(){return{callbacks:void 0,verbose:void 0}}constructor(e){super(e),this.verbose=e.verbose??JL(),this.callbacks=e.callbacks,this.tags=e.tags??[],this.metadata=e.metadata??{},this._addVersion("@langchain/core","1.1.34")}_addVersion(e,t){let n=this.metadata?.versions;this.metadata={...this.metadata,versions:{...typeof n=="object"&&n!==null?n:{},[e]:t}}}},a_=class extends s_{get callKeys(){return["stop","timeout","signal","tags","metadata","callbacks"]}caller;cache;constructor({callbacks:e,callbackManager:t,...n}){let{cache:r,...s}=n;super({callbacks:e??t,...s}),typeof r=="object"?this.cache=r:r?this.cache=zk.global():this.cache=void 0,this.caller=new Jc(n??{})}_encoding;async getNumTokens(e){let t;typeof e=="string"?t=e:t=e.map(r=>typeof r=="string"?r:r.type==="text"&&"text"in r?r.text:"").join("");let n=Math.ceil(t.length/4);if(!this._encoding)try{this._encoding=await n_("modelName"in this?zp(this.modelName):"gpt2")}catch(r){console.warn("Failed to calculate number of tokens, falling back to approximate count",r)}if(this._encoding)try{n=this._encoding.encode(t).length}catch(r){console.warn("Failed to calculate number of tokens, falling back to approximate count",r)}return n}static _convertInputToPromptValue(e){return typeof e=="string"?new e_(e):Array.isArray(e)?new t_(e.map(kr)):e}_identifyingParams(){return{}}_getSerializedCacheKeyParametersForCall({config:e,...t}){let n={...this._identifyingParams(),...t,_type:this._llmType(),_model:this._modelType()};return Object.entries(n).filter(([r,s])=>s!==void 0).map(([r,s])=>`${r}:${JSON.stringify(s)}`).sort().join(",")}serialize(){return{...this._identifyingParams(),_type:this._llmType(),_model:this._modelType()}}static async deserialize(e){throw new Error("Use .toJSON() instead")}get profile(){return{}}},ic=class extends je{static lc_name(){return"RunnablePassthrough"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;func;constructor(e){super(e),e&&(this.func=e.func)}async invoke(e,t){let n=Me(t);return this.func&&await this.func(e,n),this._callWithConfig(r=>Promise.resolve(r),e,n)}async*transform(e,t){let n=Me(t),r,s=!0;for await(let a of this._transformStreamWithConfig(e,i=>i,n))if(yield a,s)if(r===void 0)r=a;else try{r=ks(r,a)}catch{r=void 0,s=!1}this.func&&r!==void 0&&await this.func(r,n)}static assign(e){return new Gy(new ro({steps:e}))}},GL=class extends je{static lc_name(){return"RouterRunnable"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;runnables;constructor(e){super(e),this.runnables=e.runnables}async invoke(e,t){let{key:n,input:r}=e,s=this.runnables[n];if(s===void 0)throw new Error(`No runnable associated with key "${n}".`);return s.invoke(r,Me(t))}async batch(e,t,n){let r=e.map(l=>l.key),s=e.map(l=>l.input);if(r.find(l=>this.runnables[l]===void 0)!==void 0)throw new Error("One or more keys do not have a corresponding runnable.");let a=r.map(l=>this.runnables[l]),i=this._getOptionsList(t??{},e.length),o=i[0]?.maxConcurrency??n?.maxConcurrency,c=o&&o>0?o:e.length,u=[];for(let l=0;l<s.length;l+=c){let d=s.slice(l,l+c).map((h,f)=>a[f].invoke(h,i[f])),p=await Promise.all(d);u.push(p)}return u.flat()}async stream(e,t){let{key:n,input:r}=e,s=this.runnables[n];if(s===void 0)throw new Error(`No runnable associated with key "${n}".`);return s.stream(r,t)}},KL=class extends je{static lc_name(){return"RunnableBranch"}lc_namespace=["langchain_core","runnables"];lc_serializable=!0;default;branches;constructor(e){super(e),this.branches=e.branches,this.default=e.default}static from(e){if(e.length<1)throw new Error("RunnableBranch requires at least one branch");let t=e.slice(0,-1).map(([r,s])=>[Rt(r),Rt(s)]),n=Rt(e[e.length-1]);return new this({branches:t,default:n})}async _invoke(e,t,n){let r;for(let s=0;s<this.branches.length;s+=1){let[a,i]=this.branches[s];if(await a.invoke(e,Ve(t,{callbacks:n?.getChild(`condition:${s+1}`)}))){r=await i.invoke(e,Ve(t,{callbacks:n?.getChild(`branch:${s+1}`)}));break}}return r||(r=await this.default.invoke(e,Ve(t,{callbacks:n?.getChild("branch:default")}))),r}async invoke(e,t={}){return this._callWithConfig(this._invoke,e,t)}async*_streamIterator(e,t){let n=await(await en(t))?.handleChainStart(this.toJSON(),bt(e,"input"),t?.runId,void 0,void 0,void 0,t?.runName),r,s=!0,a;try{for(let i=0;i<this.branches.length;i+=1){let[o,c]=this.branches[i];if(await o.invoke(e,Ve(t,{callbacks:n?.getChild(`condition:${i+1}`)}))){a=await c.stream(e,Ve(t,{callbacks:n?.getChild(`branch:${i+1}`)}));for await(let u of a)if(yield u,s)if(r===void 0)r=u;else try{r=ks(r,u)}catch{r=void 0,s=!1}break}}if(a===void 0){a=await this.default.stream(e,Ve(t,{callbacks:n?.getChild("branch:default")}));for await(let i of a)if(yield i,s)if(r===void 0)r=i;else try{r=ks(r,i)}catch{r=void 0,s=!1}}}catch(i){throw await n?.handleChainError(i),i}await n?.handleChainEnd(r??{})}},XL=class extends Ss{runnable;inputMessagesKey;outputMessagesKey;historyMessagesKey;getMessageHistory;constructor(e){let t=lr.from((a,i)=>this._enterHistory(a,i??{})).withConfig({runName:"loadHistory"}),n=e.historyMessagesKey??e.inputMessagesKey;n&&(t=ic.assign({[n]:t}).withConfig({runName:"insertHistory"}));let r=t.pipe(e.runnable.withListeners({onEnd:(a,i)=>this._exitHistory(a,i??{})})).withConfig({runName:"RunnableWithMessageHistory"}),s=e.config??{};super({...e,config:s,bound:r}),this.runnable=e.runnable,this.getMessageHistory=e.getMessageHistory,this.inputMessagesKey=e.inputMessagesKey,this.outputMessagesKey=e.outputMessagesKey,this.historyMessagesKey=e.historyMessagesKey}_getInputMessages(e){let t;if(typeof e=="object"&&!Array.isArray(e)&&!jt(e)){let n;this.inputMessagesKey?n=this.inputMessagesKey:Object.keys(e).length===1?n=Object.keys(e)[0]:n="input",Array.isArray(e[n])&&Array.isArray(e[n][0])?t=e[n][0]:t=e[n]}else t=e;if(typeof t=="string")return[new An(t)];if(Array.isArray(t))return t;if(jt(t))return[t];throw new Error(`Expected a string, BaseMessage, or array of BaseMessages.
93
- Got ${JSON.stringify(t,null,2)}`)}_getOutputMessages(e){let t;if(!Array.isArray(e)&&!jt(e)&&typeof e!="string"){let n;this.outputMessagesKey!==void 0?n=this.outputMessagesKey:Object.keys(e).length===1?n=Object.keys(e)[0]:n="output",e.generations!==void 0?t=e.generations[0][0].message:t=e[n]}else t=e;if(typeof t=="string")return[new Ke(t)];if(Array.isArray(t))return t;if(jt(t))return[t];throw new Error(`Expected a string, BaseMessage, or array of BaseMessages. Received: ${JSON.stringify(t,null,2)}`)}async _enterHistory(e,t){let n=await(t?.configurable?.messageHistory).getMessages();return this.historyMessagesKey===void 0?n.concat(this._getInputMessages(e)):n}async _exitHistory(e,t){let n=t.configurable?.messageHistory,r;Array.isArray(e.inputs)&&Array.isArray(e.inputs[0])?r=e.inputs[0]:r=e.inputs;let s=this._getInputMessages(r);if(this.historyMessagesKey===void 0){let o=await n.getMessages();s=s.slice(o.length)}let a=e.outputs;if(!a)throw new Error(`Output values from 'Run' undefined. Run: ${JSON.stringify(e,null,2)}`);let i=this._getOutputMessages(a);await n.addMessages([...s,...i])}async _mergeConfig(...e){let t=await super._mergeConfig(...e);if(!t.configurable||!t.configurable.sessionId){let r={[this.inputMessagesKey??"input"]:"foo"};throw new Error(`sessionId is required. Pass it in as part of the config argument to .invoke() or .stream()
94
- eg. chain.invoke(${JSON.stringify(r)}, ${JSON.stringify({configurable:{sessionId:"123"}})})`)}let{sessionId:n}=t.configurable;return t.configurable.messageHistory=await this.getMessageHistory(n),t}},YL=Q({RouterRunnable:()=>GL,Runnable:()=>je,RunnableAssign:()=>Gy,RunnableBinding:()=>Ss,RunnableBranch:()=>KL,RunnableEach:()=>eL,RunnableLambda:()=>lr,RunnableMap:()=>ro,RunnableParallel:()=>rL,RunnablePassthrough:()=>ic,RunnablePick:()=>yO,RunnableRetry:()=>Jy,RunnableSequence:()=>Ts,RunnableToolLike:()=>ng,RunnableWithFallbacks:()=>gO,RunnableWithMessageHistory:()=>XL,_coerceToRunnable:()=>Rt,ensureConfig:()=>Me,getCallbackManagerForConfig:()=>en,mergeConfigs:()=>jn,patchConfig:()=>Ve,pickRunnableConfigKeys:()=>Hr,raceWithSignal:()=>Er}),QL=Q({applyPatch:()=>Oi,compare:()=>Ap}),Up=class extends je{parseResultWithPrompt(e,t,n){return this.parseResult(e,n)}_baseMessageToString(e){return typeof e.content=="string"?e.content:this._baseMessageContentToString(e.content)}_baseMessageContentToString(e){return JSON.stringify(e)}async invoke(e,t){return typeof e=="string"?this._callWithConfig(async(n,r)=>this.parseResult([{text:n}],r?.callbacks),e,{...t,runType:"parser"}):this._callWithConfig(async(n,r)=>this.parseResult([{message:n,text:this._baseMessageToString(n)}],r?.callbacks),e,{...t,runType:"parser"})}},so=class extends Up{parseResult(e,t){return this.parse(e[0].text,t)}async parseWithPrompt(e,t,n){return this.parse(e,n)}_type(){throw new Error("_type not implemented")}},sr=class extends Error{llmOutput;observation;sendToLLM;constructor(e,t,n,r=!1){if(super(e),this.llmOutput=t,this.observation=n,this.sendToLLM=r,r&&(n===void 0||t===void 0))throw new Error("Arguments 'observation' & 'llmOutput' are required if 'sendToLlm' is true");Dc(this,"OUTPUT_PARSING_FAILURE")}},Gc=class extends so{async*_transform(e){for await(let t of e)typeof t=="string"?yield this.parseResult([{text:t}]):yield this.parseResult([{message:t,text:this._baseMessageToString(t)}])}async*transform(e,t){yield*this._transformStreamWithConfig(e,this._transform.bind(this),{...t,runType:"parser"})}},Kc=class extends Gc{diff=!1;constructor(e){super(e),this.diff=e?.diff??this.diff}async*_transform(e){let t,n;for await(let r of e){if(typeof r!="string"&&typeof r.content!="string")throw new Error("Cannot handle non-string output.");let s;if(Xo(r)){if(typeof r.content!="string")throw new Error("Cannot handle non-string message output.");s=new Wr({message:r,text:r.content})}else if(jt(r)){if(typeof r.content!="string")throw new Error("Cannot handle non-string message output.");s=new Wr({message:$l(r),text:r.content})}else s=new Si({text:r});n===void 0?n=s:n=n.concat(s);let a=await this.parsePartialResult([n]);a!=null&&!oa(a,t)&&(this.diff?yield this._diff(t,a):yield a,t=a)}}getFormatInstructions(){return""}},e4=class extends Gc{static lc_name(){return"BytesOutputParser"}lc_namespace=["langchain_core","output_parsers","bytes"];lc_serializable=!0;textEncoder=new TextEncoder;parse(e){return Promise.resolve(this.textEncoder.encode(e))}getFormatInstructions(){return""}},Xc=class extends Gc{re;async*_transform(e){let t="";for await(let n of e)if(typeof n=="string"?t+=n:t+=n.content,this.re){let r=[...t.matchAll(this.re)];if(r.length>1){let s=0;for(let a of r.slice(0,-1))yield[a[1]],s+=(a.index??0)+a[0].length;t=t.slice(s)}}else{let r=await this.parse(t);if(r.length>1){for(let s of r.slice(0,-1))yield[s];t=r[r.length-1]}}for(let n of await this.parse(t))yield[n]}},t4=class extends Xc{static lc_name(){return"CommaSeparatedListOutputParser"}lc_namespace=["langchain_core","output_parsers","list"];lc_serializable=!0;async parse(e){try{return e.trim().split(",").map(t=>t.trim())}catch{throw new sr(`Could not parse output: ${e}`,e)}}getFormatInstructions(){return"Your response should be a list of comma separated values, eg: `foo, bar, baz`"}},n4=class extends Xc{lc_namespace=["langchain_core","output_parsers","list"];length;separator;constructor({length:e,separator:t}){super(...arguments),this.length=e,this.separator=t||","}async parse(e){try{let t=e.trim().split(this.separator).map(n=>n.trim());if(this.length!==void 0&&t.length!==this.length)throw new sr(`Incorrect number of items. Expected ${this.length}, got ${t.length}.`);return t}catch(t){throw Object.getPrototypeOf(t)===sr.prototype?t:new sr(`Could not parse output: ${e}`)}}getFormatInstructions(){return`Your response should be a list of ${this.length===void 0?"":`${this.length} `}items separated by "${this.separator}" (eg: \`foo${this.separator} bar${this.separator} baz\`)`}},r4=class extends Xc{static lc_name(){return"NumberedListOutputParser"}lc_namespace=["langchain_core","output_parsers","list"];lc_serializable=!0;getFormatInstructions(){return`Your response should be a numbered list with each item on a new line. For example:
95
-
96
- 1. foo
97
-
98
- 2. bar
99
-
100
- 3. baz`}re=/\d+\.\s([^\n]+)/g;async parse(e){return[...e.matchAll(this.re)??[]].map(t=>t[1])}},s4=class extends Xc{static lc_name(){return"NumberedListOutputParser"}lc_namespace=["langchain_core","output_parsers","list"];lc_serializable=!0;getFormatInstructions(){return`Your response should be a numbered list with each item on a new line. For example:
101
-
102
- 1. foo
103
-
104
- 2. bar
105
-
106
- 3. baz`}re=/^\s*[-*]\s([^\n]+)$/gm;async parse(e){return[...e.matchAll(this.re)??[]].map(t=>t[1])}},a4=class extends Gc{static lc_name(){return"StrOutputParser"}lc_namespace=["langchain_core","output_parsers","string"];lc_serializable=!0;parse(e){return Promise.resolve(e)}getFormatInstructions(){return""}_textContentToString(e){return e.text}_imageUrlContentToString(e){throw new Error('Cannot coerce a multimodal "image_url" message part into a string.')}_messageContentToString(e){switch(e.type){case"text":case"text_delta":if("text"in e)return this._textContentToString(e);break;case"image_url":if("image_url"in e)return this._imageUrlContentToString(e);break;case"reasoning":case"thinking":case"redacted_thinking":return"";default:throw new Error(`Cannot coerce "${e.type}" message part into a string.`)}throw new Error(`Invalid content type: ${e.type}`)}_baseMessageContentToString(e){return e.reduce((t,n)=>t+this._messageContentToString(n),"")}},i_=class extends Kc{static lc_name(){return"JsonOutputParser"}lc_namespace=["langchain_core","output_parsers"];lc_serializable=!0;_concatOutputChunks(e,t){return this.diff?super._concatOutputChunks(e,t):t}_diff(e,t){if(t)return e?Ap(e,t):[{op:"replace",path:"",value:t}]}async parsePartialResult(e){return Al(e[0].text)}async parse(e){return Al(e,JSON.parse)}getFormatInstructions(){return""}_baseMessageToString(e){return e.text}},RO=class extends so{static lc_name(){return"StandardSchemaOutputParser"}lc_namespace=["langchain","output_parsers","standard_schema"];schema;constructor(e){super(),this.schema=e}static fromSerializableSchema(e){return new this(e)}async parse(e){try{let t=Al(e,JSON.parse),n=await this.schema["~standard"].validate(t);if(n.issues)throw new Error(`Validation failed: ${JSON.stringify(n.issues)}`);return n.value}catch(t){throw new sr(`Failed to parse. Text: "${e}". Error: ${t}`,e)}}getFormatInstructions(){return""}},o_=class extends so{static lc_name(){return"StructuredOutputParser"}lc_namespace=["langchain","output_parsers","structured"];toJSON(){return this.toJSONNotImplemented()}constructor(e){super(e),this.schema=e}static fromZodSchema(e){return new this(e)}static fromNamesAndDescriptions(e){let t=Mp(Object.fromEntries(Object.entries(e).map(([n,r])=>[n,Rp().describe(r)])));return new this(t)}getFormatInstructions(){return`You must format your output as a JSON value that adheres to a given "JSON Schema" instance.
107
-
108
- "JSON Schema" is a declarative language that allows you to annotate and validate JSON documents.
109
-
110
- For example, the example "JSON Schema" instance {{"properties": {{"foo": {{"description": "a list of test words", "type": "array", "items": {{"type": "string"}}}}}}, "required": ["foo"]}}
111
- would match an object with one required property, "foo". The "type" property specifies "foo" must be an "array", and the "description" property semantically describes it as "a list of test words". The items within "foo" must be strings.
112
- Thus, the object {{"foo": ["bar", "baz"]}} is a well-formatted instance of this example "JSON Schema". The object {{"properties": {{"foo": ["bar", "baz"]}}}} is not well-formatted.
113
-
114
- Your output will be parsed and type-checked according to the provided schema instance, so make sure all fields in your output match the schema exactly and there are no trailing commas!
115
-
116
- Here is the JSON Schema instance your output must adhere to. Include the enclosing markdown codeblock:
117
- \`\`\`json
118
- ${JSON.stringify(It(this.schema))}
119
- \`\`\`
120
- `}async parse(e){try{let t=e.trim(),n=(t.match(/^```(?:json)?\s*([\s\S]*?)```/)?.[1]||t.match(/```json\s*([\s\S]*?)```/)?.[1]||t).replace(/"([^"\\]*(\\.[^"\\]*)*)"/g,(r,s)=>`"${s.replace(/\n/g,"\\n")}"`).replace(/\n/g,"");return await Pp(this.schema,JSON.parse(n))}catch(t){throw new sr(`Failed to parse. Text: "${e}". Error: ${t}`,e)}}},MO=class extends o_{static lc_name(){return"JsonMarkdownStructuredOutputParser"}getFormatInstructions(e){let t=e?.interpolationDepth??1;if(t<1)throw new Error("f string interpolation depth must be at least 1");return`Return a markdown code snippet with a JSON object formatted to look like:
121
- \`\`\`json
122
- ${this._schemaToInstruction(It(this.schema)).replaceAll("{","{".repeat(t)).replaceAll("}","}".repeat(t))}
123
- \`\`\``}_schemaToInstruction(e,t=2){let n=e;if("type"in n){let r=!1,s;if(Array.isArray(n.type)){let o=n.type.findIndex(c=>c==="null");o!==-1&&(r=!0,n.type.splice(o,1)),s=n.type.join(" | ")}else s=n.type;if(n.type==="object"&&n.properties){let o=n.description?` // ${n.description}`:"";return`{
124
- ${Object.entries(n.properties).map(([c,u])=>{let l=n.required?.includes(c)?"":" (optional)";return`${" ".repeat(t)}"${c}": ${this._schemaToInstruction(u,t+2)}${l}`}).join(`
125
- `)}
126
- ${" ".repeat(t-2)}}${o}`}if(n.type==="array"&&n.items){let o=n.description?` // ${n.description}`:"";return`array[
127
- ${" ".repeat(t)}${this._schemaToInstruction(n.items,t+2)}
128
- ${" ".repeat(t-2)}] ${o}`}let a=r?" (nullable)":"",i=n.description?` // ${n.description}`:"";return`${s}${i}${a}`}if("anyOf"in n)return n.anyOf.map(r=>this._schemaToInstruction(r,t)).join(`
129
- ${" ".repeat(t-2)}`);throw new Error("unsupported schema type")}static fromZodSchema(e){return new this(e)}static fromNamesAndDescriptions(e){let t=Mp(Object.fromEntries(Object.entries(e).map(([n,r])=>[n,Rp().describe(r)])));return new this(t)}},i4=class extends so{structuredInputParser;constructor({inputSchema:e}){super(...arguments),this.structuredInputParser=new MO(e)}async parse(e){let t;try{t=await this.structuredInputParser.parse(e)}catch(n){throw new sr(`Failed to parse. Text: "${e}". Error: ${n}`,e)}return this.outputProcessor(t)}getFormatInstructions(){return this.structuredInputParser.getFormatInstructions()}},o4=function(){let e={};e.parser=function(b,_){return new n(b,_)},e.SAXParser=n,e.SAXStream=u,e.createStream=c,e.MAX_BUFFER_LENGTH=64*1024;let t=["comment","sgmlDecl","textNode","tagName","doctype","procInstName","procInstBody","entity","attribName","attribValue","cdata","script"];e.EVENTS=["text","processinginstruction","sgmldeclaration","doctype","comment","opentagstart","attribute","opentag","closetag","opencdata","cdata","closecdata","error","end","ready","script","opennamespace","closenamespace"];function n(b,_){if(!(this instanceof n))return new n(b,_);var C=this;s(C),C.q=C.c="",C.bufferCheckPosition=e.MAX_BUFFER_LENGTH,C.opt=_||{},C.opt.lowercase=C.opt.lowercase||C.opt.lowercasetags,C.looseCase=C.opt.lowercase?"toLowerCase":"toUpperCase",C.tags=[],C.closed=C.closedRoot=C.sawRoot=!1,C.tag=C.error=null,C.strict=!!b,C.noscript=!!(b||C.opt.noscript),C.state=w.BEGIN,C.strictEntities=C.opt.strictEntities,C.ENTITIES=C.strictEntities?Object.create(e.XML_ENTITIES):Object.create(e.ENTITIES),C.attribList=[],C.opt.xmlns&&(C.ns=Object.create(f)),C.trackPosition=C.opt.position!==!1,C.trackPosition&&(C.position=C.line=C.column=0),A(C,"onready")}Object.create||(Object.create=function(b){function _(){}return _.prototype=b,new _}),Object.keys||(Object.keys=function(b){var _=[];for(var C in b)b.hasOwnProperty(C)&&_.push(C);return _});function r(b){for(var _=Math.max(e.MAX_BUFFER_LENGTH,10),C=0,O=0,Ne=t.length;O<Ne;O++){var Je=b[t[O]].length;if(Je>_)switch(t[O]){case"textNode":ze(b);break;case"cdata":Z(b,"oncdata",b.cdata),b.cdata="";break;case"script":Z(b,"onscript",b.script),b.script="";break;default:B(b,"Max buffer length exceeded: "+t[O])}C=Math.max(C,Je)}b.bufferCheckPosition=e.MAX_BUFFER_LENGTH-C+b.position}function s(b){for(var _=0,C=t.length;_<C;_++)b[t[_]]=""}function a(b){ze(b),b.cdata!==""&&(Z(b,"oncdata",b.cdata),b.cdata=""),b.script!==""&&(Z(b,"onscript",b.script),b.script="")}n.prototype={end:function(){L(this)},write:kt,resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){a(this)}};var i=ReadableStream;i||(i=function(){});var o=e.EVENTS.filter(function(b){return b!=="error"&&b!=="end"});function c(b,_){return new u(b,_)}function u(b,_){if(!(this instanceof u))return new u(b,_);i.apply(this),this._parser=new n(b,_),this.writable=!0,this.readable=!0;var C=this;this._parser.onend=function(){C.emit("end")},this._parser.onerror=function(O){C.emit("error",O),C._parser.error=null},this._decoder=null,o.forEach(function(O){Object.defineProperty(C,"on"+O,{get:function(){return C._parser["on"+O]},set:function(Ne){if(!Ne)return C.removeAllListeners(O),C._parser["on"+O]=Ne,Ne;C.on(O,Ne)},enumerable:!0,configurable:!1})})}u.prototype=Object.create(i.prototype,{constructor:{value:u}}),u.prototype.write=function(b){return this._parser.write(b.toString()),this.emit("data",b),!0},u.prototype.end=function(b){return b&&b.length&&this.write(b),this._parser.end(),!0},u.prototype.on=function(b,_){var C=this;return!C._parser["on"+b]&&o.indexOf(b)!==-1&&(C._parser["on"+b]=function(){var O=arguments.length===1?[arguments[0]]:Array.apply(null,arguments);O.splice(0,0,b),C.emit.apply(C,O)}),i.prototype.on.call(C,b,_)};var l="[CDATA[",d="DOCTYPE",p="http://www.w3.org/XML/1998/namespace",h="http://www.w3.org/2000/xmlns/",f={xml:p,xmlns:h},m=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,v=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,g=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,y=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function k(b){return b===" "||b===`
130
- `||b==="\r"||b===" "}function x(b){return b==='"'||b==="'"}function S(b){return b===">"||k(b)}function E(b,_){return b.test(_)}function I(b,_){return!E(b,_)}var w=0;e.STATE={BEGIN:w++,BEGIN_WHITESPACE:w++,TEXT:w++,TEXT_ENTITY:w++,OPEN_WAKA:w++,SGML_DECL:w++,SGML_DECL_QUOTED:w++,DOCTYPE:w++,DOCTYPE_QUOTED:w++,DOCTYPE_DTD:w++,DOCTYPE_DTD_QUOTED:w++,COMMENT_STARTING:w++,COMMENT:w++,COMMENT_ENDING:w++,COMMENT_ENDED:w++,CDATA:w++,CDATA_ENDING:w++,CDATA_ENDING_2:w++,PROC_INST:w++,PROC_INST_BODY:w++,PROC_INST_ENDING:w++,OPEN_TAG:w++,OPEN_TAG_SLASH:w++,ATTRIB:w++,ATTRIB_NAME:w++,ATTRIB_NAME_SAW_WHITE:w++,ATTRIB_VALUE:w++,ATTRIB_VALUE_QUOTED:w++,ATTRIB_VALUE_CLOSED:w++,ATTRIB_VALUE_UNQUOTED:w++,ATTRIB_VALUE_ENTITY_Q:w++,ATTRIB_VALUE_ENTITY_U:w++,CLOSE_TAG:w++,CLOSE_TAG_SAW_WHITE:w++,SCRIPT:w++,SCRIPT_ENDING:w++},e.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},e.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(e.ENTITIES).forEach(function(b){var _=e.ENTITIES[b],C=typeof _=="number"?String.fromCharCode(_):_;e.ENTITIES[b]=C});for(var P in e.STATE)e.STATE[e.STATE[P]]=P;w=e.STATE;function A(b,_,C){b[_]&&b[_](C)}function Z(b,_,C){b.textNode&&ze(b),A(b,_,C)}function ze(b){b.textNode=rt(b.opt,b.textNode),b.textNode&&A(b,"ontext",b.textNode),b.textNode=""}function rt(b,_){return b.trim&&(_=_.trim()),b.normalize&&(_=_.replace(/\s+/g," ")),_}function B(b,_){return ze(b),b.trackPosition&&(_+=`
131
- Line: `+b.line+`
132
- Column: `+b.column+`
133
- Char: `+b.c),_=new Error(_),b.error=_,A(b,"onerror",_),b}function L(b){return b.sawRoot&&!b.closedRoot&&z(b,"Unclosed root tag"),b.state!==w.BEGIN&&b.state!==w.BEGIN_WHITESPACE&&b.state!==w.TEXT&&B(b,"Unexpected end"),ze(b),b.c="",b.closed=!0,A(b,"onend"),n.call(b,b.strict,b.opt),b}function z(b,_){if(typeof b!="object"||!(b instanceof n))throw new Error("bad call to strictFail");b.strict&&B(b,_)}function ee(b){b.strict||(b.tagName=b.tagName[b.looseCase]());var _=b.tags[b.tags.length-1]||b,C=b.tag={name:b.tagName,attributes:{}};b.opt.xmlns&&(C.ns=_.ns),b.attribList.length=0,Z(b,"onopentagstart",C)}function oe(b,_){var C=b.indexOf(":")<0?["",b]:b.split(":"),O=C[0],Ne=C[1];return _&&b==="xmlns"&&(O="xmlns",Ne=""),{prefix:O,local:Ne}}function ne(b){if(b.strict||(b.attribName=b.attribName[b.looseCase]()),b.attribList.indexOf(b.attribName)!==-1||b.tag.attributes.hasOwnProperty(b.attribName)){b.attribName=b.attribValue="";return}if(b.opt.xmlns){var _=oe(b.attribName,!0),C=_.prefix,O=_.local;if(C==="xmlns")if(O==="xml"&&b.attribValue!==p)z(b,"xml: prefix must be bound to "+p+`
134
- Actual: `+b.attribValue);else if(O==="xmlns"&&b.attribValue!==h)z(b,"xmlns: prefix must be bound to "+h+`
135
- Actual: `+b.attribValue);else{var Ne=b.tag,Je=b.tags[b.tags.length-1]||b;Ne.ns===Je.ns&&(Ne.ns=Object.create(Je.ns)),Ne.ns[O]=b.attribValue}b.attribList.push([b.attribName,b.attribValue])}else b.tag.attributes[b.attribName]=b.attribValue,Z(b,"onattribute",{name:b.attribName,value:b.attribValue});b.attribName=b.attribValue=""}function ue(b,_){if(b.opt.xmlns){var C=b.tag,O=oe(b.tagName);C.prefix=O.prefix,C.local=O.local,C.uri=C.ns[O.prefix]||"",C.prefix&&!C.uri&&(z(b,"Unbound namespace prefix: "+JSON.stringify(b.tagName)),C.uri=O.prefix);var Ne=b.tags[b.tags.length-1]||b;C.ns&&Ne.ns!==C.ns&&Object.keys(C.ns).forEach(function(Fs){Z(b,"onopennamespace",{prefix:Fs,uri:C.ns[Fs]})});for(var Je=0,yt=b.attribList.length;Je<yt;Je++){var pt=b.attribList[Je],Lt=pt[0],Cn=pt[1],ht=oe(Lt,!0),dr=ht.prefix,La=ht.local,uu=dr===""?"":C.ns[dr]||"",q={name:Lt,value:Cn,prefix:dr,local:La,uri:uu};dr&&dr!=="xmlns"&&!uu&&(z(b,"Unbound namespace prefix: "+JSON.stringify(dr)),q.uri=dr),b.tag.attributes[Lt]=q,Z(b,"onattribute",q)}b.attribList.length=0}b.tag.isSelfClosing=!!_,b.sawRoot=!0,b.tags.push(b.tag),Z(b,"onopentag",b.tag),_||(!b.noscript&&b.tagName.toLowerCase()==="script"?b.state=w.SCRIPT:b.state=w.TEXT,b.tag=null,b.tagName=""),b.attribName=b.attribValue="",b.attribList.length=0}function Oe(b){if(!b.tagName){z(b,"Weird empty close tag."),b.textNode+="</>",b.state=w.TEXT;return}if(b.script){if(b.tagName!=="script"){b.script+="</"+b.tagName+">",b.tagName="",b.state=w.SCRIPT;return}Z(b,"onscript",b.script),b.script=""}var _=b.tags.length,C=b.tagName;b.strict||(C=C[b.looseCase]());for(var O=C;_--&&b.tags[_].name!==O;)z(b,"Unexpected close tag");if(_<0){z(b,"Unmatched closing tag: "+b.tagName),b.textNode+="</"+b.tagName+">",b.state=w.TEXT;return}b.tagName=C;for(var Ne=b.tags.length;Ne-- >_;){var Je=b.tag=b.tags.pop();b.tagName=b.tag.name,Z(b,"onclosetag",b.tagName);var yt={};for(var pt in Je.ns)yt[pt]=Je.ns[pt];var Lt=b.tags[b.tags.length-1]||b;b.opt.xmlns&&Je.ns!==Lt.ns&&Object.keys(Je.ns).forEach(function(Cn){var ht=Je.ns[Cn];Z(b,"onclosenamespace",{prefix:Cn,uri:ht})})}_===0&&(b.closedRoot=!0),b.tagName=b.attribValue=b.attribName="",b.attribList.length=0,b.state=w.TEXT}function Te(b){var _=b.entity,C=_.toLowerCase(),O,Ne="";return b.ENTITIES[_]?b.ENTITIES[_]:b.ENTITIES[C]?b.ENTITIES[C]:(_=C,_.charAt(0)==="#"&&(_.charAt(1)==="x"?(_=_.slice(2),O=parseInt(_,16),Ne=O.toString(16)):(_=_.slice(1),O=parseInt(_,10),Ne=O.toString(10))),_=_.replace(/^0+/,""),isNaN(O)||Ne.toLowerCase()!==_?(z(b,"Invalid character entity"),"&"+b.entity+";"):String.fromCodePoint(O))}function Ue(b,_){_==="<"?(b.state=w.OPEN_WAKA,b.startTagPosition=b.position):k(_)||(z(b,"Non-whitespace before first tag."),b.textNode=_,b.state=w.TEXT)}function De(b,_){var C="";return _<b.length&&(C=b.charAt(_)),C}function kt(b){var _=this;if(this.error)throw this.error;if(_.closed)return B(_,"Cannot write after close. Assign an onready handler.");if(b===null)return L(_);typeof b=="object"&&(b=b.toString());for(var C=0,O="";O=De(b,C++),_.c=O,!!O;)switch(_.trackPosition&&(_.position++,O===`
136
- `?(_.line++,_.column=0):_.column++),_.state){case w.BEGIN:if(_.state=w.BEGIN_WHITESPACE,O==="\uFEFF")continue;Ue(_,O);continue;case w.BEGIN_WHITESPACE:Ue(_,O);continue;case w.TEXT:if(_.sawRoot&&!_.closedRoot){for(var Ne=C-1;O&&O!=="<"&&O!=="&";)O=De(b,C++),O&&_.trackPosition&&(_.position++,O===`
137
- `?(_.line++,_.column=0):_.column++);_.textNode+=b.substring(Ne,C-1)}O==="<"&&!(_.sawRoot&&_.closedRoot&&!_.strict)?(_.state=w.OPEN_WAKA,_.startTagPosition=_.position):(!k(O)&&(!_.sawRoot||_.closedRoot)&&z(_,"Text data outside of root node."),O==="&"?_.state=w.TEXT_ENTITY:_.textNode+=O);continue;case w.SCRIPT:O==="<"?_.state=w.SCRIPT_ENDING:_.script+=O;continue;case w.SCRIPT_ENDING:O==="/"?_.state=w.CLOSE_TAG:(_.script+="<"+O,_.state=w.SCRIPT);continue;case w.OPEN_WAKA:if(O==="!")_.state=w.SGML_DECL,_.sgmlDecl="";else if(!k(O))if(E(m,O))_.state=w.OPEN_TAG,_.tagName=O;else if(O==="/")_.state=w.CLOSE_TAG,_.tagName="";else if(O==="?")_.state=w.PROC_INST,_.procInstName=_.procInstBody="";else{if(z(_,"Unencoded <"),_.startTagPosition+1<_.position){var Je=_.position-_.startTagPosition;O=new Array(Je).join(" ")+O}_.textNode+="<"+O,_.state=w.TEXT}continue;case w.SGML_DECL:(_.sgmlDecl+O).toUpperCase()===l?(Z(_,"onopencdata"),_.state=w.CDATA,_.sgmlDecl="",_.cdata=""):_.sgmlDecl+O==="--"?(_.state=w.COMMENT,_.comment="",_.sgmlDecl=""):(_.sgmlDecl+O).toUpperCase()===d?(_.state=w.DOCTYPE,(_.doctype||_.sawRoot)&&z(_,"Inappropriately located doctype declaration"),_.doctype="",_.sgmlDecl=""):O===">"?(Z(_,"onsgmldeclaration",_.sgmlDecl),_.sgmlDecl="",_.state=w.TEXT):(x(O)&&(_.state=w.SGML_DECL_QUOTED),_.sgmlDecl+=O);continue;case w.SGML_DECL_QUOTED:O===_.q&&(_.state=w.SGML_DECL,_.q=""),_.sgmlDecl+=O;continue;case w.DOCTYPE:O===">"?(_.state=w.TEXT,Z(_,"ondoctype",_.doctype),_.doctype=!0):(_.doctype+=O,O==="["?_.state=w.DOCTYPE_DTD:x(O)&&(_.state=w.DOCTYPE_QUOTED,_.q=O));continue;case w.DOCTYPE_QUOTED:_.doctype+=O,O===_.q&&(_.q="",_.state=w.DOCTYPE);continue;case w.DOCTYPE_DTD:_.doctype+=O,O==="]"?_.state=w.DOCTYPE:x(O)&&(_.state=w.DOCTYPE_DTD_QUOTED,_.q=O);continue;case w.DOCTYPE_DTD_QUOTED:_.doctype+=O,O===_.q&&(_.state=w.DOCTYPE_DTD,_.q="");continue;case w.COMMENT:O==="-"?_.state=w.COMMENT_ENDING:_.comment+=O;continue;case w.COMMENT_ENDING:O==="-"?(_.state=w.COMMENT_ENDED,_.comment=rt(_.opt,_.comment),_.comment&&Z(_,"oncomment",_.comment),_.comment=""):(_.comment+="-"+O,_.state=w.COMMENT);continue;case w.COMMENT_ENDED:O!==">"?(z(_,"Malformed comment"),_.comment+="--"+O,_.state=w.COMMENT):_.state=w.TEXT;continue;case w.CDATA:O==="]"?_.state=w.CDATA_ENDING:_.cdata+=O;continue;case w.CDATA_ENDING:O==="]"?_.state=w.CDATA_ENDING_2:(_.cdata+="]"+O,_.state=w.CDATA);continue;case w.CDATA_ENDING_2:O===">"?(_.cdata&&Z(_,"oncdata",_.cdata),Z(_,"onclosecdata"),_.cdata="",_.state=w.TEXT):O==="]"?_.cdata+="]":(_.cdata+="]]"+O,_.state=w.CDATA);continue;case w.PROC_INST:O==="?"?_.state=w.PROC_INST_ENDING:k(O)?_.state=w.PROC_INST_BODY:_.procInstName+=O;continue;case w.PROC_INST_BODY:if(!_.procInstBody&&k(O))continue;O==="?"?_.state=w.PROC_INST_ENDING:_.procInstBody+=O;continue;case w.PROC_INST_ENDING:O===">"?(Z(_,"onprocessinginstruction",{name:_.procInstName,body:_.procInstBody}),_.procInstName=_.procInstBody="",_.state=w.TEXT):(_.procInstBody+="?"+O,_.state=w.PROC_INST_BODY);continue;case w.OPEN_TAG:E(v,O)?_.tagName+=O:(ee(_),O===">"?ue(_):O==="/"?_.state=w.OPEN_TAG_SLASH:(k(O)||z(_,"Invalid character in tag name"),_.state=w.ATTRIB));continue;case w.OPEN_TAG_SLASH:O===">"?(ue(_,!0),Oe(_)):(z(_,"Forward-slash in opening tag not followed by >"),_.state=w.ATTRIB);continue;case w.ATTRIB:if(k(O))continue;O===">"?ue(_):O==="/"?_.state=w.OPEN_TAG_SLASH:E(m,O)?(_.attribName=O,_.attribValue="",_.state=w.ATTRIB_NAME):z(_,"Invalid attribute name");continue;case w.ATTRIB_NAME:O==="="?_.state=w.ATTRIB_VALUE:O===">"?(z(_,"Attribute without value"),_.attribValue=_.attribName,ne(_),ue(_)):k(O)?_.state=w.ATTRIB_NAME_SAW_WHITE:E(v,O)?_.attribName+=O:z(_,"Invalid attribute name");continue;case w.ATTRIB_NAME_SAW_WHITE:if(O==="=")_.state=w.ATTRIB_VALUE;else{if(k(O))continue;z(_,"Attribute without value"),_.tag.attributes[_.attribName]="",_.attribValue="",Z(_,"onattribute",{name:_.attribName,value:""}),_.attribName="",O===">"?ue(_):E(m,O)?(_.attribName=O,_.state=w.ATTRIB_NAME):(z(_,"Invalid attribute name"),_.state=w.ATTRIB)}continue;case w.ATTRIB_VALUE:if(k(O))continue;x(O)?(_.q=O,_.state=w.ATTRIB_VALUE_QUOTED):(z(_,"Unquoted attribute value"),_.state=w.ATTRIB_VALUE_UNQUOTED,_.attribValue=O);continue;case w.ATTRIB_VALUE_QUOTED:if(O!==_.q){O==="&"?_.state=w.ATTRIB_VALUE_ENTITY_Q:_.attribValue+=O;continue}ne(_),_.q="",_.state=w.ATTRIB_VALUE_CLOSED;continue;case w.ATTRIB_VALUE_CLOSED:k(O)?_.state=w.ATTRIB:O===">"?ue(_):O==="/"?_.state=w.OPEN_TAG_SLASH:E(m,O)?(z(_,"No whitespace between attributes"),_.attribName=O,_.attribValue="",_.state=w.ATTRIB_NAME):z(_,"Invalid attribute name");continue;case w.ATTRIB_VALUE_UNQUOTED:if(!S(O)){O==="&"?_.state=w.ATTRIB_VALUE_ENTITY_U:_.attribValue+=O;continue}ne(_),O===">"?ue(_):_.state=w.ATTRIB;continue;case w.CLOSE_TAG:if(_.tagName)O===">"?Oe(_):E(v,O)?_.tagName+=O:_.script?(_.script+="</"+_.tagName,_.tagName="",_.state=w.SCRIPT):(k(O)||z(_,"Invalid tagname in closing tag"),_.state=w.CLOSE_TAG_SAW_WHITE);else{if(k(O))continue;I(m,O)?_.script?(_.script+="</"+O,_.state=w.SCRIPT):z(_,"Invalid tagname in closing tag."):_.tagName=O}continue;case w.CLOSE_TAG_SAW_WHITE:if(k(O))continue;O===">"?Oe(_):z(_,"Invalid characters in closing tag");continue;case w.TEXT_ENTITY:case w.ATTRIB_VALUE_ENTITY_Q:case w.ATTRIB_VALUE_ENTITY_U:var yt,pt;switch(_.state){case w.TEXT_ENTITY:yt=w.TEXT,pt="textNode";break;case w.ATTRIB_VALUE_ENTITY_Q:yt=w.ATTRIB_VALUE_QUOTED,pt="attribValue";break;case w.ATTRIB_VALUE_ENTITY_U:yt=w.ATTRIB_VALUE_UNQUOTED,pt="attribValue";break}if(O===";")if(_.opt.unparsedEntities){var Lt=Te(_);_.entity="",_.state=yt,_.write(Lt)}else _[pt]+=Te(_),_.entity="",_.state=yt;else E(_.entity.length?y:g,O)?_.entity+=O:(z(_,"Invalid character in entity name"),_[pt]+="&"+_.entity+O,_.entity="",_.state=yt);continue;default:throw new Error(_,"Unknown state: "+_.state)}return _.position>=_.bufferCheckPosition&&r(_),_}return String.fromCodePoint||(function(){var b=String.fromCharCode,_=Math.floor,C=function(){var O=16384,Ne=[],Je,yt,pt=-1,Lt=arguments.length;if(!Lt)return"";for(var Cn="";++pt<Lt;){var ht=Number(arguments[pt]);if(!isFinite(ht)||ht<0||ht>1114111||_(ht)!==ht)throw RangeError("Invalid code point: "+ht);ht<=65535?Ne.push(ht):(ht-=65536,Je=(ht>>10)+55296,yt=ht%1024+56320,Ne.push(Je,yt)),(pt+1===Lt||Ne.length>O)&&(Cn+=b.apply(null,Ne),Ne.length=0)}return Cn};Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:C,configurable:!0,writable:!0}):String.fromCodePoint=C})(),e},c4=o4(),ag=`The output should be formatted as a XML file.
138
- 1. Output should conform to the tags below.
139
- 2. If tags are not given, make them on your own.
140
- 3. Remember to always open and close all the tags.
141
-
142
- As an example, for the tags ["foo", "bar", "baz"]:
143
- 1. String "<foo>
144
- <bar>
145
- <baz></baz>
146
- </bar>
147
- </foo>" is a well-formatted instance of the schema.
148
- 2. String "<foo>
149
- <bar>
150
- </foo>" is a badly-formatted instance.
151
- 3. String "<foo>
152
- <tag>
153
- </tag>
154
- </foo>" is a badly-formatted instance.
155
-
156
- Here are the output tags:
157
- \`\`\`
158
- {tags}
159
- \`\`\``,u4=class extends Kc{tags;constructor(e){super(e),this.tags=e?.tags}static lc_name(){return"XMLOutputParser"}lc_namespace=["langchain_core","output_parsers"];lc_serializable=!0;_diff(e,t){if(t)return e?Ap(e,t):[{op:"replace",path:"",value:t}]}async parsePartialResult(e){return ig(e[0].text)}async parse(e){return ig(e)}getFormatInstructions(){return this.tags&&this.tags.length>0?ag.replace("{tags}",this.tags?.join(", ")??""):ag}},l4=e=>e.split(`
160
- `).map(t=>t.replace(/^\s+/,"")).join(`
161
- `).trim(),LO=e=>{if(Object.keys(e).length===0)return{};let t={};return e.children.length>0?(t[e.name]=e.children.map(LO),t):(t[e.name]=e.text??void 0,t)};function ig(e){let t=l4(e),n=c4.parser(!0),r={},s=[];n.onopentag=o=>{let c={name:o.name,attributes:o.attributes,children:[],text:"",isSelfClosing:o.isSelfClosing};s.length>0?s[s.length-1].children.push(c):r=c,o.isSelfClosing||s.push(c)},n.onclosetag=()=>{if(s.length>0){let o=s.pop();s.length===0&&o&&(r=o)}},n.ontext=o=>{if(s.length>0){let c=s[s.length-1];c.text+=o}},n.onattribute=o=>{if(s.length>0){let c=s[s.length-1];c.attributes[o.name]=o.value}};let a=/```(xml)?(.*)```/s.exec(t),i=a?a[2]:t;return n.write(i).close(),r&&r.name==="?xml"&&(r=r.children[0]),LO(r)}var d4=Q({AsymmetricStructuredOutputParser:()=>i4,BaseCumulativeTransformOutputParser:()=>Kc,BaseLLMOutputParser:()=>Up,BaseOutputParser:()=>so,BaseTransformOutputParser:()=>Gc,BytesOutputParser:()=>e4,CommaSeparatedListOutputParser:()=>t4,CustomListOutputParser:()=>n4,JsonMarkdownStructuredOutputParser:()=>MO,JsonOutputParser:()=>i_,ListOutputParser:()=>Xc,MarkdownListOutputParser:()=>s4,NumberedListOutputParser:()=>r4,OutputParserException:()=>sr,StandardSchemaOutputParser:()=>RO,StringOutputParser:()=>a4,StructuredOutputParser:()=>o_,XMLOutputParser:()=>u4,XML_FORMAT_INSTRUCTIONS:()=>ag,parseJsonMarkdown:()=>Al,parsePartialJson:()=>wi,parseXMLMarkdown:()=>ig}),p4=Q({extendInteropZodObject:()=>Bx,getInteropZodDefaultGetter:()=>Zx,getInteropZodObjectShape:()=>rc,getSchemaDescription:()=>Ti,interopParse:()=>al,interopParseAsync:()=>Pp,interopSafeParse:()=>WR,interopSafeParseAsync:()=>Ux,interopZodObjectMakeFieldsOptional:()=>XR,interopZodObjectPartial:()=>qy,interopZodObjectPassthrough:()=>Dm,interopZodObjectStrict:()=>zl,interopZodTransformInputSchema:()=>Vx,isInteropZodError:()=>qx,isInteropZodLiteral:()=>HR,isInteropZodObject:()=>Pn,isInteropZodSchema:()=>In,isShapelessZodSchema:()=>JR,isSimpleStringZodSchema:()=>Zy,isZodArrayV4:()=>jp,isZodLiteralV3:()=>Lx,isZodLiteralV4:()=>zx,isZodNullableV4:()=>Fx,isZodObjectV3:()=>Vy,isZodObjectV4:()=>xr,isZodOptionalV4:()=>Dx,isZodSchema:()=>qR,isZodSchemaV3:()=>gt,isZodSchemaV4:()=>nt});function Dp(e,t){if(e.function===void 0)return;let n;if(t?.partial)try{n=wi(e.function.arguments??"{}")}catch{return}else try{n=JSON.parse(e.function.arguments)}catch(s){throw new sr([`Function "${e.function.name}" arguments:`,"",e.function.arguments,"","are not valid JSON.",`Error: ${s.message}`].join(`
162
- `))}let r={name:e.function.name,args:n,type:"tool_call"};return t?.returnId&&(r.id=e.id),r}function zO(e){if(e.id===void 0)throw new Error('All OpenAI tool calls must have an "id" field.');return{id:e.id,type:"function",function:{name:e.name,arguments:JSON.stringify(e.args)}}}function Zo(e,t){return{name:e.function?.name,args:e.function?.arguments,id:e.id,error:t,type:"invalid_tool_call"}}var UO=class extends Kc{static lc_name(){return"JsonOutputToolsParser"}returnId=!1;lc_namespace=["langchain","output_parsers","openai_tools"];lc_serializable=!0;constructor(e){super(e),this.returnId=e?.returnId??this.returnId}_diff(){throw new Error("Not supported.")}async parse(){throw new Error("Not implemented.")}async parseResult(e){return await this.parsePartialResult(e,!1)}async parsePartialResult(e,t=!0){let n=e[0].message,r;if(kp(n)&&n.tool_calls?.length?r=n.tool_calls.map(a=>{let{id:i,...o}=a;return this.returnId?{id:i,...o}:o}):n.additional_kwargs.tool_calls!==void 0&&(r=JSON.parse(JSON.stringify(n.additional_kwargs.tool_calls)).map(a=>Dp(a,{returnId:this.returnId,partial:t}))),!r)return[];let s=[];for(let a of r)if(a!==void 0){let i={type:a.name,args:a.args,id:a.id};s.push(i)}return s}},DO=class extends UO{static lc_name(){return"JsonOutputKeyToolsParser"}lc_namespace=["langchain","output_parsers","openai_tools"];lc_serializable=!0;returnId=!1;keyName;returnSingle=!1;zodSchema;serializableSchema;constructor(e){super(e),this.keyName=e.keyName,this.returnSingle=e.returnSingle??this.returnSingle,"zodSchema"in e&&(this.zodSchema=e.zodSchema),"serializableSchema"in e&&(this.serializableSchema=e.serializableSchema)}async _validateResult(e){if(this.serializableSchema!==void 0){let n=await this.serializableSchema["~standard"].validate(e);if(n.issues)throw new sr(`Failed to parse. Text: "${JSON.stringify(e,null,2)}". Error: ${JSON.stringify(n.issues)}`,JSON.stringify(e,null,2));return n.value}if(this.zodSchema===void 0)return e;let t=await Ux(this.zodSchema,e);if(t.success)return t.data;throw new sr(`Failed to parse. Text: "${JSON.stringify(e,null,2)}". Error: ${JSON.stringify(t.error?.issues)}`,JSON.stringify(e,null,2))}async parsePartialResult(e){let t=(await super.parsePartialResult(e)).filter(r=>r.type===this.keyName),n=t;if(t.length)return this.returnId||(n=t.map(r=>r.args)),this.returnSingle?n[0]:n}async parseResult(e){let t=(await super.parsePartialResult(e,!1)).filter(r=>r.type===this.keyName),n=t;if(t.length)return this.returnId||(n=t.map(r=>r.args)),this.returnSingle?this._validateResult(n[0]):await Promise.all(n.map(r=>this._validateResult(r)))}},h4=Q({assembleStructuredOutputPipeline:()=>c_,createContentParser:()=>og,createFunctionCallingParser:()=>FO});function og(e){return In(e)?o_.fromZodSchema(e):ha(e)?RO.fromSerializableSchema(e):new i_}function FO(e,t,n){let r=n??DO;return In(e)?new r({returnSingle:!0,keyName:t,zodSchema:e}):ha(e)?new r({returnSingle:!0,keyName:t,serializableSchema:e}):new r({returnSingle:!0,keyName:t})}function c_(e,t,n,r){if(!n){let c=e.pipe(t);return r?c.withConfig({runName:r}):c}let s=ic.assign({parsed:(c,u)=>t.invoke(c.raw,u)}),a=ic.assign({parsed:()=>null}),i=s.withFallbacks({fallbacks:[a]}),o=Ts.from([{raw:e},i]);return r?o.withConfig({runName:r}):o}var f4=e=>e();function Of(e){let t=e.constructor;return new t({...e,content:e.contentBlocks,response_metadata:{...e.response_metadata,output_version:"v1"}})}function mi(e){return Object.fromEntries(Object.entries(e).filter(([t,n])=>t!=="tools"&&n!==null&&n!==void 0))}var m4=Q({BaseChatModel:()=>Pa,SimpleChatModel:()=>g4});function Sf(e){let t=[];for(let n of e){let r=n;if(Array.isArray(n.content))for(let s=0;s<n.content.length;s++){let a=n.content[s];(my(a)||gy(a))&&r===n&&(r=new n.constructor({...r,content:[...n.content.slice(0,s),wk(a),...n.content.slice(s+1)]}))}t.push(r)}return t}var Pa=class qs extends a_{lc_namespace=["langchain","chat_models",this._llmType()];disableStreaming=!1;outputVersion;get callKeys(){return[...super.callKeys,"outputVersion"]}constructor(t){super(t),this.outputVersion=f4(()=>{let n=t.outputVersion??rr("LC_OUTPUT_VERSION");return n&&["v0","v1"].includes(n)?n:"v0"})}_separateRunnableConfigFromCallOptionsCompat(t){let[n,r]=super._separateRunnableConfigFromCallOptions(t);return r.signal=n.signal,[n,r]}async invoke(t,n){let r=qs._convertInputToPromptValue(t);return(await this.generatePrompt([r],n,n?.callbacks)).generations[0][0].message}async*_streamResponseChunks(t,n,r){throw new Error("Not implemented.")}async*_streamIterator(t,n){if(this._streamResponseChunks===qs.prototype._streamResponseChunks||this.disableStreaming)yield this.invoke(t,n);else{let r=qs._convertInputToPromptValue(t).toChatMessages(),[s,a]=this._separateRunnableConfigFromCallOptionsCompat(n),i={...s.metadata,...this.getLsParams(a)},o=this?.invocationParams(a),c=mi(o),u=Qt.configure(s.callbacks,this.callbacks,s.tags,this.tags,i,{...c,...this.metadata},{verbose:this.verbose}),l={options:a,invocation_params:o,batch_size:1},d=a.outputVersion??this.outputVersion,p=await u?.handleChatModelStart(this.toJSON(),[Sf(r)],s.runId,void 0,l,void 0,void 0,s.runName),h,f;try{for await(let m of this._streamResponseChunks(r,a,p?.[0])){if(a.signal?.throwIfAborted(),m.message.id==null){let v=p?.at(0)?.runId;v!=null&&m.message._updateId(`run-${v}`)}m.message.response_metadata={...m.generationInfo,...m.message.response_metadata},d==="v1"?yield Of(m.message):yield m.message,h?h=h.concat(m):h=m,cm(m.message)&&m.message.usage_metadata!==void 0&&(f={tokenUsage:{promptTokens:m.message.usage_metadata.input_tokens,completionTokens:m.message.usage_metadata.output_tokens,totalTokens:m.message.usage_metadata.total_tokens}})}a.signal?.throwIfAborted()}catch(m){throw await Promise.all((p??[]).map(v=>v?.handleLLMError(m))),m}await Promise.all((p??[]).map(m=>m?.handleLLMEnd({generations:[[h]],llmOutput:f})))}}getLsParams(t){let n=this.getName().startsWith("Chat")?this.getName().replace("Chat",""):this.getName();return{ls_model_type:"chat",ls_stop:t.stop,ls_provider:n}}async _generateUncached(t,n,r,s){let a=t.map(d=>d.map(kr)),i;if(s!==void 0&&s.length===a.length)i=s;else{let d={...r.metadata,...this.getLsParams(n)},p=this?.invocationParams(n),h=mi(p),f=Qt.configure(r.callbacks,this.callbacks,r.tags,this.tags,d,{...h,...this.metadata},{verbose:this.verbose}),m={options:n,invocation_params:p,batch_size:1};i=await f?.handleChatModelStart(this.toJSON(),a.map(Sf),r.runId,void 0,m,void 0,void 0,r.runName)}let o=n.outputVersion??this.outputVersion,c=[],u=[];if(i?.[0].handlers.find(Ey)&&!this.disableStreaming&&a.length===1&&this._streamResponseChunks!==qs.prototype._streamResponseChunks)try{let d=await this._streamResponseChunks(a[0],n,i?.[0]),p,h;for await(let f of d){if(n.signal?.aborted){let m=p?.message;throw new im("Model invocation was aborted.",m)}if(f.message.id==null){let m=i?.at(0)?.runId;m!=null&&f.message._updateId(`run-${m}`)}p===void 0?p=f:p=ks(p,f),cm(f.message)&&f.message.usage_metadata!==void 0&&(h={tokenUsage:{promptTokens:f.message.usage_metadata.input_tokens,completionTokens:f.message.usage_metadata.output_tokens,totalTokens:f.message.usage_metadata.total_tokens}})}if(n.signal?.aborted){let f=p?.message;throw new im("Model invocation was aborted.",f)}if(p===void 0)throw new Error("Received empty response from chat model call.");c.push([p]),await i?.[0].handleLLMEnd({generations:c,llmOutput:h})}catch(d){throw await i?.[0].handleLLMError(d),d}else{let d=await Promise.allSettled(a.map(async(p,h)=>{let f=await this._generate(p,{...n,promptIndex:h},i?.[h]);if(o==="v1")for(let m of f.generations)m.message=Of(m.message);return f}));await Promise.all(d.map(async(p,h)=>{if(p.status==="fulfilled"){let f=p.value;for(let m of f.generations){if(m.message.id==null){let v=i?.at(0)?.runId;v!=null&&m.message._updateId(`run-${v}`)}m.message.response_metadata={...m.generationInfo,...m.message.response_metadata}}return f.generations.length===1&&(f.generations[0].message.response_metadata={...f.llmOutput,...f.generations[0].message.response_metadata}),c[h]=f.generations,u[h]=f.llmOutput,i?.[h]?.handleLLMEnd({generations:[f.generations],llmOutput:f.llmOutput})}else return await i?.[h]?.handleLLMError(p.reason),Promise.reject(p.reason)}))}let l={generations:c,llmOutput:u.length?this._combineLLMOutput?.(...u):void 0};return Object.defineProperty(l,nc,{value:i?{runIds:i?.map(d=>d.runId)}:void 0,configurable:!0}),l}async _generateCached({messages:t,cache:n,llmStringKey:r,parsedOptions:s,handledOptions:a}){let i=t.map(y=>y.map(kr)),o={...a.metadata,...this.getLsParams(s)},c=this?.invocationParams(s),u=mi(c),l=Qt.configure(a.callbacks,this.callbacks,a.tags,this.tags,o,{...u,...this.metadata},{verbose:this.verbose}),d={options:s,invocation_params:c,batch_size:1},p=await l?.handleChatModelStart(this.toJSON(),i.map(Sf),a.runId,void 0,d,void 0,void 0,a.runName),h=[],f=(await Promise.allSettled(i.map(async(y,k)=>{let x=qs._convertInputToPromptValue(y).toString(),S=await n.lookup(x,r);return S==null&&h.push(k),S}))).map((y,k)=>({result:y,runManager:p?.[k]})).filter(({result:y})=>y.status==="fulfilled"&&y.value!=null||y.status==="rejected"),m=s.outputVersion??this.outputVersion,v=[];await Promise.all(f.map(async({result:y,runManager:k},x)=>{if(y.status==="fulfilled"){let S=y.value;return v[x]=S.map(E=>("message"in E&&jt(E.message)&&kp(E.message)&&(E.message.usage_metadata={input_tokens:0,output_tokens:0,total_tokens:0},m==="v1"&&(E.message=Of(E.message))),E.generationInfo={...E.generationInfo,tokenUsage:{}},E)),S.length&&await k?.handleLLMNewToken(S[0].text),k?.handleLLMEnd({generations:[S]},void 0,void 0,void 0,{cached:!0})}else return await k?.handleLLMError(y.reason,void 0,void 0,void 0,{cached:!0}),Promise.reject(y.reason)}));let g={generations:v,missingPromptIndices:h,startedRunManagers:p};return Object.defineProperty(g,nc,{value:p?{runIds:p?.map(y=>y.runId)}:void 0,configurable:!0}),g}async generate(t,n,r){let s;Array.isArray(n)?s={stop:n}:s=n;let a=t.map(f=>f.map(kr)),[i,o]=this._separateRunnableConfigFromCallOptionsCompat(s);if(i.callbacks=i.callbacks??r,!this.cache)return this._generateUncached(a,o,i);let{cache:c}=this,u=this._getSerializedCacheKeyParametersForCall(o),{generations:l,missingPromptIndices:d,startedRunManagers:p}=await this._generateCached({messages:a,cache:c,llmStringKey:u,parsedOptions:o,handledOptions:i}),h={};if(d.length>0){let f=await this._generateUncached(d.map(m=>a[m]),o,i,p!==void 0?d.map(m=>p?.[m]):void 0);await Promise.all(f.generations.map(async(m,v)=>{let g=d[v];l[g]=m;let y=qs._convertInputToPromptValue(a[g]).toString();return c.update(y,u,m)})),h=f.llmOutput??{}}return{generations:l,llmOutput:h}}invocationParams(t){return{}}_modelType(){return"base_chat_model"}async generatePrompt(t,n,r){let s=t.map(a=>a.toChatMessages());return this.generate(s,n,r)}withStructuredOutput(t,n){if(typeof this.bindTools!="function")throw new Error('Chat model must implement ".bindTools()" to use withStructuredOutput.');if(n?.strict)throw new Error('"strict" mode is not supported for this model by default.');let r=t,s=n?.name,a=Ti(r)??"A function available to call.",i=n?.method,o=n?.includeRaw;if(i==="jsonMode")throw new Error('Base withStructuredOutput implementation only supports "functionCalling" as a method.');let c=s??"extract";!In(r)&&!ha(r)&&"name"in r&&(c=r.name);let u=In(r)||ha(r)?It(r):r,l=[{type:"function",function:{name:c,description:a,parameters:u}}];return c_(this.bindTools(l),lr.from(d=>{if(!mn.isInstance(d))throw new Error("Input is not an AIMessageChunk.");if(!d.tool_calls||d.tool_calls.length===0)throw new Error("No tool calls found in the response.");let p=d.tool_calls.find(h=>h.name===c);if(!p)throw new Error(`No tool call found with name ${c}.`);return p.args}),o,o?"StructuredOutputRunnable":"StructuredOutput")}},g4=class extends Pa{async _generate(e,t,n){let r=new Ke(await this._call(e,t,n));if(typeof r.content!="string")throw new Error("Cannot generate with a simple chat model when output is not a string.");return{generations:[{text:r.content,message:r}]}}},y4=Q({BaseLLM:()=>BO,LLM:()=>u_}),BO=class bo extends a_{lc_namespace=["langchain","llms",this._llmType()];async invoke(t,n){let r=bo._convertInputToPromptValue(t);return(await this.generatePrompt([r],n,n?.callbacks)).generations[0][0].text}async*_streamResponseChunks(t,n,r){throw new Error("Not implemented.")}_separateRunnableConfigFromCallOptionsCompat(t){let[n,r]=super._separateRunnableConfigFromCallOptions(t);return r.signal=n.signal,[n,r]}async*_streamIterator(t,n){if(this._streamResponseChunks===bo.prototype._streamResponseChunks)yield this.invoke(t,n);else{let r=bo._convertInputToPromptValue(t),[s,a]=this._separateRunnableConfigFromCallOptionsCompat(n),i=this?.invocationParams(a),o=mi(i),c=Qt.configure(s.callbacks,this.callbacks,s.tags,this.tags,s.metadata,{...o,...this.metadata},{verbose:this.verbose}),u={options:a,invocation_params:i,batch_size:1},l=await c?.handleLLMStart(this.toJSON(),[r.toString()],s.runId,void 0,u,void 0,void 0,s.runName),d=new Si({text:""});try{for await(let p of this._streamResponseChunks(r.toString(),a,l?.[0]))d?d=d.concat(p):d=p,typeof p.text=="string"&&(yield p.text)}catch(p){throw await Promise.all((l??[]).map(h=>h?.handleLLMError(p))),p}await Promise.all((l??[]).map(p=>p?.handleLLMEnd({generations:[[d]]})))}}async generatePrompt(t,n,r){let s=t.map(a=>a.toString());return this.generate(s,n,r)}invocationParams(t){return{}}_flattenLLMResult(t){let n=[];for(let r=0;r<t.generations.length;r+=1){let s=t.generations[r];if(r===0)n.push({generations:[s],llmOutput:t.llmOutput});else{let a=t.llmOutput?{...t.llmOutput,tokenUsage:{}}:void 0;n.push({generations:[s],llmOutput:a})}}return n}async _generateUncached(t,n,r,s){let a;if(s!==void 0&&s.length===t.length)a=s;else{let u=this?.invocationParams(n),l=mi(u),d=Qt.configure(r.callbacks,this.callbacks,r.tags,this.tags,r.metadata,{...l,...this.metadata},{verbose:this.verbose}),p={options:n,invocation_params:u,batch_size:t.length};a=await d?.handleLLMStart(this.toJSON(),t,r.runId,void 0,p,void 0,void 0,r?.runName)}let i=!!a?.[0].handlers.find(Ey),o;if(i&&t.length===1&&this._streamResponseChunks!==bo.prototype._streamResponseChunks)try{let u=await this._streamResponseChunks(t[0],n,a?.[0]),l;for await(let d of u)l===void 0?l=d:l=ks(l,d);if(l===void 0)throw new Error("Received empty response from chat model call.");o={generations:[[l]],llmOutput:{}},await a?.[0].handleLLMEnd(o)}catch(u){throw await a?.[0].handleLLMError(u),u}else{try{o=await this._generate(t,n,a?.[0])}catch(l){throw await Promise.all((a??[]).map(d=>d?.handleLLMError(l))),l}let u=this._flattenLLMResult(o);await Promise.all((a??[]).map((l,d)=>l?.handleLLMEnd(u[d])))}let c=a?.map(u=>u.runId)||void 0;return Object.defineProperty(o,nc,{value:c?{runIds:c}:void 0,configurable:!0}),o}async _generateCached({prompts:t,cache:n,llmStringKey:r,parsedOptions:s,handledOptions:a,runId:i}){let o=this?.invocationParams(s),c=mi(o),u=Qt.configure(a.callbacks,this.callbacks,a.tags,this.tags,a.metadata,{...c,...this.metadata},{verbose:this.verbose}),l={options:s,invocation_params:o,batch_size:t.length},d=await u?.handleLLMStart(this.toJSON(),t,i,void 0,l,void 0,void 0,a?.runName),p=[],h=(await Promise.allSettled(t.map(async(v,g)=>{let y=await n.lookup(v,r);return y==null&&p.push(g),y}))).map((v,g)=>({result:v,runManager:d?.[g]})).filter(({result:v})=>v.status==="fulfilled"&&v.value!=null||v.status==="rejected"),f=[];await Promise.all(h.map(async({result:v,runManager:g},y)=>{if(v.status==="fulfilled"){let k=v.value;return f[y]=k.map(x=>(x.generationInfo={...x.generationInfo,tokenUsage:{}},x)),k.length&&await g?.handleLLMNewToken(k[0].text),g?.handleLLMEnd({generations:[k]},void 0,void 0,void 0,{cached:!0})}else return await g?.handleLLMError(v.reason,void 0,void 0,void 0,{cached:!0}),Promise.reject(v.reason)}));let m={generations:f,missingPromptIndices:p,startedRunManagers:d};return Object.defineProperty(m,nc,{value:d?{runIds:d?.map(v=>v.runId)}:void 0,configurable:!0}),m}async generate(t,n,r){if(!Array.isArray(t))throw new Error("Argument 'prompts' is expected to be a string[]");let s;Array.isArray(n)?s={stop:n}:s=n;let[a,i]=this._separateRunnableConfigFromCallOptionsCompat(s);if(a.callbacks=a.callbacks??r,!this.cache)return this._generateUncached(t,i,a);let{cache:o}=this,c=this._getSerializedCacheKeyParametersForCall(i),{generations:u,missingPromptIndices:l,startedRunManagers:d}=await this._generateCached({prompts:t,cache:o,llmStringKey:c,parsedOptions:i,handledOptions:a,runId:a.runId}),p={};if(l.length>0){let h=await this._generateUncached(l.map(f=>t[f]),i,a,d!==void 0?l.map(f=>d?.[f]):void 0);await Promise.all(h.generations.map(async(f,m)=>{let v=l[m];return u[v]=f,o.update(t[v],c,f)})),p=h.llmOutput??{}}return{generations:u,llmOutput:p}}_identifyingParams(){return{}}_modelType(){return"base_llm"}},u_=class extends BO{async _generate(e,t,n){return{generations:await Promise.all(e.map((r,s)=>this._call(r,{...t,promptIndex:s},n).then(a=>[{text:a}])))}}},_4=Q({}),v4=Q({BaseMemory:()=>w4,getInputValue:()=>b4,getOutputValue:()=>k4,getPromptInputKey:()=>x4}),w4=class{},ZO=(e,t)=>{if(t!==void 0)return e[t];let n=Object.keys(e);if(n.length===1)return e[n[0]]},b4=(e,t)=>{let n=ZO(e,t);if(!n){let r=Object.keys(e);throw new Error(`input values have ${r.length} keys, you must specify an input key or pass only 1 key as input`)}return n},k4=(e,t)=>{let n=ZO(e,t);if(!n&&n!==""){let r=Object.keys(e);throw new Error(`output values have ${r.length} keys, you must specify an output key or pass only 1 key as output`)}return n};function x4(e,t){let n=Object.keys(e).filter(r=>!t.includes(r)&&r!=="stop");if(n.length!==1)throw new Error(`One input key expected, but got ${n.length}`);return n[0]}var VO=class extends Up{static lc_name(){return"OutputFunctionsParser"}lc_namespace=["langchain","output_parsers","openai_functions"];lc_serializable=!0;argsOnly=!0;constructor(e){super(),this.argsOnly=e?.argsOnly??this.argsOnly}async parseResult(e){if("message"in e[0]){let t=e[0].message.additional_kwargs.function_call;if(!t)throw new Error(`No function_call in message ${JSON.stringify(e)}`);if(!t.arguments)throw new Error(`No arguments in function_call ${JSON.stringify(e)}`);return this.argsOnly?t.arguments:JSON.stringify(t)}else throw new Error(`No message in generations ${JSON.stringify(e)}`)}},qO=class extends Kc{static lc_name(){return"JsonOutputFunctionsParser"}lc_namespace=["langchain","output_parsers","openai_functions"];lc_serializable=!0;outputParser;argsOnly=!0;constructor(e){super(e),this.argsOnly=e?.argsOnly??this.argsOnly,this.outputParser=new VO(e)}_diff(e,t){if(t)return Ap(e??{},t)}async parsePartialResult(e){let t=e[0];if(!t.message)return;let{message:n}=t,r=n.additional_kwargs.function_call;if(r)return this.argsOnly?wi(r.arguments):{...r,arguments:wi(r.arguments)}}async parseResult(e){let t=await this.outputParser.parseResult(e);if(!t)throw new Error(`No result from "OutputFunctionsParser" ${JSON.stringify(e)}`);return this.parse(t)}async parse(e){let t=JSON.parse(e);return this.argsOnly||(t.arguments=JSON.parse(t.arguments)),t}getFormatInstructions(){return""}},O4=class extends Up{static lc_name(){return"JsonKeyOutputFunctionsParser"}lc_namespace=["langchain","output_parsers","openai_functions"];lc_serializable=!0;outputParser=new qO;attrName;get lc_aliases(){return{attrName:"key_name"}}constructor(e){super(e),this.attrName=e.attrName}async parseResult(e){return(await this.outputParser.parseResult(e))[this.attrName]}},S4=Q({JsonKeyOutputFunctionsParser:()=>O4,JsonOutputFunctionsParser:()=>qO,OutputFunctionsParser:()=>VO}),T4=Q({JsonOutputKeyToolsParser:()=>DO,JsonOutputToolsParser:()=>UO,convertLangChainToolCallToOpenAI:()=>zO,makeInvalidToolCall:()=>Zo,parseToolCall:()=>Dp}),Yc=class extends je{lc_serializable=!0;lc_namespace=["langchain_core","prompts",this._getPromptType()];get lc_attributes(){return{partialVariables:void 0}}inputVariables;outputParser;partialVariables;metadata;tags;constructor(e){super(e);let{inputVariables:t}=e;if(t.includes("stop"))throw new Error("Cannot have an input variable named 'stop', as it is used internally, please rename.");Object.assign(this,e)}async mergePartialAndUserVariables(e){let t=this.partialVariables??{},n={};for(let[r,s]of Object.entries(t))typeof s=="string"?n[r]=s:n[r]=await s();return{...n,...e}}async invoke(e,t){let n={...this.metadata,...t?.metadata},r=[...this.tags??[],...t?.tags??[]];return this._callWithConfig(s=>this.formatPromptValue(s),e,{...t,tags:r,metadata:n,runType:"prompt"})}},oc=class extends Yc{async formatPromptValue(e){return new e_(await this.format(e))}},I4=Object.prototype.toString,ao=Array.isArray||function(e){return I4.call(e)==="[object Array]"};function l_(e){return typeof e=="function"}function E4(e){return ao(e)?"array":typeof e}function Tf(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function db(e,t){return e!=null&&typeof e=="object"&&t in e}function A4(e,t){return e!=null&&typeof e!="object"&&e.hasOwnProperty&&e.hasOwnProperty(t)}var $4=RegExp.prototype.test;function C4(e,t){return $4.call(e,t)}var N4=/\S/;function P4(e){return!C4(N4,e)}var j4={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;","`":"&#x60;","=":"&#x3D;"};function R4(e){return String(e).replace(/[&<>"'`=\/]/g,function(t){return j4[t]})}var M4=/\s*/,L4=/\s+/,pb=/\s*=/,z4=/\s*\}/,U4=/#|\^|\/|>|\{|&|=|!/;function D4(e,t){if(!e)return[];var n=!1,r=[],s=[],a=[],i=!1,o=!1,c="",u=0;function l(){if(i&&!o)for(;a.length;)delete s[a.pop()];else a=[];i=!1,o=!1}var d,p,h;function f(w){if(typeof w=="string"&&(w=w.split(L4,2)),!ao(w)||w.length!==2)throw new Error("Invalid tags: "+w);d=new RegExp(Tf(w[0])+"\\s*"),p=new RegExp("\\s*"+Tf(w[1])),h=new RegExp("\\s*"+Tf("}"+w[1]))}f(t||_n.tags);for(var m=new Qc(e),v,g,y,k,x,S;!m.eos();){if(v=m.pos,y=m.scanUntil(d),y)for(var E=0,I=y.length;E<I;++E)k=y.charAt(E),P4(k)?(a.push(s.length),c+=k):(o=!0,n=!0,c+=" "),s.push(["text",k,v,v+1]),v+=1,k===`
163
- `&&(l(),c="",u=0,n=!1);if(!m.scan(d))break;if(i=!0,g=m.scan(U4)||"name",m.scan(M4),g==="="?(y=m.scanUntil(pb),m.scan(pb),m.scanUntil(p)):g==="{"?(y=m.scanUntil(h),m.scan(z4),m.scanUntil(p),g="&"):y=m.scanUntil(p),!m.scan(p))throw new Error("Unclosed tag at "+m.pos);if(g==">"?x=[g,y,v,m.pos,c,u,n]:x=[g,y,v,m.pos],u++,s.push(x),g==="#"||g==="^")r.push(x);else if(g==="/"){if(S=r.pop(),!S)throw new Error('Unopened section "'+y+'" at '+v);if(S[1]!==y)throw new Error('Unclosed section "'+S[1]+'" at '+v)}else g==="name"||g==="{"||g==="&"?o=!0:g==="="&&f(y)}if(l(),S=r.pop(),S)throw new Error('Unclosed section "'+S[1]+'" at '+m.pos);return B4(F4(s))}function F4(e){for(var t=[],n,r,s=0,a=e.length;s<a;++s)n=e[s],n&&(n[0]==="text"&&r&&r[0]==="text"?(r[1]+=n[1],r[3]=n[3]):(t.push(n),r=n));return t}function B4(e){for(var t=[],n=t,r=[],s,a,i=0,o=e.length;i<o;++i)switch(s=e[i],s[0]){case"#":case"^":n.push(s),r.push(s),n=s[4]=[];break;case"/":a=r.pop(),a[5]=s[2],n=r.length>0?r[r.length-1][4]:t;break;default:n.push(s)}return t}function Qc(e){this.string=e,this.tail=e,this.pos=0}Qc.prototype.eos=function(){return this.tail===""};Qc.prototype.scan=function(e){var t=this.tail.match(e);if(!t||t.index!==0)return"";var n=t[0];return this.tail=this.tail.substring(n.length),this.pos+=n.length,n};Qc.prototype.scanUntil=function(e){var t=this.tail.search(e),n;switch(t){case-1:n=this.tail,this.tail="";break;case 0:n="";break;default:n=this.tail.substring(0,t),this.tail=this.tail.substring(t)}return this.pos+=n.length,n};function Ci(e,t){this.view=e,this.cache={".":this.view},this.parent=t}Ci.prototype.push=function(e){return new Ci(e,this)};Ci.prototype.lookup=function(e){var t=this.cache,n;if(t.hasOwnProperty(e))n=t[e];else{for(var r=this,s,a,i,o=!1;r;){if(e.indexOf(".")>0)for(s=r.view,a=e.split("."),i=0;s!=null&&i<a.length;)i===a.length-1&&(o=db(s,a[i])||A4(s,a[i])),s=s[a[i++]];else s=r.view[e],o=db(r.view,e);if(o){n=s;break}r=r.parent}t[e]=n}return l_(n)&&(n=n.call(this.view)),n};function rn(){this.templateCache={_cache:{},set:function(e,t){this._cache[e]=t},get:function(e){return this._cache[e]},clear:function(){this._cache={}}}}rn.prototype.clearCache=function(){typeof this.templateCache<"u"&&this.templateCache.clear()};rn.prototype.parse=function(e,t){var n=this.templateCache,r=e+":"+(t||_n.tags).join(":"),s=typeof n<"u",a=s?n.get(r):void 0;return a==null&&(a=D4(e,t),s&&n.set(r,a)),a};rn.prototype.render=function(e,t,n,r){var s=this.getConfigTags(r),a=this.parse(e,s),i=t instanceof Ci?t:new Ci(t,void 0);return this.renderTokens(a,i,n,e,r)};rn.prototype.renderTokens=function(e,t,n,r,s){for(var a="",i,o,c,u=0,l=e.length;u<l;++u)c=void 0,i=e[u],o=i[0],o==="#"?c=this.renderSection(i,t,n,r,s):o==="^"?c=this.renderInverted(i,t,n,r,s):o===">"?c=this.renderPartial(i,t,n,s):o==="&"?c=this.unescapedValue(i,t):o==="name"?c=this.escapedValue(i,t,s):o==="text"&&(c=this.rawValue(i)),c!==void 0&&(a+=c);return a};rn.prototype.renderSection=function(e,t,n,r,s){var a=this,i="",o=t.lookup(e[1]);function c(d){return a.render(d,t,n,s)}if(o){if(ao(o))for(var u=0,l=o.length;u<l;++u)i+=this.renderTokens(e[4],t.push(o[u]),n,r,s);else if(typeof o=="object"||typeof o=="string"||typeof o=="number")i+=this.renderTokens(e[4],t.push(o),n,r,s);else if(l_(o)){if(typeof r!="string")throw new Error("Cannot use higher-order sections without the original template");o=o.call(t.view,r.slice(e[3],e[5]),c),o!=null&&(i+=o)}else i+=this.renderTokens(e[4],t,n,r,s);return i}};rn.prototype.renderInverted=function(e,t,n,r,s){var a=t.lookup(e[1]);if(!a||ao(a)&&a.length===0)return this.renderTokens(e[4],t,n,r,s)};rn.prototype.indentPartial=function(e,t,n){for(var r=t.replace(/[^ \t]/g,""),s=e.split(`
164
- `),a=0;a<s.length;a++)s[a].length&&(a>0||!n)&&(s[a]=r+s[a]);return s.join(`
165
- `)};rn.prototype.renderPartial=function(e,t,n,r){if(n){var s=this.getConfigTags(r),a=l_(n)?n(e[1]):n[e[1]];if(a!=null){var i=e[6],o=e[5],c=e[4],u=a;o==0&&c&&(u=this.indentPartial(a,c,i));var l=this.parse(u,s);return this.renderTokens(l,t,n,u,r)}}};rn.prototype.unescapedValue=function(e,t){var n=t.lookup(e[1]);if(n!=null)return n};rn.prototype.escapedValue=function(e,t,n){var r=this.getConfigEscape(n)||_n.escape,s=t.lookup(e[1]);if(s!=null)return typeof s=="number"&&r===_n.escape?String(s):r(s)};rn.prototype.rawValue=function(e){return e[1]};rn.prototype.getConfigTags=function(e){return ao(e)?e:e&&typeof e=="object"?e.tags:void 0};rn.prototype.getConfigEscape=function(e){if(e&&typeof e=="object"&&!ao(e))return e.escape};var _n={name:"mustache.js",version:"4.2.0",tags:["{{","}}"],clearCache:void 0,escape:void 0,parse:void 0,render:void 0,Scanner:void 0,Context:void 0,Writer:void 0,set templateCache(e){cc.templateCache=e},get templateCache(){return cc.templateCache}},cc=new rn;_n.clearCache=function(){return cc.clearCache()};_n.parse=function(e,t){return cc.parse(e,t)};_n.render=function(e,t,n,r){if(typeof e!="string")throw new TypeError('Invalid template! Template should be a "string" but "'+E4(e)+'" was given as the first argument for mustache#render(template, view, partials)');return cc.render(e,t,n,r)};_n.escape=R4;_n.Scanner=Qc;_n.Context=Ci;_n.Writer=rn;function HO(){_n.escape=e=>e}var uc=e=>{let t=e.split(""),n=[],r=(a,i)=>{for(let o=i;o<t.length;o+=1)if(a.includes(t[o]))return o;return-1},s=0;for(;s<t.length;)if(t[s]==="{"&&s+1<t.length&&t[s+1]==="{")n.push({type:"literal",text:"{"}),s+=2;else if(t[s]==="}"&&s+1<t.length&&t[s+1]==="}")n.push({type:"literal",text:"}"}),s+=2;else if(t[s]==="{"){let a=r("}",s);if(a<0)throw new Error("Unclosed '{' in template.");n.push({type:"variable",name:t.slice(s+1,a).join("")}),s=a+1}else{if(t[s]==="}")throw new Error("Single '}' in template.");{let a=r("{}",s),i=(a<0?t.slice(s):t.slice(s,a)).join("");n.push({type:"literal",text:i}),s=a<0?t.length:a}}return n},WO=(e,t=[])=>{let n=[];for(let r of e)if(r[0]==="name"){let s=r[1].includes(".")?r[1].split(".")[0]:r[1];n.push({type:"variable",name:s})}else if(["#","&","^",">"].includes(r[0])){if(n.push({type:"variable",name:r[1]}),r[0]==="#"&&r.length>4&&Array.isArray(r[4])){let s=[...t,r[1]],a=WO(r[4],s);n.push(...a)}}else n.push({type:"literal",text:r[1]});return n},ql=e=>(HO(),WO(_n.parse(e))),JO=(e,t)=>uc(e).reduce((n,r)=>{if(r.type==="variable"){if(r.name in t)return n+(typeof t[r.name]=="string"?t[r.name]:JSON.stringify(t[r.name]));throw new Error(`(f-string) Missing value for input ${r.name}`)}return n+r.text},""),GO=(e,t)=>(HO(),_n.render(e,t)),Hl={"f-string":JO,mustache:GO},KO={"f-string":uc,mustache:ql},nr=(e,t,n)=>{try{return Hl[t](e,n)}catch(r){throw Dc(r,"INVALID_PROMPT_INPUT")}},Wl=(e,t)=>KO[t](e),eu=(e,t,n)=>{if(!(t in Hl)){let r=Object.keys(Hl);throw new Error(`Invalid template format. Got \`${t}\`;
166
- should be one of ${r}`)}try{let r=Object.fromEntries(n.map(s=>[s,"foo"]));Array.isArray(e)?e.forEach(s=>{if(s.type==="text"&&"text"in s&&typeof s.text=="string")nr(s.text,t,r);else if(s.type==="image_url"){if(typeof s.image_url=="string")nr(s.image_url,t,r);else if(typeof s.image_url=="object"&&s.image_url!==null&&"url"in s.image_url&&typeof s.image_url.url=="string"){let a=s.image_url.url;nr(a,t,r)}}else throw new Error(`Invalid message template received. ${JSON.stringify(s,null,2)}`)}):nr(e,t,r)}catch(r){throw new Error(`Invalid prompt schema: ${r.message}`)}},ys=class ko extends oc{static lc_name(){return"PromptTemplate"}template;templateFormat="f-string";validateTemplate=!0;additionalContentFields;constructor(t){if(super(t),t.templateFormat==="mustache"&&t.validateTemplate===void 0&&(this.validateTemplate=!1),Object.assign(this,t),this.validateTemplate){if(this.templateFormat==="mustache")throw new Error("Mustache templates cannot be validated.");let n=this.inputVariables;this.partialVariables&&(n=n.concat(Object.keys(this.partialVariables))),eu(this.template,this.templateFormat,n)}}_getPromptType(){return"prompt"}async format(t){let n=await this.mergePartialAndUserVariables(t);return nr(this.template,this.templateFormat,n)}static fromExamples(t,n,r,s=`
167
-
168
- `,a=""){return new ko({inputVariables:r,template:[a,...t,n].join(s)})}static fromTemplate(t,n){let{templateFormat:r="f-string",...s}=n??{},a=new Set;return Wl(t,r).forEach(i=>{i.type==="variable"&&a.add(i.name)}),new ko({inputVariables:[...a],templateFormat:r,template:t,...s})}async partial(t){let n=this.inputVariables.filter(s=>!(s in t)),r={...this.partialVariables??{},...t};return new ko({...this,inputVariables:n,partialVariables:r})}serialize(){if(this.outputParser!==void 0)throw new Error("Cannot serialize a prompt template with an output parser");return{_type:this._getPromptType(),input_variables:this.inputVariables,template:this.template,template_format:this.templateFormat}}static async deserialize(t){if(!t.template)throw new Error("Prompt template must have a template");return new ko({inputVariables:t.input_variables,template:t.template,templateFormat:t.template_format})}},ol=class XO extends Yc{static lc_name(){return"ImagePromptTemplate"}lc_namespace=["langchain_core","prompts","image"];template;templateFormat="f-string";validateTemplate=!0;additionalContentFields;constructor(t){if(super(t),this.template=t.template,this.templateFormat=t.templateFormat??this.templateFormat,this.validateTemplate=t.validateTemplate??this.validateTemplate,this.additionalContentFields=t.additionalContentFields,this.validateTemplate){let n=this.inputVariables;this.partialVariables&&(n=n.concat(Object.keys(this.partialVariables))),eu([{type:"image_url",image_url:this.template}],this.templateFormat,n)}}_getPromptType(){return"prompt"}async partial(t){let n=this.inputVariables.filter(s=>!(s in t)),r={...this.partialVariables??{},...t};return new XO({...this,inputVariables:n,partialVariables:r})}async format(t){let n={};for(let[i,o]of Object.entries(this.template))typeof o=="string"?n[i]=nr(o,this.templateFormat,t):n[i]=o;let r=t.url||n.url,s=t.detail||n.detail;if(!r)throw new Error("Must provide either an image URL.");if(typeof r!="string")throw new Error("url must be a string.");let a={url:r};return s&&(a.detail=s),a}async formatPromptValue(t){return new CO(await this.format(t))}},cg=class extends je{lc_namespace=["langchain_core","prompts","dict"];lc_serializable=!0;template;templateFormat;inputVariables;static lc_name(){return"DictPromptTemplate"}constructor(e){let t=e.templateFormat??"f-string",n=ug(e.template,t);super({inputVariables:n,...e}),this.template=e.template,this.templateFormat=t,this.inputVariables=n}async format(e){return lg(this.template,e,this.templateFormat)}async invoke(e){return await this._callWithConfig(this.format.bind(this),e,{runType:"prompt"})}};function ug(e,t){let n=[];for(let r of Object.values(e))if(typeof r=="string")Wl(r,t).forEach(s=>{s.type==="variable"&&n.push(s.name)});else if(Array.isArray(r))for(let s of r)typeof s=="string"?Wl(s,t).forEach(a=>{a.type==="variable"&&n.push(a.name)}):typeof s=="object"&&n.push(...ug(s,t));else typeof r=="object"&&r!==null&&n.push(...ug(r,t));return Array.from(new Set(n))}function lg(e,t,n){let r={};for(let[s,a]of Object.entries(e))if(typeof a=="string")r[s]=nr(a,n,t);else if(Array.isArray(a)){let i=[];for(let o of a)typeof o=="string"?i.push(nr(o,n,t)):typeof o=="object"&&i.push(lg(o,t,n));r[s]=i}else typeof a=="object"&&a!==null?r[s]=lg(a,t,n):r[s]=a;return r}var Fp=class extends je{lc_namespace=["langchain_core","prompts","chat"];lc_serializable=!0;async invoke(e,t){return this._callWithConfig(n=>this.formatMessages(n),e,{...t,runType:"prompt"})}},dg=class extends Fp{static lc_name(){return"MessagesPlaceholder"}variableName;optional;constructor(e){typeof e=="string"&&(e={variableName:e}),super(e),this.variableName=e.variableName,this.optional=e.optional??!1}get inputVariables(){return[this.variableName]}async formatMessages(e){let t=e[this.variableName];if(this.optional&&!t)return[];if(!t){let r=new Error(`Field "${this.variableName}" in prompt uses a MessagesPlaceholder, which expects an array of BaseMessages as an input value. Received: undefined`);throw r.name="InputFormatError",r}let n;try{Array.isArray(t)?n=t.map(kr):n=[kr(t)]}catch(r){let s=typeof t=="string"?t:JSON.stringify(t,null,2),a=new Error([`Field "${this.variableName}" in prompt uses a MessagesPlaceholder, which expects an array of BaseMessages or coerceable values as input.`,`Received value: ${s}`,`Additional message: ${r.message}`].join(`
169
-
170
- `));throw a.name="InputFormatError",a.lc_error_code=r.lc_error_code,a}return n}},YO=class extends Fp{prompt;constructor(e){"prompt"in e||(e={prompt:e}),super(e),this.prompt=e.prompt}get inputVariables(){return this.prompt.inputVariables}async formatMessages(e){return[await this.format(e)]}},d_=class extends Yc{constructor(e){super(e)}async format(e){return(await this.formatPromptValue(e)).toString()}async formatPromptValue(e){return new t_(await this.formatMessages(e))}},QO=class extends YO{static lc_name(){return"ChatMessagePromptTemplate"}role;constructor(e,t){"prompt"in e||(e={prompt:e,role:t}),super(e),this.role=e.role}async format(e){return new Kr(await this.prompt.format(e),this.role)}static fromTemplate(e,t,n){return new this(ys.fromTemplate(e,{templateFormat:n?.templateFormat}),t)}};function Z4(e){return e===null||typeof e!="object"||Array.isArray(e)?!1:Object.keys(e).length===1&&"text"in e&&typeof e.text=="string"}function V4(e){return e===null||typeof e!="object"||Array.isArray(e)?!1:"image_url"in e&&(typeof e.image_url=="string"||typeof e.image_url=="object"&&e.image_url!==null&&"url"in e.image_url&&typeof e.image_url.url=="string")}var p_=class extends Fp{lc_namespace=["langchain_core","prompts","chat"];lc_serializable=!0;inputVariables=[];additionalOptions={};prompt;messageClass;static _messageClass(){throw new Error("Can not invoke _messageClass from inside _StringImageMessagePromptTemplate")}chatMessageClass;constructor(e,t){if("prompt"in e||(e={prompt:e}),super(e),this.prompt=e.prompt,Array.isArray(this.prompt)){let n=[];this.prompt.forEach(r=>{"inputVariables"in r&&(n=n.concat(r.inputVariables))}),this.inputVariables=n}else this.inputVariables=this.prompt.inputVariables;this.additionalOptions=t??this.additionalOptions}createMessage(e){let t=this.constructor;if(t._messageClass())return new(t._messageClass())({content:e});if(t.chatMessageClass){let n=t.chatMessageClass();return new n({content:e,role:this.getRoleFromMessageClass(n.lc_name())})}else throw new Error("No message class defined")}getRoleFromMessageClass(e){switch(e){case"HumanMessage":return"human";case"AIMessage":return"ai";case"SystemMessage":return"system";case"ChatMessage":return"chat";default:throw new Error("Invalid message class name")}}static fromTemplate(e,t){if(typeof e=="string")return new this(ys.fromTemplate(e,t));let n=[];for(let r of e)if(typeof r=="string")n.push(ys.fromTemplate(r,t));else if(r!==null)if(Z4(r)){let s="";typeof r.text=="string"&&(s=r.text??"");let a={...t,additionalContentFields:r};n.push(ys.fromTemplate(s,a))}else if(V4(r)){let s=r.image_url??"",a,i=[];if(typeof s=="string"){let o;t?.templateFormat==="mustache"?o=ql(s):o=uc(s);let c=o.flatMap(u=>u.type==="variable"?[u.name]:[]);if((c?.length??0)>0){if(c.length>1)throw new Error(`Only one format variable allowed per image template.
171
- Got: ${c}
172
- From: ${s}`);i=[c[0]]}else i=[];s={url:s},a=new ol({template:s,inputVariables:i,templateFormat:t?.templateFormat,additionalContentFields:r})}else if(typeof s=="object"){if("url"in s){let o;t?.templateFormat==="mustache"?o=ql(s.url):o=uc(s.url),i=o.flatMap(c=>c.type==="variable"?[c.name]:[])}else i=[];a=new ol({template:s,inputVariables:i,templateFormat:t?.templateFormat,additionalContentFields:r})}else throw new Error("Invalid image template");n.push(a)}else typeof r=="object"&&n.push(new cg({template:r,templateFormat:t?.templateFormat}));return new this({prompt:n,additionalOptions:t})}async format(e){if(this.prompt instanceof oc){let t=await this.prompt.format(e);return this.createMessage(t)}else{let t=[];for(let n of this.prompt){let r={};if(!("inputVariables"in n))throw new Error(`Prompt ${n} does not have inputVariables defined.`);for(let s of n.inputVariables)r||(r={[s]:e[s]}),r={...r,[s]:e[s]};if(n instanceof oc){let s=await n.format(r),a;"additionalContentFields"in n&&(a=n.additionalContentFields),s!==""&&t.push({...a,type:"text",text:s})}else if(n instanceof ol){let s=await n.format(r),a;"additionalContentFields"in n&&(a=n.additionalContentFields),t.push({...a,type:"image_url",image_url:s})}else if(n instanceof cg){let s=await n.format(r),a;"additionalContentFields"in n&&(a=n.additionalContentFields),t.push({...a,...s})}}return this.createMessage(t)}}async formatMessages(e){return[await this.format(e)]}},h_=class extends p_{static _messageClass(){return An}static lc_name(){return"HumanMessagePromptTemplate"}},eS=class extends p_{static _messageClass(){return Ke}static lc_name(){return"AIMessagePromptTemplate"}},f_=class extends p_{static _messageClass(){return Tr}static lc_name(){return"SystemMessagePromptTemplate"}};function q4(e){return typeof e.formatMessages=="function"}function H4(e,t){if(q4(e)||jt(e))return e;if(Array.isArray(e)&&e[0]==="placeholder"){let s=e[1];if(t?.templateFormat==="mustache"&&typeof s=="string"&&s.slice(0,2)==="{{"&&s.slice(-2)==="}}")return new dg({variableName:s.slice(2,-2),optional:!0});if(typeof s=="string"&&s[0]==="{"&&s[s.length-1]==="}")return new dg({variableName:s.slice(1,-1),optional:!0});throw new Error(`Invalid placeholder template for format ${t?.templateFormat??'"f-string"'}: "${e[1]}". Expected a variable name surrounded by ${t?.templateFormat==="mustache"?"double":"single"} curly braces.`)}let n=kr(e),r;if(typeof n.content=="string"?r=n.content:r=n.content.map(s=>"text"in s?{...s,text:s.text}:"image_url"in s?{...s,image_url:s.image_url}:s),n._getType()==="human")return h_.fromTemplate(r,t);if(n._getType()==="ai")return eS.fromTemplate(r,t);if(n._getType()==="system")return f_.fromTemplate(r,t);if(Kr.isInstance(n))return QO.fromTemplate(n.content,n.role,t);throw new Error(`Could not coerce message prompt template from input. Received message type: "${n._getType()}".`)}function W4(e){return e.constructor.lc_name()==="MessagesPlaceholder"}var Bp=class cl extends d_{static lc_name(){return"ChatPromptTemplate"}get lc_aliases(){return{promptMessages:"messages"}}promptMessages;validateTemplate=!0;templateFormat="f-string";constructor(t){if(super(t),t.templateFormat==="mustache"&&t.validateTemplate===void 0&&(this.validateTemplate=!1),Object.assign(this,t),this.validateTemplate){let n=new Set;for(let o of this.promptMessages)if(!(o instanceof Yt))for(let c of o.inputVariables)n.add(c);let r=this.inputVariables,s=new Set(this.partialVariables?r.concat(Object.keys(this.partialVariables)):r),a=new Set([...s].filter(o=>!n.has(o)));if(a.size>0)throw new Error(`Input variables \`${[...a]}\` are not used in any of the prompt messages.`);let i=new Set([...n].filter(o=>!s.has(o)));if(i.size>0)throw new Error(`Input variables \`${[...i]}\` are used in prompt messages but not in the prompt template.`)}}_getPromptType(){return"chat"}async _parseImagePrompts(t,n){return typeof t.content=="string"||(t.content=await Promise.all(t.content.map(async r=>{if(r.type!=="image_url")return r;let s="";typeof r.image_url=="string"?s=r.image_url:typeof r.image_url=="object"&&r.image_url!==null&&"url"in r.image_url&&typeof r.image_url.url=="string"&&(s=r.image_url.url);let a=await ys.fromTemplate(s,{templateFormat:this.templateFormat}).format(n);return typeof r.image_url=="object"&&r.image_url!==null&&"url"in r.image_url?r.image_url.url=a:r.image_url=a,r}))),t}async formatMessages(t){let n=await this.mergePartialAndUserVariables(t),r=[];for(let s of this.promptMessages)if(s instanceof Yt)r.push(await this._parseImagePrompts(s,n));else{let a;this.templateFormat==="mustache"?a={...n}:a=s.inputVariables.reduce((o,c)=>{if(!(c in n)&&!(W4(s)&&s.optional))throw Dc(new Error(`Missing value for input variable \`${c.toString()}\``),"INVALID_PROMPT_INPUT");return o[c]=n[c],o},{});let i=await s.formatMessages(a);r=r.concat(i)}return r}async partial(t){let n=this.inputVariables.filter(s=>!(s in t)),r={...this.partialVariables??{},...t};return new cl({...this,inputVariables:n,partialVariables:r})}static fromTemplate(t,n){let r=new h_({prompt:ys.fromTemplate(t,n)});return this.fromMessages([r])}static fromMessages(t,n){let r=t.reduce((i,o)=>i.concat(o instanceof cl?o.promptMessages:[H4(o,n)]),[]),s=t.reduce((i,o)=>o instanceof cl?Object.assign(i,o.partialVariables):i,Object.create(null)),a=new Set;for(let i of r)if(!(i instanceof Yt))for(let o of i.inputVariables)o in s||a.add(o);return new this({...n,inputVariables:[...a],promptMessages:r,partialVariables:s,templateFormat:n?.templateFormat})}},J4=class pg extends oc{lc_serializable=!1;examples;exampleSelector;examplePrompt;suffix="";exampleSeparator=`
173
-
174
- `;prefix="";templateFormat="f-string";validateTemplate=!0;constructor(t){if(super(t),Object.assign(this,t),this.examples!==void 0&&this.exampleSelector!==void 0)throw new Error("Only one of 'examples' and 'example_selector' should be provided");if(this.examples===void 0&&this.exampleSelector===void 0)throw new Error("One of 'examples' and 'example_selector' should be provided");if(this.validateTemplate){let n=this.inputVariables;this.partialVariables&&(n=n.concat(Object.keys(this.partialVariables))),eu(this.prefix+this.suffix,this.templateFormat,n)}}_getPromptType(){return"few_shot"}static lc_name(){return"FewShotPromptTemplate"}async getExamples(t){if(this.examples!==void 0)return this.examples;if(this.exampleSelector!==void 0)return this.exampleSelector.selectExamples(t);throw new Error("One of 'examples' and 'example_selector' should be provided")}async partial(t){let n=this.inputVariables.filter(s=>!(s in t)),r={...this.partialVariables??{},...t};return new pg({...this,inputVariables:n,partialVariables:r})}async format(t){let n=await this.mergePartialAndUserVariables(t),r=await this.getExamples(n),s=await Promise.all(r.map(a=>this.examplePrompt.format(a)));return nr([this.prefix,...s,this.suffix].join(this.exampleSeparator),this.templateFormat,n)}serialize(){if(this.exampleSelector||!this.examples)throw new Error("Serializing an example selector is not currently supported");if(this.outputParser!==void 0)throw new Error("Serializing an output parser is not currently supported");return{_type:this._getPromptType(),input_variables:this.inputVariables,example_prompt:this.examplePrompt.serialize(),example_separator:this.exampleSeparator,suffix:this.suffix,prefix:this.prefix,template_format:this.templateFormat,examples:this.examples}}static async deserialize(t){let{example_prompt:n}=t;if(!n)throw new Error("Missing example prompt");let r=await ys.deserialize(n),s;if(Array.isArray(t.examples))s=t.examples;else throw new Error("Invalid examples format. Only list or string are supported.");return new pg({inputVariables:t.input_variables,examplePrompt:r,examples:s,exampleSeparator:t.example_separator,prefix:t.prefix,suffix:t.suffix,templateFormat:t.template_format})}},G4=class tS extends d_{lc_serializable=!0;examples;exampleSelector;examplePrompt;suffix="";exampleSeparator=`
175
-
176
- `;prefix="";templateFormat="f-string";validateTemplate=!0;_getPromptType(){return"few_shot_chat"}static lc_name(){return"FewShotChatMessagePromptTemplate"}constructor(t){if(super(t),this.examples=t.examples,this.examplePrompt=t.examplePrompt,this.exampleSeparator=t.exampleSeparator??`
177
-
178
- `,this.exampleSelector=t.exampleSelector,this.prefix=t.prefix??"",this.suffix=t.suffix??"",this.templateFormat=t.templateFormat??"f-string",this.validateTemplate=t.validateTemplate??!0,this.examples!==void 0&&this.exampleSelector!==void 0)throw new Error("Only one of 'examples' and 'example_selector' should be provided");if(this.examples===void 0&&this.exampleSelector===void 0)throw new Error("One of 'examples' and 'example_selector' should be provided");if(this.validateTemplate){let n=this.inputVariables;this.partialVariables&&(n=n.concat(Object.keys(this.partialVariables))),eu(this.prefix+this.suffix,this.templateFormat,n)}}async getExamples(t){if(this.examples!==void 0)return this.examples;if(this.exampleSelector!==void 0)return this.exampleSelector.selectExamples(t);throw new Error("One of 'examples' and 'example_selector' should be provided")}async formatMessages(t){let n=await this.mergePartialAndUserVariables(t),r=await this.getExamples(n);r=r.map(a=>{let i={};return this.examplePrompt.inputVariables.forEach(o=>{i[o]=a[o]}),i});let s=[];for(let a of r){let i=await this.examplePrompt.formatMessages(a);s.push(...i)}return s}async format(t){let n=await this.mergePartialAndUserVariables(t),r=await this.getExamples(n),s=(await Promise.all(r.map(a=>this.examplePrompt.formatMessages(a)))).flat().map(a=>a.content);return nr([this.prefix,...s,this.suffix].join(this.exampleSeparator),this.templateFormat,n)}async partial(t){let n=this.inputVariables.filter(s=>!(s in t)),r={...this.partialVariables??{},...t};return new tS({...this,inputVariables:n,partialVariables:r})}},K4=class ul extends Yc{static lc_name(){return"PipelinePromptTemplate"}pipelinePrompts;finalPrompt;constructor(t){super({...t,inputVariables:[]}),this.pipelinePrompts=t.pipelinePrompts,this.finalPrompt=t.finalPrompt,this.inputVariables=this.computeInputValues()}computeInputValues(){let t=this.pipelinePrompts.map(r=>r.name),n=this.pipelinePrompts.map(r=>r.prompt.inputVariables.filter(s=>!t.includes(s))).flat();return[...new Set(n)]}static extractRequiredInputValues(t,n){return n.reduce((r,s)=>(r[s]=t[s],r),{})}async formatPipelinePrompts(t){let n=await this.mergePartialAndUserVariables(t);for(let{name:r,prompt:s}of this.pipelinePrompts){let a=ul.extractRequiredInputValues(n,s.inputVariables);s instanceof Bp?n[r]=await s.formatMessages(a):n[r]=await s.format(a)}return ul.extractRequiredInputValues(n,this.finalPrompt.inputVariables)}async formatPromptValue(t){return this.finalPrompt.formatPromptValue(await this.formatPipelinePrompts(t))}async format(t){return this.finalPrompt.format(await this.formatPipelinePrompts(t))}async partial(t){let n={...this};return n.inputVariables=this.inputVariables.filter(r=>!(r in t)),n.partialVariables={...this.partialVariables??{},...t},new ul(n)}serialize(){throw new Error("Not implemented.")}_getPromptType(){return"pipeline"}};function hb(e){return typeof e=="object"&&e!=null&&"withStructuredOutput"in e&&typeof e.withStructuredOutput=="function"}function X4(e){return typeof e=="object"&&e!=null&&"lc_id"in e&&Array.isArray(e.lc_id)&&e.lc_id.join("/")==="langchain_core/runnables/RunnableBinding"}var Y4=class nS extends Bp{schema;method;lc_namespace=["langchain_core","prompts","structured"];get lc_aliases(){return{...super.lc_aliases,schema:"schema_"}}constructor(t){super(t),this.schema=t.schema,this.method=t.method}pipe(t){if(hb(t))return super.pipe(t.withStructuredOutput(this.schema));if(X4(t)&&hb(t.bound))return super.pipe(new Ss({bound:t.bound.withStructuredOutput(this.schema,...this.method?[{method:this.method}]:[]),kwargs:t.kwargs??{},config:t.config,configFactories:t.configFactories}));throw new Error('Structured prompts need to be piped to a language model that supports the "withStructuredOutput()" method.')}static fromMessagesAndSchema(t,n,r){return nS.fromMessages(t,{schema:n,method:r})}},Q4=Q({AIMessagePromptTemplate:()=>eS,BaseChatPromptTemplate:()=>d_,BaseMessagePromptTemplate:()=>Fp,BaseMessageStringPromptTemplate:()=>YO,BasePromptTemplate:()=>Yc,BaseStringPromptTemplate:()=>oc,ChatMessagePromptTemplate:()=>QO,ChatPromptTemplate:()=>Bp,DEFAULT_FORMATTER_MAPPING:()=>Hl,DEFAULT_PARSER_MAPPING:()=>KO,DictPromptTemplate:()=>cg,FewShotChatMessagePromptTemplate:()=>G4,FewShotPromptTemplate:()=>J4,HumanMessagePromptTemplate:()=>h_,ImagePromptTemplate:()=>ol,MessagesPlaceholder:()=>dg,PipelinePromptTemplate:()=>K4,PromptTemplate:()=>ys,StructuredPrompt:()=>Y4,SystemMessagePromptTemplate:()=>f_,checkValidTemplate:()=>eu,interpolateFString:()=>JO,interpolateMustache:()=>GO,parseFString:()=>uc,parseMustache:()=>ql,parseTemplate:()=>Wl,renderTemplate:()=>nr}),ez=Q({BaseDocumentCompressor:()=>tz}),tz=class{static isBaseDocumentCompressor(e){return e?.compressDocuments!==void 0}},nz=Q({BaseRetriever:()=>m_}),m_=class extends je{callbacks;tags;metadata;verbose;constructor(e){super(e),this.callbacks=e?.callbacks,this.tags=e?.tags??[],this.metadata=e?.metadata??{},this.verbose=e?.verbose??!1}_getRelevantDocuments(e,t){throw new Error("Not implemented!")}async invoke(e,t){let n=Me(Hc(t)),r=await(await Qt.configure(n.callbacks,this.callbacks,n.tags,this.tags,n.metadata,this.metadata,{verbose:this.verbose}))?.handleRetrieverStart(this.toJSON(),e,n.runId,void 0,void 0,void 0,n.runName);try{let s=await this._getRelevantDocuments(e,r);return await r?.handleRetrieverEnd(s),s}catch(s){throw await r?.handleRetrieverError(s),s}}},rz=Q({BaseStore:()=>rS,InMemoryStore:()=>sz}),rS=class extends Rn{},sz=class extends rS{lc_namespace=["langchain","storage"];store={};async mget(e){return e.map(t=>this.store[t])}async mset(e){for(let[t,n]of e)this.store[t]=n}async mdelete(e){for(let t of e)delete this.store[t]}async*yieldKeys(e){let t=Object.keys(this.store);for(let n of t)(e===void 0||n.startsWith(e))&&(yield n)}},us={and:"and",or:"or",not:"not"},Pe={eq:"eq",ne:"ne",lt:"lt",gt:"gt",lte:"lte",gte:"gte"},sS=class{},g_=class{accept(e){if(this.exprName==="Operation")return e.visitOperation(this);if(this.exprName==="Comparison")return e.visitComparison(this);if(this.exprName==="StructuredQuery")return e.visitStructuredQuery(this);throw new Error("Unknown Expression type")}},y_=class extends g_{},az=class extends y_{exprName="Comparison";constructor(e,t,n){super(),this.comparator=e,this.attribute=t,this.value=n}},iz=class extends y_{exprName="Operation";constructor(e,t){super(),this.operator=e,this.args=t}},oz=class extends g_{exprName="StructuredQuery";constructor(e,t){super(),this.query=e,this.filter=t}};function aS(e){return e&&typeof e=="object"&&!Array.isArray(e)}function Qn(e){return e?typeof e=="string"&&e.length>0||typeof e=="function"?!1:aS(e)&&Object.keys(e).length===0:!0}function iS(e){if(typeof e=="number")return e%1===0;if(typeof e=="string"){let t=parseInt(e,10);return!Number.isNaN(t)&&t%1===0&&t.toString()===e}return!1}function oS(e){if(typeof e=="number")return e%1!==0;if(typeof e=="string"){let t=parseFloat(e);return!Number.isNaN(t)&&t%1!==0&&t.toString()===e}return!1}function cS(e){return typeof e=="string"&&(Number.isNaN(parseFloat(e))||parseFloat(e).toString()!==e)}function uS(e){return typeof e=="boolean"}function __(e){let t;if(cS(e))t=e;else if(iS(e))t=parseInt(e,10);else if(oS(e))t=parseFloat(e);else if(uS(e))t=!!e;else throw new Error("Unsupported value type");return t}var v_=class extends sS{},cz=class extends v_{allowedOperators;allowedComparators;constructor(e){super(),this.allowedOperators=e?.allowedOperators??[us.and,us.or],this.allowedComparators=e?.allowedComparators??[Pe.eq,Pe.ne,Pe.gt,Pe.gte,Pe.lt,Pe.lte]}formatFunction(e){if(e in Pe){if(this.allowedComparators.length>0&&this.allowedComparators.indexOf(e)===-1)throw new Error(`Comparator ${e} not allowed. Allowed comparators: ${this.allowedComparators.join(", ")}`)}else if(e in us){if(this.allowedOperators.length>0&&this.allowedOperators.indexOf(e)===-1)throw new Error(`Operator ${e} not allowed. Allowed operators: ${this.allowedOperators.join(", ")}`)}else throw new Error("Unknown comparator or operator");return`$${e}`}visitOperation(e){let t=e.args?.map(n=>n.accept(this));return{[this.formatFunction(e.operator)]:t}}visitComparison(e){return{[e.attribute]:{[this.formatFunction(e.comparator)]:__(e.value)}}}visitStructuredQuery(e){let t={};return e.filter&&(t={filter:e.filter.accept(this)}),t}mergeFilters(e,t,n="and",r=!1){if(!(Qn(e)&&Qn(t))){if(Qn(e)||n==="replace")return Qn(t)?void 0:t;if(Qn(t))return r?e:n==="and"?void 0:e;if(n==="and")return{$and:[e,t]};if(n==="or")return{$or:[e,t]};throw new Error("Unknown merge type")}}},uz=class extends v_{allowedOperators=[us.and,us.or];allowedComparators=[Pe.eq,Pe.ne,Pe.gt,Pe.gte,Pe.lt,Pe.lte];formatFunction(){throw new Error("Not implemented")}getAllowedComparatorsForType(e){switch(e){case"string":return[Pe.eq,Pe.ne,Pe.gt,Pe.gte,Pe.lt,Pe.lte];case"number":return[Pe.eq,Pe.ne,Pe.gt,Pe.gte,Pe.lt,Pe.lte];case"boolean":return[Pe.eq,Pe.ne];default:throw new Error(`Unsupported data type: ${e}`)}}getComparatorFunction(e){switch(e){case Pe.eq:return(t,n)=>t===n;case Pe.ne:return(t,n)=>t!==n;case Pe.gt:return(t,n)=>t>n;case Pe.gte:return(t,n)=>t>=n;case Pe.lt:return(t,n)=>t<n;case Pe.lte:return(t,n)=>t<=n;default:throw new Error("Unknown comparator")}}getOperatorFunction(e){switch(e){case us.and:return(t,n)=>t&&n;case us.or:return(t,n)=>t||n;default:throw new Error("Unknown operator")}}visitOperation(e){let{operator:t,args:n}=e;if(this.allowedOperators.includes(t)){let r=this.getOperatorFunction(t);return s=>n?n.reduce((a,i)=>{let o=i.accept(this);if(typeof o=="function")return r(a,o(s));throw new Error("Filter is not a function")},!0):!0}else throw new Error("Operator not allowed")}visitComparison(e){let{comparator:t,attribute:n,value:r}=e,s=[Pe.ne];if(this.allowedComparators.includes(t)){if(!this.getAllowedComparatorsForType(typeof r).includes(t))throw new Error(`'${t}' comparator not allowed to be used with ${typeof r}`);let a=this.getComparatorFunction(t);return i=>{let o=i.metadata[n];return o===void 0?!!s.includes(t):a(o,__(r))}}else throw new Error("Comparator not allowed")}visitStructuredQuery(e){if(!e.filter)return{};let t=e.filter?.accept(this);if(typeof t!="function")throw new Error("Structured query filter is not a function");return{filter:t}}mergeFilters(e,t,n="and"){if(!(Qn(e)&&Qn(t))){if(Qn(e)||n==="replace")return Qn(t)?void 0:t;if(Qn(t))return n==="and"?void 0:e;if(n==="and")return r=>e(r)&&t(r);if(n==="or")return r=>e(r)||t(r);throw new Error("Unknown merge type")}}},lz=Q({BaseTranslator:()=>v_,BasicTranslator:()=>cz,Comparators:()=>Pe,Comparison:()=>az,Expression:()=>g_,FilterDirective:()=>y_,FunctionalTranslator:()=>uz,Operation:()=>iz,Operators:()=>us,StructuredQuery:()=>oz,Visitor:()=>sS,castValue:()=>__,isBoolean:()=>uS,isFilterEmpty:()=>Qn,isFloat:()=>oS,isInt:()=>iS,isObject:()=>aS,isString:()=>cS});function lc(e){return Yt.isInstance(e)?e.constructor.name||e.type:typeof e}function Zp(e,t){return function(n,r){let{isNot:s,utils:a}=this;if(!t(n))return{pass:!1,message:()=>`${a.matcherHint(`toBe${e}`,void 0,void 0)}
179
-
180
- Expected: ${s?"not ":""}${e}
181
- Received: ${lc(n)}`,actual:lc(n),expected:e};if(r===void 0)return{pass:!0,message:()=>`${a.matcherHint(`toBe${e}`,void 0,void 0)}
182
-
183
- Expected: not ${e}
184
- Received: ${e}`};let i=n;return typeof r=="string"?{pass:i.content===r,message:()=>`${a.matcherHint(`toBe${e}`,void 0,void 0)}
185
-
186
- Expected: ${e} with content ${a.printExpected(r)}
187
- Received: ${e} with content ${a.printReceived(i.content)}`,actual:i.content,expected:r}:{pass:Object.entries(r).every(([o,c])=>this.equals(i[o],c)),message:()=>{let o={};for(let c of Object.keys(r))o[c]=i[c];return`${a.matcherHint(`toBe${e}`,void 0,void 0)}
188
-
189
- Expected: ${e} matching ${a.printExpected(r)}
190
- Received: ${e} with ${a.printReceived(o)}`},actual:(()=>{let o={};for(let c of Object.keys(r))o[c]=i[c];return o})(),expected:r}}}var lS=Zp("HumanMessage",An.isInstance),dS=Zp("AIMessage",Ke.isInstance),pS=Zp("SystemMessage",Tr.isInstance),hS=Zp("ToolMessage",Mn.isInstance);function fS(e,t){let{isNot:n,utils:r}=this;if(!Ke.isInstance(e))return{pass:!1,message:()=>`${r.matcherHint("toHaveToolCalls")}
191
-
192
- Expected: AIMessage
193
- Received: ${lc(e)}`};let s=e.tool_calls??[];if(s.length!==t.length)return{pass:!1,message:()=>`${r.matcherHint("toHaveToolCalls")}
194
-
195
- Expected ${n?"not ":""}${t.length} tool call(s), received ${s.length}`,actual:s.length,expected:t.length};let a=t.filter(i=>!s.some(o=>Object.entries(i).every(([c,u])=>this.equals(o[c],u))));return a.length>0?{pass:!1,message:()=>`${r.matcherHint("toHaveToolCalls")}
196
-
197
- Could not find matching tool call(s) for:
198
- ${r.printExpected(a)}
199
- Received tool calls: ${r.printReceived(s.map(i=>({name:i.name,id:i.id,args:i.args})))}`,actual:s.map(i=>({name:i.name,id:i.id,args:i.args})),expected:t}:{pass:!0,message:()=>`${r.matcherHint("toHaveToolCalls")}
200
-
201
- Expected AIMessage not to have matching tool calls`}}function mS(e,t){let{isNot:n,utils:r}=this;if(!Ke.isInstance(e))return{pass:!1,message:()=>`${r.matcherHint("toHaveToolCallCount")}
202
-
203
- Expected: AIMessage
204
- Received: ${lc(e)}`};let s=e.tool_calls?.length??0;return{pass:s===t,message:()=>`${r.matcherHint("toHaveToolCallCount")}
205
-
206
- Expected ${n?"not ":""}${t} tool call(s)
207
- Received: ${s}`,actual:s,expected:t}}function gS(e,t){let{isNot:n,utils:r}=this;if(!Ke.isInstance(e))return{pass:!1,message:()=>`${r.matcherHint("toContainToolCall")}
208
-
209
- Expected: AIMessage
210
- Received: ${lc(e)}`};let s=e.tool_calls??[];return{pass:s.some(a=>Object.entries(t).every(([i,o])=>this.equals(a[i],o))),message:()=>`${r.matcherHint("toContainToolCall")}
211
-
212
- Expected AIMessage ${n?"not ":""}to contain a tool call matching ${r.printExpected(t)}
213
- Received tool calls: ${r.printReceived(s.map(a=>({name:a.name,id:a.id})))}`,actual:s.map(a=>({name:a.name,id:a.id})),expected:t}}function yS(e,t){let{isNot:n,utils:r}=this;if(!Array.isArray(e))return{pass:!1,message:()=>`${r.matcherHint("toHaveToolMessages")}
214
-
215
- Expected an array of messages
216
- Received: ${typeof e}`};let s=e.filter(Mn.isInstance);if(s.length!==t.length)return{pass:!1,message:()=>`${r.matcherHint("toHaveToolMessages")}
217
-
218
- Expected ${n?"not ":""}${t.length} tool message(s), found ${s.length}`,actual:s.length,expected:t.length};for(let a=0;a<t.length;a++)if(!Object.entries(t[a]).every(([i,o])=>this.equals(s[a][i],o)))return{pass:!1,message:()=>{let i={};for(let o of Object.keys(t[a]))i[o]=s[a][o];return`${r.matcherHint("toHaveToolMessages")}
219
-
220
- Tool message at index ${a} did not match:
221
- Expected: ${r.printExpected(t[a])}
222
- Received: ${r.printReceived(i)}`},actual:s[a],expected:t[a]};return{pass:!0,message:()=>`${r.matcherHint("toHaveToolMessages")}
223
-
224
- Expected messages not to contain matching tool messages`}}function _S(e,t){let{isNot:n,utils:r}=this,s=e?.__interrupt__;if(!(Array.isArray(s)&&s.length>0))return{pass:!1,message:()=>`${r.matcherHint("toHaveBeenInterrupted")}
225
-
226
- Expected result ${n?"not ":""}to have been interrupted
227
- Received __interrupt__: ${r.printReceived(s)}`};if(t===void 0)return{pass:!0,message:()=>`${r.matcherHint("toHaveBeenInterrupted")}
228
-
229
- Expected result not to have been interrupted
230
- Received ${s.length} interrupt(s)`};let a=s[0]?.value;return{pass:this.equals(a,t),message:()=>`${r.matcherHint("toHaveBeenInterrupted")}
231
-
232
- Expected interrupt value: ${r.printExpected(t)}
233
- Received interrupt value: ${r.printReceived(a)}`,actual:a,expected:t}}function vS(e,t){let{isNot:n,utils:r}=this,s=e?.structuredResponse;return s===void 0?{pass:!1,message:()=>`${r.matcherHint("toHaveStructuredResponse")}
234
-
235
- Expected result ${n?"not ":""}to have a structured response
236
- Received structuredResponse: undefined`}:t===void 0?{pass:!0,message:()=>`${r.matcherHint("toHaveStructuredResponse")}
237
-
238
- Expected result not to have a structured response`}:{pass:Object.entries(t).every(([a,i])=>this.equals(s[a],i)),message:()=>`${r.matcherHint("toHaveStructuredResponse")}
239
-
240
- Expected structured response: ${r.printExpected(t)}
241
- Received structured response: ${r.printReceived(s)}`,actual:s,expected:t}}var dz={toBeHumanMessage:lS,toBeAIMessage:dS,toBeSystemMessage:pS,toBeToolMessage:hS,toHaveToolCalls:fS,toHaveToolCallCount:mS,toContainToolCall:gS,toHaveToolMessages:yS,toHaveBeenInterrupted:_S,toHaveStructuredResponse:vS};function pz(e){return e.map(t=>t.text).filter(Boolean).join("-")}var fb=0;function hz(){return fb+=1,`fake_tc_${fb}`}var wS=class bS extends Pa{queue=[];_alwaysThrowError;_structuredResponseValue;_tools=[];_callIndex=0;_calls=[];get calls(){return this._calls}get callCount(){return this._calls.length}constructor(){super({})}_llmType(){return"fake-model-builder"}_combineLLMOutput(){return[]}respond(t){return typeof t=="function"?this.queue.push({kind:"factory",factory:t}):Yt.isInstance(t)?this.queue.push({kind:"message",message:t}):this.queue.push({kind:"error",error:t}),this}respondWithTools(t){return this.queue.push({kind:"toolCalls",toolCalls:t.map(n=>({name:n.name,args:n.args,id:n.id??hz(),type:"tool_call"}))}),this}alwaysThrow(t){return this._alwaysThrowError=t,this}structuredResponse(t){return this._structuredResponseValue=t,this}bindTools(t){let n=[...this._tools,...t],r=new bS;return r.queue=this.queue,r._alwaysThrowError=this._alwaysThrowError,r._structuredResponseValue=this._structuredResponseValue,r._tools=n,r._calls=this._calls,r._callIndex=this._callIndex,r.withConfig({})}withStructuredOutput(t,n){let{_structuredResponseValue:r}=this;return lr.from(async()=>r)}async _generate(t,n,r){this._calls.push({messages:[...t],options:n});let s=this._callIndex;if(this._callIndex+=1,this._alwaysThrowError)throw this._alwaysThrowError;let a=this.queue[s];if(!a)throw new Error(`FakeModel: no response queued for invocation ${s} (${this.queue.length} total queued).`);if(a.kind==="error")throw a.error;if(a.kind==="factory"){let o=a.factory(t);if(!Yt.isInstance(o))throw o;return{generations:[{text:"",message:o}]}}if(a.kind==="message")return{generations:[{text:"",message:a.message}]};let i=pz(t);return{generations:[{text:i,message:new Ke({content:i,id:s.toString(),tool_calls:a.toolCalls.length>0?a.toolCalls.map(o=>({...o,type:"tool_call"})):void 0})}],llmOutput:{}}}};function fz(){return new wS}var mz=Q({FakeBuiltModel:()=>wS,fakeModel:()=>fz,langchainMatchers:()=>dz,toBeAIMessage:()=>dS,toBeHumanMessage:()=>lS,toBeSystemMessage:()=>pS,toBeToolMessage:()=>hS,toContainToolCall:()=>gS,toHaveBeenInterrupted:()=>_S,toHaveStructuredResponse:()=>vS,toHaveToolCallCount:()=>mS,toHaveToolCalls:()=>fS,toHaveToolMessages:()=>yS});function w_(e){return e!==void 0&&Array.isArray(e.lc_namespace)}function b_(e){return e!==void 0&&je.isRunnable(e)&&"lc_name"in e.constructor&&typeof e.constructor.lc_name=="function"&&e.constructor.lc_name()==="RunnableToolLike"}function k_(e){return!!e&&typeof e=="object"&&"name"in e&&"schema"in e&&(In(e.schema)||e.schema!=null&&typeof e.schema=="object"&&"type"in e.schema&&typeof e.schema.type=="string"&&["null","boolean","object","array","number","string"].includes(e.schema.type))}function tu(e){return k_(e)||b_(e)||w_(e)}var gz=Q({BaseToolkit:()=>yz,DynamicStructuredTool:()=>OS,DynamicTool:()=>xS,StructuredTool:()=>Vp,Tool:()=>kS,ToolInputParsingException:()=>El,isLangChainTool:()=>tu,isRunnableToolLike:()=>b_,isStructuredTool:()=>w_,isStructuredToolParams:()=>k_,tool:()=>_z}),Vp=class extends s_{extras;returnDirect=!1;verboseParsingErrors=!1;get lc_namespace(){return["langchain","tools"]}responseFormat="content";defaultConfig;constructor(e){super(e??{}),this.verboseParsingErrors=e?.verboseParsingErrors??this.verboseParsingErrors,this.responseFormat=e?.responseFormat??this.responseFormat,this.defaultConfig=e?.defaultConfig??this.defaultConfig,this.metadata=e?.metadata??this.metadata,this.extras=e?.extras??this.extras}async invoke(e,t){let n,r=Me(jn(this.defaultConfig,t));return zo(e)?(n=e.args,r={...r,toolCall:e}):n=e,this.call(n,r)}async call(e,t,n){let r=zo(e)?e.args:e,s;if(In(this.schema))try{s=await Pp(this.schema,r)}catch(h){let f="Received tool input did not match expected schema";throw this.verboseParsingErrors&&(f=`${f}
242
- Details: ${h.message}`),qx(h)&&(f=`${f}
243
-
244
- ${qj(h)}`),new El(f,JSON.stringify(e))}else{let h=st(r,this.schema);if(!h.valid){let f="Received tool input did not match expected schema";throw this.verboseParsingErrors&&(f=`${f}
245
- Details: ${h.errors.map(m=>`${m.keywordLocation}: ${m.error}`).join(`
246
- `)}`),new El(f,JSON.stringify(e))}s=r}let a=Hc(t),i=Qt.configure(a.callbacks,this.callbacks,a.tags||n,this.tags,a.metadata,this.metadata,{verbose:this.verbose}),o;zo(e)&&(o=e.id),!o&&h$(a)&&(o=a.toolCall.id);let c=await i?.handleToolStart(this.toJSON(),typeof e=="string"?e:JSON.stringify(e),a.runId,void 0,void 0,void 0,a.runName,o);delete a.runId;let u;try{let h=await this._call(s,c,a);u=lO(h)?await QM(h,async f=>{try{await c?.handleToolEvent(f)}catch(m){await c?.handleToolError(m)}}):h}catch(h){throw await c?.handleToolError(h),h}let l,d;if(this.responseFormat==="content_and_artifact")if(Array.isArray(u)&&u.length===2)[l,d]=u;else throw new Error(`Tool response format is "content_and_artifact" but the output was not a two-tuple.
247
- Result: ${JSON.stringify(u)}`);else l=u;let p=vz({content:l,artifact:d,toolCallId:o,name:this.name,metadata:this.metadata});return await c?.handleToolEnd(p),p}},kS=class extends Vp{schema=Mp({input:Rp().optional()}).transform(e=>e.input);constructor(e){super(e)}call(e,t){let n=typeof e=="string"||e==null?{input:e}:e;return super.call(n,t)}},xS=class extends kS{static lc_name(){return"DynamicTool"}name;description;func;constructor(e){super(e),this.name=e.name,this.description=e.description,this.func=e.func,this.returnDirect=e.returnDirect??this.returnDirect}async call(e,t){let n=Hc(t);return n.runName===void 0&&(n.runName=this.name),super.call(e,n)}_call(e,t,n){return this.func(e,t,n)}},OS=class extends Vp{static lc_name(){return"DynamicStructuredTool"}description;func;schema;constructor(e){super(e),this.name=e.name,this.description=e.description,this.func=e.func,this.returnDirect=e.returnDirect??this.returnDirect,this.schema=e.schema}async call(e,t,n){let r=Hc(t);return r.runName===void 0&&(r.runName=this.name),super.call(e,r,n)}_call(e,t,n){return this.func(e,t,n)}},yz=class{getTools(){return this.tools}};function _z(e,t){let n=Zy(t.schema),r=Bo(t.schema);if(!t.schema||n||r)return new xS({...t,description:t.description??t.schema?.description??`${t.name} tool`,func:async(i,o,c)=>new Promise((u,l)=>{let d=Ve(c,{callbacks:o?.getChild()});Mt.runWithConfig(Hr(d),async()=>{try{u(e(i,d))}catch(p){l(p)}})})});let s=t.schema,a=t.description??t.schema.description??`${t.name} tool`;return new OS({...t,description:a,schema:s,func:async(i,o,c)=>new Promise((u,l)=>{let d,p=()=>{c?.signal&&d&&c.signal.removeEventListener("abort",d)};c?.signal&&(d=()=>{p(),l(ec(c.signal))},c.signal.addEventListener("abort",d,{once:!0}));let h=Ve(c,{callbacks:o?.getChild()});Mt.runWithConfig(Hr(h),async()=>{try{let f=await e(i,h);if(lO(f)){u(f);return}if(c?.signal?.aborted){p();return}p(),u(f)}catch(f){p(),l(f)}})})})}function vz(e){let{content:t,artifact:n,toolCallId:r,metadata:s}=e;return r&&!wy(t)?typeof t=="string"||Array.isArray(t)&&t.every(a=>typeof a=="object")?new Mn({status:"success",content:t,artifact:n,tool_call_id:r,name:e.name,metadata:s}):new Mn({status:"success",content:wz(t),artifact:n,tool_call_id:r,name:e.name,metadata:s}):t}function wz(e){try{return JSON.stringify(e)??""}catch{return`${e}`}}var bz=Q({RunCollectorCallbackHandler:()=>kz}),kz=class extends Xr{name="run_collector";exampleId;tracedRuns;constructor({exampleId:e}={}){super({_awaitHandler:!0}),this.exampleId=e,this.tracedRuns=[]}async persistRun(e){let t={...e};t.reference_example_id=this.exampleId,this.tracedRuns.push(t)}},xz=Q({}),Oz=Q({chunkArray:()=>Sz}),Sz=(e,t)=>e.reduce((n,r,s)=>{let a=Math.floor(s/t);return n[a]=(n[a]||[]).concat([r]),n},[]),Tz=Q({context:()=>Iz});function Iz(e,...t){let n=e.raw,r="";for(let s=0;s<n.length;s++){let a=n[s].replace(/\\\n[ \t]*/g,"").replace(/\\`/g,"`").replace(/\\\$/g,"$").replace(/\\\{/g,"{");if(r+=a,s<t.length){let i=Ez(t[s],r);r+=typeof i=="string"?i:JSON.stringify(i)}}return r=Az(r),r=r.trim(),r=r.replace(/\\n/g,`
248
- `),r}function Ez(e,t){if(typeof e!="string"||!e.includes(`
249
- `))return e;let n=t.slice(t.lastIndexOf(`
250
- `)+1).match(/^(\s+)/);if(n){let r=n[1];return e.replace(/\n/g,`
251
- ${r}`)}return e}function Az(e){let t=e.split(`
252
- `),n=null;for(let r of t){let s=r.match(/^(\s+)\S+/);if(s){let a=s[1].length;n===null?n=a:n=Math.min(n,a)}}return n===null?e:t.map(r=>r[0]===" "||r[0]===" "?r.slice(n):r).join(`
253
- `)}var $z=Q({EventStreamContentType:()=>Cz,convertEventStreamToIterableReadableDataStream:()=>Pz,getBytes:()=>SS,getLines:()=>TS,getMessages:()=>IS}),Cz="text/event-stream";async function SS(e,t){if(e instanceof ReadableStream){let n=e.getReader();for(;;){let r=await n.read();if(r.done){t(new Uint8Array,!0);break}t(r.value)}}else try{for await(let n of e)t(new Uint8Array(n));t(new Uint8Array,!0)}catch(n){throw new Error(["Parsing event source stream failed.","Ensure your implementation of fetch returns a web or Node readable stream.",`Error: ${n.message}`].join(`
254
- `))}}var oi=(function(e){return e[e.NewLine=10]="NewLine",e[e.CarriageReturn=13]="CarriageReturn",e[e.Space=32]="Space",e[e.Colon=58]="Colon",e})(oi||{});function TS(e){let t,n,r,s=!1;return function(a,i){if(i){e(a,0,!0);return}t===void 0?(t=a,n=0,r=-1):t=Nz(t,a);let o=t.length,c=0;for(;n<o;){s&&(t[n]===oi.NewLine&&(c=++n),s=!1);let u=-1;for(;n<o&&u===-1;++n)switch(t[n]){case oi.Colon:r===-1&&(r=n-c);break;case oi.CarriageReturn:s=!0;case oi.NewLine:u=n;break}if(u===-1)break;e(t.subarray(c,u),r),c=n,r=-1}c===o?t=void 0:c!==0&&(t=t.subarray(c),n-=c)}}function IS(e,t,n){let r=If(),s=new TextDecoder;return function(a,i,o){if(o){jz(r)||(e?.(r),r=If());return}if(a.length===0)e?.(r),r=If();else if(i>0){let c=s.decode(a.subarray(0,i)),u=i+(a[i+1]===oi.Space?2:1),l=s.decode(a.subarray(u));switch(c){case"data":r.data=r.data?r.data+`
255
- `+l:l;break;case"event":r.event=l;break;case"id":t?.(r.id=l);break;case"retry":{let d=parseInt(l,10);Number.isNaN(d)||n?.(r.retry=d);break}}}}}function Nz(e,t){let n=new Uint8Array(e.length+t.length);return n.set(e),n.set(t,e.length),n}function If(){return{data:"",event:"",id:"",retry:void 0}}function Pz(e,t){let n=new ReadableStream({async start(r){let s=IS(a=>{if(a.event==="error")throw new Error(a.data??"Unspecified event streaming error.");a.event==="metadata"?t?.(a):a.data&&r.enqueue(a.data)});await SS(e,TS((a,i,o)=>{s(a,i,o),o&&r.close()}))}});return gn.fromReadableStream(n)}function jz(e){return e.data===""&&e.event===""&&e.id===""&&e.retry===void 0}var Rz=Q({}),Mz=Q({convertToOpenAIFunction:()=>ES,convertToOpenAITool:()=>AS,isLangChainTool:()=>tu,isRunnableToolLike:()=>b_,isStructuredTool:()=>w_,isStructuredToolParams:()=>k_});function ES(e,t){let n=typeof t=="number"?void 0:t;return{name:e.name,description:e.description,parameters:It(e.schema),...n?.strict!==void 0?{strict:n.strict}:{}}}function AS(e,t){let n=typeof t=="number"?void 0:t,r;return tu(e)?r={type:"function",function:ES(e)}:r=e,n?.strict!==void 0&&(r.function.strict=n.strict),r}function $S(e,t){let n=0,r=0,s=0;for(let a=0;a<e.length;a++)n+=e[a]*t[a],r+=e[a]*e[a],s+=t[a]*t[a];return n/(Math.sqrt(r)*Math.sqrt(s))}function Lz(e,t){let n=0;for(let r=0;r<e.length;r++)n+=e[r]*t[r];return n}function zz(e,t){let n=0;for(let r=0;r<e.length;r++)n+=(e[r]-t[r])*(e[r]-t[r]);return n}function Uz(e,t){return Math.sqrt(zz(e,t))}var Dz=Q({cosineSimilarity:()=>hg,euclideanDistance:()=>Zz,innerProduct:()=>Bz,matrixFunc:()=>qp,maximalMarginalRelevance:()=>Vz,normalize:()=>Fz});function qp(e,t,n){if(e.length===0||e[0].length===0||t.length===0||t[0].length===0)return[[]];if(e[0].length!==t[0].length)throw new Error(`Number of columns in X and Y must be the same. X has shape ${[e.length,e[0].length]} and Y has shape ${[t.length,t[0].length]}.`);return e.map(r=>t.map(s=>n(r,s)).map(s=>Number.isNaN(s)?0:s))}function Fz(e,t=!1){let n=qz(e);return e.map(r=>r.map(s=>t?1-s/n:s/n))}function hg(e,t){return qp(e,t,$S)}function Bz(e,t){return qp(e,t,Lz)}function Zz(e,t){return qp(e,t,Uz)}function Vz(e,t,n=.5,r=4){if(Math.min(r,t.length)<=0)return[];let s=hg(Array.isArray(e[0])?e:[e],t)[0],a=CS(s).maxIndex,i=[t[a]],o=[a];for(;o.length<Math.min(r,t.length);){let c=-1/0,u=-1,l=hg(t,i);s.forEach((d,p)=>{if(o.includes(p))return;let h=Math.max(...l[p]),f=n*d-(1-n)*h;f>c&&(c=f,u=p)}),i.push(t[u]),o.push(u)}return o}function CS(e){if(e.length===0)return{maxIndex:-1,maxValue:NaN};let t=e[0],n=0;for(let r=1;r<e.length;r+=1)e[r]>t&&(n=r,t=e[r]);return{maxIndex:n,maxValue:t}}function qz(e){return e.reduce((t,n)=>Math.max(t,CS(n).maxValue),0)}var Hz=Q({isCloudMetadata:()=>fg,isLocalhost:()=>mg,isPrivateIp:()=>MS,isSafeUrl:()=>e9,isSameOrigin:()=>t9,validateSafeUrl:()=>LS}),Wz=["10.0.0.0/8","172.16.0.0/12","192.168.0.0/16","127.0.0.0/8","169.254.0.0/16","0.0.0.0/8","::1/128","fc00::/7","fe80::/10","ff00::/8"],Jz=["169.254.169.254","169.254.170.2","100.100.100.200"],Gz=["metadata.google.internal","metadata","instance-data"],Kz=["localhost","localhost.localdomain"],Xz=/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/;function NS(e){return Xz.test(e)}function Hp(e){return RS(e)!==null}function PS(e){return NS(e)||Hp(e)}function jS(e){if(NS(e))return e.split(".").map(t=>parseInt(t,10));if(Hp(e)){let t=RS(e);if(!t)return null;let n=t.split(":"),r=[];for(let s of n)r.push(parseInt(s,16));return r}return null}function RS(e){if(!e||typeof e!="string"||!e.includes(":")||!/^[0-9a-fA-F:]+$/.test(e))return null;let t=e;if(t.includes("::")){let r=t.split("::");if(r.length>2)return null;let[s,a]=r,i=s?s.split(":"):[],o=a?a.split(":"):[],c=8-(i.length+o.length);if(c<0)return null;let u=Array(c).fill("0");t=[...i,...u,...o].filter(l=>l!=="").join(":")}let n=t.split(":");if(n.length!==8)return null;for(let r of n)if(r.length===0||r.length>4||!/^[0-9a-fA-F]+$/.test(r))return null;return n.map(r=>r.padStart(4,"0").toLowerCase()).join(":")}function Yz(e){let[t,n]=e.split("/");if(!t||!n)return null;let r=jS(t);if(!r)return null;let s=parseInt(n,10);if(isNaN(s))return null;let a=Hp(t);return a&&s>128||!a&&s>32?null:{addr:r,prefixLen:s,isIpv6:a}}function Qz(e,t){let n=jS(e);if(!n)return!1;let r=Yz(t);if(!r)return!1;let s=Hp(e);if(s!==r.isIpv6)return!1;let{addr:a,prefixLen:i}=r;if(s)for(let o=0;o<Math.ceil(i/16);o++){let c=65535<<16-Math.min(16,i-o*16)&65535;if((n[o]&c)!==(a[o]&c))return!1}else for(let o=0;o<Math.ceil(i/8);o++){let c=255<<8-Math.min(8,i-o*8)&255;if((n[o]&c)!==(a[o]&c))return!1}return!0}function MS(e){if(!PS(e))return!1;for(let t of Wz)if(Qz(e,t))return!0;return!1}function fg(e,t){if(Jz.includes(t||""))return!0;let n=e.toLowerCase();return!!Gz.includes(n)}function mg(e,t){if(t&&(t==="127.0.0.1"||t==="::1"||t==="0.0.0.0"||t.startsWith("127.")))return!0;let n=e.toLowerCase();return!!Kz.includes(n)}function LS(e,t){let n=t?.allowPrivate??!1,r=t?.allowHttp??!1;try{let s;try{s=new URL(e)}catch{throw new Error(`Invalid URL: ${e}`)}let a=s.hostname;if(!a)throw new Error("URL missing hostname.");if(fg(a))throw new Error(`URL points to cloud metadata endpoint: ${a}`);if(mg(a)){if(!n)throw new Error(`URL points to localhost: ${a}`);return e}let i=s.protocol;if(i!=="http:"&&i!=="https:")throw new Error(`Invalid URL scheme: ${i}. Only http and https are allowed.`);if(i==="http:"&&!r)throw new Error("HTTP scheme not allowed. Use HTTPS or set allowHttp: true.");if(PS(a)){let o=a;if(mg(a,o)){if(!n)throw new Error(`URL points to localhost: ${a}`);return e}if(fg(a,o))throw new Error(`URL resolves to cloud metadata IP: ${o} (${a})`);if(MS(o)&&!n)throw new Error(`URL resolves to private IP: ${o} (${a}). Set allowPrivate: true to allow.`);return e}return e}catch(s){throw s&&typeof s=="object"&&"message"in s?s:new Error(`URL validation failed: ${s}`)}}function e9(e,t){try{return LS(e,t),!0}catch{return!1}}function t9(e,t){try{return new URL(e).origin===new URL(t).origin}catch{return!1}}var n9=Q({SaveableVectorStore:()=>r9,VectorStore:()=>x_,VectorStoreRetriever:()=>ll}),ll=class extends m_{static lc_name(){return"VectorStoreRetriever"}get lc_namespace(){return["langchain_core","vectorstores"]}vectorStore;k=4;searchType="similarity";searchKwargs;filter;_vectorstoreType(){return this.vectorStore._vectorstoreType()}constructor(e){super(e),this.vectorStore=e.vectorStore,this.k=e.k??this.k,this.searchType=e.searchType??this.searchType,this.filter=e.filter,e.searchType==="mmr"&&(this.searchKwargs=e.searchKwargs)}async _getRelevantDocuments(e,t){if(this.searchType==="mmr"){if(typeof this.vectorStore.maxMarginalRelevanceSearch!="function")throw new Error(`The vector store backing this retriever, ${this._vectorstoreType()} does not support max marginal relevance search.`);return this.vectorStore.maxMarginalRelevanceSearch(e,{k:this.k,filter:this.filter,...this.searchKwargs},t?.getChild("vectorstore"))}return this.vectorStore.similaritySearch(e,this.k,this.filter,t?.getChild("vectorstore"))}async addDocuments(e,t){return this.vectorStore.addDocuments(e,t)}},x_=class extends Rn{lc_namespace=["langchain","vectorstores",this._vectorstoreType()];embeddings;constructor(e,t){super(t),this.embeddings=e}async delete(e){throw new Error("Not implemented.")}async similaritySearch(e,t=4,n=void 0,r=void 0){return(await this.similaritySearchVectorWithScore(await this.embeddings.embedQuery(e),t,n)).map(s=>s[0])}async similaritySearchWithScore(e,t=4,n=void 0,r=void 0){return this.similaritySearchVectorWithScore(await this.embeddings.embedQuery(e),t,n)}static fromTexts(e,t,n,r){throw new Error("the Langchain vectorstore implementation you are using forgot to override this, please report a bug")}static fromDocuments(e,t,n){throw new Error("the Langchain vectorstore implementation you are using forgot to override this, please report a bug")}asRetriever(e,t,n,r,s,a){if(typeof e=="number")return new ll({vectorStore:this,k:e,filter:t,tags:[...r??[],this._vectorstoreType()],metadata:s,verbose:a,callbacks:n});{let i={vectorStore:this,k:e?.k,filter:e?.filter,tags:[...e?.tags??[],this._vectorstoreType()],metadata:e?.metadata,verbose:e?.verbose,callbacks:e?.callbacks,searchType:e?.searchType};return e?.searchType==="mmr"?new ll({...i,searchKwargs:e.searchKwargs}):new ll({...i})}}},r9=class extends x_{static load(e,t){throw new Error("Not implemented")}},s9=class extends Pa{_combineLLMOutput(){return[]}_llmType(){return"fake"}async _generate(e,t,n){if(t?.stop?.length)return{generations:[{message:new Ke(t.stop[0]),text:t.stop[0]}]};let r=e.map(s=>typeof s.content=="string"?s.content:JSON.stringify(s.content,null,2)).join(`
256
- `);return await n?.handleLLMNewToken(r),{generations:[{message:new Ke(r),text:r}],llmOutput:{}}}},a9=class zS extends Pa{sleep=50;responses=[];chunks=[];toolStyle="openai";thrownErrorString;tools=[];constructor({sleep:t=50,responses:n=[],chunks:r=[],toolStyle:s="openai",thrownErrorString:a,...i}){super(i),this.sleep=t,this.responses=n,this.chunks=r,this.toolStyle=s,this.thrownErrorString=a}_llmType(){return"fake"}bindTools(t){let n=[...this.tools,...t],r=n.map(i=>{switch(this.toolStyle){case"openai":return{type:"function",function:{name:i.name,description:i.description,parameters:It(i.schema)}};case"anthropic":return{name:i.name,description:i.description,input_schema:It(i.schema)};case"bedrock":return{toolSpec:{name:i.name,description:i.description,inputSchema:It(i.schema)}};case"google":return{name:i.name,description:i.description,parameters:It(i.schema)};default:throw new Error(`Unsupported tool style: ${this.toolStyle}`)}}),s=this.toolStyle==="google"?[{functionDeclarations:r}]:r,a=new zS({sleep:this.sleep,responses:this.responses,chunks:this.chunks,toolStyle:this.toolStyle,thrownErrorString:this.thrownErrorString});return a.tools=n,a.withConfig({tools:s})}async _generate(t,n,r){if(this.thrownErrorString)throw new Error(this.thrownErrorString);return{generations:[{text:"",message:new Ke({content:this.responses?.[0]?.content??t[0].content??"",tool_calls:this.chunks?.[0]?.tool_calls})}]}}async*_streamResponseChunks(t,n,r){if(this.thrownErrorString)throw new Error(this.thrownErrorString);if(this.chunks?.length){for(let i of this.chunks){let o=new Wr({message:new mn({content:i.content,tool_calls:i.tool_calls,additional_kwargs:i.additional_kwargs??{}}),text:i.content?.toString()??""});if(n.signal?.aborted)break;yield o,await r?.handleLLMNewToken(i.content,void 0,void 0,void 0,void 0,{chunk:o})}return}let s=this.responses?.[0]??new Ke(typeof t[0].content=="string"?t[0].content:""),a=typeof s.content=="string"?s.content:"";for(let i of a){await new Promise(c=>setTimeout(c,this.sleep));let o=new Wr({message:new mn({content:i}),text:i});if(n.signal?.aborted)break;yield o,await r?.handleLLMNewToken(i,void 0,void 0,void 0,void 0,{chunk:o})}}},i9=class US extends Pa{static lc_name(){return"FakeListChatModel"}lc_serializable=!0;responses;i=0;sleep;emitCustomEvent=!1;generationInfo;tools=[];toolStyle="openai";constructor(t){super(t);let{responses:n,sleep:r,emitCustomEvent:s,generationInfo:a}=t;this.responses=n,this.sleep=r,this.emitCustomEvent=s??this.emitCustomEvent,this.generationInfo=a}_combineLLMOutput(){return[]}_llmType(){return"fake-list"}async _generate(t,n,r){if(await this._sleepIfRequested(),n?.thrownErrorString)throw new Error(n.thrownErrorString);if(this.emitCustomEvent&&await r?.handleCustomEvent("some_test_event",{someval:!0}),n?.stop?.length)return{generations:[this._formatGeneration(n.stop[0])]};{let s=this._currentResponse();return this._incrementResponse(),{generations:[this._formatGeneration(s)],llmOutput:{}}}}_formatGeneration(t){return{message:new Ke(t),text:t}}async*_streamResponseChunks(t,n,r){let s=this._currentResponse();this._incrementResponse(),this.emitCustomEvent&&await r?.handleCustomEvent("some_test_event",{someval:!0});let a=[...s];for(let i=0;i<a.length;i++){let o=a[i],c=i===a.length-1;if(await this._sleepIfRequested(),n?.thrownErrorString)throw new Error(n.thrownErrorString);let u=this._createResponseChunk(o,c?this.generationInfo:void 0);if(n.signal?.aborted)break;yield u,r?.handleLLMNewToken(o)}}async _sleepIfRequested(){this.sleep!==void 0&&await this._sleep()}async _sleep(){return new Promise(t=>{setTimeout(()=>t(),this.sleep)})}_createResponseChunk(t,n){return new Wr({message:new mn({content:t}),text:t,generationInfo:n})}_currentResponse(){return this.responses[this.i]}_incrementResponse(){this.i<this.responses.length-1?this.i+=1:this.i=0}bindTools(t){let n=[...this.tools,...t],r=n.map(i=>{switch(this.toolStyle){case"openai":return{type:"function",function:{name:i.name,description:i.description,parameters:It(i.schema)}};case"anthropic":return{name:i.name,description:i.description,input_schema:It(i.schema)};case"bedrock":return{toolSpec:{name:i.name,description:i.description,inputSchema:It(i.schema)}};case"google":return{name:i.name,description:i.description,parameters:It(i.schema)};default:throw new Error(`Unsupported tool style: ${this.toolStyle}`)}}),s=this.toolStyle==="google"?[{functionDeclarations:r}]:r,a=new US({responses:this.responses,sleep:this.sleep,emitCustomEvent:this.emitCustomEvent,generationInfo:this.generationInfo});return a.tools=n,a.toolStyle=this.toolStyle,a.i=this.i,a.withConfig({tools:s})}withStructuredOutput(t,n){return lr.from(async r=>{let s=await this.invoke(r);if(s.tool_calls?.[0]?.args)return s.tool_calls[0].args;if(typeof s.content=="string")return JSON.parse(s.content);throw new Error("No structured output found")})}},o9=class extends Yy{vectorSize;constructor(e){super(e??{}),this.vectorSize=e?.vectorSize??4}async embedDocuments(e){return Promise.all(e.map(t=>this.embedQuery(t)))}async embedQuery(e){let t=e;t=t.toLowerCase().replaceAll(/[^a-z ]/g,"");let n=t.length%this.vectorSize,r=n===0?0:this.vectorSize-n,s=t.length+r;t=t.padEnd(s," ");let a=t.length/this.vectorSize,i=[];for(let o=0;o<t.length;o+=a)i.push(t.slice(o,o+a));return i.map(o=>{let c=0;for(let u=0;u<o.length;u+=1)c+=o===" "?0:o.charCodeAt(u);return c%26/26})}},c9=class extends Yy{constructor(e){super(e??{})}embedDocuments(e){return Promise.resolve(e.map(()=>[.1,.2,.3,.4]))}embedQuery(e){return Promise.resolve([.1,.2,.3,.4])}},u9=class extends u_{response;thrownErrorString;constructor(e){super(e),this.response=e.response,this.thrownErrorString=e.thrownErrorString}_llmType(){return"fake"}async _call(e,t,n){if(this.thrownErrorString)throw new Error(this.thrownErrorString);let r=this.response??e;return await n?.handleLLMNewToken(r),r}},l9=class extends u_{sleep=50;responses;thrownErrorString;constructor(e){super(e),this.sleep=e.sleep??this.sleep,this.responses=e.responses,this.thrownErrorString=e.thrownErrorString}_llmType(){return"fake"}async _call(e){if(this.thrownErrorString)throw new Error(this.thrownErrorString);let t=this.responses?.[0];return this.responses=this.responses?.slice(1),t??e}async*_streamResponseChunks(e,t,n){if(this.thrownErrorString)throw new Error(this.thrownErrorString);let r=this.responses?.[0];this.responses=this.responses?.slice(1);for(let s of r??e)await new Promise(a=>setTimeout(a,this.sleep)),yield{text:s,generationInfo:{}},await n?.handleLLMNewToken(s)}},d9=class extends wO{lc_namespace=["langchain_core","message","fake"];messages=[];constructor(){super()}async getMessages(){return this.messages}async addMessage(e){this.messages.push(e)}async addUserMessage(e){this.messages.push(new An(e))}async addAIMessage(e){this.messages.push(new Ke(e))}async clear(){this.messages=[]}},p9=class extends Xy{lc_namespace=["langchain_core","message","fake"];messages=[];constructor(){super()}async addMessage(e){this.messages.push(e)}async getMessages(){return this.messages}},h9=class extends Xr{name="fake_tracer";runs=[];constructor(){super()}persistRun(e){return this.runs.push(e),Promise.resolve()}},f9=class extends so{lc_namespace=["tests","fake"];getFormatInstructions(){return""}async parse(e){return e.split(",").map(t=>t.trim())}},m9=class extends m_{lc_namespace=["test","fake"];output=[new gs({pageContent:"foo"}),new gs({pageContent:"bar"})];constructor(e){super(),this.output=e?.output??this.output}async _getRelevantDocuments(e){return this.output}},g9=class extends je{lc_namespace=["tests","fake"];returnOptions;constructor(e){super(e),this.returnOptions=e.returnOptions}async invoke(e,t){return this.returnOptions?t??{}:{input:e}}},y9=class extends Vp{name;description;schema;constructor(e){super(e),this.name=e.name,this.description=e.description,this.schema=e.schema}async _call(e,t){return JSON.stringify(e)}},_9=class extends Xr{runPromiseResolver;runPromise;name="single_run_extractor";constructor(){super(),this.runPromise=new Promise(e=>{this.runPromiseResolver=e})}async persistRun(e){this.runPromiseResolver(e)}async extract(){return this.runPromise}},v9=class DS extends x_{memoryVectors=[];similarity;_vectorstoreType(){return"memory"}constructor(t,{similarity:n,...r}={}){super(t,r),this.similarity=n??$S}async addDocuments(t){let n=t.map(({pageContent:r})=>r);return this.addVectors(await this.embeddings.embedDocuments(n),t)}async addVectors(t,n){let r=t.map((s,a)=>({content:n[a].pageContent,embedding:s,metadata:n[a].metadata}));this.memoryVectors=this.memoryVectors.concat(r)}async similaritySearchVectorWithScore(t,n,r){let s=i=>r?r(new gs({metadata:i.metadata,pageContent:i.content})):!0,a=this.memoryVectors.filter(s);return a.map((i,o)=>({similarity:this.similarity(t,i.embedding),index:o})).sort((i,o)=>i.similarity>o.similarity?-1:0).slice(0,n).map(i=>[new gs({metadata:a[i.index].metadata,pageContent:a[i.index].content}),i.similarity])}static async fromTexts(t,n,r,s){let a=[];for(let i=0;i<t.length;i+=1){let o=Array.isArray(n)?n[i]:n,c=new gs({pageContent:t[i],metadata:o});a.push(c)}return DS.fromDocuments(a,r,s)}static async fromDocuments(t,n,r){let s=new this(n,r);return await s.addDocuments(t),s}static async fromExistingIndex(t,n){return new this(t,n)}},w9=Q({FakeChatMessageHistory:()=>d9,FakeChatModel:()=>s9,FakeEmbeddings:()=>c9,FakeLLM:()=>u9,FakeListChatMessageHistory:()=>p9,FakeListChatModel:()=>i9,FakeRetriever:()=>m9,FakeRunnable:()=>g9,FakeSplitIntoListParser:()=>f9,FakeStreamingChatModel:()=>a9,FakeStreamingLLM:()=>l9,FakeTool:()=>y9,FakeTracer:()=>h9,FakeVectorStore:()=>v9,SingleRunExtractor:()=>_9,SyntheticEmbeddings:()=>o9}),b9=Q({agents:()=>BA,caches:()=>B$,callbacks__base:()=>sC,callbacks__manager:()=>oj,callbacks__promises:()=>rj,chat_history:()=>fL,document_loaders__base:()=>_L,document_loaders__langsmith:()=>vL,documents:()=>yL,embeddings:()=>kL,errors:()=>HA,example_selectors:()=>EL,index:()=>FA,indexing:()=>CL,language_models__base:()=>qL,language_models__chat_models:()=>m4,language_models__llms:()=>y4,language_models__profile:()=>_4,language_models__structured_output:()=>h4,load__serializable:()=>LA,memory:()=>v4,messages:()=>hL,messages__tool:()=>p$,output_parsers:()=>d4,output_parsers__openai_functions:()=>S4,output_parsers__openai_tools:()=>T4,outputs:()=>kj,prompt_values:()=>NL,prompts:()=>Q4,retrievers:()=>nz,retrievers__document_compressors:()=>ez,runnables:()=>YL,runnables__graph:()=>HM,singletons:()=>lj,stores:()=>rz,structured_query:()=>lz,testing:()=>mz,tools:()=>gz,tracers__base:()=>FP,tracers__console:()=>qP,tracers__log_stream:()=>wj,tracers__run_collector:()=>bz,tracers__tracer_langchain:()=>XP,types__stream:()=>xz,utils__async_caller:()=>Cj,utils__chunk_array:()=>Oz,utils__context:()=>Tz,utils__env:()=>UA,utils__event_source_parse:()=>$z,utils__format:()=>Rz,utils__function_calling:()=>Mz,utils__hash:()=>VA,utils__json_patch:()=>QL,utils__json_schema:()=>UM,utils__math:()=>Dz,utils__ssrf:()=>Hz,utils__standard_schema:()=>jj,utils__stream:()=>pj,utils__testing:()=>w9,utils__tiktoken:()=>ZL,utils__types:()=>p4,vectorstores:()=>n9}),k9=50;function x9(e){let t={};for(let n=e;n&&n.prototype;n=Object.getPrototypeOf(n))Object.assign(t,Reflect.get(n.prototype,"lc_aliases"));return Object.entries(t).reduce((n,[r,s])=>(n[s]=r,n),{})}async function dl(e){let{optionalImportsMap:t,optionalImportEntrypoints:n,importMap:r,secretsMap:s,secretsFromEnv:a,path:i,depth:o,maxDepth:c}=this,u=i.join(".");if(o>c)throw new Error(`Maximum recursion depth (${c}) exceeded during deserialization. This may indicate a malicious payload or you may need to increase maxDepth.`);if(typeof e!="object"||e==null)return e;if(Array.isArray(e))return Promise.all(e.map((p,h)=>dl.call({...this,path:[...i,`${h}`],depth:o+1},p)));let l=e;if(uk(l))return am(l);if("lc"in l&&"type"in l&&"id"in l&&l.lc===1&&l.type==="secret"){let[p]=l.id;if(p in s)return s[p];if(a){let h=rr(p);if(h)return h}throw new Error(`Missing secret "${p}" at ${u}`)}if("lc"in l&&"type"in l&&"id"in l&&l.lc===1&&l.type==="not_implemented"){let p=JSON.stringify(l);throw new Error(`Trying to load an object that doesn't implement serialization: ${u} -> ${p}`)}if("lc"in l&&"type"in l&&"id"in l&&"kwargs"in l&&l.lc===1&&l.type==="constructor"){let p=l,h=JSON.stringify(p),[f,...m]=p.id.slice().reverse(),v=m.reverse(),g={langchain_core:b9,langchain:r},y=null,k=[v.join("/")];v[0]==="langchain_community"&&k.push(["langchain",...v.slice(1)].join("/"));let x=k.find(I=>I in t);if(DA.concat(n).includes(v.join("/"))||x)if(x!==void 0)y=await t[x];else throw new Error(`Missing key "${v.join("/")}" for ${u} in load(optionalImportsMap={})`);else{let I;if(v[0]==="langchain"||v[0]==="langchain_core")I=g[v[0]],v.shift();else throw new Error(`Invalid namespace: ${u} -> ${h}`);if(v.length===0)throw new Error(`Invalid namespace: ${u} -> ${h}`);let w;do{if(w=v.join("__"),w in I)break;v.pop()}while(v.length>0);w in I&&(y=I[w])}if(typeof y!="object"||y===null)throw new Error(`Invalid namespace: ${u} -> ${h}`);let S=y[f]??Object.values(y).find(I=>typeof I=="function"&&vp(I)===f);if(typeof S!="function")throw new Error(`Invalid identifer: ${u} -> ${h}`);let E=new S(ok(await dl.call({...this,path:[...i,"kwargs"],depth:o+1},p.kwargs),NA,x9(S)));return Object.defineProperty(E.constructor,"name",{value:f}),E}let d={};for(let[p,h]of Object.entries(l))d[p]=await dl.call({...this,path:[...i,p],depth:o+1},h);return d}async function O9(e,t){let n=JSON.parse(e),r={optionalImportsMap:{},optionalImportEntrypoints:[],secretsMap:{},secretsFromEnv:!1,importMap:{},path:["$"],depth:0,maxDepth:k9};return dl.call(r,n)}function S9(e){return e!==null&&e.lc===1&&e.type==="constructor"&&Array.isArray(e.id)}async function gg(e){if(e&&typeof e=="object"){if(Array.isArray(e))return await Promise.all(e.map(t=>gg(t)));{let t={};for(let[n,r]of Object.entries(e))t[n]=await gg(r);if(t.lc===2&&t.type==="undefined")return;if(t.lc===2&&t.type==="constructor"&&Array.isArray(t.id))try{let n=t.id[t.id.length-1],r;switch(n){case"Set":r=Set;break;case"Map":r=Map;break;case"RegExp":r=RegExp;break;case"Error":r=Error;break;case"Uint8Array":r=Uint8Array;break;default:return t}return t.method?r[t.method](...t.args||[]):new r(...t.args||[])}catch{return t}else if(S9(t))return O9(JSON.stringify(t));return t}}return e}function Au(e,t,n,r){return{lc:2,type:"constructor",id:[e.name],method:t??null,args:n??[],kwargs:r??{}}}function T9(e){return e===void 0?{lc:2,type:"undefined"}:e instanceof Set||e instanceof Map?Au(e.constructor,void 0,[Array.from(e)]):e instanceof RegExp?Au(RegExp,void 0,[e.source,e.flags]):e instanceof Error?Au(e.constructor,void 0,[e.message]):e?.lg_name==="Send"?{node:e.node,args:e.args}:e instanceof Uint8Array?Au(Uint8Array,"from",[Array.from(e)]):e}var I9=class{_dumps(e){return new TextEncoder().encode(xA(e,(t,n)=>T9(n)))}async dumpsTyped(e){return e instanceof Uint8Array?["bytes",e]:["json",this._dumps(e)]}async _loads(e){return gg(JSON.parse(e))}async loadsTyped(e,t){if(e==="bytes")return typeof t=="string"?new TextEncoder().encode(t):t;if(e==="json")return this._loads(typeof t=="string"?t:new TextDecoder().decode(t));throw new Error(`Unknown serialization type: ${e}`)}};function FS(e){if(typeof e!="object"||e===null)return e;let t=Array.isArray(e)?[]:{};for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=FS(e[n]));return t}function BS(){return{v:4,id:ik(-2),ts:new Date().toISOString(),channel_values:{},channel_versions:{},versions_seen:{}}}function Jl(e){return{v:e.v,id:e.id,ts:e.ts,channel_values:{...e.channel_values},channel_versions:{...e.channel_versions},versions_seen:FS(e.versions_seen)}}function ZS(e,t){return typeof e=="number"&&typeof t=="number"?Math.sign(e-t):String(e).localeCompare(String(t))}function E9(...e){return e.reduce((t,n,r)=>r===0?n:ZS(t,n)>=0?t:n)}var A9={[_A]:-1,[tl]:-2,[vA]:-3,[wA]:-4},fo=class extends Error{constructor(e){super(e),this.name="InvalidNamespaceError"}};function $9(e){if(e.length===0)throw new fo("Namespace cannot be empty.");for(let t of e){if(typeof t!="string")throw new fo(`Invalid namespace label '${t}' found in ${e}. Namespace labels must be strings, but got ${typeof t}.`);if(t.includes("."))throw new fo(`Invalid namespace label '${t}' found in ${e}. Namespace labels cannot contain periods ('.').`);if(t==="")throw new fo(`Namespace labels cannot be empty strings. Got ${t} in ${e}`)}if(e[0]==="langgraph")throw new fo(`Root label for namespace cannot be "langgraph". Got: ${e}`)}var C9=class{async get(e,t){return(await this.batch([{namespace:e,key:t}]))[0]}async search(e,t={}){let{filter:n,limit:r=10,offset:s=0,query:a}=t;return(await this.batch([{namespacePrefix:e,filter:n,limit:r,offset:s,query:a}]))[0]}async put(e,t,n,r){$9(e),await this.batch([{namespace:e,key:t,value:n,index:r}])}async delete(e,t){await this.batch([{namespace:e,key:t,value:null}])}async listNamespaces(e={}){let{prefix:t,suffix:n,maxDepth:r,limit:s=100,offset:a=0}=e,i=[];return t&&i.push({matchType:"prefix",path:t}),n&&i.push({matchType:"suffix",path:n}),(await this.batch([{matchConditions:i.length?i:void 0,maxDepth:r,limit:s,offset:a}]))[0]}start(){}stop(){}},N9=e=>"lg_name"in e&&e.lg_name==="AsyncBatchedStore"?e.store:e,P9=class extends C9{lg_name="AsyncBatchedStore";store;queue=new Map;nextKey=0;running=!1;processingTask=null;constructor(e){super(),this.store=N9(e)}get isRunning(){return this.running}async batch(e){throw new Error("The `batch` method is not implemented on `AsyncBatchedStore`.\n Instead, it calls the `batch` method on the wrapped store.\n If you are seeing this error, something is wrong.")}async get(e,t){return this.enqueueOperation({namespace:e,key:t})}async search(e,t){let{filter:n,limit:r=10,offset:s=0,query:a}=t||{};return this.enqueueOperation({namespacePrefix:e,filter:n,limit:r,offset:s,query:a})}async put(e,t,n){return this.enqueueOperation({namespace:e,key:t,value:n})}async delete(e,t){return this.enqueueOperation({namespace:e,key:t,value:null})}start(){this.running||(this.running=!0,this.processingTask=this.processBatchQueue())}async stop(){this.running=!1,this.processingTask&&await this.processingTask}enqueueOperation(e){return new Promise((t,n)=>{let r=this.nextKey;this.nextKey+=1,this.queue.set(r,{operation:e,resolve:t,reject:n})})}async processBatchQueue(){for(;this.running;){if(await new Promise(t=>{setTimeout(t,0)}),this.queue.size===0)continue;let e=new Map(this.queue);this.queue.clear();try{let t=Array.from(e.values()).map(({operation:r})=>r),n=await this.store.batch(t);e.forEach(({resolve:r},s)=>{r(n[Array.from(e.keys()).indexOf(s)])})}catch(t){e.forEach(({reject:n})=>{n(t)})}}}toJSON(){return{queue:this.queue,nextKey:this.nextKey,running:this.running,store:"[LangGraphStore]"}}},j9=class{serde=new I9;constructor(e){this.serde=e||this.serde}};function VS(e){return e!=null&&e.lg_is_channel===!0}var Ls=class{ValueType;UpdateType;lg_is_channel=!0;consume(){return!1}finish(){return!1}isAvailable(){try{return this.get(),!0}catch(e){if(e.name===Et.unminifiable_name)return!1;throw e}}equals(e){return this===e}},yg=Symbol.for("LG_IS_ONLY_BASE_CHANNEL");function O_(e){if(e[yg]===!0)return e;let t={};for(let n in e){if(!Object.prototype.hasOwnProperty.call(e,n))continue;let r=e[n];VS(r)&&(t[n]=r)}return Object.assign(t,{[yg]:!0}),t}function Gl(e,t){let n=O_(e),r={};for(let s in n){if(!Object.prototype.hasOwnProperty.call(n,s))continue;let a=t.channel_values[s];r[s]=n[s].fromCheckpoint(a)}return Object.assign(r,{[yg]:!0}),r}function Ks(e,t,n,r){let s;if(t===void 0)s=e.channel_values;else{s={};for(let a in t)if(Object.prototype.hasOwnProperty.call(t,a))try{s[a]=t[a].checkpoint()}catch(i){if(i.name!==Et.unminifiable_name)throw i}}return{v:4,id:r?.id??ik(n),ts:new Date().toISOString(),channel_values:s,channel_versions:e.channel_versions,versions_seen:e.versions_seen}}var R9=e=>e!=null&&e.lc_graph_name==="BinaryOperatorAggregate",Kl=class qS extends Ls{lc_graph_name="BinaryOperatorAggregate";value;operator;initialValueFactory;constructor(t,n){super(),this.operator=t,this.initialValueFactory=n,this.value=n?.()}fromCheckpoint(t){let n=new qS(this.operator,this.initialValueFactory);return typeof t<"u"&&(n.value=t),n}update(t){let n=t;if(!n.length)return!1;if(this.value===void 0){let s=n[0],[a,i]=tm(s);a?this.value=i:this.value=s,n=n.slice(1)}let r=!1;for(let s of n)if(YE(s)){if(r)throw new Xe("Can receive only one Overwrite value per step.");let[,a]=tm(s);this.value=a,r=!0;continue}else!r&&this.value!==void 0&&(this.value=this.operator(this.value,s));return!0}get(){if(this.value===void 0)throw new Et;return this.value}checkpoint(){if(this.value===void 0)throw new Et;return this.value}isAvailable(){return this.value!==void 0}equals(t){return this===t?!0:R9(t)?this.operator===t.operator:!1}},Wp=class HS extends Ls{lc_graph_name="LastValue";value=[];constructor(t){super(),this.initialValueFactory=t,t&&(this.value=[t()])}fromCheckpoint(t){let n=new HS(this.initialValueFactory);return typeof t<"u"&&(n.value=[t]),n}update(t){if(t.length===0)return!1;if(t.length!==1)throw new Xe("LastValue can only receive one value per step.",{lc_error_code:"INVALID_CONCURRENT_GRAPH_UPDATE"});return this.value=[t[t.length-1]],!0}get(){if(this.value.length===0)throw new Et;return this.value[0]}checkpoint(){if(this.value.length===0)throw new Et;return this.value[0]}isAvailable(){return this.value.length!==0}},M9=class WS extends Ls{lc_graph_name="LastValueAfterFinish";value=[];finished=!1;fromCheckpoint(t){let n=new WS;if(typeof t<"u"){let[r,s]=t;n.value=[r],n.finished=s}return n}update(t){return t.length===0?!1:(this.finished=!1,this.value=[t[t.length-1]],!0)}get(){if(this.value.length===0||!this.finished)throw new Et;return this.value[0]}checkpoint(){if(this.value.length!==0)return[this.value[0],this.finished]}consume(){return this.finished?(this.finished=!1,this.value=[],!0):!1}finish(){return!this.finished&&this.value.length>0?(this.finished=!0,!0):!1}isAvailable(){return this.value.length!==0&&this.finished}},_g=class{lc_graph_name="AnnotationRoot";spec;constructor(e){this.spec=e}static isInstance(e){return typeof e=="object"&&e!==null&&"lc_graph_name"in e&&e.lc_graph_name==="AnnotationRoot"}},mt=function(e){return e?JS(e):new Wp};mt.Root=e=>new _g(e);function JS(e){return typeof e=="object"&&e&&"reducer"in e&&e.reducer?new Kl(e.reducer,e.default):typeof e=="object"&&e&&"value"in e&&e.value?new Kl(e.value,e.default):new Wp}var L9=["tags","metadata","callbacks","configurable"],z9=["tags","metadata","callbacks","runName","maxConcurrency","recursionLimit","configurable","runId","outputKeys","streamMode","store","writer","interrupt","context","interruptBefore","interruptAfter","checkpointDuring","durability","signal"],U9=25;function GS(...e){let t={tags:[],metadata:{},callbacks:void 0,recursionLimit:U9,configurable:{}},n=Mt.getRunnableConfig();if(n!==void 0){for(let[r,s]of Object.entries(n))if(s!==void 0)if(L9.includes(r)){let a;Array.isArray(s)?a=[...s]:typeof s=="object"?r==="callbacks"&&"copy"in s&&typeof s.copy=="function"?a=s.copy():a={...s}:a=s,t[r]=a}else t[r]=s}for(let r of e)if(r!==void 0)for(let[s,a]of Object.entries(r))a!==void 0&&z9.includes(s)&&(t[s]=a);for(let[r,s]of Object.entries(t.configurable))t.metadata=t.metadata??{},!r.startsWith("__")&&(typeof s=="string"||typeof s=="number"||typeof s=="boolean")&&!(r in t.metadata)&&(t.metadata[r]=s);return t}function D9(){return Mt.getRunnableConfig()}function Ef(e){return e.split("|").filter(t=>!t.match(/^\d+$/)).map(t=>t.split(":")[0]).join("|")}function F9(e){let t=e.split("|");for(;t.length>1&&t[t.length-1].match(/^\d+$/);)t.pop();return t.slice(0,-1).join("|")}var ja=class extends je{lc_namespace=["langgraph"];func;tags;config;trace=!0;recurse=!0;constructor(e){super(),this.name=e.name??e.func.name,this.func=e.func,this.config=e.tags?{tags:e.tags}:void 0,this.trace=e.trace??this.trace,this.recurse=e.recurse??this.recurse}async _tracedInvoke(e,t,n){return new Promise((r,s)=>{let a=Ve(t,{callbacks:n?.getChild()});Mt.runWithConfig(a,async()=>{try{r(await this.func(e,a))}catch(i){s(i)}})})}async invoke(e,t){let n,r=GS(t),s=jn(this.config,r);return this.trace?n=await this._callWithConfig(this._tracedInvoke,e,s):n=await Mt.runWithConfig(s,async()=>this.func(e,s)),je.isRunnable(n)&&this.recurse?await Mt.runWithConfig(s,async()=>n.invoke(e,s)):n}};function*Qr(e,t){if(t===void 0)yield*e;else for(let n of e)yield[t,n]}async function is(e){let t=[];for await(let n of await e)t.push(n);return t}function xo(e){let t=[];for(let n of e)t.push(n);return t}function Da(e,t){return e?"configurable"in e?{...e,configurable:{...e.configurable,...t}}:{...e,configurable:t}:{configurable:t}}function B9(e){return typeof e=="object"&&e?.[Symbol.for("LG_SKIP_WRITE")]!==void 0}var ca={[Symbol.for("LG_PASSTHROUGH")]:!0};function $u(e){return typeof e=="object"&&e?.[Symbol.for("LG_PASSTHROUGH")]!==void 0}var Af=Symbol("IS_WRITER"),Kt=class vg extends ja{writes;constructor(t,n){let r=`ChannelWrite<${t.map(s=>fn(s)?s.node:"channel"in s?s.channel:"...").join(",")}>`;super({writes:t,name:r,tags:n,trace:!1,func:async(s,a)=>this._write(s,a??{})}),this.writes=t}async _write(t,n){let r=this.writes.map(s=>$f(s)&&$u(s.value)?{mapper:s.mapper,value:t}:pl(s)&&$u(s.value)?{channel:s.channel,value:t,skipNone:s.skipNone,mapper:s.mapper}:s);return await vg.doWrite(n,r),t}static async doWrite(t,n){for(let a of n){if(pl(a)){if(a.channel==="__pregel_tasks")throw new Xe("Cannot write to the reserved channel TASKS");if($u(a.value))throw new Xe("PASSTHROUGH value must be replaced")}if($f(a)&&$u(a.value))throw new Xe("PASSTHROUGH value must be replaced")}let r=[];for(let a of n)if(fn(a))r.push([_i,a]);else if($f(a)){let i=await a.mapper.invoke(a.value,t);i!=null&&i.length>0&&r.push(...i)}else if(pl(a)){let i=a.mapper!==void 0?await a.mapper.invoke(a.value,t):a.value;if(B9(i)||a.skipNone&&i===void 0)continue;r.push([a.channel,i])}else throw new Error(`Invalid write entry: ${JSON.stringify(a)}`);let s=t.configurable?.[ds];s(r)}static isWriter(t){return t instanceof vg||Af in t&&!!t[Af]}static registerWriter(t){return Object.defineProperty(t,Af,{value:!0})}};function pl(e){return e!==void 0&&typeof e.channel=="string"}function $f(e){return e!==void 0&&!pl(e)&&je.isRunnable(e.mapper)}var Z9=class KS extends ja{lc_graph_name="ChannelRead";channel;fresh=!1;mapper;constructor(t,n,r=!1){super({trace:!1,func:(s,a)=>KS.doRead(a,this.channel,this.fresh,this.mapper)}),this.fresh=r,this.mapper=n,this.channel=t,this.name=Array.isArray(t)?`ChannelRead<${t.join(",")}>`:`ChannelRead<${t}>`}static doRead(t,n,r,s){let a=t.configurable?.[ra];if(!a)throw new Error("Runnable is not configured with a read function. Make sure to call in the context of a Pregel process");return s?s(a(n,r)):a(n,r)}},Fa=new ic,dc=class Oo extends Ss{lc_graph_name="PregelNode";channels;triggers=[];mapper;writers=[];bound=Fa;kwargs={};metadata={};tags=[];retryPolicy;cachePolicy;subgraphs;ends;constructor(t){let{channels:n,triggers:r,mapper:s,writers:a,bound:i,kwargs:o,metadata:c,retryPolicy:u,cachePolicy:l,tags:d,subgraphs:p,ends:h}=t,f=[...t.config?.tags?t.config.tags:[],...d??[]];super({...t,bound:t.bound??Fa,config:{...t.config?t.config:{},tags:f}}),this.channels=n,this.triggers=r,this.mapper=s,this.writers=a??this.writers,this.bound=i??this.bound,this.kwargs=o??this.kwargs,this.metadata=c??this.metadata,this.tags=f,this.retryPolicy=u,this.cachePolicy=l,this.subgraphs=p,this.ends=h}getWriters(){let t=[...this.writers];for(;t.length>1&&t[t.length-1]instanceof Kt&&t[t.length-2]instanceof Kt;){let n=t.slice(-2),r=n[0].writes.concat(n[1].writes);t[t.length-2]=new Kt(r,n[0].config?.tags),t.pop()}return t}getNode(){let t=this.getWriters();if(!(this.bound===Fa&&t.length===0))return this.bound===Fa&&t.length===1?t[0]:this.bound===Fa?new Ts({first:t[0],middle:t.slice(1,t.length-1),last:t[t.length-1],omitSequenceTags:!0}):t.length>0?new Ts({first:this.bound,middle:t.slice(0,t.length-1),last:t[t.length-1],omitSequenceTags:!0}):this.bound}join(t){if(!Array.isArray(t))throw new Error("channels must be a list");if(typeof this.channels!="object")throw new Error("all channels must be named when using .join()");return new Oo({channels:{...this.channels,...Object.fromEntries(t.map(n=>[n,n]))},triggers:this.triggers,mapper:this.mapper,writers:this.writers,bound:this.bound,kwargs:this.kwargs,config:this.config,retryPolicy:this.retryPolicy,cachePolicy:this.cachePolicy})}pipe(t){return Kt.isWriter(t)?new Oo({channels:this.channels,triggers:this.triggers,mapper:this.mapper,writers:[...this.writers,t],bound:this.bound,config:this.config,kwargs:this.kwargs,retryPolicy:this.retryPolicy,cachePolicy:this.cachePolicy}):this.bound===Fa?new Oo({channels:this.channels,triggers:this.triggers,mapper:this.mapper,writers:this.writers,bound:Rt(t),config:this.config,kwargs:this.kwargs,retryPolicy:this.retryPolicy,cachePolicy:this.cachePolicy}):new Oo({channels:this.channels,triggers:this.triggers,mapper:this.mapper,writers:this.writers,bound:this.bound.pipe(t),config:this.config,kwargs:this.kwargs,retryPolicy:this.retryPolicy,cachePolicy:this.cachePolicy})}};function V9(e){return"steps"in e&&Array.isArray(e.steps)}function S_(e){return"lg_is_pregel"in e&&e.lg_is_pregel===!0}function XS(e){let t=[e];for(let n of t){if(S_(n))return n;V9(n)&&t.push(...n.steps)}}var U=e=>BigInt(e),Ge=(e,t=0)=>new DataView(e.buffer,e.byteOffset+t,e.byteLength-t),YS=U("0x9E3779B1"),QS=U("0x85EBCA77"),q9=U("0xC2B2AE3D"),Is=U("0x9E3779B185EBCA87"),ma=U("0xC2B2AE3D27D4EB4F"),eT=U("0x165667B19E3779F9"),T_=U("0x85EBCA77C2B2AE63"),H9=U("0x27D4EB2F165667C5"),W9=U("0x165667919E3779F9"),J9=U("0x9FB21C651E98DF25"),G9=e=>{let t=e.length;if(t%2!==0)throw new Error("String should have an even number of characters");let n=t/2,r=new Uint8Array(n),s=0,a=0;for(;a<n;){let i=e.slice(s,s+=2);r[a]=Number.parseInt(i,16),a+=1}return Ge(r)},mr=G9("b8fe6c3923a44bbe7c01812cf721ad1cded46de9839097db7240a4a4b7b3671fcb79e64eccc0e578825ad07dccff7221b8084674f743248ee03590e6813a264c3c2852bb91c300cb88d0658b1b532ea371644897a20df94e3819ef46a9deacd8a8fa763fe39c343ff9dcbbc7c70b4f1d8a51e04bcdb45931c89f7ec9d9787364eac5ac8334d3ebc3c581a0fffa1363eb170ddd51b7f0da49d316552629d4689e2b16be587d47a1fc8ff8b8d17ad031ce45cb3a8f95160428afd7fbcabb4b407e"),gi=(U(1)<<U(128))-U(1),Ie=(U(1)<<U(64))-U(1),Xl=(U(1)<<U(32))-U(1),Ur=64,tT=Ur/8,K9=8,Cu=4;function Ni(e){if(!e)throw new Error("Assert failed")}function X9(e){let t=new DataView(new ArrayBuffer(8));return t.setBigUint64(0,e,!0),t.getBigUint64(0,!1)}function Y9(e){let t=e;return t=(t&U(65535))<<U(16)|(t&U(4294901760))>>U(16),t=(t&U(16711935))<<U(8)|(t&U(4278255360))>>U(8),t}function Q9(e,t){return(e&Xl)*(t&Xl)&Ie}function e5(e,t){return(e<<t|e>>U(32)-t)&Xl}function nT(e,t,n){for(let r=0;r<tT;r+=1){let s=t.getBigUint64(r*8,!0),a=s^n.getBigUint64(r*8,!0);e[r^1]+=s,e[r]+=Q9(a,a>>U(32))}return e}function mb(e,t,n,r){for(let s=0;s<r;s+=1)nT(e,Ge(t,s*Ur),Ge(n,s*8));return e}function t5(e,t){for(let n=0;n<tT;n+=1){let r=t.getBigUint64(n*8,!0),s=e[n];s=wg(s,U(47)),s^=r,s*=YS,e[n]=s&Ie}return e}function Nu(e,t){return rT(e[0]^t.getBigUint64(0,!0),e[1]^t.getBigUint64(K9,!0))}function gb(e,t,n){let r=n;return r+=Nu(e.slice(0),Ge(t,0*Cu)),r+=Nu(e.slice(2),Ge(t,4*Cu)),r+=Nu(e.slice(4),Ge(t,8*Cu)),r+=Nu(e.slice(6),Ge(t,12*Cu)),wr(r&Ie)}function n5(e,t,n,r,s){let a=e,i=Math.floor((n.byteLength-Ur)/8),o=Ur*i,c=Math.floor((t.byteLength-1)/o);for(let u=0;u<c;u+=1)a=mb(a,Ge(t,u*o),n,i),a=s(a,Ge(n,n.byteLength-Ur));{let u=Math.floor((t.byteLength-1-o*c)/Ur);a=mb(a,Ge(t,c*o),n,u),a=r(a,Ge(t,t.byteLength-Ur),Ge(n,n.byteLength-Ur-7))}return a}function r5(e,t){let n=new BigUint64Array([q9,Is,ma,eT,T_,QS,H9,YS]);Ni(e.byteLength>128),n=n5(n,e,t,nT,t5),Ni(n.length*8===64);{let r=gb(n,Ge(t,11),U(e.byteLength)*Is&Ie);return gb(n,Ge(t,t.byteLength-Ur-11),~(U(e.byteLength)*ma)&Ie)<<U(64)|r}}function rT(e,t){let n=e*t&gi;return n&Ie^n>>U(64)}function yb(e,t,n){return rT((e.getBigUint64(0,!0)^t.getBigUint64(0,!0)+n)&Ie,(e.getBigUint64(8,!0)^t.getBigUint64(8,!0)-n)&Ie)}function hl(e,t,n,r,s){let a=e&Ie,i=e>>U(64)&Ie;return a+=yb(t,r,s),a^=n.getBigUint64(0,!0)+n.getBigUint64(8,!0),a&=Ie,i+=yb(n,Ge(r,16),s),i^=t.getBigUint64(0,!0)+t.getBigUint64(8,!0),i&=Ie,i<<U(64)|a}function wr(e){let t=e;return t^=t>>U(37),t*=W9,t&=Ie,t^=t>>U(32),t}function Yl(e){let t=e;return t^=t>>U(33),t*=ma,t&=Ie,t^=t>>U(29),t*=eT,t&=Ie,t^=t>>U(32),t}function s5(e,t,n){let r=e.byteLength;Ni(r>0&&r<=3);let s=U(e.getUint8(r-1))|U(r<<8)|U(e.getUint8(0)<<16)|U(e.getUint8(r>>1)<<24),a=(s^(U(t.getUint32(0,!0))^U(t.getUint32(4,!0)))+n)&Ie,i=(U(t.getUint32(8,!0))^U(t.getUint32(12,!0)))-n;return(Yl((e5(Y9(s),U(13))^i)&Ie)&Ie)<<U(64)|Yl(a)}function wg(e,t){return e^e>>t}function a5(e,t,n){let r=e.byteLength;Ni(r>=4&&r<=8);{let s=e.getUint32(0,!0),a=e.getUint32(r-4,!0),i=((U(s)|U(a)<<U(32))^(t.getBigUint64(16,!0)^t.getBigUint64(24,!0))+n&Ie)*(Is+(U(r)<<U(2)))&gi;return i+=(i&Ie)<<U(65),i&=gi,i^=i>>U(67),wg(wg(i&Ie,U(35))*J9&Ie,U(28))|wr(i>>U(64))<<U(64)}}function i5(e,t,n){let r=e.byteLength;Ni(r>=9&&r<=16);{let s=(t.getBigUint64(32,!0)^t.getBigUint64(40,!0))+n&Ie,a=(t.getBigUint64(48,!0)^t.getBigUint64(56,!0))-n&Ie,i=e.getBigUint64(0,!0),o=e.getBigUint64(r-8,!0),c=(i^o^s)*Is,u=(c&Ie)+(U(r-1)<<U(54));c=c&(gi^Ie)|u,o^=a,c+=o+(o&Xl)*(QS-U(1))<<U(64),c&=gi,c^=X9(c>>U(64));let l=(c&Ie)*ma;return l+=(c>>U(64))*ma<<U(64),l&=gi,wr(l&Ie)|wr(l>>U(64))<<U(64)}}function o5(e,t){let n=e.byteLength;return Ni(n<=16),n>8?i5(e,mr,t):n>=4?a5(e,mr,t):n>0?s5(e,mr,t):Yl(t^mr.getBigUint64(64,!0)^mr.getBigUint64(72,!0))|Yl(t^mr.getBigUint64(80,!0)^mr.getBigUint64(88,!0))<<U(64)}function bg(e){return~e+U(1)&Ie}function c5(e,t,n){let r=U(e.byteLength)*Is&Ie,s=U(e.byteLength-1)/U(32);for(;s>=0;){let o=Number(s);r=hl(r,Ge(e,16*o),Ge(e,e.byteLength-16*(o+1)),Ge(t,32*o),n),s-=U(1)}let a=r+(r>>U(64))&Ie;a=wr(a);let i=(r&Ie)*Is+(r>>U(64))*T_+(U(e.byteLength)-n&Ie)*ma;return i&=Ie,i=bg(wr(i)),a|i<<U(64)}function u5(e,t,n){let r=U(e.byteLength)*Is&Ie;for(let i=32;i<160;i+=32)r=hl(r,Ge(e,i-32),Ge(e,i-16),Ge(t,i-32),n);r=wr(r&Ie)|wr(r>>U(64))<<U(64);for(let i=160;i<=e.byteLength;i+=32)r=hl(r,Ge(e,i-32),Ge(e,i-16),Ge(t,3+i-160),n);r=hl(r,Ge(e,e.byteLength-16),Ge(e,e.byteLength-32),Ge(t,103),bg(n));let s=r+(r>>U(64))&Ie;s=wr(s);let a=(r&Ie)*Is+(r>>U(64))*T_+(U(e.byteLength)-n&Ie)*ma;return a&=Ie,a=bg(wr(a)),s|a<<U(64)}function Hs(e,t=U(0)){let n=new TextEncoder,r=Ge(typeof e=="string"?n.encode(e):e),s=r.byteLength,a=i=>i.toString(16).padStart(32,"0");return s<=16?a(o5(r,t)):s<=128?a(c5(r,mr,t)):s<=240?a(u5(r,mr,t)):a(r5(r,mr))}function sT(e){return/^[0-9a-f]{32}$/.test(e)}function yi(e,t,n=!0,r=!1){try{return e[t].get()}catch(s){if(s.name===Et.unminifiable_name){if(r)return s;if(n)return null}throw s}}function ga(e,t,n=!0){if(Array.isArray(t)){let r={};for(let s of t)try{r[s]=yi(e,s,!n)}catch(a){if(a.name===Et.unminifiable_name)continue}return r}else return yi(e,t)}function*l5(e,t){if(e.graph===_r.PARENT)throw new Xe("There is no parent graph.");if(e.goto){let n;Array.isArray(e.goto)?n=e.goto:n=[e.goto];for(let r of n)if(fn(r))yield[yr,_i,r];else if(typeof r=="string")yield[yr,`branch:to:${r}`,"__start__"];else throw new Error(`In Command.send, expected Send or string, got ${typeof r}`)}if(e.resume)if(typeof e.resume=="object"&&Object.keys(e.resume).length&&Object.keys(e.resume).every(sT))for(let[n,r]of Object.entries(e.resume)){let s=t.filter(a=>a[0]===n&&a[1]==="__resume__").map(a=>a[2]).slice(0,1)??[];s.push(r),yield[n,vs,s]}else yield[yr,vs,e.resume];if(e.update){if(typeof e.update!="object"||!e.update)throw new Error("Expected cmd.update to be a dict mapping channel names to update values");if(Array.isArray(e.update))for(let[n,r]of e.update)yield[yr,n,r];else for(let[n,r]of Object.entries(e.update))yield[yr,n,r]}}function*aT(e,t){if(t!=null)if(Array.isArray(e)&&typeof t=="object"&&!Array.isArray(t))for(let n in t)e.includes(n)&&(yield[n,t[n]]);else{if(Array.isArray(e))throw new Error('Input chunk must be an object when "inputChannels" is an array');yield[e,t]}}function*Cf(e,t,n){Array.isArray(e)?(t===!0||t.find(([r,s])=>e.includes(r)))&&(yield ga(n,e)):(t===!0||t.some(([r,s])=>r===e))&&(yield yi(n,e))}function*d5(e,t,n){let r=t.filter(([o,c])=>(o.config===void 0||!o.config.tags?.includes("langsmith:hidden"))&&c[0][0]!=="__error__"&&c[0][0]!=="__interrupt__");if(!r.length)return;let s;r.some(([o])=>o.writes.some(([c,u])=>c==="__return__"))?s=r.flatMap(([o])=>o.writes.filter(([c,u])=>c===_p).map(([c,u])=>[o.name,u])):Array.isArray(e)?s=r.flatMap(([o])=>{let{writes:c}=o,u={};for(let[l]of c)e.includes(l)&&(u[l]=(u[l]||0)+1);return Object.values(u).some(l=>l>1)?c.filter(([l])=>e.includes(l)).map(([l,d])=>[o.name,{[l]:d}]):[[o.name,Object.fromEntries(c.filter(([l])=>e.includes(l)))]]}):s=r.flatMap(([o])=>o.writes.filter(([c,u])=>c===e).map(([c,u])=>[o.name,u]));let a={};for(let[o,c]of s)o in a||(a[o]=[]),a[o].push(c);let i={};for(let o in a)if(a[o].length===1){let[c]=a[o];i[o]=c}else i[o]=a[o];n&&(i.__metadata__={cached:n}),yield i}function I_(e){let t=typeof e[wt];if(t==="number")return 0;if(t==="string")return"";for(let n in e){if(!Object.prototype.hasOwnProperty.call(e,n))continue;let r=typeof e[n];if(r==="number")return 0;if(r==="string")return"";break}}function fl(e,t){if(Object.keys(e).length>0){let n=I_(t);return Object.fromEntries(Object.entries(t).filter(([r,s])=>s>(e[r]??n)))}else return t}function p5(e,t){return e&&!Array.isArray(e)&&!(e instanceof Date)&&typeof e=="object"?e:{[t]:e}}function Yn(e,t){return e===null?{configurable:t}:e?.configurable===void 0?{...e,configurable:t}:{...e,configurable:{...e.configurable,...t}}}function Bs(e,t){let n=t?.parents??{};return Object.keys(n).length>0?Yn(e,{[Mr]:{...n,[e.configurable?.checkpoint_ns??""]:e.configurable?.checkpoint_id}}):e}function Ql(...e){let t=[...new Set(e.filter(Boolean))];if(t.length===0)return{signal:void 0,dispose:void 0};if(t.length===1)return{signal:t[0],dispose:void 0};if(typeof AbortSignal.any=="function")return{signal:AbortSignal.any(t),dispose:void 0};let n=new AbortController,r=()=>{let a=t.find(i=>i.aborted)?.reason;n.abort(a),t.forEach(i=>i.removeEventListener("abort",r))};t.forEach(a=>a.addEventListener("abort",r,{once:!0}));let s=t.find(a=>a.aborted);return s&&n.abort(s.reason),{signal:n.signal,dispose:()=>{t.forEach(a=>a.removeEventListener("abort",r))}}}var h5=(e,t)=>{if(!(!e&&!t))return e?t?Array.isArray(e)&&Array.isArray(t)?[...e,...t]:Array.isArray(e)?[...e,t]:Array.isArray(t)?[e,...t]:[e,t]:e:t},f5=class{func;name;input;retry;cache;callbacks;__lg_type="call";constructor({func:e,name:t,input:n,retry:r,cache:s,callbacks:a}){this.func=e,this.name=t,this.input=n,this.retry=r,this.cache=s,this.callbacks=a}};function m5(e){return typeof e=="object"&&e!==null&&"__lg_type"in e&&e.__lg_type==="call"}function g5(e,t){return new Ts({name:e,first:new ja({func:n=>t(...n),name:e,trace:!1,recurse:!1}),last:new Kt([{channel:_p,value:ca}],[ln])})}var y5=e=>e!==void 0?e+1:1;function _5(e,t){if(t==null)return!1;for(let n of e)if(t[n])return!0;return!1}function v5(e){let t;for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t==null?t=e[n]:t=E9(t,e[n]));return t}function Pu(e,t,n){let r=I_(e.channel_versions),s=e.versions_seen.__interrupt__??{},a=!1;if((e.channel_versions.__start__??r)>(s.__start__??r))a=!0;else for(let o in e.channel_versions)if(Object.prototype.hasOwnProperty.call(e.channel_versions,o)&&e.channel_versions[o]>(s[o]??r)){a=!0;break}let i=n.some(o=>t==="*"?!o.config?.tags?.includes(ln):t.includes(o.name));return a&&i}function ml(e,t,n,r,s=!1){let a=new Set;if(Array.isArray(r))a=new Set(r.filter(o=>n.writes.some(([c,u])=>c===o)));else{for(let[o]of n.writes)if(o===r){a=new Set([o]);break}a=a||new Set}let i;if(s&&a.size>0){let o=Object.fromEntries(Object.entries(t).filter(([l,d])=>a.has(l))),c=Ks(e,o,-1),u=Gl(o,c);Sn(Jl(c),u,[n],void 0,void 0),i=ga({...t,...u},r)}else i=ga(t,r);return i}function Nf(e,t,n){for(let[r,s]of n)if(["__pregel_push","__pregel_tasks"].includes(r)&&s!=null){if(!fn(s))throw new Xe(`Invalid packet type, expected SendProtocol, got ${JSON.stringify(s)}`);if(!(s.node in t))throw new Xe(`Invalid node name "${s.node}" in Send packet`)}e(n)}var w5=new Set([uy,Zr,vs,Tt,_p,yp]);function Sn(e,t,n,r,s){n.sort((p,h)=>{let f=p.path?.slice(0,3)||[],m=h.path?.slice(0,3)||[];for(let v=0;v<Math.min(f.length,m.length);v+=1){if(f[v]<m[v])return-1;if(f[v]>m[v])return 1}return f.length-m.length});let a=n.some(p=>p.triggers.length>0),i=O_(t);for(let p of n){e.versions_seen[p.name]??={};for(let h of p.triggers)h in e.channel_versions&&(e.versions_seen[p.name][h]=e.channel_versions[h])}let o=v5(e.channel_versions),c=new Set(n.flatMap(p=>p.triggers).filter(p=>!GE.includes(p))),u=!1;for(let p of c)p in i&&i[p].consume()&&r!==void 0&&(e.channel_versions[p]=r(o),u=!0);let l={};for(let p of n)for(let[h,f]of p.writes)w5.has(h)||h in i&&(l[h]??=[],l[h].push(f));o!=null&&r!=null&&(o=u?r(o):o);let d=new Set;for(let[p,h]of Object.entries(l))if(p in i){let f=i[p],m;try{m=f.update(h)}catch(v){if(v.name===Xe.unminifiable_name){let g=new Xe(`Invalid update for channel "${p}" with values ${JSON.stringify(h)}: ${v.message}`);throw g.lc_error_code=v.lc_error_code,g}else throw v}m&&r!==void 0&&(e.channel_versions[p]=r(o),f.isAvailable()&&d.add(p))}if(a)for(let p in i){if(!Object.prototype.hasOwnProperty.call(i,p))continue;let h=i[p];h.isAvailable()&&!d.has(p)&&h.update([])&&r!==void 0&&(e.channel_versions[p]=r(o),h.isAvailable()&&d.add(p))}if(a&&!_5(d,s))for(let p in i){if(!Object.prototype.hasOwnProperty.call(i,p))continue;let h=i[p];h.finish()&&r!==void 0&&(e.channel_versions[p]=r(o),h.isAvailable()&&d.add(p))}return d}function*b5(e,t,n){if(n.updatedChannels!=null&&n.triggerToNodes!=null){let r=new Set;for(let s of n.updatedChannels){let a=n.triggerToNodes[s];for(let i of a??[])r.add(i)}yield*[...r].sort();return}if(!(()=>{for(let r in e.channel_versions)if(e.channel_versions[r]!==null)return!1;return!0})())for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&(yield r)}function ci(e,t,n,r,s,a,i){let o={},c=r[_i];if(c?.isAvailable()){let u=c.get().length;for(let l=0;l<u;l+=1){let d=kg([Zr,l],e,t,n,r,s,a,i);d!==void 0&&(o[d.id]=d)}}for(let u of b5(e,n,i)){let l=kg([Qf,u],e,t,n,r,s,a,i);l!==void 0&&(o[l.id]=l)}return o}function kg(e,t,n,r,s,a,i,o){let{step:c,checkpointer:u,manager:l}=o,d=a.configurable??{},p=d.checkpoint_ns??"";if(e[0]==="__pregel_push"&&m5(e[e.length-1])){let h=e[e.length-1],f=g5(h.name,h.func),m=[Zr],v=p===""?h.name:`${p}|${h.name}`,g=ni(JSON.stringify([v,c.toString(),h.name,Zr,e[1],e[2]]),t.id),y=`${v}:${g}`,k=[...e.slice(0,3),!0],x={langgraph_step:c,langgraph_node:h.name,langgraph_triggers:m,langgraph_path:k,langgraph_checkpoint_ns:y};if(i){let S=[];return{name:h.name,input:h.input,proc:f,writes:S,config:Ve(jn(a,{metadata:x,store:o.store??a.store}),{runName:h.name,callbacks:l?.getChild(`graph:step:${c}`),configurable:{[Ku]:g,[ds]:E=>Nf(I=>S.push(...I),r,E),[ra]:(E,I=!1)=>ml(t,s,{name:h.name,writes:S,triggers:m,path:k},E,I),[Fr]:u??d.__pregel_checkpointer,[Mr]:{...d[Mr],[p]:t.id},[ps]:Pf({pendingWrites:n??[],taskId:g,currentTaskInput:h.input,resumeMap:a.configurable?.[Xu],namespaceHash:Hs(y)}),[Yu]:t.channel_values[sh],checkpoint_id:void 0,checkpoint_ns:y}}),triggers:m,retry_policy:h.retry,cache_key:h.cache?{key:Hs((h.cache.keyFunc??JSON.stringify)([h.input])),ns:[rh,h.name??"__dynamic__"],ttl:h.cache.ttl}:void 0,id:g,path:k,writers:[]}}else return{id:g,name:h.name,interrupts:[],path:k}}else if(e[0]==="__pregel_push"){let h=typeof e[1]=="number"?e[1]:parseInt(e[1],10);if(!s.__pregel_tasks?.isAvailable())return;let f=s[_i].get();if(h<0||h>=f.length)return;let m=em(f[h])&&!fn(f[h])?new Jo(f[h].node,f[h].args):f[h];if(!em(m)){console.warn(`Ignoring invalid packet ${JSON.stringify(m)} in pending sends.`);return}if(!(m.node in r)){console.warn(`Ignoring unknown node name ${m.node} in pending sends.`);return}let v=[Zr],g=p===""?m.node:`${p}|${m.node}`,y=ni(JSON.stringify([g,c.toString(),m.node,Zr,h.toString()]),t.id),k=`${g}:${y}`,x={langgraph_step:c,langgraph_node:m.node,langgraph_triggers:v,langgraph_path:e.slice(0,3),langgraph_checkpoint_ns:k};if(i){let S=r[m.node],E=S.getNode();if(E!==void 0){S.metadata!==void 0&&(x={...x,...S.metadata});let I=[];return{name:m.node,input:m.args,proc:E,subgraphs:S.subgraphs,writes:I,config:Ve(jn(a,{metadata:x,tags:S.tags,store:o.store??a.store}),{runName:m.node,callbacks:l?.getChild(`graph:step:${c}`),configurable:{[Ku]:y,[ds]:w=>Nf(P=>I.push(...P),r,w),[ra]:(w,P=!1)=>ml(t,s,{name:m.node,writes:I,triggers:v,path:e},w,P),[Fr]:u??d.__pregel_checkpointer,[Mr]:{...d[Mr],[p]:t.id},[ps]:Pf({pendingWrites:n??[],taskId:y,currentTaskInput:m.args,resumeMap:a.configurable?.[Xu],namespaceHash:Hs(k)}),[Yu]:t.channel_values[sh],checkpoint_id:void 0,checkpoint_ns:k}}),triggers:v,retry_policy:S.retryPolicy,cache_key:S.cachePolicy?{key:Hs((S.cachePolicy.keyFunc??JSON.stringify)([m.args])),ns:[rh,S.name??"__dynamic__",m.node],ttl:S.cachePolicy.ttl}:void 0,id:y,path:e,writers:S.getWriters()}}}else return{id:y,name:m.node,interrupts:[],path:e}}else if(e[0]==="__pregel_pull"){let h=e[1].toString(),f=r[h];if(f===void 0)return;if(n?.length){let y=p===""?h:`${p}|${h}`,k=ni(JSON.stringify([y,c.toString(),h,Qf,h]),t.id);if(n.some(x=>x[0]===k&&x[1]!=="__error__"))return}let m=I_(t.channel_versions);if(m===void 0)return;let v=t.versions_seen[h]??{},g=f.triggers.find(y=>s[y].isAvailable()?(t.channel_versions[y]??m)>(v[y]??m):!1);if(g!==void 0){let y=k5(f,s,i);if(y===void 0)return;let k=p===""?h:`${p}|${h}`,x=ni(JSON.stringify([k,c.toString(),h,Qf,[g]]),t.id),S=`${k}:${x}`,E={langgraph_step:c,langgraph_node:h,langgraph_triggers:[g],langgraph_path:e,langgraph_checkpoint_ns:S};if(i){let I=f.getNode();if(I!==void 0){f.metadata!==void 0&&(E={...E,...f.metadata});let w=[];return{name:h,input:y,proc:I,subgraphs:f.subgraphs,writes:w,config:Ve(jn(a,{metadata:E,tags:f.tags,store:o.store??a.store}),{runName:h,callbacks:l?.getChild(`graph:step:${c}`),configurable:{[Ku]:x,[ds]:P=>Nf(A=>{w.push(...A)},r,P),[ra]:(P,A=!1)=>ml(t,s,{name:h,writes:w,triggers:[g],path:e},P,A),[Fr]:u??d.__pregel_checkpointer,[Mr]:{...d[Mr],[p]:t.id},[ps]:Pf({pendingWrites:n??[],taskId:x,currentTaskInput:y,resumeMap:a.configurable?.[Xu],namespaceHash:Hs(S)}),[Yu]:t.channel_values[sh],checkpoint_id:void 0,checkpoint_ns:S}}),triggers:[g],retry_policy:f.retryPolicy,cache_key:f.cachePolicy?{key:Hs((f.cachePolicy.keyFunc??JSON.stringify)([y])),ns:[rh,f.name??"__dynamic__",h],ttl:f.cachePolicy.ttl}:void 0,id:x,path:e,writers:f.getWriters()}}}else return{id:x,name:h,interrupts:[],path:e}}}}function k5(e,t,n){let r;if(typeof e.channels=="object"&&!Array.isArray(e.channels)){r={};for(let[s,a]of Object.entries(e.channels))if(e.triggers.includes(a))try{r[s]=yi(t,a,!1)}catch(i){if(i.name===Et.unminifiable_name)return;throw i}else if(a in t)try{r[s]=yi(t,a,!1)}catch(i){if(i.name===Et.unminifiable_name)continue;throw i}}else if(Array.isArray(e.channels)){let s=!1;for(let a of e.channels)try{r=yi(t,a,!1),s=!0;break}catch(i){if(i.name===Et.unminifiable_name)continue;throw i}if(!s)return}else throw new Error(`Invalid channels type, expected list or dict, got ${e.channels}`);return n&&e.mapper!==void 0&&(r=e.mapper(r)),r}function x5(e,t){if(typeof e.args!="object"||e.args===null)return e;let n={};for(let[r,s]of Object.entries(e.args)){let a=t[r];(!a||a.lc_graph_name!=="UntrackedValue")&&(n[r]=s)}return new Jo(e.node,n)}function Pf({pendingWrites:e,taskId:t,currentTaskInput:n,resumeMap:r,namespaceHash:s}){let a=e.find(([o,c])=>o==="00000000-0000-0000-0000-000000000000"&&c==="__resume__")?.[2],i={callCounter:0,interruptCounter:-1,resume:(()=>{let o=e.filter(([c,u])=>c===t&&u==="__resume__").flatMap(([c,u,l])=>l);if(r!=null&&s in r){let c=r[s];o.push(c)}return o})(),nullResume:a,subgraphCounter:0,currentTaskInput:n,consumeNullResume:()=>{if(i.nullResume)return delete i.nullResume,e.splice(e.findIndex(([o,c])=>o==="00000000-0000-0000-0000-000000000000"&&c==="__resume__"),1),a}};return i}var pc={blue:{start:"\x1B[34m",end:"\x1B[0m"},green:{start:"\x1B[32m",end:"\x1B[0m"},yellow:{start:"\x1B[33;1m",end:"\x1B[0m"}},hc=(e,t)=>`${e.start}${t}${e.end}`;function*_b(e){for(let{id:t,name:n,input:r,config:s,triggers:a,writes:i}of e)s?.tags?.includes("langsmith:hidden")||(yield{id:t,name:n,input:r,triggers:a,interrupts:i.filter(([o,c])=>o===t&&c==="__interrupt__").map(([,o])=>o)})}function O5(e){return typeof e!="object"||e===null?!1:"$writes"in e&&Array.isArray(e.$writes)}function iT(e){let t={};for(let[n,r]of e){let s=String(n);if(s in t){let a=O5(t[s])?t[s].$writes:[t[s]];a.push(r),t[s]={$writes:a}}else t[s]=r}return t}function*S5(e,t){for(let[{id:n,name:r,config:s},a]of e)s?.tags?.includes("langsmith:hidden")||(yield{id:n,name:r,result:iT(a.filter(([i])=>Array.isArray(t)?t.includes(i):i===t)),interrupts:a.filter(i=>i[0]===Tt).map(i=>i[1])})}function*T5(e,t,n,r,s,a,i,o){function c(d){let p={};return d.callbacks!=null&&(p.callbacks=d.callbacks),d.configurable!=null&&(p.configurable=d.configurable),d.maxConcurrency!=null&&(p.max_concurrency=d.maxConcurrency),d.metadata!=null&&(p.metadata=d.metadata),d.recursionLimit!=null&&(p.recursion_limit=d.recursionLimit),d.runId!=null&&(p.run_id=d.runId),d.runName!=null&&(p.run_name=d.runName),d.tags!=null&&(p.tags=d.tags),p}let u=e.configurable?.checkpoint_ns,l={};for(let d of s){if(!(d.subgraphs?.length?d.subgraphs:[d.proc]).find(XS))continue;let p=`${d.name}:${d.id}`;u&&(p=`${u}|${p}`),l[d.id]={configurable:{thread_id:e.configurable?.thread_id,checkpoint_ns:p}}}yield{config:c(e),values:ga(t,n),metadata:r,next:s.map(d=>d.name),tasks:oT(s,a,l,o),parentConfig:i?c(i):void 0}}function oT(e,t,n,r){return e.map(s=>{let a=t.find(([u,l])=>u===s.id&&l==="__error__")?.[2],i=t.filter(([u,l])=>u===s.id&&l==="__interrupt__").map(([,,u])=>u),o=(()=>{if(a||i.length||!t.length)return;let u=t.findIndex(([l,d])=>l===s.id&&d==="__return__");if(u>=0)return t[u][2];if(typeof r=="string")return t.find(([l,d])=>l===s.id&&d===r)?.[2];if(Array.isArray(r)){let l=t.filter(([d,p])=>d===s.id&&r.includes(p)).map(([,d,p])=>[d,p]);return l.length?iT(l):void 0}})();if(a)return{id:s.id,name:s.name,path:s.path,error:a,interrupts:i,result:o};let c=n?.[s.id];return{id:s.id,name:s.name,path:s.path,interrupts:i,...c!==void 0?{state:c}:{},result:o}})}function I5(e,t,n){console.log([`${hc(pc.blue,`[${e}:checkpoint]`)}`,`\x1B[1m State at the end of step ${e}:\x1B[0m
257
- `,JSON.stringify(ga(t,n),null,2)].join(""))}function cT(e,t){let n=t.length;console.log([`${hc(pc.blue,`[${e}:tasks]`)}`,`\x1B[1m Starting step ${e} with ${n} task${n===1?"":"s"}:\x1B[0m
258
- `,t.map(r=>`- ${hc(pc.green,String(r.name))} -> ${JSON.stringify(r.input,null,2)}`).join(`
259
- `)].join(""))}function E5(e,t,n){let r={};for(let[s,a]of t)n.includes(s)&&(r[s]||(r[s]=[]),r[s].push(a));console.log([`${hc(pc.blue,`[${e}:writes]`)}`,`\x1B[1m Finished step ${e} with writes to ${Object.keys(r).length} channel${Object.keys(r).length!==1?"s":""}:\x1B[0m
260
- `,Object.entries(r).map(([s,a])=>`- ${hc(pc.yellow,s)} -> ${a.map(i=>JSON.stringify(i)).join(", ")}`).join(`
261
- `)].join(""))}var vb=class extends gn{_abortController;_innerReader;_disposeSignal;constructor(e,t,n){let r=e.getReader(),s=t??new AbortController,a=n;super({start(i){return o();function o(){return r.read().then(({done:c,value:u})=>{if(c){i.close(),a?.();return}return i.enqueue(u),o()})}}}),this._abortController=s,this._innerReader=r,this._disposeSignal=n}async cancel(e){this._abortController.abort(e),this._innerReader.releaseLock(),this._disposeSignal?.()}get signal(){return this._abortController.signal}},uT=class extends gn{modes;controller;passthroughFn;_closed=!1;get closed(){return this._closed}constructor(e){let t,n=new Promise(r=>{t=r});super({start:r=>{t(r)}}),n.then(r=>{this.controller=r}),this.passthroughFn=e.passthroughFn,this.modes=e.modes}push(e){this.passthroughFn?.(e),this.controller.enqueue(e)}close(){try{this.controller.close()}catch{}finally{this._closed=!0}}error(e){this.controller.error(e)}},A5=class extends Ca{name="StreamToolsHandler";streamFn;runs={};constructor(e){super(),this.streamFn=e}handleToolStart(e,t,n,r,s,a,i,o){if(!a||s&&s.includes("langsmith:hidden"))return;let c=a.langgraph_checkpoint_ns?.split("|")??[],u={ns:c,toolCallId:o,toolName:i??"unknown",input:t};this.runs[n]=u,this.streamFn([c,"tools",{event:"on_tool_start",toolCallId:u.toolCallId,name:u.toolName,input:t}])}handleToolEvent(e,t){let n=this.runs[t];n&&this.streamFn([n.ns,"tools",{event:"on_tool_event",toolCallId:n.toolCallId,name:n.toolName,data:e}])}handleToolEnd(e,t){let n=this.runs[t];delete this.runs[t],n&&this.streamFn([n.ns,"tools",{event:"on_tool_end",toolCallId:n.toolCallId,name:n.toolName,output:e}])}handleToolError(e,t){let n=this.runs[t];delete this.runs[t],n&&this.streamFn([n.ns,"tools",{event:"on_tool_error",toolCallId:n.toolCallId,name:n.toolName,error:e}])}};function $5(e){return JSON.stringify(e,function(t,n){let r=this[t];if(r!=null&&typeof r=="object"&&"toDict"in r&&typeof r.toDict=="function"){let{type:s,data:a}=r.toDict();return{...a,type:s}}return n})}function C5(e){return e instanceof Error?{error:e.name,message:e.message}:{error:"Error",message:JSON.stringify(e)}}function E_(e){return typeof e!="object"||e==null?!1:"configurable"in e&&typeof e.configurable=="object"&&e.configurable!=null}function jf(e){return!E_(e)||!e.configurable.thread_id?null:{thread_id:e.configurable.thread_id,checkpoint_ns:e.configurable.checkpoint_ns||"",checkpoint_id:e.configurable.checkpoint_id||null,checkpoint_map:e.configurable.checkpoint_map||null}}function wb(e){if(E_(e)){let t=Object.fromEntries(Object.entries(e.configurable).filter(([r])=>!r.startsWith("__"))),n={...e,configurable:t};return delete n.callbacks,n}return e}function bb(e){let t={...e,checkpoint:jf(e.config),parent_checkpoint:jf(e.parentConfig),config:wb(e.config),parent_config:wb(e.parentConfig),tasks:e.tasks.map(n=>{if(E_(n.state)){let r=jf(n.state);if(r!=null){let s={...n,checkpoint:r};return delete s.state,s}}return n})};return delete t.parentConfig,t}function N5(e){let t=new TextEncoder;return new ReadableStream({async start(n){let r=s=>{n.enqueue(t.encode(`event: ${s.event}
262
- data: ${$5(s.data)}
263
-
264
- `))};try{for await(let s of e){let[a,i,o]=s,c=o;if(i==="debug"){let u=o;u.type==="checkpoint"&&(c={...u,payload:bb(u.payload)})}i==="checkpoints"&&(c=bb(o)),r({event:a?.length?`${i}|${a.join("|")}`:i,data:c})}}catch(s){r({event:"error",data:C5(s)})}n.close()}})}var ju=Symbol.for("INPUT_DONE"),Rf=Symbol.for("INPUT_RESUMING"),P5=25;function j5(...e){return new uT({passthroughFn:t=>{for(let n of e)n.modes.has(t[1])&&n.push(t)},modes:new Set(e.flatMap(t=>Array.from(t.modes)))})}var R5=class extends j9{cache;queue=Promise.resolve();constructor(e){super(),this.cache=e}async get(e){return this.enqueueOperation("get",e)}async set(e){return this.enqueueOperation("set",e)}async clear(e){return this.enqueueOperation("clear",e)}async stop(){await this.queue}enqueueOperation(e,...t){let n=this.queue.then(()=>this.cache[e](...t));return this.queue=n.then(()=>{},()=>{}),n}},M5=class lT{input;output;config;checkpointer;checkpointerGetNextVersion;channels;checkpoint;checkpointIdSaved;checkpointConfig;checkpointMetadata;checkpointNamespace;checkpointPendingWrites=[];checkpointPreviousVersions;step;stop;durability;outputKeys;streamKeys;nodes;skipDoneTasks;prevCheckpointConfig;updatedChannels;status="pending";tasks={};stream;checkpointerPromises=[];isNested;_checkpointerChainedPromise=Promise.resolve();store;cache;manager;interruptAfter;interruptBefore;toInterrupt=[];debug=!1;triggerToNodes;get isResuming(){let t=!1;if("__start__"in this.checkpoint.channel_versions)t=!0;else for(let o in this.checkpoint.channel_versions)if(Object.prototype.hasOwnProperty.call(this.checkpoint.channel_versions,o)){t=!0;break}let n=this.config.configurable?.__pregel_resuming!==void 0&&this.config.configurable?.__pregel_resuming,r=this.input===null||this.input===void 0,s=Ut(this.input)&&this.input.resume!=null,a=this.input===Rf,i=!this.isNested&&this.config.metadata?.run_id!==void 0&&this.checkpointMetadata?.run_id!==void 0&&this.config.metadata.run_id===this.checkpointMetadata?.run_id;return t&&(n||r||s||a||i)}constructor(t){this.input=t.input,this.checkpointer=t.checkpointer,this.checkpointer!==void 0?this.checkpointerGetNextVersion=this.checkpointer.getNextVersion.bind(this.checkpointer):this.checkpointerGetNextVersion=y5,this.checkpoint=t.checkpoint,this.checkpointMetadata=t.checkpointMetadata,this.checkpointPreviousVersions=t.checkpointPreviousVersions,this.channels=t.channels,this.checkpointPendingWrites=t.checkpointPendingWrites,this.step=t.step,this.stop=t.stop,this.config=t.config,this.checkpointConfig=t.checkpointConfig,this.isNested=t.isNested,this.manager=t.manager,this.outputKeys=t.outputKeys,this.streamKeys=t.streamKeys,this.nodes=t.nodes,this.skipDoneTasks=t.skipDoneTasks,this.store=t.store,this.cache=t.cache?new R5(t.cache):void 0,this.stream=t.stream,this.checkpointNamespace=t.checkpointNamespace,this.prevCheckpointConfig=t.prevCheckpointConfig,this.interruptAfter=t.interruptAfter,this.interruptBefore=t.interruptBefore,this.durability=t.durability,this.debug=t.debug,this.triggerToNodes=t.triggerToNodes}static async initialize(t){let{config:n,stream:r}=t;r!==void 0&&n.configurable?.__pregel_stream!==void 0&&(r=j5(r,n.configurable[cy]));let s=n.configurable?!("checkpoint_id"in n.configurable):!0,a=n.configurable?.[ps];n.configurable&&a&&(a.subgraphCounter>0&&(n=Yn(n,{[Br]:[n.configurable[Br],a.subgraphCounter.toString()].join("|")})),a.subgraphCounter+=1);let i=ra in(n.configurable??{});!i&&n.configurable?.checkpoint_ns!==void 0&&n.configurable?.checkpoint_ns!==""&&(n=Yn(n,{checkpoint_ns:"",checkpoint_id:void 0}));let o=n;n.configurable?.checkpoint_map!==void 0&&n.configurable?.checkpoint_map?.[n.configurable?.checkpoint_ns]&&(o=Yn(n,{checkpoint_id:n.configurable[Mr][n.configurable?.checkpoint_ns]}));let c=n.configurable?.checkpoint_ns?.split("|")??[],u=await t.checkpointer?.getTuple(o)??{config:n,checkpoint:BS(),metadata:{source:"input",step:-2,parents:{}},pendingWrites:[]};o={...n,...u.config,configurable:{checkpoint_ns:"",...n.configurable,...u.config.configurable}};let l=u.parentConfig,d=Jl(u.checkpoint),p={...u.metadata},h=u.pendingWrites??[],f=Gl(t.channelSpecs,d),m=(p.step??0)+1,v=m+(n.recursionLimit??P5)+1,g={...d.channel_versions},y=t.store?new P9(t.store):void 0;return y&&await y.start(),new lT({input:t.input,config:n,checkpointer:t.checkpointer,checkpoint:d,checkpointMetadata:p,checkpointConfig:o,prevCheckpointConfig:l,checkpointNamespace:c,channels:f,isNested:i,manager:t.manager,skipDoneTasks:s,step:m,stop:v,checkpointPreviousVersions:g,checkpointPendingWrites:h,outputKeys:t.outputKeys??[],streamKeys:t.streamKeys??[],nodes:t.nodes,stream:r,store:y,cache:t.cache,interruptAfter:t.interruptAfter,interruptBefore:t.interruptBefore,durability:t.durability,debug:t.debug,triggerToNodes:t.triggerToNodes})}_checkpointerPutAfterPrevious(t){this._checkpointerChainedPromise=this._checkpointerChainedPromise.then(()=>this.checkpointer?.put(t.config,t.checkpoint,t.metadata,t.newVersions)),this.checkpointerPromises.push(this._checkpointerChainedPromise)}putWrites(t,n){let r=n;if(r.length===0)return;r.every(([c])=>c in A9)&&(r=Array.from(new Map(r.map(c=>[c[0],c])).values()));let s=!1;for(let c in this.channels)if(Object.prototype.hasOwnProperty.call(this.channels,c)&&this.channels[c].lc_graph_name==="UntrackedValue"){s=!0;break}let a=r;s&&(a=r.filter(([c])=>{let u=this.channels[c];return!u||u.lc_graph_name!=="UntrackedValue"}).map(([c,u])=>c==="__pregel_tasks"&&fn(u)?[c,x5(u,this.channels)]:[c,u])),this.checkpointPendingWrites=this.checkpointPendingWrites.filter(c=>c[0]!==t);for(let[c,u]of a)this.checkpointPendingWrites.push([t,c,u]);let i=Yn(this.checkpointConfig,{[Br]:this.config.configurable?.checkpoint_ns??"",[Yf]:this.checkpoint.id});if(this.durability!=="exit"&&this.checkpointer!=null&&this.checkpointerPromises.push(this.checkpointer.putWrites(i,a,t)),this.tasks&&this._outputWrites(t,r),!n.length||!this.cache||!this.tasks)return;let o=this.tasks[t];o==null||o.cache_key==null||n[0][0]==="__error__"||n[0][0]==="__interrupt__"||this.cache.set([{key:[o.cache_key.ns,o.cache_key.key],value:o.writes,ttl:o.cache_key.ttl}])}_outputWrites(t,n,r=!1){let s=this.tasks[t];if(s!==void 0){if(s.config!==void 0&&(s.config.tags??[]).includes("langsmith:hidden"))return;if(n.length>0)if(n[0][0]==="__interrupt__"){if(s.path?.[0]==="__pregel_push"&&s.path?.[s.path.length-1]===!0)return;let a=n.filter(i=>i[0]===Tt).flatMap(i=>i[1]);this._emit([["updates",{[Tt]:a}],["values",{[Tt]:a}]])}else n[0][0]!=="__error__"&&this._emit(xo(Qr(d5(this.outputKeys,[[s,n]],r),"updates")));r||this._emit(xo(Qr(S5([[s,n]],this.streamKeys),"tasks")))}}async _matchCachedWrites(){if(!this.cache)return[];let t=[],n=([i,o])=>`ns:${i.join(",")}|key:${o}`,r=[],s={};for(let i of Object.values(this.tasks))i.cache_key!=null&&!i.writes.length&&(r.push([i.cache_key.ns,i.cache_key.key]),s[n([i.cache_key.ns,i.cache_key.key])]=i);if(r.length===0)return[];let a=await this.cache.get(r);for(let{key:i,value:o}of a){let c=s[n(i)];c!=null&&(c.writes.push(...o),t.push({task:c,result:o}))}return t}async tick(t){this.store&&!this.store.isRunning&&await this.store?.start();let{inputKeys:n=[]}=t;if(this.status!=="pending")throw new Error(`Cannot tick when status is no longer "pending". Current status: "${this.status}"`);if(![ju,Rf].includes(this.input))await this._first(n);else{if(this.toInterrupt.length>0)throw this.status="interrupt_before",new hi;if(Object.values(this.tasks).every(s=>s.writes.length>0)){let s=Object.values(this.tasks).flatMap(i=>i.writes);this.updatedChannels=Sn(this.checkpoint,this.channels,Object.values(this.tasks),this.checkpointerGetNextVersion,this.triggerToNodes);let a=await is(Qr(Cf(this.outputKeys,s,this.channels),"values"));if(this._emit(a),this.checkpointPendingWrites=[],await this._putCheckpoint({source:"loop"}),Pu(this.checkpoint,this.interruptAfter,Object.values(this.tasks)))throw this.status="interrupt_after",new hi;this.config.configurable?.__pregel_resuming!==void 0&&delete this.config.configurable?.[Tl]}else return!1}if(this.step>this.stop)return this.status="out_of_steps",!1;if(this.tasks=ci(this.checkpoint,this.checkpointPendingWrites,this.nodes,this.channels,this.config,!0,{step:this.step,checkpointer:this.checkpointer,isResuming:this.isResuming,manager:this.manager,store:this.store,stream:this.stream,triggerToNodes:this.triggerToNodes,updatedChannels:this.updatedChannels}),this.checkpointer&&this._emit(await is(Qr(T5(this.checkpointConfig,this.channels,this.streamKeys,this.checkpointMetadata,Object.values(this.tasks),this.checkpointPendingWrites,this.prevCheckpointConfig,this.outputKeys),"checkpoints"))),Object.values(this.tasks).length===0)return this.status="done",!1;if(this.skipDoneTasks&&this.checkpointPendingWrites.length>0){for(let[s,a,i]of this.checkpointPendingWrites){if(a==="__error__"||a==="__interrupt__"||a==="__resume__")continue;let o=Object.values(this.tasks).find(c=>c.id===s);o&&o.writes.push([a,i])}for(let s of Object.values(this.tasks))s.writes.length>0&&this._outputWrites(s.id,s.writes,!0)}if(Object.values(this.tasks).every(s=>s.writes.length>0))return this.tick({inputKeys:n});if(Pu(this.checkpoint,this.interruptBefore,Object.values(this.tasks)))throw this.status="interrupt_before",new hi;let r=await is(Qr(_b(Object.values(this.tasks)),"tasks"));return this._emit(r),!0}async finishAndHandleError(t){this.durability==="exit"&&(!this.isNested||typeof t<"u"||this.checkpointNamespace.every(r=>!r.includes(":")))&&(this._putCheckpoint(this.checkpointMetadata),this._flushPendingWrites());let n=this._suppressInterrupt(t);return(n||t===void 0)&&(this.output=ga(this.channels,this.outputKeys)),n&&(this.tasks!==void 0&&this.checkpointPendingWrites.length>0&&Object.values(this.tasks).some(r=>r.writes.length>0)&&(this.updatedChannels=Sn(this.checkpoint,this.channels,Object.values(this.tasks),this.checkpointerGetNextVersion,this.triggerToNodes),this._emit(xo(Qr(Cf(this.outputKeys,Object.values(this.tasks).flatMap(r=>r.writes),this.channels),"values")))),ti(t)&&!t.interrupts.length&&this._emit([["updates",{[Tt]:[]}],["values",{[Tt]:[]}]])),n}async acceptPush(t,n,r){if(this.interruptAfter?.length>0&&Pu(this.checkpoint,this.interruptAfter,[t])){this.toInterrupt.push(t);return}let s=kg([Zr,t.path??[],n,t.id,r],this.checkpoint,this.checkpointPendingWrites,this.nodes,this.channels,t.config??{},!0,{step:this.step,checkpointer:this.checkpointer,manager:this.manager,store:this.store,stream:this.stream});if(!s)return;if(this.interruptBefore?.length>0&&Pu(this.checkpoint,this.interruptBefore,[s])){this.toInterrupt.push(s);return}this._emit(xo(Qr(_b([s]),"tasks"))),this.debug&&cT(this.step,[s]),this.tasks[s.id]=s,this.skipDoneTasks&&this._matchWrites({[s.id]:s});let a=await this._matchCachedWrites();for(let{task:i}of a)this._outputWrites(i.id,i.writes,!0);return s}_suppressInterrupt(t){return ti(t)&&!this.isNested}async _first(t){let{configurable:n}=this.config,r=n?.[ps];if(r&&r.nullResume!==void 0&&this.putWrites(yr,[[vs,r.nullResume]]),Ut(this.input)){let i=this.input.resume!=null;if(this.input.resume!=null&&typeof this.input.resume=="object"&&Object.keys(this.input.resume).every(sT)&&(this.config.configurable??={},this.config.configurable[Xu]=this.input.resume),i&&this.checkpointer==null)throw new Error("Cannot use Command(resume=...) without checkpointer");let o={};for(let[c,u,l]of l5(this.input,this.checkpointPendingWrites))o[c]??=[],o[c].push([u,l]);if(Object.keys(o).length===0)throw new k0("Received empty Command input");for(let[c,u]of Object.entries(o))this.putWrites(c,u)}let s=(this.checkpointPendingWrites??[]).filter(i=>i[0]===yr).map(i=>i.slice(1));s.length>0&&Sn(this.checkpoint,this.channels,[{name:as,writes:s,triggers:[]}],this.checkpointerGetNextVersion,this.triggerToNodes);let a=Ut(this.input)&&s.length>0;if(this.isResuming||a){for(let o in this.channels)if(Object.prototype.hasOwnProperty.call(this.channels,o)&&this.checkpoint.channel_versions[o]!==void 0){let c=this.checkpoint.channel_versions[o];this.checkpoint.versions_seen[Tt]={...this.checkpoint.versions_seen[Tt],[o]:c}}let i=await is(Qr(Cf(this.outputKeys,!0,this.channels),"values"));this._emit(i)}if(this.isResuming)this.input=Rf;else if(a)await this._putCheckpoint({source:"input"}),this.input=ju;else{let i=await is(aT(t,this.input));if(i.length>0){let o=ci(this.checkpoint,this.checkpointPendingWrites,this.nodes,this.channels,this.config,!0,{step:this.step});this.updatedChannels=Sn(this.checkpoint,this.channels,Object.values(o).concat([{name:as,writes:i,triggers:[]}]),this.checkpointerGetNextVersion,this.triggerToNodes),await this._putCheckpoint({source:"input"}),this.input=ju}else if("__pregel_resuming"in(this.config.configurable??{}))this.input=ju;else throw new k0(`Received no input writes for ${JSON.stringify(t,null,2)}`)}this.isNested||(this.config=Yn(this.config,{[Tl]:this.isResuming}))}_emit(t){for(let[n,r]of t)if(this.stream.modes.has(n)&&this.stream.push([this.checkpointNamespace,n,r]),(n==="checkpoints"||n==="tasks")&&this.stream.modes.has("debug")){let s=n==="checkpoints"?this.step-1:this.step,a=new Date().toISOString(),i=n==="checkpoints"?"checkpoint":typeof r=="object"&&r!=null&&"result"in r?"task_result":"task";this.stream.push([this.checkpointNamespace,"debug",{step:s,type:i,timestamp:a,payload:r}])}}_putCheckpoint(t){let n=this.checkpointMetadata===t,r=this.checkpointer!=null&&(this.durability!=="exit"||n),s=a=>{this.prevCheckpointConfig=this.checkpointConfig?.configurable?.checkpoint_id?this.checkpointConfig:void 0,this.checkpointConfig=Yn(this.checkpointConfig,{[Br]:this.config.configurable?.checkpoint_ns??""});let i={...this.checkpoint.channel_versions},o=fl(this.checkpointPreviousVersions,i);this.checkpointPreviousVersions=i,this._checkpointerPutAfterPrevious({config:{...this.checkpointConfig},checkpoint:Jl(a),metadata:{...this.checkpointMetadata},newVersions:o}),this.checkpointConfig={...this.checkpointConfig,configurable:{...this.checkpointConfig.configurable,checkpoint_id:this.checkpoint.id}}};n||(this.checkpointMetadata={...t,step:this.step,parents:this.config.configurable?.checkpoint_map??{}}),this.checkpoint=Ks(this.checkpoint,r?this.channels:void 0,this.step,n?{id:this.checkpoint.id}:void 0),r&&s(this.checkpoint),n||(this.step+=1)}_flushPendingWrites(){if(this.checkpointer==null||this.checkpointPendingWrites.length===0)return;let t=Yn(this.checkpointConfig,{[Br]:this.config.configurable?.checkpoint_ns??"",[Yf]:this.checkpoint.id}),n={};for(let[r,s,a]of this.checkpointPendingWrites)n[r]??=[],n[r].push([s,a]);for(let[r,s]of Object.entries(n))this.checkpointerPromises.push(this.checkpointer.putWrites(t,s,r))}_matchWrites(t){for(let[n,r,s]of this.checkpointPendingWrites){if(r==="__error__"||r==="__interrupt__"||r==="__resume__")continue;let a=Object.values(t).find(i=>i.id===n);a&&a.writes.push([r,s])}for(let n of Object.values(t))n.writes.length>0&&this._outputWrites(n.id,n.writes,!0)}};function L5(e){return jt(e?.message)}var z5=class extends Ca{name="StreamMessagesHandler";streamFn;metadatas={};seen={};emittedChatModelRunIds={};stableMessageIdMap={};lc_prefer_streaming=!0;constructor(e){super(),this.streamFn=e}_emit(e,t,n,r=!1){if(r&&t.id!==void 0&&this.seen[t.id]!==void 0)return;let s=t.id;n!=null&&(ky(t)?s??=`run-${n}-tool-${t.tool_call_id}`:((s==null||s===`run-${n}`)&&(s=this.stableMessageIdMap[n]??s??`run-${n}`),this.stableMessageIdMap[n]??=s)),s!==t.id&&(t.id=s,t.lc_kwargs.id=s),t.id!=null&&(this.seen[t.id]=t),this.streamFn([e[0],"messages",[t,e[1]]])}handleChatModelStart(e,t,n,r,s,a,i,o){i&&(!a||!a.includes("langsmith:nostream")&&!a.includes("nostream"))&&(this.metadatas[n]=[i.langgraph_checkpoint_ns.split("|"),{tags:a,name:o,...i}])}handleLLMNewToken(e,t,n,r,s,a){let i=a?.chunk;this.emittedChatModelRunIds[n]=!0,this.metadatas[n]!==void 0&&(L5(i)?this._emit(this.metadatas[n],i.message,n):this._emit(this.metadatas[n],new mn({content:e}),n))}handleLLMEnd(e,t){if(this.metadatas[t]!==void 0){if(!this.emittedChatModelRunIds[t]){let n=e.generations?.[0]?.[0];jt(n?.message)&&this._emit(this.metadatas[t],n?.message,t,!0),delete this.emittedChatModelRunIds[t]}delete this.metadatas[t],delete this.stableMessageIdMap[t]}}handleLLMError(e,t){delete this.metadatas[t]}handleChainStart(e,t,n,r,s,a,i,o){if(a!==void 0&&o===a.langgraph_node&&(s===void 0||!s.includes("langsmith:hidden"))&&(this.metadatas[n]=[a.langgraph_checkpoint_ns.split("|"),{tags:s,name:o,...a}],typeof t=="object")){for(let c of Object.values(t))if((jt(c)||Xo(c))&&c.id!==void 0)this.seen[c.id]=c;else if(Array.isArray(c))for(let u of c)(jt(u)||Xo(u))&&u.id!==void 0&&(this.seen[u.id]=u)}}handleChainEnd(e,t){let n=this.metadatas[t];if(delete this.metadatas[t],n!==void 0){if(jt(e))this._emit(n,e,t,!0);else if(Array.isArray(e))for(let r of e)jt(r)&&this._emit(n,r,t,!0);else if(e!=null&&typeof e=="object"){for(let r of Object.values(e))if(jt(r))this._emit(n,r,t,!0);else if(Array.isArray(r))for(let s of r)jt(s)&&this._emit(n,s,t,!0)}}}handleChainError(e,t){delete this.metadatas[t]}},U5=[400,401,402,403,404,405,406,407,409],D5=e=>{if(e.message.startsWith("Cancel")||e.message.startsWith("AbortError")||e.name==="AbortError"||e.name==="GraphValueError"||e?.code==="ECONNABORTED")return!1;let t=e?.response?.status??e?.status;return!(t&&U5.includes(+t)||e?.error?.code==="insufficient_quota")};async function dT(e,t,n,r){let s=e.retry_policy??t,a=s!==void 0?s.initialInterval??500:0,i=0,o,c,{config:u}=e;for(n&&(u=Yn(u,n)),u={...u,signal:r};!r?.aborted;){e.writes.splice(0,e.writes.length),o=void 0;try{c=await e.proc.invoke(e.input,u);break}catch(l){if(o=l,o.pregelTaskId=e.id,eA(o)){let h=u?.configurable?.checkpoint_ns,f=o.command;if(f.graph===h){for(let m of e.writers)await m.invoke(f,u);o=void 0;break}else if(f.graph===_r.PARENT){let m=F9(h);o.command=new _r({...o.command,graph:m})}}if(el(o)||s===void 0||(i+=1,i>=(s.maxAttempts??3))||!(s.retryOn??D5)(o))break;a=Math.min(s.maxInterval??128e3,a*(s.backoffFactor??2));let d=s.jitter?Math.floor(a+Math.random()*1e3):a;await new Promise(h=>setTimeout(h,d));let p=o.name??o.constructor.unminifiable_name??o.constructor.name;(s?.logWarning??!0)&&console.log(`Retrying task "${String(e.name)}" after ${a.toFixed(2)}ms (attempt ${i}) after ${p}: ${o}`),u=Yn(u,{[Tl]:!0})}}return{task:e,result:c,error:o,signalAborted:r?.aborted}}var xg=Symbol.for("promiseAdded");function F5(){let e={next:()=>{},wait:Promise.resolve(xg)};function t(n){e.next=()=>{e.wait=new Promise(t),n(xg)}}return e.wait=new Promise(t),e}var B5=class{nodeFinished;loop;constructor({loop:e,nodeFinished:t}){this.loop=e,this.nodeFinished=t}async tick(e={}){let{timeout:t,retryPolicy:n,onStepWrite:r,maxConcurrency:s}=e,a=new Set,i,o=new AbortController,c=o.signal,u=t?AbortSignal.timeout(t):void 0,l=Object.values(this.loop.tasks).filter(f=>f.writes.length===0),{signals:d,disposeCombinedSignal:p}=this._initializeAbortSignals({exceptionSignal:c,stepTimeoutSignal:u,signal:e.signal}),h=this._executeTasksWithRetry(l,{signals:d,retryPolicy:n,maxConcurrency:s});for await(let{task:f,error:m,signalAborted:v}of h)this._commit(f,m),ti(m)||el(m)&&!ti(i)?i=m:m&&(a.size===0||!v)&&(o.abort(),a.add(m));if(p?.(),r?.(this.loop.step,Object.values(this.loop.tasks).map(f=>f.writes).flat()),a.size===1)throw Array.from(a)[0];if(a.size>1)throw new AggregateError(Array.from(a),`Multiple errors occurred during superstep ${this.loop.step}. See the "errors" field of this exception for more details.`);if(ti(i)||el(i)&&this.loop.isNested)throw i}_initializeAbortSignals({exceptionSignal:e,stepTimeoutSignal:t,signal:n}){let r=this.loop.config.configurable?.__pregel_abort_signals??{},s=r.externalAbortSignal??n,a=t??r.timeoutAbortSignal,{signal:i,dispose:o}=Ql(s,a,e),c={externalAbortSignal:s,timeoutAbortSignal:a,composedAbortSignal:i};return this.loop.config=Yn(this.loop.config,{[JE]:c}),{signals:c,disposeCombinedSignal:o}}async*_executeTasksWithRetry(e,t){let{retryPolicy:n,maxConcurrency:r,signals:s}=t??{},a=F5(),i={},o={executingTasksMap:i,barrier:a,retryPolicy:n,scheduleTask:async(p,h,f)=>this.loop.acceptPush(p,h,f)};if(s?.composedAbortSignal?.aborted)throw new Error("Abort");let c=0,u,l=Ql(s?.externalAbortSignal,s?.timeoutAbortSignal),d=l.signal?new Promise((p,h)=>{u=()=>h(new Error("Abort")),l.signal?.addEventListener("abort",u,{once:!0})}):void 0;for(;(c===0||Object.keys(i).length>0)&&e.length;){for(;Object.values(i).length<(r??e.length)&&c<e.length;c+=1){let h=e[c];i[h.id]=dT(h,n,{[oy]:pT?.bind(o,this,h)},s?.composedAbortSignal).catch(f=>({task:h,error:f,signalAborted:s?.composedAbortSignal?.aborted}))}let p=await Promise.race([...Object.values(i),...d?[d]:[],a.wait]);p!==xg&&(yield p,u!=null&&(l.signal?.removeEventListener("abort",u),l.dispose?.()),delete i[p.task.id])}}_commit(e,t){if(t!==void 0)if(ti(t)){if(t.interrupts.length){let n=t.interrupts.map(s=>[Tt,s]),r=e.writes.filter(s=>s[0]===vs);r.length&&n.push(...r),this.loop.putWrites(e.id,n)}}else el(t)&&e.writes.length?this.loop.putWrites(e.id,e.writes):this.loop.putWrites(e.id,[[yp,{message:t.message,name:t.name}]]);else this.nodeFinished&&(e.config?.tags==null||!e.config.tags.includes("langsmith:hidden"))&&this.nodeFinished(String(e.name)),e.writes.length===0&&e.writes.push([uy,null]),this.loop.putWrites(e.id,e.writes)}};async function pT(e,t,n,r,s,a={}){let i=t.config?.configurable?.[ps];if(!i)throw new Error(`BUG: No scratchpad found on task ${t.name}__${t.id}`);let o=i.callCounter;i.callCounter+=1;let c=new f5({func:n,name:r,input:s,cache:a.cache,retry:a.retry,callbacks:a.callbacks}),u=await this.scheduleTask(t,o,c);if(!u)return;let l=this.executingTasksMap[u.id];if(l!==void 0)return l;if(u.writes.length>0){let d=u.writes.filter(([h])=>h===_p),p=u.writes.filter(([h])=>h===yp);if(d.length>0){if(d.length===1)return Promise.resolve(d[0][1]);throw new Error(`BUG: multiple returns found for task ${u.name}__${u.id}`)}if(p.length>0){if(p.length===1){let h=p[0][1],f=h instanceof Error?h:new Error(String(h));return Promise.reject(f)}throw new Error(`BUG: multiple errors found for task ${u.name}__${u.id}`)}return}else{let d=dT(u,a.retry,{[oy]:pT.bind(this,e,u)});return this.executingTasksMap[u.id]=d,this.barrier.next(),d.then(({result:p,error:h})=>h?Promise.reject(h):p)}}var Nr=class extends Error{constructor(e){super(e),this.name="GraphValidationError"}};function Z5({nodes:e,channels:t,inputChannels:n,outputChannels:r,streamChannels:s,interruptAfterNodes:a,interruptBeforeNodes:i}){if(!t)throw new Nr("Channels not provided");let o=new Set,c=new Set;for(let[u,l]of Object.entries(e)){if(u==="__interrupt__")throw new Nr(`"Node name ${Tt} is reserved"`);if(l.constructor===dc)l.triggers.forEach(d=>o.add(d));else throw new Nr(`Invalid node type ${typeof l}, expected PregelNode`)}for(let u of o)if(!(u in t))throw new Nr(`Subscribed channel '${String(u)}' not in channels`);if(Array.isArray(n)){if(n.every(u=>!o.has(u)))throw new Nr(`None of the input channels ${n} are subscribed to by any node`)}else if(!o.has(n))throw new Nr(`Input channel ${String(n)} is not subscribed to by any node`);Array.isArray(r)?r.forEach(u=>c.add(u)):c.add(r),s&&!Array.isArray(s)?c.add(s):Array.isArray(s)&&s.forEach(u=>c.add(u));for(let u of c)if(!(u in t))throw new Nr(`Output channel '${String(u)}' not in channels`);if(a&&a!=="*"){for(let u of a)if(!(u in e))throw new Nr(`Node ${String(u)} not in nodes`)}if(i&&i!=="*"){for(let u of i)if(!(u in e))throw new Nr(`Node ${String(u)} not in nodes`)}}function kb(e,t){if(Array.isArray(e)){for(let n of e)if(!(n in t))throw new Error(`Key ${String(n)} not found in channels`)}else if(!(e in t))throw new Error(`Key ${String(e)} not found in channels`)}var V5=class hT extends Ls{lc_graph_name="Topic";unique=!1;accumulate=!1;seen;values;constructor(t){super(),this.unique=t?.unique??this.unique,this.accumulate=t?.accumulate??this.accumulate,this.seen=new Set,this.values=[]}fromCheckpoint(t){let n=new hT({unique:this.unique,accumulate:this.accumulate});return typeof t<"u"&&(n.seen=new Set(t[0]),n.values=t[1]),n}update(t){let n=!1;this.accumulate||(n=this.values.length>0,this.values=[]);let r=t.flat();if(r.length>0)if(this.unique)for(let s of r)this.seen.has(s)||(n=!0,this.seen.add(s),this.values.push(s));else n=!0,this.values.push(...r);return n}get(){if(this.values.length===0)throw new Et;return this.values}checkpoint(){return[[...this.seen],this.values]}isAvailable(){return this.values.length!==0}};function q5(e){let t=Mt.getRunnableConfig();if(!t)throw new Error("Called interrupt() outside the context of a graph.");let n=t.configurable;if(!n)throw new Error("No configurable found in config");if(!n.__pregel_checkpointer)throw new Qu("No checkpointer set",{lc_error_code:"MISSING_CHECKPOINTER"});let r=n[ps];r.interruptCounter+=1;let s=r.interruptCounter;if(r.resume.length>0&&s<r.resume.length)return n[ds]?.([[vs,r.resume]]),r.resume[s];if(r.nullResume!==void 0){if(r.resume.length!==s)throw new Error(`Resume length mismatch: ${r.resume.length} !== ${s}`);let i=r.consumeNullResume();return r.resume.push(i),n[ds]?.([[vs,r.resume]]),i}let a=n[Br]?.split("|");throw new hi([{id:a?Hs(a.join("|")):void 0,value:e}])}var H5=class{static subscribeTo(e,t){let{key:n,tags:r}={key:void 0,tags:void 0,...t??{}};if(Array.isArray(e)&&n!==void 0)throw new Error("Can't specify a key when subscribing to multiple channels");let s;return typeof e=="string"?n?s={[n]:e}:s=[e]:s=Object.fromEntries(e.map(a=>[a,a])),new dc({channels:s,triggers:Array.isArray(e)?e:[e],tags:r})}static writeTo(e,t){let n=[];for(let r of e)n.push({channel:r,value:ca,skipNone:!1});for(let[r,s]of Object.entries(t??{}))je.isRunnable(s)||typeof s=="function"?n.push({channel:r,value:ca,skipNone:!0,mapper:Rt(s)}):n.push({channel:r,value:s,skipNone:!1});return new Kt(n)}},W5=class extends je{lc_namespace=["langgraph","pregel"];invoke(e,t){throw new Error("Not implemented")}withConfig(e){return super.withConfig(e)}stream(e,t){return super.stream(e,t)}},J5=class extends W5{static lc_name(){return"LangGraph"}lc_namespace=["langgraph","pregel"];lg_is_pregel=!0;nodes;channels;inputChannels;outputChannels;autoValidate=!0;streamMode=["values"];streamChannels;interruptAfter;interruptBefore;stepTimeout;debug=!1;checkpointer;retryPolicy;config;store;cache;userInterrupt;triggerToNodes={};constructor(e){super(e);let{streamMode:t}=e;if(t!=null&&!Array.isArray(t)&&(t=[t]),this.nodes=e.nodes,this.channels=e.channels,"__pregel_tasks"in this.channels&&"lc_graph_name"in this.channels.__pregel_tasks&&this.channels.__pregel_tasks.lc_graph_name!=="Topic")throw new Error(`Channel '${_i}' is reserved and cannot be used in the graph.`);this.channels[_i]=new V5({accumulate:!1}),this.autoValidate=e.autoValidate??this.autoValidate,this.streamMode=t??this.streamMode,this.inputChannels=e.inputChannels,this.outputChannels=e.outputChannels,this.streamChannels=e.streamChannels??this.streamChannels,this.interruptAfter=e.interruptAfter,this.interruptBefore=e.interruptBefore,this.stepTimeout=e.stepTimeout??this.stepTimeout,this.debug=e.debug??this.debug,this.checkpointer=e.checkpointer,this.retryPolicy=e.retryPolicy,this.config=e.config,this.store=e.store,this.cache=e.cache,this.name=e.name,this.triggerToNodes=e.triggerToNodes??this.triggerToNodes,this.userInterrupt=e.userInterrupt,this.autoValidate&&this.validate()}withConfig(e){let t=jn(this.config,e);return new this.constructor({...this,config:t})}validate(){Z5({nodes:this.nodes,channels:this.channels,outputChannels:this.outputChannels,inputChannels:this.inputChannels,streamChannels:this.streamChannels,interruptAfterNodes:this.interruptAfter,interruptBeforeNodes:this.interruptBefore});for(let[e,t]of Object.entries(this.nodes))for(let n of t.triggers)this.triggerToNodes[n]??=[],this.triggerToNodes[n].push(e);return this}get streamChannelsList(){return Array.isArray(this.streamChannels)?this.streamChannels:this.streamChannels?[this.streamChannels]:Object.keys(this.channels)}get streamChannelsAsIs(){return this.streamChannels?this.streamChannels:Object.keys(this.channels)}async getGraphAsync(e){return this.getGraph(e)}*getSubgraphs(e,t){for(let[n,r]of Object.entries(this.nodes)){if(e!==void 0&&!e.startsWith(n))continue;let s=r.subgraphs?.length?r.subgraphs:[r.bound];for(let a of s){let i=XS(a);if(i!==void 0){if(n===e){yield[n,i];return}if(e===void 0&&(yield[n,i]),t){let o=e;e!==void 0&&(o=e.slice(n.length+1));for(let[c,u]of i.getSubgraphs(o,t))yield[`${n}|${c}`,u]}}}}}async*getSubgraphsAsync(e,t){yield*this.getSubgraphs(e,t)}async _prepareStateSnapshot({config:e,saved:t,subgraphCheckpointer:n,applyPendingWrites:r=!1}){if(t===void 0)return{values:{},next:[],config:e,tasks:[]};let s=Gl(this.channels,t.checkpoint);if(t.pendingWrites?.length){let d=t.pendingWrites.filter(([p,h])=>p===yr).map(([p,h,f])=>[String(h),f]);d.length>0&&Sn(t.checkpoint,s,[{name:as,writes:d,triggers:[]}],void 0,this.triggerToNodes)}let a=Object.values(ci(t.checkpoint,t.pendingWrites,this.nodes,s,t.config,!0,{step:(t.metadata?.step??-1)+1,store:this.store})),i=await is(this.getSubgraphsAsync()),o=t.config.configurable?.checkpoint_ns??"",c={};for(let d of a){let p=i.find(([f])=>f===d.name);if(!p)continue;let h=`${String(d.name)}:${d.id}`;if(o&&(h=`${o}|${h}`),n===void 0){let f={configurable:{thread_id:t.config.configurable?.thread_id,checkpoint_ns:h}};c[d.id]=f}else{let f={configurable:{[Fr]:n,thread_id:t.config.configurable?.thread_id,checkpoint_ns:h}},m=p[1];c[d.id]=await m.getState(f,{subgraphs:!0})}}if(r&&t.pendingWrites?.length){let d=Object.fromEntries(a.map(h=>[h.id,h]));for(let[h,f,m]of t.pendingWrites)["__error__","__interrupt__",tl].includes(f)||h in d&&d[h].writes.push([String(f),m]);let p=a.filter(h=>h.writes.length>0);p.length>0&&Sn(t.checkpoint,s,p,void 0,this.triggerToNodes)}let u=t?.metadata;u&&t?.config?.configurable?.thread_id&&(u={...u,thread_id:t.config.configurable.thread_id});let l=a.filter(d=>d.writes.length===0).map(d=>d.name);return{values:ga(s,this.streamChannelsAsIs),next:l,tasks:oT(a,t?.pendingWrites??[],c,this.streamChannelsAsIs),metadata:u,config:Bs(t.config,t.metadata),createdAt:t.checkpoint.ts,parentConfig:t.parentConfig}}async getState(e,t){let n=e.configurable?.__pregel_checkpointer??this.checkpointer;if(!n)throw new Qu("No checkpointer set",{lc_error_code:"MISSING_CHECKPOINTER"});let r=e.configurable?.checkpoint_ns??"";if(r!==""&&e.configurable?.__pregel_checkpointer===void 0){let i=Ef(r);for await(let[o,c]of this.getSubgraphsAsync(i,!0))if(o===i)return await c.getState(Da(e,{[Fr]:n}),{subgraphs:t?.subgraphs})}let s=jn(this.config,e),a=await n.getTuple(e);return await this._prepareStateSnapshot({config:s,saved:a,subgraphCheckpointer:t?.subgraphs?n:void 0,applyPendingWrites:!e.configurable?.checkpoint_id})}async*getStateHistory(e,t){let n=e.configurable?.__pregel_checkpointer??this.checkpointer;if(!n)throw new Qu("No checkpointer set",{lc_error_code:"MISSING_CHECKPOINTER"});let r=e.configurable?.checkpoint_ns??"";if(r!==""&&e.configurable?.__pregel_checkpointer===void 0){let a=Ef(r);for await(let[i,o]of this.getSubgraphsAsync(a,!0))if(i===a){yield*o.getStateHistory(Da(e,{[Fr]:n}),t);return}}let s=jn(this.config,e,{configurable:{checkpoint_ns:r}});for await(let a of n.list(s,t))yield this._prepareStateSnapshot({config:a.config,saved:a})}async bulkUpdateState(e,t){let n=e.configurable?.__pregel_checkpointer??this.checkpointer;if(!n)throw new Qu("No checkpointer set",{lc_error_code:"MISSING_CHECKPOINTER"});if(t.length===0)throw new Error("No supersteps provided");if(t.some(i=>i.updates.length===0))throw new Error("No updates provided");let r=e.configurable?.checkpoint_ns??"";if(r!==""&&e.configurable?.__pregel_checkpointer===void 0){let i=Ef(r);for await(let[,o]of this.getSubgraphsAsync(i,!0))return await o.bulkUpdateState(Da(e,{[Fr]:n}),t);throw new Error(`Subgraph "${i}" not found`)}let s=async(i,o)=>{let c=this.config?jn(this.config,i):i,u=await n.getTuple(c),l=u!==void 0?Jl(u.checkpoint):BS(),d={...u?.checkpoint.channel_versions},p=u?.metadata?.step??-1,h=Da(c,{checkpoint_ns:c.configurable?.checkpoint_ns??""}),f=c.metadata??{};u?.config.configurable&&(h=Da(c,u.config.configurable),f={...u.metadata,...f});let{values:m,asNode:v}=o[0];if(m==null&&v===void 0){if(o.length>1)throw new Xe("Cannot create empty checkpoint with multiple updates");return Bs(await n.put(h,Ks(l,void 0,p),{source:"update",step:p+1,parents:u?.metadata?.parents??{}},{}),u?u.metadata:void 0)}let g=Gl(this.channels,l);if(m===null&&v==="__end__"){if(o.length>1)throw new Xe("Cannot apply multiple updates when clearing state");if(u){let I=ci(l,u.pendingWrites||[],this.nodes,g,u.config,!0,{step:(u.metadata?.step??-1)+1,checkpointer:n,store:this.store}),w=(u.pendingWrites||[]).filter(P=>P[0]===yr).map(P=>P.slice(1));w.length>0&&Sn(l,g,[{name:as,writes:w,triggers:[]}],n.getNextVersion.bind(n),this.triggerToNodes);for(let[P,A,Z]of u.pendingWrites||[])["__error__","__interrupt__",tl].includes(A)||P in I&&I[P].writes.push([A,Z]);Sn(l,g,Object.values(I),n.getNextVersion.bind(n),this.triggerToNodes)}return Bs(await n.put(h,Ks(l,g,p),{...f,source:"update",step:p+1,parents:u?.metadata?.parents??{}},fl(d,l.channel_versions)),u?u.metadata:void 0)}if(v==="__copy__"){if(o.length>1)throw new Xe("Cannot copy checkpoint with multiple updates");if(u==null)throw new Xe("Cannot copy a non-existent checkpoint");let I=A=>!Array.isArray(A)||A.length===0?!1:A.every(Z=>Array.isArray(Z)&&Z.length===2),w=Ks(l,void 0,p),P=await n.put(u.parentConfig??Da(u.config,{checkpoint_id:void 0}),w,{source:"fork",step:p+1,parents:u.metadata?.parents??{}},{});if(I(m)){let A=ci(w,u.pendingWrites,this.nodes,g,P,!1,{step:p+2}),Z=Object.values(A).reduce((rt,{name:B,id:L})=>(rt[B]??=[],rt[B].push({id:L}),rt),{}),ze=m.reduce((rt,B)=>{let[L,z]=B;rt[z]??=[];let ee=rt[z].length,oe=Z[z]?.[ee]?.id;return rt[z].push({values:L,asNode:z,taskId:oe}),rt},{});return s(Bs(P,u.metadata),Object.values(ze).flat())}return Bs(P,u.metadata)}if(v==="__input__"){if(o.length>1)throw new Xe("Cannot apply multiple updates when updating as input");let I=await is(aT(this.inputChannels,m));if(I.length===0)throw new Xe(`Received no input writes for ${JSON.stringify(this.inputChannels,null,2)}`);Sn(l,g,[{name:as,writes:I,triggers:[]}],n.getNextVersion.bind(this.checkpointer),this.triggerToNodes);let w=u?.metadata?.step!=null?u.metadata.step+1:-1,P=await n.put(h,Ks(l,g,w),{source:"input",step:w,parents:u?.metadata?.parents??{}},fl(d,l.channel_versions));return await n.putWrites(P,I,ni(as,l.id)),Bs(P,u?u.metadata:void 0)}if(c.configurable?.checkpoint_id===void 0&&u?.pendingWrites!==void 0&&u.pendingWrites.length>0){let I=ci(l,u.pendingWrites,this.nodes,g,u.config,!0,{store:this.store,checkpointer:this.checkpointer,step:(u.metadata?.step??-1)+1}),w=(u.pendingWrites??[]).filter(A=>A[0]===yr).map(A=>A.slice(1));w.length>0&&Sn(u.checkpoint,g,[{name:as,writes:w,triggers:[]}],void 0,this.triggerToNodes);for(let[A,Z,ze]of u.pendingWrites)["__error__","__interrupt__",tl].includes(Z)||I[A]===void 0||I[A].writes.push([Z,ze]);let P=Object.values(I).filter(A=>A.writes.length>0);P.length>0&&Sn(l,g,P,void 0,this.triggerToNodes)}let y=Object.values(l.versions_seen).map(I=>Object.values(I)).flat().find(I=>!!I),k=[];if(o.length===1){let{values:I,asNode:w,taskId:P}=o[0];if(w===void 0&&Object.keys(this.nodes).length===1)[w]=Object.keys(this.nodes);else if(w===void 0&&y===void 0)typeof this.inputChannels=="string"&&this.nodes[this.inputChannels]!==void 0&&(w=this.inputChannels);else if(w===void 0){let A=Object.entries(l.versions_seen).map(([Z,ze])=>Object.values(ze).map(rt=>[rt,Z])).flat().filter(([Z,ze])=>ze!==Tt).sort(([Z],[ze])=>ZS(Z,ze));A&&(A.length===1?w=A[0][1]:A[A.length-1][0]!==A[A.length-2][0]&&(w=A[A.length-1][1]))}if(w===void 0)throw new Xe('Ambiguous update, specify "asNode"');k.push({values:I,asNode:w,taskId:P})}else for(let{asNode:I,values:w,taskId:P}of o){if(I==null)throw new Xe('"asNode" is required when applying multiple updates');k.push({values:w,asNode:I,taskId:P})}let x=[];for(let{asNode:I,values:w,taskId:P}of k){if(this.nodes[I]===void 0)throw new Xe(`Node "${I.toString()}" does not exist`);let A=this.nodes[I].getWriters();if(!A.length)throw new Xe(`No writers found for node "${I.toString()}"`);x.push({name:I,input:w,proc:A.length>1?Ts.from(A,{omitSequenceTags:!0}):A[0],writes:[],triggers:[Tt],id:P??ni("__interrupt__",l.id),writers:[]})}for(let I of x)await I.proc.invoke(I.input,Ve({...c,store:c?.store??this.store},{runName:c.runName??`${this.getName()}UpdateState`,configurable:{[ds]:w=>I.writes.push(...w),[ra]:(w,P=!1)=>ml(l,g,I,w,P)}}));for(let I of x){let w=I.writes.filter(P=>P[0]!==Zr);u!==void 0&&w.length>0&&await n.putWrites(h,w,I.id)}Sn(l,g,x,n.getNextVersion.bind(this.checkpointer),this.triggerToNodes);let S=fl(d,l.channel_versions),E=await n.put(h,Ks(l,g,p+1),{source:"update",step:p+1,parents:u?.metadata?.parents??{}},S);for(let I of x){let w=I.writes.filter(P=>P[0]===Zr);w.length>0&&await n.putWrites(E,w,I.id)}return Bs(E,u?u.metadata:void 0)},a=e;for(let{updates:i}of t)a=await s(a,i);return a}async updateState(e,t,n){return this.bulkUpdateState(e,[{updates:[{values:t,asNode:n}]}])}_defaults(e){let{debug:t,streamMode:n,inputKeys:r,outputKeys:s,interruptAfter:a,interruptBefore:i,...o}=e,c=!0,u=t!==void 0?t:this.debug,l=s;l===void 0?l=this.streamChannelsAsIs:kb(l,this.channels);let d=r;d===void 0?d=this.inputChannels:kb(d,this.channels);let p=i??this.interruptBefore??[],h=a??this.interruptAfter??[],f;n!==void 0?(f=Array.isArray(n)?n:[n],c=typeof n=="string"):(e.configurable?.__pregel_task_id!==void 0?f=["values"]:f=this.streamMode,c=!0);let m;if(this.checkpointer===!1)m=void 0;else if(e!==void 0&&e.configurable?.__pregel_checkpointer!==void 0)m=e.configurable[Fr];else{if(this.checkpointer===!0)throw new Error("checkpointer: true cannot be used for root graphs.");m=this.checkpointer}let v=e.store??this.store,g=e.cache??this.cache;if(e.durability!=null&&e.checkpointDuring!=null)throw new Error("Cannot use both `durability` and `checkpointDuring` at the same time.");let y=(()=>{if(e.checkpointDuring!=null)return e.checkpointDuring===!1?"exit":"async"})(),k=e.durability??y??e?.configurable?.__pregel_durability??"async";return[u,f,d,l,o,p,h,m,v,c,g,k]}async stream(e,t){let n=new AbortController,{signal:r,dispose:s}=Ql(t?.signal,n.signal),a={recursionLimit:this.config?.recursionLimit,...t,signal:r},i=await super.stream(e,a);return new vb(t?.encoding==="text/event-stream"?N5(i):i,n,s)}streamEvents(e,t,n){let r=new AbortController,{signal:s,dispose:a}=Ql(t?.signal,r.signal),i={recursionLimit:this.config?.recursionLimit,...t,callbacks:h5(this.config?.callbacks,t?.callbacks),signal:s};return new vb(super.streamEvents(e,i,n),r,a)}async _validateInput(e){return e}async _validateContext(e){return e}async*_streamIterator(e,t){let n="version"in(t??{})?void 0:t?.encoding??void 0,r=t?.subgraphs,s=GS(this.config,t);if(s.recursionLimit===void 0||s.recursionLimit<1)throw new Error('Passed "recursionLimit" must be at least 1.');if(this.checkpointer!==void 0&&this.checkpointer!==!1&&s.configurable===void 0)throw new Error('Checkpointer requires one or more of the following "configurable" keys: "thread_id", "checkpoint_ns", "checkpoint_id"');let a=await this._validateInput(e),{runId:i,...o}=s,[c,u,,l,d,p,h,f,m,v,g,y]=this._defaults(o);typeof d.context<"u"?d.context=await this._validateContext(d.context):d.configurable=await this._validateContext(d.configurable);let k=new uT({modes:new Set(u)});if(this.checkpointer===!0){d.configurable??={};let P=d.configurable.checkpoint_ns??"";d.configurable[Br]=P.split("|").map(A=>A.split(":")[0]).join("|")}if(u.includes("messages")){let P=new z5(Z=>k.push(Z)),{callbacks:A}=d;if(A===void 0)d.callbacks=[P];else if(Array.isArray(A))d.callbacks=A.concat(P);else{let Z=A.copy();Z.addHandler(P,!0),d.callbacks=Z}}if(u.includes("tools")){let P=new A5(Z=>k.push(Z)),{callbacks:A}=d;if(A===void 0)d.callbacks=[P];else if(Array.isArray(A))d.callbacks=A.concat(P);else{let Z=A.copy();Z.addHandler(P,!0),d.callbacks=Z}}d.writer??=P=>{if(!u.includes("custom"))return;let A=D9()?.configurable?.[Br]?.split("|").slice(0,-1);k.push([A??[],"custom",P])},d.interrupt??=this.userInterrupt??q5;let x=await(await en(d))?.handleChainStart(this.toJSON(),p5(e,"input"),i,void 0,void 0,void 0,d?.runName??this.getName()),S=O_(this.channels),E,I,w=(async()=>{try{E=await M5.initialize({input:a,config:d,checkpointer:f,nodes:this.nodes,channelSpecs:S,outputKeys:l,streamKeys:this.streamChannelsAsIs,store:m,cache:g,stream:k,interruptAfter:h,interruptBefore:p,manager:x,debug:this.debug,triggerToNodes:this.triggerToNodes,durability:y});let P=new B5({loop:E,nodeFinished:d.configurable?.[WE]});t?.subgraphs&&(E.config.configurable={...E.config.configurable,[cy]:E.stream}),await this._runLoop({loop:E,runner:P,debug:c,config:d}),y==="sync"&&await Promise.all(E?.checkpointerPromises??[])}catch(P){I=P}finally{try{E&&(await E.store?.stop(),await E.cache?.stop()),await Promise.all(E?.checkpointerPromises??[])}catch(P){I=I??P}I?k.error(I):k.close()}})();try{for await(let P of k){if(P===void 0)throw new Error("Data structure error.");let[A,Z,ze]=P;if(u.includes(Z)){if(n==="text/event-stream"){r?yield[A,Z,ze]:yield[null,Z,ze];continue}r&&!v?yield[A,Z,ze]:v?r?yield[A,ze]:yield ze:yield[Z,ze]}}}catch(P){throw await x?.handleChainError(I),P}finally{await w}await x?.handleChainEnd(E?.output??{},i,void 0,void 0,void 0)}async invoke(e,t){let n=t?.streamMode??"values",r={...t,outputKeys:t?.outputKeys??this.outputChannels,streamMode:n,encoding:void 0},s=[],a=await this.stream(e,r),i=[],o;for await(let c of a)n==="values"?ek(c)?i.push(c[Tt]):o=c:s.push(c);if(n==="values"){if(i.length>0){let c=i.flat(1);if(o==null)return{[Tt]:c};if(typeof o=="object")return{...o,[Tt]:c}}return o}return s}async _runLoop(e){let{loop:t,runner:n,debug:r,config:s}=e,a;try{for(;await t.tick({inputKeys:this.inputChannels});){for(let{task:i}of await t._matchCachedWrites())t._outputWrites(i.id,i.writes,!0);r&&I5(t.checkpointMetadata.step,t.channels,this.streamChannelsList),r&&cT(t.step,Object.values(t.tasks)),await n.tick({timeout:this.stepTimeout,retryPolicy:this.retryPolicy,onStepWrite:(i,o)=>{r&&E5(i,o,this.streamChannelsList)},maxConcurrency:s.maxConcurrency,signal:s.signal})}if(t.status==="out_of_steps")throw new QE([`Recursion limit of ${s.recursionLimit} reached`,"without hitting a stop condition. You can increase the",'limit by setting the "recursionLimit" config key.'].join(" "),{lc_error_code:"GRAPH_RECURSION_LIMIT"})}catch(i){if(a=i,!await t.finishAndHandleError(a))throw i}finally{a===void 0&&await t.finishAndHandleError()}}async clearCache(){await this.cache?.clear([])}},Pi=class fT extends Ls{lc_graph_name="EphemeralValue";guard;value=[];constructor(t=!0){super(),this.guard=t}fromCheckpoint(t){let n=new fT(this.guard);return typeof t<"u"&&(n.value=[t]),n}update(t){if(t.length===0){let n=this.value.length>0;return this.value=[],n}if(t.length!==1&&this.guard)throw new Xe("EphemeralValue can only receive one value per step.");return this.value=[t[t.length-1]],!0}get(){if(this.value.length===0)throw new Et;return this.value[0]}checkpoint(){if(this.value.length===0)throw new Et;return this.value[0]}isAvailable(){return this.value.length!==0}};function Ce(e,t,n){function r(o,c){var u;Object.defineProperty(o,"_zod",{value:o._zod??{},enumerable:!1}),(u=o._zod).traits??(u.traits=new Set),o._zod.traits.add(e),t(o,c);for(let l in i.prototype)l in o||Object.defineProperty(o,l,{value:i.prototype[l].bind(o)});o._zod.constr=i,o._zod.def=c}let s=n?.Parent??Object;class a extends s{}Object.defineProperty(a,"name",{value:e});function i(o){var c;let u=n?.Parent?new a:this;r(u,o),(c=u._zod).deferred??(c.deferred=[]);for(let l of u._zod.deferred)l();return u}return Object.defineProperty(i,"init",{value:r}),Object.defineProperty(i,Symbol.hasInstance,{value:o=>n?.Parent&&o instanceof n.Parent?!0:o?._zod?.traits?.has(e)}),Object.defineProperty(i,"name",{value:e}),i}var fc=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},G5={};function ya(e){return G5}function K5(e,t){return typeof t=="bigint"?t.toString():t}function A_(e){return e==null}function $_(e){let t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}function ut(e,t,n){Object.defineProperty(e,t,{get(){{let r=n();return e[t]=r,r}},set(r){Object.defineProperty(e,t,{value:r})},configurable:!0})}var mT=Error.captureStackTrace?Error.captureStackTrace:(...e)=>{};function xb(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Ob(e){if(xb(e)===!1)return!1;let t=e.constructor;if(t===void 0)return!0;let n=t.prototype;return!(xb(n)===!1||Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)}function X5(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function zs(e){let t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function Vo(e,t=0){for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function Y5(e,t){return t.map(n=>{var r;return(r=n).path??(r.path=[]),n.path.unshift(e),n})}function Ru(e){return typeof e=="string"?e:e?.message}function _a(e,t,n){let r={...e,path:e.path??[]};if(!e.message){let s=Ru(e.inst?._zod.def?.error?.(e))??Ru(t?.error?.(e))??Ru(n.customError?.(e))??Ru(n.localeError?.(e))??"Invalid input";r.message=s}return delete r.inst,delete r.continue,t?.reportInput||delete r.input,r}function C_(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function mc(...e){let[t,n,r]=e;return typeof t=="string"?{message:t,code:"custom",input:n,inst:r}:{...t}}var gT=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),Object.defineProperty(e,"message",{get(){return JSON.stringify(t,K5,2)},enumerable:!0}),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},yT=Ce("$ZodError",gT),_T=Ce("$ZodError",gT,{Parent:Error});function Q5(e,t=n=>n.message){let n={},r=[];for(let s of e.issues)s.path.length>0?(n[s.path[0]]=n[s.path[0]]||[],n[s.path[0]].push(t(s))):r.push(t(s));return{formErrors:r,fieldErrors:n}}function eU(e,t){let n=t||function(a){return a.message},r={_errors:[]},s=a=>{for(let i of a.issues)if(i.code==="invalid_union"&&i.errors.length)i.errors.map(o=>s({issues:o}));else if(i.code==="invalid_key")s({issues:i.issues});else if(i.code==="invalid_element")s({issues:i.issues});else if(i.path.length===0)r._errors.push(n(i));else{let o=r,c=0;for(;c<i.path.length;){let u=i.path[c];c===i.path.length-1?(o[u]=o[u]||{_errors:[]},o[u]._errors.push(n(i))):o[u]=o[u]||{_errors:[]},o=o[u],c++}}};return s(e),r}var tU=e=>(t,n,r,s)=>{let a=r?Object.assign(r,{async:!1}):{async:!1},i=t._zod.run({value:n,issues:[]},a);if(i instanceof Promise)throw new fc;if(i.issues.length){let o=new(s?.Err??e)(i.issues.map(c=>_a(c,a,ya())));throw mT(o,s?.callee),o}return i.value},nU=e=>async(t,n,r,s)=>{let a=r?Object.assign(r,{async:!0}):{async:!0},i=t._zod.run({value:n,issues:[]},a);if(i instanceof Promise&&(i=await i),i.issues.length){let o=new(s?.Err??e)(i.issues.map(c=>_a(c,a,ya())));throw mT(o,s?.callee),o}return i.value},vT=e=>(t,n,r)=>{let s=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},s);if(a instanceof Promise)throw new fc;return a.issues.length?{success:!1,error:new(e??yT)(a.issues.map(i=>_a(i,s,ya())))}:{success:!0,data:a.value}},rU=vT(_T),wT=e=>async(t,n,r)=>{let s=r?Object.assign(r,{async:!0}):{async:!0},a=t._zod.run({value:n,issues:[]},s);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new e(a.issues.map(i=>_a(i,s,ya())))}:{success:!0,data:a.value}},sU=wT(_T),io=Ce("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),aU=Ce("$ZodCheckMaxLength",(e,t)=>{var n;io.init(e,t),(n=e._zod.def).when??(n.when=r=>{let s=r.value;return!A_(s)&&s.length!==void 0}),e._zod.onattach.push(r=>{let s=r._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<s&&(r._zod.bag.maximum=t.maximum)}),e._zod.check=r=>{let s=r.value;if(s.length<=t.maximum)return;let a=C_(s);r.issues.push({origin:a,code:"too_big",maximum:t.maximum,inclusive:!0,input:s,inst:e,continue:!t.abort})}}),iU=Ce("$ZodCheckMinLength",(e,t)=>{var n;io.init(e,t),(n=e._zod.def).when??(n.when=r=>{let s=r.value;return!A_(s)&&s.length!==void 0}),e._zod.onattach.push(r=>{let s=r._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>s&&(r._zod.bag.minimum=t.minimum)}),e._zod.check=r=>{let s=r.value;if(s.length>=t.minimum)return;let a=C_(s);r.issues.push({origin:a,code:"too_small",minimum:t.minimum,inclusive:!0,input:s,inst:e,continue:!t.abort})}}),oU=Ce("$ZodCheckLengthEquals",(e,t)=>{var n;io.init(e,t),(n=e._zod.def).when??(n.when=r=>{let s=r.value;return!A_(s)&&s.length!==void 0}),e._zod.onattach.push(r=>{let s=r._zod.bag;s.minimum=t.length,s.maximum=t.length,s.length=t.length}),e._zod.check=r=>{let s=r.value,a=s.length;if(a===t.length)return;let i=C_(s),o=a>t.length;r.issues.push({origin:i,...o?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:r.value,inst:e,continue:!t.abort})}}),cU=Ce("$ZodCheckOverwrite",(e,t)=>{io.init(e,t),e._zod.check=n=>{n.value=t.tx(n.value)}}),uU={major:4,minor:0,patch:0},sn=Ce("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=uU;let r=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&r.unshift(e);for(let s of r)for(let a of s._zod.onattach)a(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let s=(a,i,o)=>{let c=Vo(a),u;for(let l of i){if(l._zod.def.when){if(!l._zod.def.when(a))continue}else if(c)continue;let d=a.issues.length,p=l._zod.check(a);if(p instanceof Promise&&o?.async===!1)throw new fc;if(u||p instanceof Promise)u=(u??Promise.resolve()).then(async()=>{await p,a.issues.length!==d&&(c||(c=Vo(a,d)))});else{if(a.issues.length===d)continue;c||(c=Vo(a,d))}}return u?u.then(()=>a):a};e._zod.run=(a,i)=>{let o=e._zod.parse(a,i);if(o instanceof Promise){if(i.async===!1)throw new fc;return o.then(c=>s(c,r,i))}return s(o,r,i)}}e["~standard"]={validate:s=>{try{let a=rU(e,s);return a.success?{value:a.data}:{issues:a.error?.issues}}catch{return sU(e,s).then(a=>a.success?{value:a.data}:{issues:a.error?.issues})}},vendor:"zod",version:1}}),lU=Ce("$ZodAny",(e,t)=>{sn.init(e,t),e._zod.parse=n=>n});function Sb(e,t,n){e.issues.length&&t.issues.push(...Y5(n,e.issues)),t.value[n]=e.value}var dU=Ce("$ZodArray",(e,t)=>{sn.init(e,t),e._zod.parse=(n,r)=>{let s=n.value;if(!Array.isArray(s))return n.issues.push({expected:"array",code:"invalid_type",input:s,inst:e}),n;n.value=Array(s.length);let a=[];for(let i=0;i<s.length;i++){let o=s[i],c=t.element._zod.run({value:o,issues:[]},r);c instanceof Promise?a.push(c.then(u=>Sb(u,n,i))):Sb(c,n,i)}return a.length?Promise.all(a).then(()=>n):n}});function Tb(e,t,n,r){for(let s of e)if(s.issues.length===0)return t.value=s.value,t;return t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map(s=>s.issues.map(a=>_a(a,r,ya())))}),t}var pU=Ce("$ZodUnion",(e,t)=>{sn.init(e,t),ut(e._zod,"optin",()=>t.options.some(n=>n._zod.optin==="optional")?"optional":void 0),ut(e._zod,"optout",()=>t.options.some(n=>n._zod.optout==="optional")?"optional":void 0),ut(e._zod,"values",()=>{if(t.options.every(n=>n._zod.values))return new Set(t.options.flatMap(n=>Array.from(n._zod.values)))}),ut(e._zod,"pattern",()=>{if(t.options.every(n=>n._zod.pattern)){let n=t.options.map(r=>r._zod.pattern);return new RegExp(`^(${n.map(r=>$_(r.source)).join("|")})$`)}}),e._zod.parse=(n,r)=>{let s=!1,a=[];for(let i of t.options){let o=i._zod.run({value:n.value,issues:[]},r);if(o instanceof Promise)a.push(o),s=!0;else{if(o.issues.length===0)return o;a.push(o)}}return s?Promise.all(a).then(i=>Tb(i,n,e,r)):Tb(a,n,e,r)}}),hU=Ce("$ZodIntersection",(e,t)=>{sn.init(e,t),e._zod.parse=(n,r)=>{let s=n.value,a=t.left._zod.run({value:s,issues:[]},r),i=t.right._zod.run({value:s,issues:[]},r);return a instanceof Promise||i instanceof Promise?Promise.all([a,i]).then(([o,c])=>Ib(n,o,c)):Ib(n,a,i)}});function Og(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(Ob(e)&&Ob(t)){let n=Object.keys(t),r=Object.keys(e).filter(a=>n.indexOf(a)!==-1),s={...e,...t};for(let a of r){let i=Og(e[a],t[a]);if(!i.valid)return{valid:!1,mergeErrorPath:[a,...i.mergeErrorPath]};s[a]=i.data}return{valid:!0,data:s}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let r=0;r<e.length;r++){let s=e[r],a=t[r],i=Og(s,a);if(!i.valid)return{valid:!1,mergeErrorPath:[r,...i.mergeErrorPath]};n.push(i.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function Ib(e,t,n){if(t.issues.length&&e.issues.push(...t.issues),n.issues.length&&e.issues.push(...n.issues),Vo(e))return e;let r=Og(t.value,n.value);if(!r.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(r.mergeErrorPath)}`);return e.value=r.data,e}var fU=Ce("$ZodTransform",(e,t)=>{sn.init(e,t),e._zod.parse=(n,r)=>{let s=t.transform(n.value,n);if(r.async)return(s instanceof Promise?s:Promise.resolve(s)).then(a=>(n.value=a,n));if(s instanceof Promise)throw new fc;return n.value=s,n}}),mU=Ce("$ZodOptional",(e,t)=>{sn.init(e,t),e._zod.optin="optional",e._zod.optout="optional",ut(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),ut(e._zod,"pattern",()=>{let n=t.innerType._zod.pattern;return n?new RegExp(`^(${$_(n.source)})?$`):void 0}),e._zod.parse=(n,r)=>t.innerType._zod.optin==="optional"?t.innerType._zod.run(n,r):n.value===void 0?n:t.innerType._zod.run(n,r)}),gU=Ce("$ZodNullable",(e,t)=>{sn.init(e,t),ut(e._zod,"optin",()=>t.innerType._zod.optin),ut(e._zod,"optout",()=>t.innerType._zod.optout),ut(e._zod,"pattern",()=>{let n=t.innerType._zod.pattern;return n?new RegExp(`^(${$_(n.source)}|null)$`):void 0}),ut(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(n,r)=>n.value===null?n:t.innerType._zod.run(n,r)}),yU=Ce("$ZodDefault",(e,t)=>{sn.init(e,t),e._zod.optin="optional",ut(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{if(n.value===void 0)return n.value=t.defaultValue,n;let s=t.innerType._zod.run(n,r);return s instanceof Promise?s.then(a=>Eb(a,t)):Eb(s,t)}});function Eb(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var _U=Ce("$ZodPrefault",(e,t)=>{sn.init(e,t),e._zod.optin="optional",ut(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>(n.value===void 0&&(n.value=t.defaultValue),t.innerType._zod.run(n,r))}),vU=Ce("$ZodNonOptional",(e,t)=>{sn.init(e,t),ut(e._zod,"values",()=>{let n=t.innerType._zod.values;return n?new Set([...n].filter(r=>r!==void 0)):void 0}),e._zod.parse=(n,r)=>{let s=t.innerType._zod.run(n,r);return s instanceof Promise?s.then(a=>Ab(a,e)):Ab(s,e)}});function Ab(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}var wU=Ce("$ZodCatch",(e,t)=>{sn.init(e,t),e._zod.optin="optional",ut(e._zod,"optout",()=>t.innerType._zod.optout),ut(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{let s=t.innerType._zod.run(n,r);return s instanceof Promise?s.then(a=>(n.value=a.value,a.issues.length&&(n.value=t.catchValue({...n,error:{issues:a.issues.map(i=>_a(i,r,ya()))},input:n.value}),n.issues=[]),n)):(n.value=s.value,s.issues.length&&(n.value=t.catchValue({...n,error:{issues:s.issues.map(a=>_a(a,r,ya()))},input:n.value}),n.issues=[]),n)}}),bU=Ce("$ZodPipe",(e,t)=>{sn.init(e,t),ut(e._zod,"values",()=>t.in._zod.values),ut(e._zod,"optin",()=>t.in._zod.optin),ut(e._zod,"optout",()=>t.out._zod.optout),e._zod.parse=(n,r)=>{let s=t.in._zod.run(n,r);return s instanceof Promise?s.then(a=>$b(a,t,r)):$b(s,t,r)}});function $b(e,t,n){return Vo(e)?e:t.out._zod.run({value:e.value,issues:e.issues},n)}var kU=Ce("$ZodReadonly",(e,t)=>{sn.init(e,t),ut(e._zod,"propValues",()=>t.innerType._zod.propValues),ut(e._zod,"values",()=>t.innerType._zod.values),ut(e._zod,"optin",()=>t.innerType._zod.optin),ut(e._zod,"optout",()=>t.innerType._zod.optout),e._zod.parse=(n,r)=>{let s=t.innerType._zod.run(n,r);return s instanceof Promise?s.then(Cb):Cb(s)}});function Cb(e){return e.value=Object.freeze(e.value),e}var xU=Ce("$ZodCustom",(e,t)=>{io.init(e,t),sn.init(e,t),e._zod.parse=(n,r)=>n,e._zod.check=n=>{let r=n.value,s=t.fn(r);if(s instanceof Promise)return s.then(a=>Nb(a,n,r,e));Nb(s,n,r,e)}});function Nb(e,t,n,r){if(!e){let s={code:"custom",input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(s.params=r._zod.def.params),t.issues.push(mc(s))}}var OU=class{constructor(){this._map=new Map,this._idmap=new Map}add(e,...t){let n=t[0];if(this._map.set(e,n),n&&typeof n=="object"&&"id"in n){if(this._idmap.has(n.id))throw new Error(`ID ${n.id} already exists in the registry`);this._idmap.set(n.id,e)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(e){let t=this._map.get(e);return t&&typeof t=="object"&&"id"in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};return delete n.id,{...n,...this._map.get(e)}}return this._map.get(e)}has(e){return this._map.has(e)}};function SU(){return new OU}var Mu=SU();function TU(e){return new e({type:"any"})}function IU(e,t){return new aU({check:"max_length",...zs(t),maximum:e})}function Pb(e,t){return new iU({check:"min_length",...zs(t),minimum:e})}function EU(e,t){return new oU({check:"length_equals",...zs(t),length:e})}function AU(e){return new cU({check:"overwrite",tx:e})}function $U(e,t,n){return new e({type:"array",element:t,...zs(n)})}function CU(e,t,n){let r=zs(n);return r.abort??(r.abort=!0),new e({type:"custom",check:"custom",fn:t,...r})}function NU(e,t,n){return new e({type:"custom",check:"custom",fn:t,...zs(n)})}var PU=(e,t)=>{yT.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:n=>eU(e,n)},flatten:{value:n=>Q5(e,n)},addIssue:{value:n=>e.issues.push(n)},addIssues:{value:n=>e.issues.push(...n)},isEmpty:{get(){return e.issues.length===0}}})},Jp=Ce("ZodError",PU,{Parent:Error}),jU=tU(Jp),RU=nU(Jp),MU=vT(Jp),LU=wT(Jp),vn=Ce("ZodType",(e,t)=>(sn.init(e,t),e.def=t,Object.defineProperty(e,"_def",{value:t}),e.check=(...n)=>e.clone({...t,checks:[...t.checks??[],...n.map(r=>typeof r=="function"?{_zod:{check:r,def:{check:"custom"},onattach:[]}}:r)]}),e.clone=(n,r)=>X5(e,n,r),e.brand=()=>e,e.register=((n,r)=>(n.add(e,r),e)),e.parse=(n,r)=>jU(e,n,r,{callee:e.parse}),e.safeParse=(n,r)=>MU(e,n,r),e.parseAsync=async(n,r)=>RU(e,n,r,{callee:e.parseAsync}),e.safeParseAsync=async(n,r)=>LU(e,n,r),e.spa=e.safeParseAsync,e.refine=(n,r)=>e.check(oD(n,r)),e.superRefine=n=>e.check(cD(n)),e.overwrite=n=>e.check(AU(n)),e.optional=()=>jb(e),e.nullable=()=>Rb(e),e.nullish=()=>jb(Rb(e)),e.nonoptional=n=>eD(e,n),e.array=()=>DU(e),e.or=n=>BU([e,n]),e.and=n=>VU(e,n),e.transform=n=>Mb(e,HU(n)),e.default=n=>KU(e,n),e.prefault=n=>YU(e,n),e.catch=n=>nD(e,n),e.pipe=n=>Mb(e,n),e.readonly=()=>aD(e),e.describe=n=>{let r=e.clone();return Mu.add(r,{description:n}),r},Object.defineProperty(e,"description",{get(){return Mu.get(e)?.description},configurable:!0}),e.meta=(...n)=>{if(n.length===0)return Mu.get(e);let r=e.clone();return Mu.add(r,n[0]),r},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e)),zU=Ce("ZodAny",(e,t)=>{lU.init(e,t),vn.init(e,t)});function Lu(){return TU(zU)}var UU=Ce("ZodArray",(e,t)=>{dU.init(e,t),vn.init(e,t),e.element=t.element,e.min=(n,r)=>e.check(Pb(n,r)),e.nonempty=n=>e.check(Pb(1,n)),e.max=(n,r)=>e.check(IU(n,r)),e.length=(n,r)=>e.check(EU(n,r)),e.unwrap=()=>e.element});function DU(e,t){return $U(UU,e,t)}var FU=Ce("ZodUnion",(e,t)=>{pU.init(e,t),vn.init(e,t),e.options=t.options});function BU(e,t){return new FU({type:"union",options:e,...zs(t)})}var ZU=Ce("ZodIntersection",(e,t)=>{hU.init(e,t),vn.init(e,t)});function VU(e,t){return new ZU({type:"intersection",left:e,right:t})}var qU=Ce("ZodTransform",(e,t)=>{fU.init(e,t),vn.init(e,t),e._zod.parse=(n,r)=>{n.addIssue=a=>{if(typeof a=="string")n.issues.push(mc(a,n.value,t));else{let i=a;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=n.value),i.inst??(i.inst=e),i.continue??(i.continue=!0),n.issues.push(mc(i))}};let s=t.transform(n.value,n);return s instanceof Promise?s.then(a=>(n.value=a,n)):(n.value=s,n)}});function HU(e){return new qU({type:"transform",transform:e})}var WU=Ce("ZodOptional",(e,t)=>{mU.init(e,t),vn.init(e,t),e.unwrap=()=>e._zod.def.innerType});function jb(e){return new WU({type:"optional",innerType:e})}var JU=Ce("ZodNullable",(e,t)=>{gU.init(e,t),vn.init(e,t),e.unwrap=()=>e._zod.def.innerType});function Rb(e){return new JU({type:"nullable",innerType:e})}var GU=Ce("ZodDefault",(e,t)=>{yU.init(e,t),vn.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function KU(e,t){return new GU({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():t}})}var XU=Ce("ZodPrefault",(e,t)=>{_U.init(e,t),vn.init(e,t),e.unwrap=()=>e._zod.def.innerType});function YU(e,t){return new XU({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():t}})}var QU=Ce("ZodNonOptional",(e,t)=>{vU.init(e,t),vn.init(e,t),e.unwrap=()=>e._zod.def.innerType});function eD(e,t){return new QU({type:"nonoptional",innerType:e,...zs(t)})}var tD=Ce("ZodCatch",(e,t)=>{wU.init(e,t),vn.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function nD(e,t){return new tD({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}var rD=Ce("ZodPipe",(e,t)=>{bU.init(e,t),vn.init(e,t),e.in=t.in,e.out=t.out});function Mb(e,t){return new rD({type:"pipe",in:e,out:t})}var sD=Ce("ZodReadonly",(e,t)=>{kU.init(e,t),vn.init(e,t)});function aD(e){return new sD({type:"readonly",innerType:e})}var bT=Ce("ZodCustom",(e,t)=>{xU.init(e,t),vn.init(e,t)});function iD(e){let t=new io({check:"custom"});return t._zod.check=e,t}function Lb(e,t){return CU(bT,(()=>!0),t)}function oD(e,t={}){return NU(bT,e,t)}function cD(e){let t=iD(n=>(n.addIssue=r=>{if(typeof r=="string")n.issues.push(mc(r,n.value,t._zod.def));else{let s=r;s.fatal&&(s.continue=!1),s.code??(s.code="custom"),s.input??(s.input=n.value),s.inst??(s.inst=t),s.continue??(s.continue=!t._zod.def.abort),n.issues.push(mc(s))}},e(n.value,n)));return t}var kT=class{path;ends;constructor(e){je.isRunnable(e.path)?this.path=e.path:this.path=Rt(e.path),this.ends=Array.isArray(e.pathMap)?e.pathMap.reduce((t,n)=>(t[n]=n,t),{}):e.pathMap}run(e,t){return Kt.registerWriter(new ja({name:"<branch_run>",trace:!1,func:async(n,r)=>{try{return await this._route(n,r,e,t)}catch(s){throw s.name===ly.unminifiable_name&&console.warn(`[WARN]: 'NodeInterrupt' thrown in conditional edge. This is likely a bug in your graph implementation.
265
- NodeInterrupt should only be thrown inside a node, not in edge conditions.`),s}}}))}async _route(e,t,n,r){let s=await this.path.invoke(r?r(t):e,t);Array.isArray(s)||(s=[s]);let a;if(this.ends?a=s.map(i=>fn(i)?i:this.ends[i]):a=s,a.some(i=>!i))throw new Error("Branch condition returned unknown or null destination");if(a.filter(fn).some(i=>i.node==="__end__"))throw new Xe("Cannot send a packet to the END node");return await n(a,t)??e}},uD=class{nodes;edges;branches;entryPoint;compiled=!1;constructor(){this.nodes={},this.edges=new Set,this.branches={}}warnIfCompiled(e){this.compiled&&console.warn(e)}get allEdges(){return this.edges}addNode(...e){function t(r){return r.length>=1&&typeof r[0]!="string"}let n=t(e)?Array.isArray(e[0])?e[0]:Object.entries(e[0]):[[e[0],e[1],e[2]]];if(n.length===0)throw new Error("No nodes provided in `addNode`");for(let[r,s,a]of n){for(let o of["|",":"])if(r.includes(o))throw new Error(`"${o}" is a reserved character and is not allowed in node names.`);if(this.warnIfCompiled("Adding a node to a graph that has already been compiled. This will not be reflected in the compiled graph."),r in this.nodes)throw new Error(`Node \`${r}\` already present.`);if(r==="__end__")throw new Error(`Node \`${r}\` is reserved.`);let i=Rt(s);this.nodes[r]={runnable:i,metadata:a?.metadata,subgraphs:S_(i)?[i]:a?.subgraphs,ends:a?.ends}}return this}addEdge(e,t){if(this.warnIfCompiled("Adding an edge to a graph that has already been compiled. This will not be reflected in the compiled graph."),e==="__end__")throw new Error("END cannot be a start node");if(t==="__start__")throw new Error("START cannot be an end node");if(Array.from(this.edges).some(([n])=>n===e)&&!("channels"in this))throw new Error(`Already found path for ${e}. For multiple edges, use StateGraph.`);return this.edges.add([e,t]),this}addConditionalEdges(e,t,n){let r=typeof e=="object"?e:{source:e,path:t,pathMap:n};this.warnIfCompiled("Adding an edge to a graph that has already been compiled. This will not be reflected in the compiled graph."),je.isRunnable(r.path)||(r.path=Rt(r.path));let s=r.path.getName()==="RunnableLambda"?"condition":r.path.getName();if(this.branches[r.source]&&this.branches[r.source][s])throw new Error(`Condition \`${s}\` already present for node \`${e}\``);return this.branches[r.source]??={},this.branches[r.source][s]=new kT(r),this}setEntryPoint(e){return this.warnIfCompiled("Setting the entry point of a graph that has already been compiled. This will not be reflected in the compiled graph."),this.addEdge(wt,e)}setFinishPoint(e){return this.warnIfCompiled("Setting a finish point of a graph that has already been compiled. This will not be reflected in the compiled graph."),this.addEdge(e,St)}compile({checkpointer:e,interruptBefore:t,interruptAfter:n,name:r}={}){this.validate([...Array.isArray(t)?t:[],...Array.isArray(n)?n:[]]);let s=new xT({builder:this,checkpointer:e,interruptAfter:n,interruptBefore:t,autoValidate:!1,nodes:{},channels:{[wt]:new Pi,[St]:new Pi},inputChannels:wt,outputChannels:St,streamChannels:[],streamMode:"values",name:r});for(let[a,i]of Object.entries(this.nodes))s.attachNode(a,i);for(let[a,i]of this.edges)s.attachEdge(a,i);for(let[a,i]of Object.entries(this.branches))for(let[o,c]of Object.entries(i))s.attachBranch(a,o,c);return s.validate()}validate(e){let t=new Set([...this.allEdges].map(([r,s])=>r));for(let[r]of Object.entries(this.branches))t.add(r);for(let r of t)if(r!=="__start__"&&!(r in this.nodes))throw new Error(`Found edge starting at unknown node \`${r}\``);let n=new Set([...this.allEdges].map(([r,s])=>s));for(let[r,s]of Object.entries(this.branches))for(let a of Object.values(s))if(a.ends!=null)for(let i of Object.values(a.ends))n.add(i);else{n.add(St);for(let i of Object.keys(this.nodes))i!==r&&n.add(i)}for(let r of Object.values(this.nodes))for(let s of r.ends??[])n.add(s);for(let r of Object.keys(this.nodes))if(!n.has(r))throw new tA([`Node \`${r}\` is not reachable.`,"","If you are returning Command objects from your node,",'make sure you are passing names of potential destination nodes as an "ends" array','into ".addNode(..., { ends: ["node1", "node2"] })".'].join(`
266
- `),{lc_error_code:"UNREACHABLE_NODE"});for(let r of n)if(r!=="__end__"&&!(r in this.nodes))throw new Error(`Found edge ending at unknown node \`${r}\``);if(e){for(let r of e)if(!(r in this.nodes))throw new Error(`Interrupt node \`${r}\` is not present`)}this.compiled=!0}},xT=class extends J5{builder;constructor({builder:e,...t}){super(t),this.builder=e}attachNode(e,t){this.channels[e]=new Pi,this.nodes[e]=new dc({channels:[],triggers:[],metadata:t.metadata,subgraphs:t.subgraphs,ends:t.ends}).pipe(t.runnable).pipe(new Kt([{channel:e,value:ca}],[ln])),this.streamChannels.push(e)}attachEdge(e,t){if(t==="__end__"){if(e==="__start__")throw new Error("Cannot have an edge from START to END");this.nodes[e].writers.push(new Kt([{channel:St,value:ca}],[ln]))}else this.nodes[t].triggers.push(e),this.nodes[t].channels.push(e)}attachBranch(e,t,n){e==="__start__"&&!this.nodes.__start__&&(this.nodes[wt]=H5.subscribeTo(wt,{tags:[ln]})),this.nodes[e].pipe(n.run(s=>new Kt(s.map(a=>fn(a)?a:{channel:a==="__end__"?St:`branch:${e}:${t}:${a}`,value:ca}),[ln])));let r=n.ends?Object.values(n.ends):Object.keys(this.nodes);for(let s of r)if(s!=="__end__"){let a=`branch:${e}:${t}:${s}`;this.channels[a]=new Pi,this.nodes[s].triggers.push(a),this.nodes[s].channels.push(a)}}async getGraphAsync(e){let t=e?.xray,n=new ac,r={[wt]:n.addNode({schema:Lu()},wt)},s={},a={};t&&(a=Object.fromEntries((await is(this.getSubgraphsAsync())).filter(c=>zb(c[1]))));function i(c,u,l,d=!1){if(u==="__end__"&&s.__end__===void 0&&(s[St]=n.addNode({schema:Lu()},St)),r[c]!==void 0){if(s[u]===void 0)throw new Error(`End node ${u} not found!`);return n.addEdge(r[c],s[u],l!==u?l:void 0,d)}}for(let[c,u]of Object.entries(this.builder.nodes)){let l=zt(c),d=u.runnable,p=u.metadata??{};if(this.interruptBefore?.includes(c)&&this.interruptAfter?.includes(c)?p.__interrupt="before,after":this.interruptBefore?.includes(c)?p.__interrupt="before":this.interruptAfter?.includes(c)&&(p.__interrupt="after"),t){let h=typeof t=="number"?t-1:t,f=a[c]!==void 0?await a[c].getGraphAsync({...e,xray:h}):d.getGraph(e);if(f.trimFirstNode(),f.trimLastNode(),Object.keys(f.nodes).length>1){let m=function(k){return k?k.lc_runnable:!1},v=function(k,x){if(k!==void 0&&!nm(k))return k;if(m(x))try{let S=x.getName();return S=S.startsWith("Runnable")?S.slice(8):S,S}catch{return x.getName()}else return x.name??"UnknownSchema"},[g,y]=n.extend(f,l);if(g===void 0)throw new Error(`Could not extend subgraph "${c}" due to missing entrypoint.`);y!==void 0&&(r[l]={name:v(y.id,y.data),...y}),s[l]={name:v(g.id,g.data),...g}}else{let m=n.addNode(d,l,p);r[l]=m,s[l]=m}}else{let h=n.addNode(d,l,p);r[l]=h,s[l]=h}}let o=[...this.builder.allEdges].sort(([c],[u])=>c<u?-1:u>c?1:0);for(let[c,u]of o)i(zt(c),zt(u));for(let[c,u]of Object.entries(this.builder.branches)){let l={...Object.fromEntries(Object.keys(this.builder.nodes).filter(d=>d!==c).map(d=>[zt(d),zt(d)])),[St]:St};for(let d of Object.values(u)){let p;d.ends!==void 0?p=d.ends:p=l;for(let[h,f]of Object.entries(p))i(zt(c),zt(f),h,!0)}}for(let[c,u]of Object.entries(this.builder.nodes))if(u.ends!==void 0)for(let l of u.ends)i(zt(c),zt(l),void 0,!0);return n}getGraph(e){let t=e?.xray,n=new ac,r={[wt]:n.addNode({schema:Lu()},wt)},s={},a={};t&&(a=Object.fromEntries(xo(this.getSubgraphs()).filter(c=>zb(c[1]))));function i(c,u,l,d=!1){return u==="__end__"&&s.__end__===void 0&&(s[St]=n.addNode({schema:Lu()},St)),n.addEdge(r[c],s[u],l!==u?l:void 0,d)}for(let[c,u]of Object.entries(this.builder.nodes)){let l=zt(c),d=u.runnable,p=u.metadata??{};if(this.interruptBefore?.includes(c)&&this.interruptAfter?.includes(c)?p.__interrupt="before,after":this.interruptBefore?.includes(c)?p.__interrupt="before":this.interruptAfter?.includes(c)&&(p.__interrupt="after"),t){let h=typeof t=="number"?t-1:t,f=a[c]!==void 0?a[c].getGraph({...e,xray:h}):d.getGraph(e);if(f.trimFirstNode(),f.trimLastNode(),Object.keys(f.nodes).length>1){let m=function(k){return k?k.lc_runnable:!1},v=function(k,x){if(k!==void 0&&!nm(k))return k;if(m(x))try{let S=x.getName();return S=S.startsWith("Runnable")?S.slice(8):S,S}catch{return x.getName()}else return x.name??"UnknownSchema"},[g,y]=n.extend(f,l);if(g===void 0)throw new Error(`Could not extend subgraph "${c}" due to missing entrypoint.`);y!==void 0&&(r[l]={name:v(y.id,y.data),...y}),s[l]={name:v(g.id,g.data),...g}}else{let m=n.addNode(d,l,p);r[l]=m,s[l]=m}}else{let h=n.addNode(d,l,p);r[l]=h,s[l]=h}}let o=[...this.builder.allEdges].sort(([c],[u])=>c<u?-1:u>c?1:0);for(let[c,u]of o)i(zt(c),zt(u));for(let[c,u]of Object.entries(this.builder.branches)){let l={...Object.fromEntries(Object.keys(this.builder.nodes).filter(d=>d!==c).map(d=>[zt(d),zt(d)])),[St]:St};for(let d of Object.values(u)){let p;d.ends!==void 0?p=d.ends:p=l;for(let[h,f]of Object.entries(p))i(zt(c),zt(f),h,!0)}}return n}};function zb(e){return typeof e.attachNode=="function"&&typeof e.attachEdge=="function"}function zt(e){return e==="subgraph"?`"${e}"`:e}function So(e){return typeof e=="object"&&e!==null&&"~standard"in e&&typeof e["~standard"]=="object"&&e["~standard"]!==null&&"validate"in e["~standard"]}function lD(e){return typeof e=="object"&&e!==null&&"~standard"in e&&typeof e["~standard"]=="object"&&e["~standard"]!==null&&"jsonSchema"in e["~standard"]}function Ba(e){if(lD(e))try{return e["~standard"].jsonSchema.input({target:"draft-07"})}catch{return}}function Za(e){if(e!=null&&So(e))try{let t=e["~standard"].validate(void 0);if(t&&typeof t=="object"&&!("then"in t&&typeof t.then=="function")){let n=t;if(!n.issues){let r=n.value;return()=>r}}}catch{}}var Mf=Symbol.for("langgraph.channel.missing"),dD=class OT extends Ls{lc_graph_name="UntrackedValue";guard;_value=Mf;initialValueFactory;constructor(t){super(),this.guard=t?.guard??!0,this.initialValueFactory=t?.initialValueFactory,this.initialValueFactory&&(this._value=this.initialValueFactory())}fromCheckpoint(t){return new OT({guard:this.guard,initialValueFactory:this.initialValueFactory})}update(t){if(t.length===0)return!1;if(t.length!==1&&this.guard)throw new Xe("UntrackedValue(guard=true) can receive only one value per step. Use guard=false if you want to store any one of multiple values.",{lc_error_code:"INVALID_CONCURRENT_GRAPH_UPDATE"});return this._value=t[t.length-1],!0}get(){if(this._value===Mf)throw new Et;return this._value}checkpoint(){}isAvailable(){return this._value!==Mf}},Ys=(e,t)=>e.size===t.size&&[...e].every(n=>t.has(n)),pD=class ST extends Ls{lc_graph_name="NamedBarrierValue";names;seen;constructor(t){super(),this.names=t,this.seen=new Set}fromCheckpoint(t){let n=new ST(this.names);return typeof t<"u"&&(n.seen=new Set(t)),n}update(t){let n=!1;for(let r of t)if(this.names.has(r))this.seen.has(r)||(this.seen.add(r),n=!0);else throw new Xe(`Value ${JSON.stringify(r)} not in names ${JSON.stringify(this.names)}`);return n}get(){if(!Ys(this.names,this.seen))throw new Et}checkpoint(){return[...this.seen]}consume(){return this.seen&&this.names&&Ys(this.seen,this.names)?(this.seen=new Set,!0):!1}isAvailable(){return!!this.names&&Ys(this.names,this.seen)}},hD=class TT extends Ls{lc_graph_name="NamedBarrierValueAfterFinish";names;seen;finished;constructor(t){super(),this.names=t,this.seen=new Set,this.finished=!1}fromCheckpoint(t){let n=new TT(this.names);if(typeof t<"u"){let[r,s]=t;n.seen=new Set(r),n.finished=s}return n}update(t){let n=!1;for(let r of t)if(this.names.has(r)&&!this.seen.has(r))this.seen.add(r),n=!0;else if(!this.names.has(r))throw new Xe(`Value ${JSON.stringify(r)} not in names ${JSON.stringify(this.names)}`);return n}get(){if(!this.finished||!Ys(this.names,this.seen))throw new Et}checkpoint(){return[[...this.seen],this.finished]}consume(){return this.finished&&this.seen&&this.names&&Ys(this.seen,this.names)?(this.seen=new Set,this.finished=!1,!0):!1}finish(){return!this.finished&&this.names&&Ys(this.names,this.seen)?(this.finished=!0,!0):!1}isAvailable(){return this.finished&&!!this.names&&Ys(this.names,this.seen)}},Lf=Symbol.for("langgraph.state.reduced_value"),Ga=class{[Lf]=!0;valueSchema;inputSchema;reducer;jsonSchemaExtra;constructor(e,t){this.reducer=t.reducer,this.jsonSchemaExtra=t.jsonSchemaExtra,this.valueSchema=e,this.inputSchema="inputSchema"in t?t.inputSchema:e,this.jsonSchemaExtra=t.jsonSchemaExtra}static isInstance(e){return typeof e=="object"&&e!==null&&Lf in e&&e[Lf]===!0}},Ub=Symbol.for("langgraph.state.untracked_value"),mo=class{[Ub]=!0;schema;guard;constructor(e,t){this.schema=e,this.guard=t?.guard??!0}static isInstance(e){return typeof e=="object"&&e!==null&&Ub in e}},zf=Symbol.for("langgraph.state.state_schema"),Qs=class{[zf]=!0;constructor(e){this.fields=e}getChannels(){let e={};for(let[t,n]of Object.entries(this.fields))if(Ga.isInstance(n)){let r=Za(n.valueSchema);e[t]=new Kl(n.reducer,r)}else if(mo.isInstance(n)){let r=n.schema?Za(n.schema):void 0;e[t]=new dD({guard:n.guard,initialValueFactory:r})}else if(So(n))e[t]=new Wp(Za(n));else throw new Error(`Invalid state field "${t}": must be a schema, ReducedValue, UntrackedValue, or ManagedValue`);return e}getJsonSchema(){let e={},t=[];for(let[n,r]of Object.entries(this.fields)){let s;if(Ga.isInstance(r)?(s=Ba(r.valueSchema),r.jsonSchemaExtra&&(s={...s??{},...r.jsonSchemaExtra})):mo.isInstance(r)?s=r.schema?Ba(r.schema):void 0:So(r)&&(s=Ba(r)),s){e[n]=s;let a=!1;Ga.isInstance(r)?a=Za(r.valueSchema)!==void 0:mo.isInstance(r)?a=r.schema?Za(r.schema)!==void 0:!1:a=Za(r)!==void 0,a||t.push(n)}}return{type:"object",properties:e,required:t.length>0?t:void 0}}getInputJsonSchema(){let e={};for(let[t,n]of Object.entries(this.fields)){let r;Ga.isInstance(n)?(r=Ba(n.inputSchema),n.jsonSchemaExtra&&(r={...r??{},...n.jsonSchemaExtra})):mo.isInstance(n)?r=n.schema?Ba(n.schema):void 0:So(n)&&(r=Ba(n)),r&&(e[t]=r)}return{type:"object",properties:e}}getChannelKeys(){return Object.entries(this.fields).map(([e])=>e)}getAllKeys(){return Object.keys(this.fields)}async validateInput(e){if(e==null||typeof e!="object")return e;let t={};for(let[n,r]of Object.entries(e)){let s=this.fields[n];if(s===void 0){t[n]=r;continue}let a;if(Ga.isInstance(s)?a=s.inputSchema:mo.isInstance(s)?a=s.schema:So(s)&&(a=s),a){let i=await a["~standard"].validate(r);if(i.issues)throw new Error(`Validation failed for field "${n}": ${JSON.stringify(i.issues)}`);t[n]=i.value}else t[n]=r}return t}static isInstance(e){return typeof e=="object"&&e!==null&&zf in e&&e[zf]===!0}};function Ra(e,t){let n=Array.isArray(e)?e:[e],r=Array.isArray(t)?t:[t],s=n.map(kr),a=r.map(kr);for(let l of s)(l.id===null||l.id===void 0)&&(l.id=Gs(),l.lc_kwargs.id=l.id);let i;for(let l=0;l<a.length;l+=1){let d=a[l];(d.id===null||d.id===void 0)&&(d.id=Gs(),d.lc_kwargs.id=d.id),sa.isInstance(d)&&d.id==="__remove_all__"&&(i=l)}if(i!=null)return a.slice(i+1);let o=[...s],c=new Map(o.map((l,d)=>[l.id,d])),u=new Set;for(let l of a){let d=c.get(l.id);if(d!==void 0)sa.isInstance(l)?u.add(l.id):(u.delete(l.id),o[d]=l);else{if(sa.isInstance(l))throw new Error(`Attempting to delete a message with an ID that doesn't exist ('${l.id}')`);c.set(l.id,o.length),o.push(l)}}return o.filter(l=>!u.has(l.id))}new Ga(Lb().default(()=>[]),{inputSchema:Lb(),reducer:Ra,jsonSchemaExtra:{langgraph_type:"messages",description:"A list of chat messages"}});var fD=class{_map=new Map;_extensionCache=new Map;get(e){return this._map.get(e)}extend(e,t){let n=this.get(e);this._map.set(e,t(n))}remove(e){return this._map.delete(e),this}has(e){return this._map.has(e)}getChannelsForSchema(e){let t={},n=rc(e);for(let[r,s]of Object.entries(n)){let a=this.get(s);a?.reducer?t[r]=new Kl(a.reducer.fn,a.default):t[r]=new Wp(a?.default)}return t}getExtendedChannelSchemas(e,t){if(Object.keys(t).length===0)return e;let n=Object.entries(t).filter(([,a])=>a===!0).sort(([a],[i])=>a.localeCompare(i)).map(([a,i])=>`${a}:${i}`).join("|"),r=this._extensionCache.get(n)??new Map;if(r.has(e))return r.get(e);let s=e;if(t.withReducerSchema||t.withJsonSchemaExtrasAsDescription){let a=Object.entries(rc(e)).map(([i,o])=>{let c=this.get(o),u=t.withReducerSchema?c?.reducer?.schema??o:o;if(t.withJsonSchemaExtrasAsDescription&&c?.jsonSchemaExtra){let l=Ti(u)??Ti(o),d=JSON.stringify({...c.jsonSchemaExtra,description:l});u=u.describe(`lg:${d}`)}return[i,u]});s=Bx(e,Object.fromEntries(a)),gt(s)&&(s._def.unknownKeys="strip")}return t.asPartial&&(s=qy(s)),r.set(e,s),this._extensionCache.set(n,r),s}},ed=new fD;function mD(e,t){if(t.reducer&&!t.default){let n=Zx(e);n!=null&&(t.default=n)}if(t.reducer){let n=Object.assign(e,{lg_reducer_schema:t.reducer?.schema??e});return ed.extend(n,()=>t),n}else return ed.extend(e,()=>t),e}function Ka(e){return e==null?!1:!!(Qs.isInstance(e)||Pn(e)||typeof e=="object"&&"lc_graph_name"in e&&e.lc_graph_name==="AnnotationRoot"||typeof e=="object"&&!Array.isArray(e)&&Object.keys(e).length>0&&Object.values(e).every(t=>typeof t=="function"||VS(t)))}function gD(e){if(typeof e!="object"||e==null)return!1;let t=e,n="state"in t&&Ka(t.state),r="stateSchema"in t&&Ka(t.stateSchema),s="input"in t&&Ka(t.input);return!(!n&&!r&&!s||"input"in t&&t.input!=null&&!Ka(t.input)||"output"in t&&t.output!=null&&!Ka(t.output))}var ls="__root__",td=Symbol.for("langgraph.state.partial"),N_=class extends uD{channels={};waitingEdges=new Set;_schemaDefinition;_schemaRuntimeDefinition;_inputDefinition;_inputRuntimeDefinition;_outputDefinition;_outputRuntimeDefinition;_schemaDefinitions=new Map;_metaRegistry=ed;_configSchema;_configRuntimeSchema;_interrupt;_writer;constructor(e,t){super();let n=this._normalizeToStateGraphInit(e,t),r=n.state??n.stateSchema??n.input;if(!r)throw new ah;let s=this._getChannelsFromSchema(r);this._schemaDefinition=s,Qs.isInstance(r)?this._schemaRuntimeDefinition=r:Pn(r)&&(this._schemaRuntimeDefinition=r),n.input?Qs.isInstance(n.input)?this._inputRuntimeDefinition=n.input:Pn(n.input)?this._inputRuntimeDefinition=n.input:this._inputRuntimeDefinition=td:this._inputRuntimeDefinition=td,n.output?Qs.isInstance(n.output)?this._outputRuntimeDefinition=n.output:Pn(n.output)?this._outputRuntimeDefinition=n.output:this._outputRuntimeDefinition=this._schemaRuntimeDefinition:this._outputRuntimeDefinition=this._schemaRuntimeDefinition;let a=n.input?this._getChannelsFromSchema(n.input):s,i=n.output?this._getChannelsFromSchema(n.output):s;this._inputDefinition=a,this._outputDefinition=i,this._addSchema(this._schemaDefinition),this._addSchema(this._inputDefinition),this._addSchema(this._outputDefinition),n.context&&Pn(n.context)&&(this._configRuntimeSchema=n.context),this._interrupt=n.interrupt,this._writer=n.writer}_normalizeToStateGraphInit(e,t){if(gD(e)){if(Pn(t)||_g.isInstance(t))return{...e,context:t};let n=t;return{...e,input:e.input??n?.input,output:e.output??n?.output,context:e.context??n?.context,interrupt:e.interrupt??n?.interrupt,writer:e.writer??n?.writer,nodes:e.nodes??n?.nodes}}if(Ka(e)){if(Pn(t)||_g.isInstance(t))return{state:e,context:t};let n=t;return{state:e,input:n?.input,output:n?.output,context:n?.context,interrupt:n?.interrupt,writer:n?.writer,nodes:n?.nodes}}if(vD(e))return{state:yD(e.channels)};throw new ah}_getChannelsFromSchema(e){if(Qs.isInstance(e))return e.getChannels();if(Pn(e))return this._metaRegistry.getChannelsForSchema(e);if(typeof e=="object"&&"lc_graph_name"in e&&e.lc_graph_name==="AnnotationRoot")return e.spec;if(typeof e=="object"&&!Array.isArray(e)&&Object.keys(e).length>0)return e;throw new ah("Invalid schema type. Expected StateSchema, Zod object, AnnotationRoot, or StateDefinition.")}get allEdges(){return new Set([...this.edges,...Array.from(this.waitingEdges).flatMap(([e,t])=>e.map(n=>[n,t]))])}_addSchema(e){if(!this._schemaDefinitions.has(e)){this._schemaDefinitions.set(e,e);for(let[t,n]of Object.entries(e)){let r;if(typeof n=="function"?r=n():r=n,this.channels[t]!==void 0){if(!this.channels[t].equals(r)&&r.lc_graph_name!=="LastValue")throw new Error(`Channel "${t}" already exists with a different type.`)}else this.channels[t]=r}}}addNode(...e){function t(r){return r.length>=1&&typeof r[0]!="string"}let n=t(e)?Array.isArray(e[0])?e[0]:Object.entries(e[0]).map(([r,s])=>[r,s]):[[e[0],e[1],e[2]]];if(n.length===0)throw new Error("No nodes provided in `addNode`");for(let[r,s,a]of n){if(r in this.channels)throw new Error(`${r} is already being used as a state attribute (a.k.a. a channel), cannot also be used as a node name.`);for(let l of["|",":"])if(r.includes(l))throw new Error(`"${l}" is a reserved character and is not allowed in node names.`);if(this.warnIfCompiled("Adding a node to a graph that has already been compiled. This will not be reflected in the compiled graph."),r in this.nodes)throw new Error(`Node \`${r}\` already present.`);if(r==="__end__"||r==="__start__")throw new Error(`Node \`${r}\` is reserved.`);let i=this._schemaDefinition;a?.input!==void 0&&(i=this._getChannelsFromSchema(a.input)),this._addSchema(i);let o;je.isRunnable(s)?o=s:typeof s=="function"?o=new ja({func:s,name:r,trace:!1}):o=Rt(s);let c=a?.cachePolicy;typeof c=="boolean"&&(c=c?{}:void 0);let u={runnable:o,retryPolicy:a?.retryPolicy,cachePolicy:c,metadata:a?.metadata,input:i??this._schemaDefinition,subgraphs:S_(o)?[o]:a?.subgraphs,ends:a?.ends,defer:a?.defer};this.nodes[r]=u}return this}addEdge(e,t){if(typeof e=="string")return super.addEdge(e,t);this.compiled&&console.warn("Adding an edge to a graph that has already been compiled. This will not be reflected in the compiled graph.");for(let n of e){if(n==="__end__")throw new Error("END cannot be a start node");if(!Object.keys(this.nodes).some(r=>r===n))throw new Error(`Need to add a node named "${n}" first`)}if(t==="__end__")throw new Error("END cannot be an end node");if(!Object.keys(this.nodes).some(n=>n===t))throw new Error(`Need to add a node named "${t}" first`);return this.waitingEdges.add([e,t]),this}addSequence(e){let t=Array.isArray(e)?e:Object.entries(e);if(t.length===0)throw new Error("Sequence requires at least one node.");let n;for(let[r,s,a]of t){if(r in this.nodes)throw new Error(`Node names must be unique: node with the name "${r}" already exists.`);let i=r;this.addNode(i,s,a),n!=null&&this.addEdge(n,i),n=i}return this}compile({checkpointer:e,store:t,cache:n,interruptBefore:r,interruptAfter:s,name:a,description:i}={}){this.validate([...Array.isArray(r)?r:[],...Array.isArray(s)?s:[]]);let o=Object.keys(this._schemaDefinitions.get(this._outputDefinition)),c=o.length===1&&o[0]===ls?ls:o,u=Object.keys(this.channels),l=u.length===1&&u[0]===ls?ls:u,d=this._interrupt,p=new _D({builder:this,checkpointer:e,interruptAfter:s,interruptBefore:r,autoValidate:!1,nodes:{},channels:{...this.channels,[wt]:new Pi},inputChannels:wt,outputChannels:c,streamChannels:l,streamMode:"updates",store:t,cache:n,name:a,description:i,userInterrupt:d});p.attachNode(wt);for(let[h,f]of Object.entries(this.nodes))p.attachNode(h,f);p.attachBranch(wt,w0,Db(),{withReader:!1});for(let[h]of Object.entries(this.nodes))p.attachBranch(h,w0,Db(),{withReader:!1});for(let[h,f]of this.edges)p.attachEdge(h,f);for(let[h,f]of this.waitingEdges)p.attachEdge(h,f);for(let[h,f]of Object.entries(this.branches))for(let[m,v]of Object.entries(f))p.attachBranch(h,m,v);return p.validate()}};function yD(e){let t={};for(let[n,r]of Object.entries(e))t[n]=JS(r);return t}var _D=class extends xT{description;_metaRegistry=ed;constructor({description:e,...t}){super(t),this.description=e}attachNode(e,t){let n;e==="__start__"?n=Object.entries(this.builder._schemaDefinitions.get(this.builder._inputDefinition)).map(([o])=>o):n=Object.keys(this.builder.channels);function r(o){if(Ut(o))return o.graph===_r.PARENT?null:o._updateAsTuples();if(Array.isArray(o)&&o.length>0&&o.some(c=>Ut(c))){let c=[];for(let u of o)if(Ut(u)){if(u.graph===_r.PARENT)continue;c.push(...u._updateAsTuples())}else c.push([ls,u]);return c}else if(o!=null)return[[ls,o]];return null}let s=e;function a(o){if(o){if(Ut(o))return o.graph===_r.PARENT?null:o._updateAsTuples().filter(([c])=>n.includes(c));if(Array.isArray(o)&&o.length>0&&o.some(Ut)){let c=[];for(let u of o)if(Ut(u)){if(u.graph===_r.PARENT)continue;c.push(...u._updateAsTuples().filter(([l])=>n.includes(l)))}else{let l=a(u);l&&c.push(...l??[])}return c}else{if(typeof o=="object"&&!Array.isArray(o))return Object.entries(o).filter(([c])=>n.includes(c));{let c=Array.isArray(o)?"array":typeof o;throw new Xe(`Expected node "${s.toString()}" to return an object or an array containing at least one Command object, received ${c}`,{lc_error_code:"INVALID_GRAPH_NODE_RETURN_VALUE"})}}}else return null}let i=[{value:ca,mapper:new ja({func:n.length&&n[0]===ls?r:a,trace:!1,recurse:!1})}];if(e==="__start__")this.nodes[e]=new dc({tags:[ln],triggers:[wt],channels:[wt],writers:[new Kt(i,[ln])]});else{let o=t?.input??this.builder._schemaDefinition,c=Object.fromEntries(Object.keys(this.builder._schemaDefinitions.get(o)).map(d=>[d,d])),u=Object.keys(c).length===1&&ls in c,l=`branch:to:${e}`;this.channels[l]=t?.defer?new M9:new Pi(!1),this.nodes[e]=new dc({triggers:[l],channels:u?Object.keys(c):c,writers:[new Kt(i,[ln])],mapper:u?void 0:d=>Object.fromEntries(Object.entries(d).filter(([p])=>p in c)),bound:t?.runnable,metadata:t?.metadata,retryPolicy:t?.retryPolicy,cachePolicy:t?.cachePolicy,subgraphs:t?.subgraphs,ends:t?.ends})}}attachEdge(e,t){if(t!=="__end__"){if(typeof e=="string")this.nodes[e].writers.push(new Kt([{channel:`branch:to:${t}`,value:null}],[ln]));else if(Array.isArray(e)){let n=`join:${e.join("+")}:${t}`;this.channels[n]=this.builder.nodes[t].defer?new hD(new Set(e)):new pD(new Set(e)),this.nodes[t].triggers.push(n);for(let r of e)this.nodes[r].writers.push(new Kt([{channel:n,value:r}],[ln]))}}}attachBranch(e,t,n,r={withReader:!0}){let s=async(a,i)=>{let o=a.filter(u=>u!==St);if(!o.length)return;let c=o.map(u=>fn(u)?u:{channel:u==="__end__"?u:`branch:to:${u}`,value:e});await Kt.doWrite({...i,tags:(i.tags??[]).concat([ln])},c)};this.nodes[e].writers.push(n.run(s,r.withReader?a=>Z9.doRead(a,this.streamChannels??this.outputChannels,!0):void 0))}async _validateInput(e){if(e==null)return e;let t=this.builder._inputRuntimeDefinition,n=this.builder._schemaRuntimeDefinition;if(Qs.isInstance(t)){if(Ut(e)){let s=e;return e.update&&(s.update=await t.validateInput(Array.isArray(e.update)?Object.fromEntries(e.update):e.update)),s}return await t.validateInput(e)}if(t===td&&Qs.isInstance(n)){if(Ut(e)){let s=e;return e.update&&(s.update=await n.validateInput(Array.isArray(e.update)?Object.fromEntries(e.update):e.update)),s}return await n.validateInput(e)}let r=(()=>{let s=a=>{if(a!=null)return this._metaRegistry.getExtendedChannelSchemas(a,{withReducerSchema:!0})};if(Pn(t))return s(t);if(t===td)return Pn(n)?qy(s(n)):void 0})();if(Ut(e)){let s=e;return e.update&&r!=null&&(s.update=al(r,e.update)),s}return r!=null?al(r,e):e}isInterrupted(e){return ek(e)}async _validateContext(e){let t=this.builder._configRuntimeSchema;return Pn(t)&&al(t,e),e}};function vD(e){return typeof e=="object"&&e!==null&&e.channels!==void 0}function wD(e){if(fn(e))return[e];let t=[];Ut(e)?t.push(e):Array.isArray(e)&&t.push(...e.filter(Ut));let n=[];for(let r of t){if(r.graph===_r.PARENT)throw new nk(r);fn(r.goto)||typeof r.goto=="string"?n.push(r.goto):Array.isArray(r.goto)&&n.push(...r.goto)}return n}function Db(){return new kT({path:new ja({func:wD,tags:[ln],trace:!1,recurse:!1,name:"<control_branch>"})})}var Re;(function(e){e.assertEqual=s=>{};function t(s){}e.assertIs=t;function n(s){throw new Error}e.assertNever=n,e.arrayToEnum=s=>{let a={};for(let i of s)a[i]=i;return a},e.getValidEnumValues=s=>{let a=e.objectKeys(s).filter(o=>typeof s[s[o]]!="number"),i={};for(let o of a)i[o]=s[o];return e.objectValues(i)},e.objectValues=s=>e.objectKeys(s).map(function(a){return s[a]}),e.objectKeys=typeof Object.keys=="function"?s=>Object.keys(s):s=>{let a=[];for(let i in s)Object.prototype.hasOwnProperty.call(s,i)&&a.push(i);return a},e.find=(s,a)=>{for(let i of s)if(a(i))return i},e.isInteger=typeof Number.isInteger=="function"?s=>Number.isInteger(s):s=>typeof s=="number"&&Number.isFinite(s)&&Math.floor(s)===s;function r(s,a=" | "){return s.map(i=>typeof i=="string"?`'${i}'`:i).join(a)}e.joinValues=r,e.jsonStringifyReplacer=(s,a)=>typeof a=="bigint"?a.toString():a})(Re||(Re={}));var Sg;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(Sg||(Sg={}));var J=Re.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Dr=e=>{switch(typeof e){case"undefined":return J.undefined;case"string":return J.string;case"number":return Number.isNaN(e)?J.nan:J.number;case"boolean":return J.boolean;case"function":return J.function;case"bigint":return J.bigint;case"symbol":return J.symbol;case"object":return Array.isArray(e)?J.array:e===null?J.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?J.promise:typeof Map<"u"&&e instanceof Map?J.map:typeof Set<"u"&&e instanceof Set?J.set:typeof Date<"u"&&e instanceof Date?J.date:J.object;default:return J.unknown}},R=Re.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),bD=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),ar=class IT extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};let n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=t}format(t){let n=t||function(a){return a.message},r={_errors:[]},s=a=>{for(let i of a.issues)if(i.code==="invalid_union")i.unionErrors.map(s);else if(i.code==="invalid_return_type")s(i.returnTypeError);else if(i.code==="invalid_arguments")s(i.argumentsError);else if(i.path.length===0)r._errors.push(n(i));else{let o=r,c=0;for(;c<i.path.length;){let u=i.path[c];c===i.path.length-1?(o[u]=o[u]||{_errors:[]},o[u]._errors.push(n(i))):o[u]=o[u]||{_errors:[]},o=o[u],c++}}};return s(this),r}static assert(t){if(!(t instanceof IT))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,Re.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=n=>n.message){let n={},r=[];for(let s of this.issues)if(s.path.length>0){let a=s.path[0];n[a]=n[a]||[],n[a].push(t(s))}else r.push(t(s));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}};ar.create=e=>new ar(e);var ji=(e,t)=>{let n;switch(e.code){case R.invalid_type:e.received===J.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case R.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,Re.jsonStringifyReplacer)}`;break;case R.unrecognized_keys:n=`Unrecognized key(s) in object: ${Re.joinValues(e.keys,", ")}`;break;case R.invalid_union:n="Invalid input";break;case R.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${Re.joinValues(e.options)}`;break;case R.invalid_enum_value:n=`Invalid enum value. Expected ${Re.joinValues(e.options)}, received '${e.received}'`;break;case R.invalid_arguments:n="Invalid function arguments";break;case R.invalid_return_type:n="Invalid function return type";break;case R.invalid_date:n="Invalid date";break;case R.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:Re.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case R.too_small:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="bigint"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:n="Invalid input";break;case R.too_big:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?n=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:n="Invalid input";break;case R.custom:n="Invalid input";break;case R.invalid_intersection_types:n="Intersection results could not be merged";break;case R.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case R.not_finite:n="Number must be finite";break;default:n=t.defaultError,Re.assertNever(e)}return{message:n}},ET=ji;function kD(e){ET=e}function nd(){return ET}var rd=e=>{let{data:t,path:n,errorMaps:r,issueData:s}=e,a=[...n,...s.path||[]],i={...s,path:a};if(s.message!==void 0)return{...s,path:a,message:s.message};let o="",c=r.filter(u=>!!u).slice().reverse();for(let u of c)o=u(i,{data:t,defaultError:o}).message;return{...s,path:a,message:o}},xD=[];function V(e,t){let n=nd(),r=rd({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===ji?void 0:ji].filter(s=>!!s)});e.common.issues.push(r)}var Bt=class e{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,n){let r=[];for(let s of n){if(s.status==="aborted")return fe;s.status==="dirty"&&t.dirty(),r.push(s.value)}return{status:t.value,value:r}}static async mergeObjectAsync(t,n){let r=[];for(let s of n){let a=await s.key,i=await s.value;r.push({key:a,value:i})}return e.mergeObjectSync(t,r)}static mergeObjectSync(t,n){let r={};for(let s of n){let{key:a,value:i}=s;if(a.status==="aborted"||i.status==="aborted")return fe;a.status==="dirty"&&t.dirty(),i.status==="dirty"&&t.dirty(),a.value!=="__proto__"&&(typeof i.value<"u"||s.alwaysSet)&&(r[a.value]=i.value)}return{status:t.value,value:r}}},fe=Object.freeze({status:"aborted"}),sd=e=>({status:"dirty",value:e}),tn=e=>({status:"valid",value:e}),Tg=e=>e.status==="aborted",Ig=e=>e.status==="dirty",va=e=>e.status==="valid",gc=e=>typeof Promise<"u"&&e instanceof Promise,ie;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(ie||(ie={}));var Ln=class{constructor(t,n,r,s){this._cachedPath=[],this.parent=t,this.data=n,this._path=r,this._key=s}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},Fb=(e,t)=>{if(va(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let n=new ar(e.common.issues);return this._error=n,this._error}}};function xe(e){if(!e)return{};let{errorMap:t,invalid_type_error:n,required_error:r,description:s}=e;if(t&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:s}:{errorMap:(a,i)=>{let{message:o}=e;return a.code==="invalid_enum_value"?{message:o??i.defaultError}:typeof i.data>"u"?{message:o??r??i.defaultError}:a.code!=="invalid_type"?{message:i.defaultError}:{message:o??n??i.defaultError}},description:s}}var Ee=class{get description(){return this._def.description}_getType(e){return Dr(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:Dr(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new Bt,ctx:{common:e.parent.common,data:e.data,parsedType:Dr(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let t=this._parse(e);if(gc(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){let t=this._parse(e);return Promise.resolve(t)}parse(e,t){let n=this.safeParse(e,t);if(n.success)return n.data;throw n.error}safeParse(e,t){let n={common:{issues:[],async:t?.async??!1,contextualErrorMap:t?.errorMap},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Dr(e)},r=this._parseSync({data:e,path:n.path,parent:n});return Fb(n,r)}"~validate"(e){let t={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Dr(e)};if(!this["~standard"].async)try{let n=this._parseSync({data:e,path:[],parent:t});return va(n)?{value:n.value}:{issues:t.common.issues}}catch(n){n?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),t.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:t}).then(n=>va(n)?{value:n.value}:{issues:t.common.issues})}async parseAsync(e,t){let n=await this.safeParseAsync(e,t);if(n.success)return n.data;throw n.error}async safeParseAsync(e,t){let n={common:{issues:[],contextualErrorMap:t?.errorMap,async:!0},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Dr(e)},r=this._parse({data:e,path:n.path,parent:n}),s=await(gc(r)?r:Promise.resolve(r));return Fb(n,s)}refine(e,t){let n=r=>typeof t=="string"||typeof t>"u"?{message:t}:typeof t=="function"?t(r):t;return this._refinement((r,s)=>{let a=e(r),i=()=>s.addIssue({code:R.custom,...n(r)});return typeof Promise<"u"&&a instanceof Promise?a.then(o=>o?!0:(i(),!1)):a?!0:(i(),!1)})}refinement(e,t){return this._refinement((n,r)=>e(n)?!0:(r.addIssue(typeof t=="function"?t(n,r):t),!1))}_refinement(e){return new En({schema:this,typeName:me.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:t=>this["~validate"](t)}}optional(){return Or.create(this,this._def)}nullable(){return $s.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Sa.create(this)}promise(){return As.create(this,this._def)}or(e){return _c.create([this,e],this._def)}and(e){return vc.create(this,e,this._def)}transform(e){return new En({...xe(this._def),schema:this,typeName:me.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let t=typeof e=="function"?e:()=>e;return new bc({...xe(this._def),innerType:this,defaultValue:t,typeName:me.ZodDefault})}brand(){return new xc({typeName:me.ZodBranded,type:this,...xe(this._def)})}catch(e){let t=typeof e=="function"?e:()=>e;return new kc({...xe(this._def),innerType:this,catchValue:t,typeName:me.ZodCatch})}describe(e){let t=this.constructor;return new t({...this._def,description:e})}pipe(e){return Oc.create(this,e)}readonly(){return Sc.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},OD=/^c[^\s-]{8,}$/i,SD=/^[0-9a-z]+$/,TD=/^[0-9A-HJKMNP-TV-Z]{26}$/i,ID=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,ED=/^[a-z0-9_-]{21}$/i,AD=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,$D=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,CD=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,ND="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Uf,PD=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,jD=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,RD=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,MD=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,LD=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,zD=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,AT="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",UD=new RegExp(`^${AT}$`);function $T(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`);let n=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${n}`}function DD(e){return new RegExp(`^${$T(e)}$`)}function CT(e){let t=`${AT}T${$T(e)}`,n=[];return n.push(e.local?"Z?":"Z"),e.offset&&n.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${n.join("|")})`,new RegExp(`^${t}$`)}function FD(e,t){return!!((t==="v4"||!t)&&PD.test(e)||(t==="v6"||!t)&&RD.test(e))}function BD(e,t){if(!AD.test(e))return!1;try{let[n]=e.split(".");if(!n)return!1;let r=n.replace(/-/g,"+").replace(/_/g,"/").padEnd(n.length+(4-n.length%4)%4,"="),s=JSON.parse(atob(r));return!(typeof s!="object"||s===null||"typ"in s&&s?.typ!=="JWT"||!s.alg||t&&s.alg!==t)}catch{return!1}}function ZD(e,t){return!!((t==="v4"||!t)&&jD.test(e)||(t==="v6"||!t)&&MD.test(e))}var Ri=class To extends Ee{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==J.string){let s=this._getOrReturnCtx(t);return V(s,{code:R.invalid_type,expected:J.string,received:s.parsedType}),fe}let n=new Bt,r;for(let s of this._def.checks)if(s.kind==="min")t.data.length<s.value&&(r=this._getOrReturnCtx(t,r),V(r,{code:R.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="max")t.data.length>s.value&&(r=this._getOrReturnCtx(t,r),V(r,{code:R.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="length"){let a=t.data.length>s.value,i=t.data.length<s.value;(a||i)&&(r=this._getOrReturnCtx(t,r),a?V(r,{code:R.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):i&&V(r,{code:R.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),n.dirty())}else if(s.kind==="email")CD.test(t.data)||(r=this._getOrReturnCtx(t,r),V(r,{validation:"email",code:R.invalid_string,message:s.message}),n.dirty());else if(s.kind==="emoji")Uf||(Uf=new RegExp(ND,"u")),Uf.test(t.data)||(r=this._getOrReturnCtx(t,r),V(r,{validation:"emoji",code:R.invalid_string,message:s.message}),n.dirty());else if(s.kind==="uuid")ID.test(t.data)||(r=this._getOrReturnCtx(t,r),V(r,{validation:"uuid",code:R.invalid_string,message:s.message}),n.dirty());else if(s.kind==="nanoid")ED.test(t.data)||(r=this._getOrReturnCtx(t,r),V(r,{validation:"nanoid",code:R.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid")OD.test(t.data)||(r=this._getOrReturnCtx(t,r),V(r,{validation:"cuid",code:R.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid2")SD.test(t.data)||(r=this._getOrReturnCtx(t,r),V(r,{validation:"cuid2",code:R.invalid_string,message:s.message}),n.dirty());else if(s.kind==="ulid")TD.test(t.data)||(r=this._getOrReturnCtx(t,r),V(r,{validation:"ulid",code:R.invalid_string,message:s.message}),n.dirty());else if(s.kind==="url")try{new URL(t.data)}catch{r=this._getOrReturnCtx(t,r),V(r,{validation:"url",code:R.invalid_string,message:s.message}),n.dirty()}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(t.data)||(r=this._getOrReturnCtx(t,r),V(r,{validation:"regex",code:R.invalid_string,message:s.message}),n.dirty())):s.kind==="trim"?t.data=t.data.trim():s.kind==="includes"?t.data.includes(s.value,s.position)||(r=this._getOrReturnCtx(t,r),V(r,{code:R.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),n.dirty()):s.kind==="toLowerCase"?t.data=t.data.toLowerCase():s.kind==="toUpperCase"?t.data=t.data.toUpperCase():s.kind==="startsWith"?t.data.startsWith(s.value)||(r=this._getOrReturnCtx(t,r),V(r,{code:R.invalid_string,validation:{startsWith:s.value},message:s.message}),n.dirty()):s.kind==="endsWith"?t.data.endsWith(s.value)||(r=this._getOrReturnCtx(t,r),V(r,{code:R.invalid_string,validation:{endsWith:s.value},message:s.message}),n.dirty()):s.kind==="datetime"?CT(s).test(t.data)||(r=this._getOrReturnCtx(t,r),V(r,{code:R.invalid_string,validation:"datetime",message:s.message}),n.dirty()):s.kind==="date"?UD.test(t.data)||(r=this._getOrReturnCtx(t,r),V(r,{code:R.invalid_string,validation:"date",message:s.message}),n.dirty()):s.kind==="time"?DD(s).test(t.data)||(r=this._getOrReturnCtx(t,r),V(r,{code:R.invalid_string,validation:"time",message:s.message}),n.dirty()):s.kind==="duration"?$D.test(t.data)||(r=this._getOrReturnCtx(t,r),V(r,{validation:"duration",code:R.invalid_string,message:s.message}),n.dirty()):s.kind==="ip"?FD(t.data,s.version)||(r=this._getOrReturnCtx(t,r),V(r,{validation:"ip",code:R.invalid_string,message:s.message}),n.dirty()):s.kind==="jwt"?BD(t.data,s.alg)||(r=this._getOrReturnCtx(t,r),V(r,{validation:"jwt",code:R.invalid_string,message:s.message}),n.dirty()):s.kind==="cidr"?ZD(t.data,s.version)||(r=this._getOrReturnCtx(t,r),V(r,{validation:"cidr",code:R.invalid_string,message:s.message}),n.dirty()):s.kind==="base64"?LD.test(t.data)||(r=this._getOrReturnCtx(t,r),V(r,{validation:"base64",code:R.invalid_string,message:s.message}),n.dirty()):s.kind==="base64url"?zD.test(t.data)||(r=this._getOrReturnCtx(t,r),V(r,{validation:"base64url",code:R.invalid_string,message:s.message}),n.dirty()):Re.assertNever(s);return{status:n.value,value:t.data}}_regex(t,n,r){return this.refinement(s=>t.test(s),{validation:n,code:R.invalid_string,...ie.errToObj(r)})}_addCheck(t){return new To({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...ie.errToObj(t)})}url(t){return this._addCheck({kind:"url",...ie.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...ie.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...ie.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...ie.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...ie.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...ie.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...ie.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...ie.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...ie.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...ie.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...ie.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...ie.errToObj(t)})}datetime(t){return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof t?.precision>"u"?null:t?.precision,offset:t?.offset??!1,local:t?.local??!1,...ie.errToObj(t?.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof t?.precision>"u"?null:t?.precision,...ie.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",...ie.errToObj(t)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...ie.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n?.position,...ie.errToObj(n?.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...ie.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...ie.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...ie.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...ie.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...ie.errToObj(n)})}nonempty(t){return this.min(1,ie.errToObj(t))}trim(){return new To({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new To({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new To({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxLength(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}};Ri.create=e=>new Ri({checks:[],typeName:me.ZodString,coerce:e?.coerce??!1,...xe(e)});function VD(e,t){let n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,s=n>r?n:r,a=Number.parseInt(e.toFixed(s).replace(".","")),i=Number.parseInt(t.toFixed(s).replace(".",""));return a%i/10**s}var yc=class Eg extends Ee{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==J.number){let s=this._getOrReturnCtx(t);return V(s,{code:R.invalid_type,expected:J.number,received:s.parsedType}),fe}let n,r=new Bt;for(let s of this._def.checks)s.kind==="int"?Re.isInteger(t.data)||(n=this._getOrReturnCtx(t,n),V(n,{code:R.invalid_type,expected:"integer",received:"float",message:s.message}),r.dirty()):s.kind==="min"?(s.inclusive?t.data<s.value:t.data<=s.value)&&(n=this._getOrReturnCtx(t,n),V(n,{code:R.too_small,minimum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),r.dirty()):s.kind==="max"?(s.inclusive?t.data>s.value:t.data>=s.value)&&(n=this._getOrReturnCtx(t,n),V(n,{code:R.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),r.dirty()):s.kind==="multipleOf"?VD(t.data,s.value)!==0&&(n=this._getOrReturnCtx(t,n),V(n,{code:R.not_multiple_of,multipleOf:s.value,message:s.message}),r.dirty()):s.kind==="finite"?Number.isFinite(t.data)||(n=this._getOrReturnCtx(t,n),V(n,{code:R.not_finite,message:s.message}),r.dirty()):Re.assertNever(s);return{status:r.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,ie.toString(n))}gt(t,n){return this.setLimit("min",t,!1,ie.toString(n))}lte(t,n){return this.setLimit("max",t,!0,ie.toString(n))}lt(t,n){return this.setLimit("max",t,!1,ie.toString(n))}setLimit(t,n,r,s){return new Eg({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:ie.toString(s)}]})}_addCheck(t){return new Eg({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:ie.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:ie.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:ie.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:ie.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:ie.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:ie.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:ie.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:ie.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:ie.toString(t)})}get minValue(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}get isInt(){return!!this._def.checks.find(t=>t.kind==="int"||t.kind==="multipleOf"&&Re.isInteger(t.value))}get isFinite(){let t=null,n=null;for(let r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(t===null||r.value<t)&&(t=r.value)}return Number.isFinite(n)&&Number.isFinite(t)}};yc.create=e=>new yc({checks:[],typeName:me.ZodNumber,coerce:e?.coerce||!1,...xe(e)});var wa=class e extends Ee{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==J.bigint)return this._getInvalidInput(t);let n,r=new Bt;for(let s of this._def.checks)s.kind==="min"?(s.inclusive?t.data<s.value:t.data<=s.value)&&(n=this._getOrReturnCtx(t,n),V(n,{code:R.too_small,type:"bigint",minimum:s.value,inclusive:s.inclusive,message:s.message}),r.dirty()):s.kind==="max"?(s.inclusive?t.data>s.value:t.data>=s.value)&&(n=this._getOrReturnCtx(t,n),V(n,{code:R.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),r.dirty()):s.kind==="multipleOf"?t.data%s.value!==BigInt(0)&&(n=this._getOrReturnCtx(t,n),V(n,{code:R.not_multiple_of,multipleOf:s.value,message:s.message}),r.dirty()):Re.assertNever(s);return{status:r.value,value:t.data}}_getInvalidInput(t){let n=this._getOrReturnCtx(t);return V(n,{code:R.invalid_type,expected:J.bigint,received:n.parsedType}),fe}gte(t,n){return this.setLimit("min",t,!0,ie.toString(n))}gt(t,n){return this.setLimit("min",t,!1,ie.toString(n))}lte(t,n){return this.setLimit("max",t,!0,ie.toString(n))}lt(t,n){return this.setLimit("max",t,!1,ie.toString(n))}setLimit(t,n,r,s){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:ie.toString(s)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:ie.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:ie.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:ie.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:ie.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:ie.toString(n)})}get minValue(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}};wa.create=e=>new wa({checks:[],typeName:me.ZodBigInt,coerce:e?.coerce??!1,...xe(e)});var ba=class extends Ee{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==J.boolean){let n=this._getOrReturnCtx(t);return V(n,{code:R.invalid_type,expected:J.boolean,received:n.parsedType}),fe}return tn(t.data)}};ba.create=e=>new ba({typeName:me.ZodBoolean,coerce:e?.coerce||!1,...xe(e)});var ka=class e extends Ee{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==J.date){let s=this._getOrReturnCtx(t);return V(s,{code:R.invalid_type,expected:J.date,received:s.parsedType}),fe}if(Number.isNaN(t.data.getTime())){let s=this._getOrReturnCtx(t);return V(s,{code:R.invalid_date}),fe}let n=new Bt,r;for(let s of this._def.checks)s.kind==="min"?t.data.getTime()<s.value&&(r=this._getOrReturnCtx(t,r),V(r,{code:R.too_small,message:s.message,inclusive:!0,exact:!1,minimum:s.value,type:"date"}),n.dirty()):s.kind==="max"?t.data.getTime()>s.value&&(r=this._getOrReturnCtx(t,r),V(r,{code:R.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),n.dirty()):Re.assertNever(s);return{status:n.value,value:new Date(t.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:ie.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:ie.toString(n)})}get minDate(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t!=null?new Date(t):null}};ka.create=e=>new ka({checks:[],coerce:e?.coerce||!1,typeName:me.ZodDate,...xe(e)});var Mi=class extends Ee{_parse(t){if(this._getType(t)!==J.symbol){let n=this._getOrReturnCtx(t);return V(n,{code:R.invalid_type,expected:J.symbol,received:n.parsedType}),fe}return tn(t.data)}};Mi.create=e=>new Mi({typeName:me.ZodSymbol,...xe(e)});var xa=class extends Ee{_parse(t){if(this._getType(t)!==J.undefined){let n=this._getOrReturnCtx(t);return V(n,{code:R.invalid_type,expected:J.undefined,received:n.parsedType}),fe}return tn(t.data)}};xa.create=e=>new xa({typeName:me.ZodUndefined,...xe(e)});var Oa=class extends Ee{_parse(t){if(this._getType(t)!==J.null){let n=this._getOrReturnCtx(t);return V(n,{code:R.invalid_type,expected:J.null,received:n.parsedType}),fe}return tn(t.data)}};Oa.create=e=>new Oa({typeName:me.ZodNull,...xe(e)});var Es=class extends Ee{constructor(){super(...arguments),this._any=!0}_parse(t){return tn(t.data)}};Es.create=e=>new Es({typeName:me.ZodAny,...xe(e)});var ua=class extends Ee{constructor(){super(...arguments),this._unknown=!0}_parse(e){return tn(e.data)}};ua.create=e=>new ua({typeName:me.ZodUnknown,...xe(e)});var Gr=class extends Ee{_parse(e){let t=this._getOrReturnCtx(e);return V(t,{code:R.invalid_type,expected:J.never,received:t.parsedType}),fe}};Gr.create=e=>new Gr({typeName:me.ZodNever,...xe(e)});var Li=class extends Ee{_parse(t){if(this._getType(t)!==J.undefined){let n=this._getOrReturnCtx(t);return V(n,{code:R.invalid_type,expected:J.void,received:n.parsedType}),fe}return tn(t.data)}};Li.create=e=>new Li({typeName:me.ZodVoid,...xe(e)});var Sa=class gl extends Ee{_parse(t){let{ctx:n,status:r}=this._processInputParams(t),s=this._def;if(n.parsedType!==J.array)return V(n,{code:R.invalid_type,expected:J.array,received:n.parsedType}),fe;if(s.exactLength!==null){let i=n.data.length>s.exactLength.value,o=n.data.length<s.exactLength.value;(i||o)&&(V(n,{code:i?R.too_big:R.too_small,minimum:o?s.exactLength.value:void 0,maximum:i?s.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:s.exactLength.message}),r.dirty())}if(s.minLength!==null&&n.data.length<s.minLength.value&&(V(n,{code:R.too_small,minimum:s.minLength.value,type:"array",inclusive:!0,exact:!1,message:s.minLength.message}),r.dirty()),s.maxLength!==null&&n.data.length>s.maxLength.value&&(V(n,{code:R.too_big,maximum:s.maxLength.value,type:"array",inclusive:!0,exact:!1,message:s.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((i,o)=>s.type._parseAsync(new Ln(n,i,n.path,o)))).then(i=>Bt.mergeArray(r,i));let a=[...n.data].map((i,o)=>s.type._parseSync(new Ln(n,i,n.path,o)));return Bt.mergeArray(r,a)}get element(){return this._def.type}min(t,n){return new gl({...this._def,minLength:{value:t,message:ie.toString(n)}})}max(t,n){return new gl({...this._def,maxLength:{value:t,message:ie.toString(n)}})}length(t,n){return new gl({...this._def,exactLength:{value:t,message:ie.toString(n)}})}nonempty(t){return this.min(1,t)}};Sa.create=(e,t)=>new Sa({type:e,minLength:null,maxLength:null,exactLength:null,typeName:me.ZodArray,...xe(t)});function Xa(e){if(e instanceof zn){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=Or.create(Xa(r))}return new zn({...e._def,shape:()=>t})}else return e instanceof Sa?new Sa({...e._def,type:Xa(e.element)}):e instanceof Or?Or.create(Xa(e.unwrap())):e instanceof $s?$s.create(Xa(e.unwrap())):e instanceof Ar?Ar.create(e.items.map(t=>Xa(t))):e}var zn=class Jn extends Ee{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let t=this._def.shape(),n=Re.objectKeys(t);return this._cached={shape:t,keys:n},this._cached}_parse(t){if(this._getType(t)!==J.object){let c=this._getOrReturnCtx(t);return V(c,{code:R.invalid_type,expected:J.object,received:c.parsedType}),fe}let{status:n,ctx:r}=this._processInputParams(t),{shape:s,keys:a}=this._getCached(),i=[];if(!(this._def.catchall instanceof Gr&&this._def.unknownKeys==="strip"))for(let c in r.data)a.includes(c)||i.push(c);let o=[];for(let c of a){let u=s[c],l=r.data[c];o.push({key:{status:"valid",value:c},value:u._parse(new Ln(r,l,r.path,c)),alwaysSet:c in r.data})}if(this._def.catchall instanceof Gr){let c=this._def.unknownKeys;if(c==="passthrough")for(let u of i)o.push({key:{status:"valid",value:u},value:{status:"valid",value:r.data[u]}});else if(c==="strict")i.length>0&&(V(r,{code:R.unrecognized_keys,keys:i}),n.dirty());else if(c!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let c=this._def.catchall;for(let u of i){let l=r.data[u];o.push({key:{status:"valid",value:u},value:c._parse(new Ln(r,l,r.path,u)),alwaysSet:u in r.data})}}return r.common.async?Promise.resolve().then(async()=>{let c=[];for(let u of o){let l=await u.key,d=await u.value;c.push({key:l,value:d,alwaysSet:u.alwaysSet})}return c}).then(c=>Bt.mergeObjectSync(n,c)):Bt.mergeObjectSync(n,o)}get shape(){return this._def.shape()}strict(t){return ie.errToObj,new Jn({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(n,r)=>{let s=this._def.errorMap?.(n,r).message??r.defaultError;return n.code==="unrecognized_keys"?{message:ie.errToObj(t).message??s}:{message:s}}}:{}})}strip(){return new Jn({...this._def,unknownKeys:"strip"})}passthrough(){return new Jn({...this._def,unknownKeys:"passthrough"})}extend(t){return new Jn({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new Jn({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:me.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new Jn({...this._def,catchall:t})}pick(t){let n={};for(let r of Re.objectKeys(t))t[r]&&this.shape[r]&&(n[r]=this.shape[r]);return new Jn({...this._def,shape:()=>n})}omit(t){let n={};for(let r of Re.objectKeys(this.shape))t[r]||(n[r]=this.shape[r]);return new Jn({...this._def,shape:()=>n})}deepPartial(){return Xa(this)}partial(t){let n={};for(let r of Re.objectKeys(this.shape)){let s=this.shape[r];t&&!t[r]?n[r]=s:n[r]=s.optional()}return new Jn({...this._def,shape:()=>n})}required(t){let n={};for(let r of Re.objectKeys(this.shape))if(t&&!t[r])n[r]=this.shape[r];else{let s=this.shape[r];for(;s instanceof Or;)s=s._def.innerType;n[r]=s}return new Jn({...this._def,shape:()=>n})}keyof(){return PT(Re.objectKeys(this.shape))}};zn.create=(e,t)=>new zn({shape:()=>e,unknownKeys:"strip",catchall:Gr.create(),typeName:me.ZodObject,...xe(t)});zn.strictCreate=(e,t)=>new zn({shape:()=>e,unknownKeys:"strict",catchall:Gr.create(),typeName:me.ZodObject,...xe(t)});zn.lazycreate=(e,t)=>new zn({shape:e,unknownKeys:"strip",catchall:Gr.create(),typeName:me.ZodObject,...xe(t)});var _c=class extends Ee{_parse(e){let{ctx:t}=this._processInputParams(e),n=this._def.options;function r(s){for(let i of s)if(i.result.status==="valid")return i.result;for(let i of s)if(i.result.status==="dirty")return t.common.issues.push(...i.ctx.common.issues),i.result;let a=s.map(i=>new ar(i.ctx.common.issues));return V(t,{code:R.invalid_union,unionErrors:a}),fe}if(t.common.async)return Promise.all(n.map(async s=>{let a={...t,common:{...t.common,issues:[]},parent:null};return{result:await s._parseAsync({data:t.data,path:t.path,parent:a}),ctx:a}})).then(r);{let s,a=[];for(let o of n){let c={...t,common:{...t.common,issues:[]},parent:null},u=o._parseSync({data:t.data,path:t.path,parent:c});if(u.status==="valid")return u;u.status==="dirty"&&!s&&(s={result:u,ctx:c}),c.common.issues.length&&a.push(c.common.issues)}if(s)return t.common.issues.push(...s.ctx.common.issues),s.result;let i=a.map(o=>new ar(o));return V(t,{code:R.invalid_union,unionErrors:i}),fe}}get options(){return this._def.options}};_c.create=(e,t)=>new _c({options:e,typeName:me.ZodUnion,...xe(t)});var ns=e=>e instanceof Ta?ns(e.schema):e instanceof En?ns(e.innerType()):e instanceof wc?[e.value]:e instanceof nu?e.options:e instanceof Ia?Re.objectValues(e.enum):e instanceof bc?ns(e._def.innerType):e instanceof xa?[void 0]:e instanceof Oa?[null]:e instanceof Or?[void 0,...ns(e.unwrap())]:e instanceof $s?[null,...ns(e.unwrap())]:e instanceof xc||e instanceof Sc?ns(e.unwrap()):e instanceof kc?ns(e._def.innerType):[],ad=class e extends Ee{_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==J.object)return V(n,{code:R.invalid_type,expected:J.object,received:n.parsedType}),fe;let r=this.discriminator,s=n.data[r],a=this.optionsMap.get(s);return a?n.common.async?a._parseAsync({data:n.data,path:n.path,parent:n}):a._parseSync({data:n.data,path:n.path,parent:n}):(V(n,{code:R.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),fe)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){let s=new Map;for(let a of n){let i=ns(a.shape[t]);if(!i.length)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let o of i){if(s.has(o))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(o)}`);s.set(o,a)}}return new e({typeName:me.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:s,...xe(r)})}};function Ag(e,t){let n=Dr(e),r=Dr(t);if(e===t)return{valid:!0,data:e};if(n===J.object&&r===J.object){let s=Re.objectKeys(t),a=Re.objectKeys(e).filter(o=>s.indexOf(o)!==-1),i={...e,...t};for(let o of a){let c=Ag(e[o],t[o]);if(!c.valid)return{valid:!1};i[o]=c.data}return{valid:!0,data:i}}else if(n===J.array&&r===J.array){if(e.length!==t.length)return{valid:!1};let s=[];for(let a=0;a<e.length;a++){let i=e[a],o=t[a],c=Ag(i,o);if(!c.valid)return{valid:!1};s.push(c.data)}return{valid:!0,data:s}}else return n===J.date&&r===J.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}var vc=class extends Ee{_parse(e){let{status:t,ctx:n}=this._processInputParams(e),r=(s,a)=>{if(Tg(s)||Tg(a))return fe;let i=Ag(s.value,a.value);return i.valid?((Ig(s)||Ig(a))&&t.dirty(),{status:t.value,value:i.data}):(V(n,{code:R.invalid_intersection_types}),fe)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([s,a])=>r(s,a)):r(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};vc.create=(e,t,n)=>new vc({left:e,right:t,typeName:me.ZodIntersection,...xe(n)});var Ar=class e extends Ee{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==J.array)return V(r,{code:R.invalid_type,expected:J.array,received:r.parsedType}),fe;if(r.data.length<this._def.items.length)return V(r,{code:R.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),fe;!this._def.rest&&r.data.length>this._def.items.length&&(V(r,{code:R.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());let s=[...r.data].map((a,i)=>{let o=this._def.items[i]||this._def.rest;return o?o._parse(new Ln(r,a,r.path,i)):null}).filter(a=>!!a);return r.common.async?Promise.all(s).then(a=>Bt.mergeArray(n,a)):Bt.mergeArray(n,s)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};Ar.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Ar({items:e,typeName:me.ZodTuple,rest:null,...xe(t)})};var NT=class $g extends Ee{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==J.object)return V(r,{code:R.invalid_type,expected:J.object,received:r.parsedType}),fe;let s=[],a=this._def.keyType,i=this._def.valueType;for(let o in r.data)s.push({key:a._parse(new Ln(r,o,r.path,o)),value:i._parse(new Ln(r,r.data[o],r.path,o)),alwaysSet:o in r.data});return r.common.async?Bt.mergeObjectAsync(n,s):Bt.mergeObjectSync(n,s)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof Ee?new $g({keyType:t,valueType:n,typeName:me.ZodRecord,...xe(r)}):new $g({keyType:Ri.create(),valueType:t,typeName:me.ZodRecord,...xe(n)})}},zi=class extends Ee{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==J.map)return V(r,{code:R.invalid_type,expected:J.map,received:r.parsedType}),fe;let s=this._def.keyType,a=this._def.valueType,i=[...r.data.entries()].map(([o,c],u)=>({key:s._parse(new Ln(r,o,r.path,[u,"key"])),value:a._parse(new Ln(r,c,r.path,[u,"value"]))}));if(r.common.async){let o=new Map;return Promise.resolve().then(async()=>{for(let c of i){let u=await c.key,l=await c.value;if(u.status==="aborted"||l.status==="aborted")return fe;(u.status==="dirty"||l.status==="dirty")&&n.dirty(),o.set(u.value,l.value)}return{status:n.value,value:o}})}else{let o=new Map;for(let c of i){let u=c.key,l=c.value;if(u.status==="aborted"||l.status==="aborted")return fe;(u.status==="dirty"||l.status==="dirty")&&n.dirty(),o.set(u.value,l.value)}return{status:n.value,value:o}}}};zi.create=(e,t,n)=>new zi({valueType:t,keyType:e,typeName:me.ZodMap,...xe(n)});var Ui=class e extends Ee{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==J.set)return V(r,{code:R.invalid_type,expected:J.set,received:r.parsedType}),fe;let s=this._def;s.minSize!==null&&r.data.size<s.minSize.value&&(V(r,{code:R.too_small,minimum:s.minSize.value,type:"set",inclusive:!0,exact:!1,message:s.minSize.message}),n.dirty()),s.maxSize!==null&&r.data.size>s.maxSize.value&&(V(r,{code:R.too_big,maximum:s.maxSize.value,type:"set",inclusive:!0,exact:!1,message:s.maxSize.message}),n.dirty());let a=this._def.valueType;function i(c){let u=new Set;for(let l of c){if(l.status==="aborted")return fe;l.status==="dirty"&&n.dirty(),u.add(l.value)}return{status:n.value,value:u}}let o=[...r.data.values()].map((c,u)=>a._parse(new Ln(r,c,r.path,u)));return r.common.async?Promise.all(o).then(c=>i(c)):i(o)}min(t,n){return new e({...this._def,minSize:{value:t,message:ie.toString(n)}})}max(t,n){return new e({...this._def,maxSize:{value:t,message:ie.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}};Ui.create=(e,t)=>new Ui({valueType:e,minSize:null,maxSize:null,typeName:me.ZodSet,...xe(t)});var id=class e extends Ee{constructor(){super(...arguments),this.validate=this.implement}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==J.function)return V(n,{code:R.invalid_type,expected:J.function,received:n.parsedType}),fe;function r(o,c){return rd({data:o,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,nd(),ji].filter(u=>!!u),issueData:{code:R.invalid_arguments,argumentsError:c}})}function s(o,c){return rd({data:o,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,nd(),ji].filter(u=>!!u),issueData:{code:R.invalid_return_type,returnTypeError:c}})}let a={errorMap:n.common.contextualErrorMap},i=n.data;if(this._def.returns instanceof As){let o=this;return tn(async function(...c){let u=new ar([]),l=await o._def.args.parseAsync(c,a).catch(p=>{throw u.addIssue(r(c,p)),u}),d=await Reflect.apply(i,this,l);return await o._def.returns._def.type.parseAsync(d,a).catch(p=>{throw u.addIssue(s(d,p)),u})})}else{let o=this;return tn(function(...c){let u=o._def.args.safeParse(c,a);if(!u.success)throw new ar([r(c,u.error)]);let l=Reflect.apply(i,this,u.data),d=o._def.returns.safeParse(l,a);if(!d.success)throw new ar([s(l,d.error)]);return d.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:Ar.create(t).rest(ua.create())})}returns(t){return new e({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,n,r){return new e({args:t||Ar.create([]).rest(ua.create()),returns:n||ua.create(),typeName:me.ZodFunction,...xe(r)})}},Ta=class extends Ee{get schema(){return this._def.getter()}_parse(t){let{ctx:n}=this._processInputParams(t);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}};Ta.create=(e,t)=>new Ta({getter:e,typeName:me.ZodLazy,...xe(t)});var wc=class extends Ee{_parse(e){if(e.data!==this._def.value){let t=this._getOrReturnCtx(e);return V(t,{received:t.data,code:R.invalid_literal,expected:this._def.value}),fe}return{status:"valid",value:e.data}}get value(){return this._def.value}};wc.create=(e,t)=>new wc({value:e,typeName:me.ZodLiteral,...xe(t)});function PT(e,t){return new nu({values:e,typeName:me.ZodEnum,...xe(t)})}var nu=class Cg extends Ee{_parse(t){if(typeof t.data!="string"){let n=this._getOrReturnCtx(t),r=this._def.values;return V(n,{expected:Re.joinValues(r),received:n.parsedType,code:R.invalid_type}),fe}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){let n=this._getOrReturnCtx(t),r=this._def.values;return V(n,{received:n.data,code:R.invalid_enum_value,options:r}),fe}return tn(t.data)}get options(){return this._def.values}get enum(){let t={};for(let n of this._def.values)t[n]=n;return t}get Values(){let t={};for(let n of this._def.values)t[n]=n;return t}get Enum(){let t={};for(let n of this._def.values)t[n]=n;return t}extract(t,n=this._def){return Cg.create(t,{...this._def,...n})}exclude(t,n=this._def){return Cg.create(this.options.filter(r=>!t.includes(r)),{...this._def,...n})}};nu.create=PT;var Ia=class extends Ee{_parse(t){let n=Re.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==J.string&&r.parsedType!==J.number){let s=Re.objectValues(n);return V(r,{expected:Re.joinValues(s),received:r.parsedType,code:R.invalid_type}),fe}if(this._cache||(this._cache=new Set(Re.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){let s=Re.objectValues(n);return V(r,{received:r.data,code:R.invalid_enum_value,options:s}),fe}return tn(t.data)}get enum(){return this._def.values}};Ia.create=(e,t)=>new Ia({values:e,typeName:me.ZodNativeEnum,...xe(t)});var As=class extends Ee{unwrap(){return this._def.type}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==J.promise&&n.common.async===!1)return V(n,{code:R.invalid_type,expected:J.promise,received:n.parsedType}),fe;let r=n.parsedType===J.promise?n.data:Promise.resolve(n.data);return tn(r.then(s=>this._def.type.parseAsync(s,{path:n.path,errorMap:n.common.contextualErrorMap})))}};As.create=(e,t)=>new As({type:e,typeName:me.ZodPromise,...xe(t)});var En=class extends Ee{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===me.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){let{status:n,ctx:r}=this._processInputParams(t),s=this._def.effect||null,a={addIssue:i=>{V(r,i),i.fatal?n.abort():n.dirty()},get path(){return r.path}};if(a.addIssue=a.addIssue.bind(a),s.type==="preprocess"){let i=s.transform(r.data,a);if(r.common.async)return Promise.resolve(i).then(async o=>{if(n.value==="aborted")return fe;let c=await this._def.schema._parseAsync({data:o,path:r.path,parent:r});return c.status==="aborted"?fe:c.status==="dirty"||n.value==="dirty"?sd(c.value):c});{if(n.value==="aborted")return fe;let o=this._def.schema._parseSync({data:i,path:r.path,parent:r});return o.status==="aborted"?fe:o.status==="dirty"||n.value==="dirty"?sd(o.value):o}}if(s.type==="refinement"){let i=o=>{let c=s.refinement(o,a);if(r.common.async)return Promise.resolve(c);if(c instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return o};if(r.common.async===!1){let o=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return o.status==="aborted"?fe:(o.status==="dirty"&&n.dirty(),i(o.value),{status:n.value,value:o.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(o=>o.status==="aborted"?fe:(o.status==="dirty"&&n.dirty(),i(o.value).then(()=>({status:n.value,value:o.value}))))}if(s.type==="transform")if(r.common.async===!1){let i=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!va(i))return fe;let o=s.transform(i.value,a);if(o instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:o}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(i=>va(i)?Promise.resolve(s.transform(i.value,a)).then(o=>({status:n.value,value:o})):fe);Re.assertNever(s)}};En.create=(e,t,n)=>new En({schema:e,typeName:me.ZodEffects,effect:t,...xe(n)});En.createWithPreprocess=(e,t,n)=>new En({schema:t,effect:{type:"preprocess",transform:e},typeName:me.ZodEffects,...xe(n)});var Or=class extends Ee{_parse(e){return this._getType(e)===J.undefined?tn(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Or.create=(e,t)=>new Or({innerType:e,typeName:me.ZodOptional,...xe(t)});var $s=class extends Ee{_parse(e){return this._getType(e)===J.null?tn(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};$s.create=(e,t)=>new $s({innerType:e,typeName:me.ZodNullable,...xe(t)});var bc=class extends Ee{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return t.parsedType===J.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}};bc.create=(e,t)=>new bc({innerType:e,typeName:me.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...xe(t)});var kc=class extends Ee{_parse(e){let{ctx:t}=this._processInputParams(e),n={...t,common:{...t.common,issues:[]}},r=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return gc(r)?r.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new ar(n.common.issues)},input:n.data})})):{status:"valid",value:r.status==="valid"?r.value:this._def.catchValue({get error(){return new ar(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};kc.create=(e,t)=>new kc({innerType:e,typeName:me.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...xe(t)});var Di=class extends Ee{_parse(t){if(this._getType(t)!==J.nan){let n=this._getOrReturnCtx(t);return V(n,{code:R.invalid_type,expected:J.nan,received:n.parsedType}),fe}return{status:"valid",value:t.data}}};Di.create=e=>new Di({typeName:me.ZodNaN,...xe(e)});var qD=Symbol("zod_brand"),xc=class extends Ee{_parse(t){let{ctx:n}=this._processInputParams(t),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}},Oc=class e extends Ee{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.common.async)return(async()=>{let s=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return s.status==="aborted"?fe:s.status==="dirty"?(n.dirty(),sd(s.value)):this._def.out._parseAsync({data:s.value,path:r.path,parent:r})})();{let s=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return s.status==="aborted"?fe:s.status==="dirty"?(n.dirty(),{status:"dirty",value:s.value}):this._def.out._parseSync({data:s.value,path:r.path,parent:r})}}static create(t,n){return new e({in:t,out:n,typeName:me.ZodPipeline})}},Sc=class extends Ee{_parse(e){let t=this._def.innerType._parse(e),n=r=>(va(r)&&(r.value=Object.freeze(r.value)),r);return gc(t)?t.then(r=>n(r)):n(t)}unwrap(){return this._def.innerType}};Sc.create=(e,t)=>new Sc({innerType:e,typeName:me.ZodReadonly,...xe(t)});function Bb(e,t){let n=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof n=="string"?{message:n}:n}function P_(e,t={},n){return e?Es.create().superRefine((r,s)=>{let a=e(r);if(a instanceof Promise)return a.then(i=>{if(!i){let o=Bb(t,r),c=o.fatal??n??!0;s.addIssue({code:"custom",...o,fatal:c})}});if(!a){let i=Bb(t,r),o=i.fatal??n??!0;s.addIssue({code:"custom",...i,fatal:o})}}):Es.create()}var HD={object:zn.lazycreate},me;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(me||(me={}));var WD=(e,t={message:`Input not instance of ${e.name}`})=>P_(n=>n instanceof e,t),cn=Ri.create,qo=yc.create,JD=Di.create,GD=wa.create,jT=ba.create,KD=ka.create,XD=Mi.create,YD=xa.create,QD=Oa.create,e3=Es.create,t3=ua.create,n3=Gr.create,r3=Li.create,ui=Sa.create,os=zn.create,s3=zn.strictCreate,a3=_c.create,i3=ad.create,o3=vc.create,c3=Ar.create,u3=NT.create,l3=zi.create,d3=Ui.create,p3=id.create,h3=Ta.create,Io=wc.create,f3=nu.create,m3=Ia.create,g3=As.create,Zb=En.create,y3=Or.create,_3=$s.create,v3=En.createWithPreprocess,w3=Oc.create,b3=()=>cn().optional(),k3=()=>qo().optional(),x3=()=>jT().optional(),O3={string:(e=>Ri.create({...e,coerce:!0})),number:(e=>yc.create({...e,coerce:!0})),boolean:(e=>ba.create({...e,coerce:!0})),bigint:(e=>wa.create({...e,coerce:!0})),date:(e=>ka.create({...e,coerce:!0}))},S3=fe,pn=Object.freeze(Object.defineProperty({__proto__:null,BRAND:qD,DIRTY:sd,EMPTY_PATH:xD,INVALID:fe,NEVER:S3,OK:tn,ParseStatus:Bt,Schema:Ee,ZodAny:Es,ZodArray:Sa,ZodBigInt:wa,ZodBoolean:ba,ZodBranded:xc,ZodCatch:kc,ZodDate:ka,ZodDefault:bc,ZodDiscriminatedUnion:ad,ZodEffects:En,ZodEnum:nu,ZodError:ar,get ZodFirstPartyTypeKind(){return me},ZodFunction:id,ZodIntersection:vc,ZodIssueCode:R,ZodLazy:Ta,ZodLiteral:wc,ZodMap:zi,ZodNaN:Di,ZodNativeEnum:Ia,ZodNever:Gr,ZodNull:Oa,ZodNullable:$s,ZodNumber:yc,ZodObject:zn,ZodOptional:Or,ZodParsedType:J,ZodPipeline:Oc,ZodPromise:As,ZodReadonly:Sc,ZodRecord:NT,ZodSchema:Ee,ZodSet:Ui,ZodString:Ri,ZodSymbol:Mi,ZodTransformer:En,ZodTuple:Ar,ZodType:Ee,ZodUndefined:xa,ZodUnion:_c,ZodUnknown:ua,ZodVoid:Li,addIssueToContext:V,any:e3,array:ui,bigint:GD,boolean:jT,coerce:O3,custom:P_,date:KD,datetimeRegex:CT,defaultErrorMap:ji,discriminatedUnion:i3,effect:Zb,enum:f3,function:p3,getErrorMap:nd,getParsedType:Dr,instanceof:WD,intersection:o3,isAborted:Tg,isAsync:gc,isDirty:Ig,isValid:va,late:HD,lazy:h3,literal:Io,makeIssue:rd,map:l3,nan:JD,nativeEnum:m3,never:n3,null:QD,nullable:_3,number:qo,object:os,get objectUtil(){return Sg},oboolean:x3,onumber:k3,optional:y3,ostring:b3,pipeline:w3,preprocess:v3,promise:g3,quotelessJson:bD,record:u3,set:d3,setErrorMap:kD,strictObject:s3,string:cn,symbol:XD,transformer:Zb,tuple:c3,undefined:YD,union:a3,unknown:t3,get util(){return Re},void:r3},Symbol.toStringTag,{value:"Module"}));mt.Root({messages:mt({reducer:Ra,default:()=>[]})});var T3={reducer:{fn:Ra},jsonSchemaExtra:{langgraph_type:"messages"},default:()=>[]};os({messages:mD(P_(),T3)});async function I3(e,t,n){if(n===void 0)throw new Error(["Unable to dispatch a custom event without a parent run id.",'"dispatchCustomEvent" can only be called from within an existing run (e.g.,',"inside a tool or a RunnableLambda).",`
267
-
268
- If you continue to see this error, please import from "@langchain/core/callbacks/dispatch/web"`,"and explicitly pass in a config parameter.",`
269
-
270
- Or, if you are calling this from a custom tool, ensure you're using the "tool" helper constructor as documented here:`,`
271
- |`,`
272
- \u2514-> https://js.langchain.com/docs/how_to/custom_tools#tool-function`,`
273
- `].join(" "));let r=await en(n),s=r?.getParentRunId();r!==void 0&&s!==void 0&&await r.handleCustomEvent?.(e,t,s)}function zu(e,t){return e.lc_error_code=t,e.message=`${e.message}
274
-
275
- Troubleshooting URL: https://docs.langchain.com/oss/javascript/langchain/errors/${t}/
276
- `,e}function ge(e,t,n,r,s){if(typeof t=="function"?e!==t||!0:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return t.set(e,n),n}function T(e,t,n,r){if(n==="a"&&!r)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return n==="m"?r:n==="a"?r.call(e):r?r.value:t.get(e)}var RT=function(){let{crypto:e}=globalThis;if(e?.randomUUID)return RT=e.randomUUID.bind(e),e.randomUUID();let t=new Uint8Array(1),n=e?()=>e.getRandomValues(t)[0]:()=>Math.random()*255&255;return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,r=>(+r^n()&15>>+r/4).toString(16))};function Ng(e){return typeof e=="object"&&e!==null&&("name"in e&&e.name==="AbortError"||"message"in e&&String(e.message).includes("FetchRequestCanceledException"))}var Pg=e=>{if(e instanceof Error)return e;if(typeof e=="object"&&e!==null){try{if(Object.prototype.toString.call(e)==="[object Error]"){let t=new Error(e.message,e.cause?{cause:e.cause}:{});return e.stack&&(t.stack=e.stack),e.cause&&!t.cause&&(t.cause=e.cause),e.name&&(t.name=e.name),t}}catch{}try{return new Error(JSON.stringify(e))}catch{}}return new Error(e)},le=class extends Error{},Zt=class e extends le{constructor(t,n,r,s){super(`${e.makeMessage(t,n,r)}`),this.status=t,this.headers=s,this.requestID=s?.get("x-request-id"),this.error=n;let a=n;this.code=a?.code,this.param=a?.param,this.type=a?.type}static makeMessage(t,n,r){let s=n?.message?typeof n.message=="string"?n.message:JSON.stringify(n.message):n?JSON.stringify(n):r;return t&&s?`${t} ${s}`:t?`${t} status code (no body)`:s||"(no status code or body)"}static generate(t,n,r,s){if(!t||!s)return new Fi({message:r,cause:Pg(n)});let a=n?.error;return t===400?new od(t,a,r,s):t===401?new cd(t,a,r,s):t===403?new ud(t,a,r,s):t===404?new ld(t,a,r,s):t===409?new dd(t,a,r,s):t===422?new pd(t,a,r,s):t===429?new hd(t,a,r,s):t>=500?new fd(t,a,r,s):new e(t,a,r,s)}},Xt=class extends Zt{constructor({message:t}={}){super(void 0,void 0,t||"Request was aborted.",void 0)}},Fi=class extends Zt{constructor({message:t,cause:n}){super(void 0,void 0,t||"Connection error.",void 0),n&&(this.cause=n)}},Bi=class extends Fi{constructor({message:t}={}){super({message:t??"Request timed out."})}},od=class extends Zt{},cd=class extends Zt{},ud=class extends Zt{},ld=class extends Zt{},dd=class extends Zt{},pd=class extends Zt{},hd=class extends Zt{},fd=class extends Zt{},md=class extends le{constructor(){super("Could not parse response content as the length limit was reached")}},gd=class extends le{constructor(){super("Could not parse response content as the request was rejected by the content filter")}},ea=class extends Error{constructor(t){super(t)}},E3=/^[a-z][a-z0-9+.-]*:/i,A3=e=>E3.test(e),un=e=>(un=Array.isArray,un(e)),Vb=un;function MT(e){return typeof e!="object"?{}:e??{}}function qb(e){if(!e)return!0;for(let t in e)return!1;return!0}function $3(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Df(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}var C3=(e,t)=>{if(typeof t!="number"||!Number.isInteger(t))throw new le(`${e} must be an integer`);if(t<0)throw new le(`${e} must be a positive integer`);return t},N3=e=>{try{return JSON.parse(e)}catch{return}},ru=e=>new Promise(t=>setTimeout(t,e)),Ya="6.32.0",P3=()=>typeof window<"u"&&typeof window.document<"u"&&typeof navigator<"u";function j3(){return typeof Deno<"u"&&Deno.build!=null?"deno":typeof EdgeRuntime<"u"?"edge":Object.prototype.toString.call(typeof globalThis.process<"u"?globalThis.process:0)==="[object process]"?"node":"unknown"}var R3=()=>{let e=j3();if(e==="deno")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Ya,"X-Stainless-OS":Wb(Deno.build.os),"X-Stainless-Arch":Hb(Deno.build.arch),"X-Stainless-Runtime":"deno","X-Stainless-Runtime-Version":typeof Deno.version=="string"?Deno.version:Deno.version?.deno??"unknown"};if(typeof EdgeRuntime<"u")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Ya,"X-Stainless-OS":"Unknown","X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":"edge","X-Stainless-Runtime-Version":globalThis.process.version};if(e==="node")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Ya,"X-Stainless-OS":Wb(globalThis.process.platform??"unknown"),"X-Stainless-Arch":Hb(globalThis.process.arch??"unknown"),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":globalThis.process.version??"unknown"};let t=M3();return t?{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Ya,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":`browser:${t.browser}`,"X-Stainless-Runtime-Version":t.version}:{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Ya,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}};function M3(){if(typeof navigator>"u"||!navigator)return null;let e=[{key:"edge",pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"chrome",pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"firefox",pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"safari",pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}];for(let{key:t,pattern:n}of e){let r=n.exec(navigator.userAgent);if(r){let s=r[1]||0,a=r[2]||0,i=r[3]||0;return{browser:t,version:`${s}.${a}.${i}`}}}return null}var Hb=e=>e==="x32"?"x32":e==="x86_64"||e==="x64"?"x64":e==="arm"?"arm":e==="aarch64"||e==="arm64"?"arm64":e?`other:${e}`:"unknown",Wb=e=>(e=e.toLowerCase(),e.includes("ios")?"iOS":e==="android"?"Android":e==="darwin"?"MacOS":e==="win32"?"Windows":e==="freebsd"?"FreeBSD":e==="openbsd"?"OpenBSD":e==="linux"?"Linux":e?`Other:${e}`:"Unknown"),Jb,L3=()=>Jb??(Jb=R3());function z3(){if(typeof fetch<"u")return fetch;throw new Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new OpenAI({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function LT(...e){let t=globalThis.ReadableStream;if(typeof t>"u")throw new Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new t(...e)}function zT(e){let t=Symbol.asyncIterator in e?e[Symbol.asyncIterator]():e[Symbol.iterator]();return LT({start(){},async pull(n){let{done:r,value:s}=await t.next();r?n.close():n.enqueue(s)},async cancel(){await t.return?.()}})}function UT(e){if(e[Symbol.asyncIterator])return e;let t=e.getReader();return{async next(){try{let n=await t.read();return n?.done&&t.releaseLock(),n}catch(n){throw t.releaseLock(),n}},async return(){let n=t.cancel();return t.releaseLock(),await n,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function U3(e){if(e===null||typeof e!="object")return;if(e[Symbol.asyncIterator]){await e[Symbol.asyncIterator]().return?.();return}let t=e.getReader(),n=t.cancel();t.releaseLock(),await n}var D3=({headers:e,body:t})=>({bodyHeaders:{"content-type":"application/json"},body:JSON.stringify(t)}),DT="RFC3986",FT=e=>String(e),Gb={RFC1738:e=>String(e).replace(/%20/g,"+"),RFC3986:FT},F3="RFC1738",jg=(e,t)=>(jg=Object.hasOwn??Function.prototype.call.bind(Object.prototype.hasOwnProperty),jg(e,t)),hr=(()=>{let e=[];for(let t=0;t<256;++t)e.push("%"+((t<16?"0":"")+t.toString(16)).toUpperCase());return e})(),Ff=1024,B3=(e,t,n,r,s)=>{if(e.length===0)return e;let a=e;if(typeof e=="symbol"?a=Symbol.prototype.toString.call(e):typeof e!="string"&&(a=String(e)),n==="iso-8859-1")return escape(a).replace(/%u[0-9a-f]{4}/gi,function(o){return"%26%23"+parseInt(o.slice(2),16)+"%3B"});let i="";for(let o=0;o<a.length;o+=Ff){let c=a.length>=Ff?a.slice(o,o+Ff):a,u=[];for(let l=0;l<c.length;++l){let d=c.charCodeAt(l);if(d===45||d===46||d===95||d===126||d>=48&&d<=57||d>=65&&d<=90||d>=97&&d<=122||s===F3&&(d===40||d===41)){u[u.length]=c.charAt(l);continue}if(d<128){u[u.length]=hr[d];continue}if(d<2048){u[u.length]=hr[192|d>>6]+hr[128|d&63];continue}if(d<55296||d>=57344){u[u.length]=hr[224|d>>12]+hr[128|d>>6&63]+hr[128|d&63];continue}l+=1,d=65536+((d&1023)<<10|c.charCodeAt(l)&1023),u[u.length]=hr[240|d>>18]+hr[128|d>>12&63]+hr[128|d>>6&63]+hr[128|d&63]}i+=u.join("")}return i};function Z3(e){return!e||typeof e!="object"?!1:!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))}function Kb(e,t){if(un(e)){let n=[];for(let r=0;r<e.length;r+=1)n.push(t(e[r]));return n}return t(e)}var BT={brackets(e){return String(e)+"[]"},comma:"comma",indices(e,t){return String(e)+"["+t+"]"},repeat(e){return String(e)}},ZT=function(e,t){Array.prototype.push.apply(e,un(t)?t:[t])},Xb,vt={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:B3,encodeValuesOnly:!1,format:DT,formatter:FT,indices:!1,serializeDate(e){return(Xb??(Xb=Function.prototype.call.bind(Date.prototype.toISOString)))(e)},skipNulls:!1,strictNullHandling:!1};function V3(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"||typeof e=="symbol"||typeof e=="bigint"}var Bf={};function VT(e,t,n,r,s,a,i,o,c,u,l,d,p,h,f,m,v,g){let y=e,k=g,x=0,S=!1;for(;(k=k.get(Bf))!==void 0&&!S;){let A=k.get(e);if(x+=1,typeof A<"u"){if(A===x)throw new RangeError("Cyclic object value");S=!0}typeof k.get(Bf)>"u"&&(x=0)}if(typeof u=="function"?y=u(t,y):y instanceof Date?y=p?.(y):n==="comma"&&un(y)&&(y=Kb(y,function(A){return A instanceof Date?p?.(A):A})),y===null){if(a)return c&&!m?c(t,vt.encoder,v,"key",h):t;y=""}if(V3(y)||Z3(y)){if(c){let A=m?t:c(t,vt.encoder,v,"key",h);return[f?.(A)+"="+f?.(c(y,vt.encoder,v,"value",h))]}return[f?.(t)+"="+f?.(String(y))]}let E=[];if(typeof y>"u")return E;let I;if(n==="comma"&&un(y))m&&c&&(y=Kb(y,c)),I=[{value:y.length>0?y.join(",")||null:void 0}];else if(un(u))I=u;else{let A=Object.keys(y);I=l?A.sort(l):A}let w=o?String(t).replace(/\./g,"%2E"):String(t),P=r&&un(y)&&y.length===1?w+"[]":w;if(s&&un(y)&&y.length===0)return P+"[]";for(let A=0;A<I.length;++A){let Z=I[A],ze=typeof Z=="object"&&typeof Z.value<"u"?Z.value:y[Z];if(i&&ze===null)continue;let rt=d&&o?Z.replace(/\./g,"%2E"):Z,B=un(y)?typeof n=="function"?n(P,rt):P:P+(d?"."+rt:"["+rt+"]");g.set(e,x);let L=new WeakMap;L.set(Bf,g),ZT(E,VT(ze,B,n,r,s,a,i,o,n==="comma"&&m&&un(y)?null:c,u,l,d,p,h,f,m,v,L))}return E}function q3(e=vt){if(typeof e.allowEmptyArrays<"u"&&typeof e.allowEmptyArrays!="boolean")throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(typeof e.encodeDotInKeys<"u"&&typeof e.encodeDotInKeys!="boolean")throw new TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if(e.encoder!==null&&typeof e.encoder<"u"&&typeof e.encoder!="function")throw new TypeError("Encoder has to be a function.");let t=e.charset||vt.charset;if(typeof e.charset<"u"&&e.charset!=="utf-8"&&e.charset!=="iso-8859-1")throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");let n=DT;if(typeof e.format<"u"){if(!jg(Gb,e.format))throw new TypeError("Unknown format option provided.");n=e.format}let r=Gb[n],s=vt.filter;(typeof e.filter=="function"||un(e.filter))&&(s=e.filter);let a;if(e.arrayFormat&&e.arrayFormat in BT?a=e.arrayFormat:"indices"in e?a=e.indices?"indices":"repeat":a=vt.arrayFormat,"commaRoundTrip"in e&&typeof e.commaRoundTrip!="boolean")throw new TypeError("`commaRoundTrip` must be a boolean, or absent");let i=typeof e.allowDots>"u"?e.encodeDotInKeys?!0:vt.allowDots:!!e.allowDots;return{addQueryPrefix:typeof e.addQueryPrefix=="boolean"?e.addQueryPrefix:vt.addQueryPrefix,allowDots:i,allowEmptyArrays:typeof e.allowEmptyArrays=="boolean"?!!e.allowEmptyArrays:vt.allowEmptyArrays,arrayFormat:a,charset:t,charsetSentinel:typeof e.charsetSentinel=="boolean"?e.charsetSentinel:vt.charsetSentinel,commaRoundTrip:!!e.commaRoundTrip,delimiter:typeof e.delimiter>"u"?vt.delimiter:e.delimiter,encode:typeof e.encode=="boolean"?e.encode:vt.encode,encodeDotInKeys:typeof e.encodeDotInKeys=="boolean"?e.encodeDotInKeys:vt.encodeDotInKeys,encoder:typeof e.encoder=="function"?e.encoder:vt.encoder,encodeValuesOnly:typeof e.encodeValuesOnly=="boolean"?e.encodeValuesOnly:vt.encodeValuesOnly,filter:s,format:n,formatter:r,serializeDate:typeof e.serializeDate=="function"?e.serializeDate:vt.serializeDate,skipNulls:typeof e.skipNulls=="boolean"?e.skipNulls:vt.skipNulls,sort:typeof e.sort=="function"?e.sort:null,strictNullHandling:typeof e.strictNullHandling=="boolean"?e.strictNullHandling:vt.strictNullHandling}}function H3(e,t={}){let n=e,r=q3(t),s,a;typeof r.filter=="function"?(a=r.filter,n=a("",n)):un(r.filter)&&(a=r.filter,s=a);let i=[];if(typeof n!="object"||n===null)return"";let o=BT[r.arrayFormat],c=o==="comma"&&r.commaRoundTrip;s||(s=Object.keys(n)),r.sort&&s.sort(r.sort);let u=new WeakMap;for(let p=0;p<s.length;++p){let h=s[p];r.skipNulls&&n[h]===null||ZT(i,VT(n[h],h,o,c,r.allowEmptyArrays,r.strictNullHandling,r.skipNulls,r.encodeDotInKeys,r.encode?r.encoder:null,r.filter,r.sort,r.allowDots,r.serializeDate,r.format,r.formatter,r.encodeValuesOnly,r.charset,u))}let l=i.join(r.delimiter),d=r.addQueryPrefix===!0?"?":"";return r.charsetSentinel&&(r.charset==="iso-8859-1"?d+="utf8=%26%2310003%3B&":d+="utf8=%E2%9C%93&"),l.length>0?d+l:""}function W3(e){return H3(e,{arrayFormat:"brackets"})}function J3(e){let t=0;for(let s of e)t+=s.length;let n=new Uint8Array(t),r=0;for(let s of e)n.set(s,r),r+=s.length;return n}var Yb;function j_(e){let t;return(Yb??(t=new globalThis.TextEncoder,Yb=t.encode.bind(t)))(e)}var Qb;function e1(e){let t;return(Qb??(t=new globalThis.TextDecoder,Qb=t.decode.bind(t)))(e)}var kn,xn,Zi=class{constructor(){kn.set(this,void 0),xn.set(this,void 0),ge(this,kn,new Uint8Array),ge(this,xn,null)}decode(t){if(t==null)return[];let n=t instanceof ArrayBuffer?new Uint8Array(t):typeof t=="string"?j_(t):t;ge(this,kn,J3([T(this,kn,"f"),n]));let r=[],s;for(;(s=G3(T(this,kn,"f"),T(this,xn,"f")))!=null;){if(s.carriage&&T(this,xn,"f")==null){ge(this,xn,s.index);continue}if(T(this,xn,"f")!=null&&(s.index!==T(this,xn,"f")+1||s.carriage)){r.push(e1(T(this,kn,"f").subarray(0,T(this,xn,"f")-1))),ge(this,kn,T(this,kn,"f").subarray(T(this,xn,"f"))),ge(this,xn,null);continue}let a=T(this,xn,"f")!==null?s.preceding-1:s.preceding,i=e1(T(this,kn,"f").subarray(0,a));r.push(i),ge(this,kn,T(this,kn,"f").subarray(s.index)),ge(this,xn,null)}return r}flush(){return T(this,kn,"f").length?this.decode(`
277
- `):[]}};kn=new WeakMap,xn=new WeakMap;Zi.NEWLINE_CHARS=new Set([`
278
- `,"\r"]);Zi.NEWLINE_REGEXP=/\r\n|[\n\r]/g;function G3(e,t){for(let n=t??0;n<e.length;n++){if(e[n]===10)return{preceding:n,index:n+1,carriage:!1};if(e[n]===13)return{preceding:n,index:n+1,carriage:!0}}return null}function K3(e){for(let t=0;t<e.length-1;t++){if(e[t]===10&&e[t+1]===10||e[t]===13&&e[t+1]===13)return t+2;if(e[t]===13&&e[t+1]===10&&t+3<e.length&&e[t+2]===13&&e[t+3]===10)return t+4}return-1}var yd={off:0,error:200,warn:300,info:400,debug:500},t1=(e,t,n)=>{if(e){if($3(yd,e))return e;Ct(n).warn(`${t} was set to ${JSON.stringify(e)}, expected one of ${JSON.stringify(Object.keys(yd))}`)}};function Eo(){}function Uu(e,t,n){return!t||yd[e]>yd[n]?Eo:t[e].bind(t)}var X3={error:Eo,warn:Eo,info:Eo,debug:Eo},n1=new WeakMap;function Ct(e){let t=e.logger,n=e.logLevel??"off";if(!t)return X3;let r=n1.get(t);if(r&&r[0]===n)return r[1];let s={error:Uu("error",t,n),warn:Uu("warn",t,n),info:Uu("info",t,n),debug:Uu("debug",t,n)};return n1.set(t,[n,s]),s}var Ws=e=>(e.options&&(e.options={...e.options},delete e.options.headers),e.headers&&(e.headers=Object.fromEntries((e.headers instanceof Headers?[...e.headers]:Object.entries(e.headers)).map(([t,n])=>[t,t.toLowerCase()==="authorization"||t.toLowerCase()==="cookie"||t.toLowerCase()==="set-cookie"?"***":n]))),"retryOfRequestLogID"in e&&(e.retryOfRequestLogID&&(e.retryOf=e.retryOfRequestLogID),delete e.retryOfRequestLogID),e),go,Ea=class e{constructor(t,n,r){this.iterator=t,go.set(this,void 0),this.controller=n,ge(this,go,r)}static fromSSEResponse(t,n,r,s){let a=!1,i=r?Ct(r):console;async function*o(){if(a)throw new le("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");a=!0;let c=!1;try{for await(let u of Y3(t,n))if(!c){if(u.data.startsWith("[DONE]")){c=!0;continue}if(u.event===null||!u.event.startsWith("thread.")){let l;try{l=JSON.parse(u.data)}catch(d){throw i.error("Could not parse message into JSON:",u.data),i.error("From chunk:",u.raw),d}if(l&&l.error)throw new Zt(void 0,l.error,void 0,t.headers);yield s?{event:u.event,data:l}:l}else{let l;try{l=JSON.parse(u.data)}catch(d){throw console.error("Could not parse message into JSON:",u.data),console.error("From chunk:",u.raw),d}if(u.event=="error")throw new Zt(void 0,l.error,l.message,void 0);yield{event:u.event,data:l}}}c=!0}catch(u){if(Ng(u))return;throw u}finally{c||n.abort()}}return new e(o,n,r)}static fromReadableStream(t,n,r){let s=!1;async function*a(){let o=new Zi,c=UT(t);for await(let u of c)for(let l of o.decode(u))yield l;for(let u of o.flush())yield u}async function*i(){if(s)throw new le("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");s=!0;let o=!1;try{for await(let c of a())o||c&&(yield JSON.parse(c));o=!0}catch(c){if(Ng(c))return;throw c}finally{o||n.abort()}}return new e(i,n,r)}[(go=new WeakMap,Symbol.asyncIterator)](){return this.iterator()}tee(){let t=[],n=[],r=this.iterator(),s=a=>({next:()=>{if(a.length===0){let i=r.next();t.push(i),n.push(i)}return a.shift()}});return[new e(()=>s(t),this.controller,T(this,go,"f")),new e(()=>s(n),this.controller,T(this,go,"f"))]}toReadableStream(){let t=this,n;return LT({async start(){n=t[Symbol.asyncIterator]()},async pull(r){try{let{value:s,done:a}=await n.next();if(a)return r.close();let i=j_(JSON.stringify(s)+`
279
- `);r.enqueue(i)}catch(s){r.error(s)}},async cancel(){await n.return?.()}})}};async function*Y3(e,t){if(!e.body)throw t.abort(),typeof globalThis.navigator<"u"&&globalThis.navigator.product==="ReactNative"?new le("The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api"):new le("Attempted to iterate over a response with no body");let n=new Rg,r=new Zi,s=UT(e.body);for await(let a of Q3(s))for(let i of r.decode(a)){let o=n.decode(i);o&&(yield o)}for(let a of r.flush()){let i=n.decode(a);i&&(yield i)}}async function*Q3(e){let t=new Uint8Array;for await(let n of e){if(n==null)continue;let r=n instanceof ArrayBuffer?new Uint8Array(n):typeof n=="string"?j_(n):n,s=new Uint8Array(t.length+r.length);s.set(t),s.set(r,t.length),t=s;let a;for(;(a=K3(t))!==-1;)yield t.slice(0,a),t=t.slice(a)}t.length>0&&(yield t)}var Rg=class{constructor(){this.event=null,this.data=[],this.chunks=[]}decode(t){if(t.endsWith("\r")&&(t=t.substring(0,t.length-1)),!t){if(!this.event&&!this.data.length)return null;let a={event:this.event,data:this.data.join(`
280
- `),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],a}if(this.chunks.push(t),t.startsWith(":"))return null;let[n,r,s]=eF(t,":");return s.startsWith(" ")&&(s=s.substring(1)),n==="event"?this.event=s:n==="data"&&this.data.push(s),null}};function eF(e,t){let n=e.indexOf(t);return n!==-1?[e.substring(0,n),t,e.substring(n+t.length)]:[e,"",""]}async function qT(e,t){let{response:n,requestLogID:r,retryOfRequestLogID:s,startTime:a}=t,i=await(async()=>{if(t.options.stream)return Ct(e).debug("response",n.status,n.url,n.headers,n.body),t.options.__streamClass?t.options.__streamClass.fromSSEResponse(n,t.controller,e,t.options.__synthesizeEventData):Ea.fromSSEResponse(n,t.controller,e,t.options.__synthesizeEventData);if(n.status===204)return null;if(t.options.__binaryResponse)return n;let o=n.headers.get("content-type")?.split(";")[0]?.trim();if(o?.includes("application/json")||o?.endsWith("+json")){if(n.headers.get("content-length")==="0")return;let c=await n.json();return HT(c,n)}return await n.text()})();return Ct(e).debug(`[${r}] response parsed`,Ws({retryOfRequestLogID:s,url:n.url,status:n.status,body:i,durationMs:Date.now()-a})),i}function HT(e,t){return!e||typeof e!="object"||Array.isArray(e)?e:Object.defineProperty(e,"_request_id",{value:t.headers.get("x-request-id"),enumerable:!1})}var Ao,_d=class e extends Promise{constructor(t,n,r=qT){super(s=>{s(null)}),this.responsePromise=n,this.parseResponse=r,Ao.set(this,void 0),ge(this,Ao,t)}_thenUnwrap(t){return new e(T(this,Ao,"f"),this.responsePromise,async(n,r)=>HT(t(await this.parseResponse(n,r),r),r.response))}asResponse(){return this.responsePromise.then(t=>t.response)}async withResponse(){let[t,n]=await Promise.all([this.parse(),this.asResponse()]);return{data:t,response:n,request_id:n.headers.get("x-request-id")}}parse(){return this.parsedPromise||(this.parsedPromise=this.responsePromise.then(t=>this.parseResponse(T(this,Ao,"f"),t))),this.parsedPromise}then(t,n){return this.parse().then(t,n)}catch(t){return this.parse().catch(t)}finally(t){return this.parse().finally(t)}};Ao=new WeakMap;var Du,Tc=class{constructor(t,n,r,s){Du.set(this,void 0),ge(this,Du,t),this.options=s,this.response=n,this.body=r}hasNextPage(){return this.getPaginatedItems().length?this.nextPageRequestOptions()!=null:!1}async getNextPage(){let t=this.nextPageRequestOptions();if(!t)throw new le("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.");return await T(this,Du,"f").requestAPIList(this.constructor,t)}async*iterPages(){let t=this;for(yield t;t.hasNextPage();)t=await t.getNextPage(),yield t}async*[(Du=new WeakMap,Symbol.asyncIterator)](){for await(let t of this.iterPages())for(let n of t.getPaginatedItems())yield n}},Mg=class extends _d{constructor(t,n,r){super(t,n,async(s,a)=>new r(s,a.response,await qT(s,a),a.options))}async*[Symbol.asyncIterator](){let t=await this;for await(let n of t)yield n}},Vi=class extends Tc{constructor(t,n,r,s){super(t,n,r,s),this.data=r.data||[],this.object=r.object}getPaginatedItems(){return this.data??[]}nextPageRequestOptions(){return null}},at=class extends Tc{constructor(t,n,r,s){super(t,n,r,s),this.data=r.data||[],this.has_more=r.has_more||!1}getPaginatedItems(){return this.data??[]}hasNextPage(){return this.has_more===!1?!1:super.hasNextPage()}nextPageRequestOptions(){let t=this.getPaginatedItems(),n=t[t.length-1]?.id;return n?{...this.options,query:{...MT(this.options.query),after:n}}:null}},Aa=class extends Tc{constructor(t,n,r,s){super(t,n,r,s),this.data=r.data||[],this.has_more=r.has_more||!1,this.last_id=r.last_id||""}getPaginatedItems(){return this.data??[]}hasNextPage(){return this.has_more===!1?!1:super.hasNextPage()}nextPageRequestOptions(){let t=this.last_id;return t?{...this.options,query:{...MT(this.options.query),after:t}}:null}},WT=()=>{if(typeof File>"u"){let{process:e}=globalThis,t=typeof e?.versions?.node=="string"&&parseInt(e.versions.node.split("."))<20;throw new Error("`File` is not defined as a global, which is required for file uploads."+(t?" Update to Node 20 LTS or newer, or set `globalThis.File` to `import('node:buffer').File`.":""))}};function Ho(e,t,n){return WT(),new File(e,t??"unknown_file",n)}function yl(e){return(typeof e=="object"&&e!==null&&("name"in e&&e.name&&String(e.name)||"url"in e&&e.url&&String(e.url)||"filename"in e&&e.filename&&String(e.filename)||"path"in e&&e.path&&String(e.path))||"").split(/[\\/]/).pop()||void 0}var R_=e=>e!=null&&typeof e=="object"&&typeof e[Symbol.asyncIterator]=="function",Gp=async(e,t)=>Lg(e.body)?{...e,body:await JT(e.body,t)}:e,br=async(e,t)=>({...e,body:await JT(e.body,t)}),r1=new WeakMap;function tF(e){let t=typeof e=="function"?e:e.fetch,n=r1.get(t);if(n)return n;let r=(async()=>{try{let s="Response"in t?t.Response:(await t("data:,")).constructor,a=new FormData;return a.toString()!==await new s(a).text()}catch{return!0}})();return r1.set(t,r),r}var JT=async(e,t)=>{if(!await tF(t))throw new TypeError("The provided fetch function does not support file uploads with the current global FormData class.");let n=new FormData;return await Promise.all(Object.entries(e||{}).map(([r,s])=>zg(n,r,s))),n},GT=e=>e instanceof Blob&&"name"in e,nF=e=>typeof e=="object"&&e!==null&&(e instanceof Response||R_(e)||GT(e)),Lg=e=>{if(nF(e))return!0;if(Array.isArray(e))return e.some(Lg);if(e&&typeof e=="object"){for(let t in e)if(Lg(e[t]))return!0}return!1},zg=async(e,t,n)=>{if(n!==void 0){if(n==null)throw new TypeError(`Received null for "${t}"; to pass null in FormData, you must use the string 'null'`);if(typeof n=="string"||typeof n=="number"||typeof n=="boolean")e.append(t,String(n));else if(n instanceof Response)e.append(t,Ho([await n.blob()],yl(n)));else if(R_(n))e.append(t,Ho([await new Response(zT(n)).blob()],yl(n)));else if(GT(n))e.append(t,n,yl(n));else if(Array.isArray(n))await Promise.all(n.map(r=>zg(e,t+"[]",r)));else if(typeof n=="object")await Promise.all(Object.entries(n).map(([r,s])=>zg(e,`${t}[${r}]`,s)));else throw new TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${n} instead`)}},KT=e=>e!=null&&typeof e=="object"&&typeof e.size=="number"&&typeof e.type=="string"&&typeof e.text=="function"&&typeof e.slice=="function"&&typeof e.arrayBuffer=="function",rF=e=>e!=null&&typeof e=="object"&&typeof e.name=="string"&&typeof e.lastModified=="number"&&KT(e),sF=e=>e!=null&&typeof e=="object"&&typeof e.url=="string"&&typeof e.blob=="function";async function aF(e,t,n){if(WT(),e=await e,rF(e))return e instanceof File?e:Ho([await e.arrayBuffer()],e.name);if(sF(e)){let s=await e.blob();return t||(t=new URL(e.url).pathname.split(/[\\/]/).pop()),Ho(await Ug(s),t,n)}let r=await Ug(e);if(t||(t=yl(e)),!n?.type){let s=r.find(a=>typeof a=="object"&&"type"in a&&a.type);typeof s=="string"&&(n={...n,type:s})}return Ho(r,t,n)}async function Ug(e){let t=[];if(typeof e=="string"||ArrayBuffer.isView(e)||e instanceof ArrayBuffer)t.push(e);else if(KT(e))t.push(e instanceof Blob?e:await e.arrayBuffer());else if(R_(e))for await(let n of e)t.push(...await Ug(n));else{let n=e?.constructor?.name;throw new Error(`Unexpected data type: ${typeof e}${n?`; constructor: ${n}`:""}${iF(e)}`)}return t}function iF(e){return typeof e!="object"||e===null?"":`; props: [${Object.getOwnPropertyNames(e).map(t=>`"${t}"`).join(", ")}]`}var te=class{constructor(t){this._client=t}};function XT(e){return e.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g,encodeURIComponent)}var s1=Object.freeze(Object.create(null)),oF=(e=XT)=>function(t,...n){if(t.length===1)return t[0];let r=!1,s=[],a=t.reduce((u,l,d)=>{/[?#]/.test(l)&&(r=!0);let p=n[d],h=(r?encodeURIComponent:e)(""+p);return d!==n.length&&(p==null||typeof p=="object"&&p.toString===Object.getPrototypeOf(Object.getPrototypeOf(p.hasOwnProperty??s1)??s1)?.toString)&&(h=p+"",s.push({start:u.length+l.length,length:h.length,error:`Value of type ${Object.prototype.toString.call(p).slice(8,-1)} is not a valid path parameter`})),u+l+(d===n.length?"":h)},""),i=a.split(/[?#]/,1)[0],o=/(?<=^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi,c;for(;(c=o.exec(i))!==null;)s.push({start:c.index,length:c[0].length,error:`Value "${c[0]}" can't be safely passed as a path parameter`});if(s.sort((u,l)=>u.start-l.start),s.length>0){let u=0,l=s.reduce((d,p)=>{let h=" ".repeat(p.start-u),f="^".repeat(p.length);return u=p.start+p.length,d+h+f},"");throw new le(`Path parameters result in path with invalid segments:
281
- ${s.map(d=>d.error).join(`
282
- `)}
283
- ${a}
284
- ${l}`)}return a},N=oF(XT),YT=class extends te{list(e,t={},n){return this._client.getAPIList(N`/chat/completions/${e}/messages`,at,{query:t,...n})}};function vd(e){return e!==void 0&&"function"in e&&e.function!==void 0}function cF(e,t){let n={...e};return Object.defineProperties(n,{$brand:{value:"auto-parseable-response-format",enumerable:!1},$parseRaw:{value:t,enumerable:!1}}),n}function M_(e){return e?.$brand==="auto-parseable-response-format"}function su(e){return e?.$brand==="auto-parseable-tool"}function uF(e,t){return!t||!QT(t)?{...e,choices:e.choices.map(n=>(eI(n.message.tool_calls),{...n,message:{...n.message,parsed:null,...n.message.tool_calls?{tool_calls:n.message.tool_calls}:void 0}}))}:L_(e,t)}function L_(e,t){let n=e.choices.map(r=>{if(r.finish_reason==="length")throw new md;if(r.finish_reason==="content_filter")throw new gd;return eI(r.message.tool_calls),{...r,message:{...r.message,...r.message.tool_calls?{tool_calls:r.message.tool_calls?.map(s=>dF(t,s))??void 0}:void 0,parsed:r.message.content&&!r.message.refusal?lF(t,r.message.content):null}}});return{...e,choices:n}}function lF(e,t){return e.response_format?.type!=="json_schema"?null:e.response_format?.type==="json_schema"?"$parseRaw"in e.response_format?e.response_format.$parseRaw(t):JSON.parse(t):null}function dF(e,t){let n=e.tools?.find(r=>vd(r)&&r.function?.name===t.function.name);return{...t,function:{...t.function,parsed_arguments:su(n)?n.$parseRaw(t.function.arguments):n?.function.strict?JSON.parse(t.function.arguments):null}}}function pF(e,t){if(!e||!("tools"in e)||!e.tools)return!1;let n=e.tools?.find(r=>vd(r)&&r.function?.name===t.function.name);return vd(n)&&(su(n)||n?.function.strict||!1)}function QT(e){return M_(e.response_format)?!0:e.tools?.some(t=>su(t)||t.type==="function"&&t.function.strict===!0)??!1}function eI(e){for(let t of e||[])if(t.type!=="function")throw new le(`Currently only \`function\` tool calls are supported; Received \`${t.type}\``)}function hF(e){for(let t of e??[]){if(t.type!=="function")throw new le(`Currently only \`function\` tool types support auto-parsing; Received \`${t.type}\``);if(t.function.strict!==!0)throw new le(`The \`${t.function.name}\` tool is not marked with \`strict: true\`. Only strict function tools can be auto-parsed`)}}var wd=e=>e?.role==="assistant",tI=e=>e?.role==="tool",Dg,_l,vl,$o,Co,wl,No,jr,Po,bd,kd,Qa,nI,Ic=class{constructor(){Dg.add(this),this.controller=new AbortController,_l.set(this,void 0),vl.set(this,()=>{}),$o.set(this,()=>{}),Co.set(this,void 0),wl.set(this,()=>{}),No.set(this,()=>{}),jr.set(this,{}),Po.set(this,!1),bd.set(this,!1),kd.set(this,!1),Qa.set(this,!1),ge(this,_l,new Promise((t,n)=>{ge(this,vl,t,"f"),ge(this,$o,n,"f")})),ge(this,Co,new Promise((t,n)=>{ge(this,wl,t,"f"),ge(this,No,n,"f")})),T(this,_l,"f").catch(()=>{}),T(this,Co,"f").catch(()=>{})}_run(t){setTimeout(()=>{t().then(()=>{this._emitFinal(),this._emit("end")},T(this,Dg,"m",nI).bind(this))},0)}_connected(){this.ended||(T(this,vl,"f").call(this),this._emit("connect"))}get ended(){return T(this,Po,"f")}get errored(){return T(this,bd,"f")}get aborted(){return T(this,kd,"f")}abort(){this.controller.abort()}on(t,n){return(T(this,jr,"f")[t]||(T(this,jr,"f")[t]=[])).push({listener:n}),this}off(t,n){let r=T(this,jr,"f")[t];if(!r)return this;let s=r.findIndex(a=>a.listener===n);return s>=0&&r.splice(s,1),this}once(t,n){return(T(this,jr,"f")[t]||(T(this,jr,"f")[t]=[])).push({listener:n,once:!0}),this}emitted(t){return new Promise((n,r)=>{ge(this,Qa,!0),t!=="error"&&this.once("error",r),this.once(t,n)})}async done(){ge(this,Qa,!0),await T(this,Co,"f")}_emit(t,...n){if(T(this,Po,"f"))return;t==="end"&&(ge(this,Po,!0),T(this,wl,"f").call(this));let r=T(this,jr,"f")[t];if(r&&(T(this,jr,"f")[t]=r.filter(s=>!s.once),r.forEach(({listener:s})=>s(...n))),t==="abort"){let s=n[0];!T(this,Qa,"f")&&!r?.length&&Promise.reject(s),T(this,$o,"f").call(this,s),T(this,No,"f").call(this,s),this._emit("end");return}if(t==="error"){let s=n[0];!T(this,Qa,"f")&&!r?.length&&Promise.reject(s),T(this,$o,"f").call(this,s),T(this,No,"f").call(this,s),this._emit("end")}}_emitFinal(){}};_l=new WeakMap,vl=new WeakMap,$o=new WeakMap,Co=new WeakMap,wl=new WeakMap,No=new WeakMap,jr=new WeakMap,Po=new WeakMap,bd=new WeakMap,kd=new WeakMap,Qa=new WeakMap,Dg=new WeakSet,nI=function(e){if(ge(this,bd,!0),e instanceof Error&&e.name==="AbortError"&&(e=new Xt),e instanceof Xt)return ge(this,kd,!0),this._emit("abort",e);if(e instanceof le)return this._emit("error",e);if(e instanceof Error){let t=new le(e.message);return t.cause=e,this._emit("error",t)}return this._emit("error",new le(String(e)))};function fF(e){return typeof e.parse=="function"}var Gt,Fg,xd,Bg,Zg,Vg,rI,sI,mF=10,Od=class extends Ic{constructor(){super(...arguments),Gt.add(this),this._chatCompletions=[],this.messages=[]}_addChatCompletion(t){this._chatCompletions.push(t),this._emit("chatCompletion",t);let n=t.choices[0]?.message;return n&&this._addMessage(n),t}_addMessage(t,n=!0){if("content"in t||(t.content=null),this.messages.push(t),n){if(this._emit("message",t),tI(t)&&t.content)this._emit("functionToolCallResult",t.content);else if(wd(t)&&t.tool_calls)for(let r of t.tool_calls)r.type==="function"&&this._emit("functionToolCall",r.function)}}async finalChatCompletion(){await this.done();let t=this._chatCompletions[this._chatCompletions.length-1];if(!t)throw new le("stream ended without producing a ChatCompletion");return t}async finalContent(){return await this.done(),T(this,Gt,"m",Fg).call(this)}async finalMessage(){return await this.done(),T(this,Gt,"m",xd).call(this)}async finalFunctionToolCall(){return await this.done(),T(this,Gt,"m",Bg).call(this)}async finalFunctionToolCallResult(){return await this.done(),T(this,Gt,"m",Zg).call(this)}async totalUsage(){return await this.done(),T(this,Gt,"m",Vg).call(this)}allChatCompletions(){return[...this._chatCompletions]}_emitFinal(){let t=this._chatCompletions[this._chatCompletions.length-1];t&&this._emit("finalChatCompletion",t);let n=T(this,Gt,"m",xd).call(this);n&&this._emit("finalMessage",n);let r=T(this,Gt,"m",Fg).call(this);r&&this._emit("finalContent",r);let s=T(this,Gt,"m",Bg).call(this);s&&this._emit("finalFunctionToolCall",s);let a=T(this,Gt,"m",Zg).call(this);a!=null&&this._emit("finalFunctionToolCallResult",a),this._chatCompletions.some(i=>i.usage)&&this._emit("totalUsage",T(this,Gt,"m",Vg).call(this))}async _createChatCompletion(t,n,r){let s=r?.signal;s&&(s.aborted&&this.controller.abort(),s.addEventListener("abort",()=>this.controller.abort())),T(this,Gt,"m",rI).call(this,n);let a=await t.chat.completions.create({...n,stream:!1},{...r,signal:this.controller.signal});return this._connected(),this._addChatCompletion(L_(a,n))}async _runChatCompletion(t,n,r){for(let s of n.messages)this._addMessage(s,!1);return await this._createChatCompletion(t,n,r)}async _runTools(t,n,r){let s="tool",{tool_choice:a="auto",stream:i,...o}=n,c=typeof a!="string"&&a.type==="function"&&a?.function?.name,{maxChatCompletions:u=mF}=r||{},l=n.tools.map(h=>{if(su(h)){if(!h.$callback)throw new le("Tool given to `.runTools()` that does not have an associated function");return{type:"function",function:{function:h.$callback,name:h.function.name,description:h.function.description||"",parameters:h.function.parameters,parse:h.$parseRaw,strict:!0}}}return h}),d={};for(let h of l)h.type==="function"&&(d[h.function.name||h.function.function.name]=h.function);let p="tools"in n?l.map(h=>h.type==="function"?{type:"function",function:{name:h.function.name||h.function.function.name,parameters:h.function.parameters,description:h.function.description,strict:h.function.strict}}:h):void 0;for(let h of n.messages)this._addMessage(h,!1);for(let h=0;h<u;++h){let f=(await this._createChatCompletion(t,{...o,tool_choice:a,tools:p,messages:[...this.messages]},r)).choices[0]?.message;if(!f)throw new le("missing message in ChatCompletion response");if(!f.tool_calls?.length)return;for(let m of f.tool_calls){if(m.type!=="function")continue;let v=m.id,{name:g,arguments:y}=m.function,k=d[g];if(k){if(c&&c!==g){let I=`Invalid tool_call: ${JSON.stringify(g)}. ${JSON.stringify(c)} requested. Please try again`;this._addMessage({role:s,tool_call_id:v,content:I});continue}}else{let I=`Invalid tool_call: ${JSON.stringify(g)}. Available options are: ${Object.keys(d).map(w=>JSON.stringify(w)).join(", ")}. Please try again`;this._addMessage({role:s,tool_call_id:v,content:I});continue}let x;try{x=fF(k)?await k.parse(y):y}catch(I){let w=I instanceof Error?I.message:String(I);this._addMessage({role:s,tool_call_id:v,content:w});continue}let S=await k.function(x,this),E=T(this,Gt,"m",sI).call(this,S);if(this._addMessage({role:s,tool_call_id:v,content:E}),c)return}}}};Gt=new WeakSet,Fg=function(){return T(this,Gt,"m",xd).call(this).content??null},xd=function(){let e=this.messages.length;for(;e-- >0;){let t=this.messages[e];if(wd(t))return{...t,content:t.content??null,refusal:t.refusal??null}}throw new le("stream ended without producing a ChatCompletionMessage with role=assistant")},Bg=function(){for(let e=this.messages.length-1;e>=0;e--){let t=this.messages[e];if(wd(t)&&t?.tool_calls?.length)return t.tool_calls.filter(n=>n.type==="function").at(-1)?.function}},Zg=function(){for(let e=this.messages.length-1;e>=0;e--){let t=this.messages[e];if(tI(t)&&t.content!=null&&typeof t.content=="string"&&this.messages.some(n=>n.role==="assistant"&&n.tool_calls?.some(r=>r.type==="function"&&r.id===t.tool_call_id)))return t.content}},Vg=function(){let e={completion_tokens:0,prompt_tokens:0,total_tokens:0};for(let{usage:t}of this._chatCompletions)t&&(e.completion_tokens+=t.completion_tokens,e.prompt_tokens+=t.prompt_tokens,e.total_tokens+=t.total_tokens);return e},rI=function(e){if(e.n!=null&&e.n>1)throw new le("ChatCompletion convenience helpers only support n=1 at this time. To use n>1, please use chat.completions.create() directly.")},sI=function(e){return typeof e=="string"?e:e===void 0?"undefined":JSON.stringify(e)};var qg=class e extends Od{static runTools(t,n,r){let s=new e,a={...r,headers:{...r?.headers,"X-Stainless-Helper-Method":"runTools"}};return s._run(()=>s._runTools(t,n,a)),s}_addMessage(t,n=!0){super._addMessage(t,n),wd(t)&&t.content&&this._emit("content",t.content)}},aI=1,iI=2,oI=4,cI=8,uI=16,lI=32,dI=64,pI=128,hI=256,fI=pI|hI,mI=uI|lI|fI|dI,gI=aI|iI|mI,yI=oI|cI,gF=gI|yI,Ot={STR:aI,NUM:iI,ARR:oI,OBJ:cI,NULL:uI,BOOL:lI,NAN:dI,INFINITY:pI,MINUS_INFINITY:hI,INF:fI,SPECIAL:mI,ATOM:gI,COLLECTION:yI,ALL:gF},Hg=class extends Error{},Wg=class extends Error{};function yF(e,t=Ot.ALL){if(typeof e!="string")throw new TypeError(`expecting str, got ${typeof e}`);if(!e.trim())throw new Error(`${e} is empty`);return _F(e.trim(),t)}var _F=(e,t)=>{let n=e.length,r=0,s=p=>{throw new Hg(`${p} at position ${r}`)},a=p=>{throw new Wg(`${p} at position ${r}`)},i=()=>(d(),r>=n&&s("Unexpected end of input"),e[r]==='"'?o():e[r]==="{"?c():e[r]==="["?u():e.substring(r,r+4)==="null"||Ot.NULL&t&&n-r<4&&"null".startsWith(e.substring(r))?(r+=4,null):e.substring(r,r+4)==="true"||Ot.BOOL&t&&n-r<4&&"true".startsWith(e.substring(r))?(r+=4,!0):e.substring(r,r+5)==="false"||Ot.BOOL&t&&n-r<5&&"false".startsWith(e.substring(r))?(r+=5,!1):e.substring(r,r+8)==="Infinity"||Ot.INFINITY&t&&n-r<8&&"Infinity".startsWith(e.substring(r))?(r+=8,1/0):e.substring(r,r+9)==="-Infinity"||Ot.MINUS_INFINITY&t&&1<n-r&&n-r<9&&"-Infinity".startsWith(e.substring(r))?(r+=9,-1/0):e.substring(r,r+3)==="NaN"||Ot.NAN&t&&n-r<3&&"NaN".startsWith(e.substring(r))?(r+=3,NaN):l()),o=()=>{let p=r,h=!1;for(r++;r<n&&(e[r]!=='"'||h&&e[r-1]==="\\");)h=e[r]==="\\"?!h:!1,r++;if(e.charAt(r)=='"')try{return JSON.parse(e.substring(p,++r-Number(h)))}catch(f){a(String(f))}else if(Ot.STR&t)try{return JSON.parse(e.substring(p,r-Number(h))+'"')}catch{return JSON.parse(e.substring(p,e.lastIndexOf("\\"))+'"')}s("Unterminated string literal")},c=()=>{r++,d();let p={};try{for(;e[r]!=="}";){if(d(),r>=n&&Ot.OBJ&t)return p;let h=o();d(),r++;try{let f=i();Object.defineProperty(p,h,{value:f,writable:!0,enumerable:!0,configurable:!0})}catch(f){if(Ot.OBJ&t)return p;throw f}d(),e[r]===","&&r++}}catch{if(Ot.OBJ&t)return p;s("Expected '}' at end of object")}return r++,p},u=()=>{r++;let p=[];try{for(;e[r]!=="]";)p.push(i()),d(),e[r]===","&&r++}catch{if(Ot.ARR&t)return p;s("Expected ']' at end of array")}return r++,p},l=()=>{if(r===0){e==="-"&&Ot.NUM&t&&s("Not sure what '-' is");try{return JSON.parse(e)}catch(h){if(Ot.NUM&t)try{return e[e.length-1]==="."?JSON.parse(e.substring(0,e.lastIndexOf("."))):JSON.parse(e.substring(0,e.lastIndexOf("e")))}catch{}a(String(h))}}let p=r;for(e[r]==="-"&&r++;e[r]&&!",]}".includes(e[r]);)r++;r==n&&!(Ot.NUM&t)&&s("Unterminated number literal");try{return JSON.parse(e.substring(p,r))}catch{e.substring(p,r)==="-"&&Ot.NUM&t&&s("Not sure what '-' is");try{return JSON.parse(e.substring(p,e.lastIndexOf("e")))}catch(h){a(String(h))}}},d=()=>{for(;r<n&&`
285
- \r `.includes(e[r]);)r++};return i()},a1=e=>yF(e,Ot.ALL^Ot.NUM),_t,Pr,Va,es,Zf,Fu,Vf,qf,Hf,Bu,Wf,i1,Sd=class e extends Od{constructor(t){super(),_t.add(this),Pr.set(this,void 0),Va.set(this,void 0),es.set(this,void 0),ge(this,Pr,t),ge(this,Va,[])}get currentChatCompletionSnapshot(){return T(this,es,"f")}static fromReadableStream(t){let n=new e(null);return n._run(()=>n._fromReadableStream(t)),n}static createChatCompletion(t,n,r){let s=new e(n);return s._run(()=>s._runChatCompletion(t,{...n,stream:!0},{...r,headers:{...r?.headers,"X-Stainless-Helper-Method":"stream"}})),s}async _createChatCompletion(t,n,r){super._createChatCompletion;let s=r?.signal;s&&(s.aborted&&this.controller.abort(),s.addEventListener("abort",()=>this.controller.abort())),T(this,_t,"m",Zf).call(this);let a=await t.chat.completions.create({...n,stream:!0},{...r,signal:this.controller.signal});this._connected();for await(let i of a)T(this,_t,"m",Vf).call(this,i);if(a.controller.signal?.aborted)throw new Xt;return this._addChatCompletion(T(this,_t,"m",Bu).call(this))}async _fromReadableStream(t,n){let r=n?.signal;r&&(r.aborted&&this.controller.abort(),r.addEventListener("abort",()=>this.controller.abort())),T(this,_t,"m",Zf).call(this),this._connected();let s=Ea.fromReadableStream(t,this.controller),a;for await(let i of s)a&&a!==i.id&&this._addChatCompletion(T(this,_t,"m",Bu).call(this)),T(this,_t,"m",Vf).call(this,i),a=i.id;if(s.controller.signal?.aborted)throw new Xt;return this._addChatCompletion(T(this,_t,"m",Bu).call(this))}[(Pr=new WeakMap,Va=new WeakMap,es=new WeakMap,_t=new WeakSet,Zf=function(){this.ended||ge(this,es,void 0)},Fu=function(t){let n=T(this,Va,"f")[t.index];return n||(n={content_done:!1,refusal_done:!1,logprobs_content_done:!1,logprobs_refusal_done:!1,done_tool_calls:new Set,current_tool_call_index:null},T(this,Va,"f")[t.index]=n,n)},Vf=function(t){if(this.ended)return;let n=T(this,_t,"m",i1).call(this,t);this._emit("chunk",t,n);for(let r of t.choices){let s=n.choices[r.index];r.delta.content!=null&&s.message?.role==="assistant"&&s.message?.content&&(this._emit("content",r.delta.content,s.message.content),this._emit("content.delta",{delta:r.delta.content,snapshot:s.message.content,parsed:s.message.parsed})),r.delta.refusal!=null&&s.message?.role==="assistant"&&s.message?.refusal&&this._emit("refusal.delta",{delta:r.delta.refusal,snapshot:s.message.refusal}),r.logprobs?.content!=null&&s.message?.role==="assistant"&&this._emit("logprobs.content.delta",{content:r.logprobs?.content,snapshot:s.logprobs?.content??[]}),r.logprobs?.refusal!=null&&s.message?.role==="assistant"&&this._emit("logprobs.refusal.delta",{refusal:r.logprobs?.refusal,snapshot:s.logprobs?.refusal??[]});let a=T(this,_t,"m",Fu).call(this,s);s.finish_reason&&(T(this,_t,"m",Hf).call(this,s),a.current_tool_call_index!=null&&T(this,_t,"m",qf).call(this,s,a.current_tool_call_index));for(let i of r.delta.tool_calls??[])a.current_tool_call_index!==i.index&&(T(this,_t,"m",Hf).call(this,s),a.current_tool_call_index!=null&&T(this,_t,"m",qf).call(this,s,a.current_tool_call_index)),a.current_tool_call_index=i.index;for(let i of r.delta.tool_calls??[]){let o=s.message.tool_calls?.[i.index];o?.type&&(o?.type==="function"?this._emit("tool_calls.function.arguments.delta",{name:o.function?.name,index:i.index,arguments:o.function.arguments,parsed_arguments:o.function.parsed_arguments,arguments_delta:i.function?.arguments??""}):o?.type)}}},qf=function(t,n){if(T(this,_t,"m",Fu).call(this,t).done_tool_calls.has(n))return;let r=t.message.tool_calls?.[n];if(!r)throw new Error("no tool call snapshot");if(!r.type)throw new Error("tool call snapshot missing `type`");if(r.type==="function"){let s=T(this,Pr,"f")?.tools?.find(a=>vd(a)&&a.function.name===r.function.name);this._emit("tool_calls.function.arguments.done",{name:r.function.name,index:n,arguments:r.function.arguments,parsed_arguments:su(s)?s.$parseRaw(r.function.arguments):s?.function.strict?JSON.parse(r.function.arguments):null})}else r.type},Hf=function(t){let n=T(this,_t,"m",Fu).call(this,t);if(t.message.content&&!n.content_done){n.content_done=!0;let r=T(this,_t,"m",Wf).call(this);this._emit("content.done",{content:t.message.content,parsed:r?r.$parseRaw(t.message.content):null})}t.message.refusal&&!n.refusal_done&&(n.refusal_done=!0,this._emit("refusal.done",{refusal:t.message.refusal})),t.logprobs?.content&&!n.logprobs_content_done&&(n.logprobs_content_done=!0,this._emit("logprobs.content.done",{content:t.logprobs.content})),t.logprobs?.refusal&&!n.logprobs_refusal_done&&(n.logprobs_refusal_done=!0,this._emit("logprobs.refusal.done",{refusal:t.logprobs.refusal}))},Bu=function(){if(this.ended)throw new le("stream has ended, this shouldn't happen");let t=T(this,es,"f");if(!t)throw new le("request ended without sending any chunks");return ge(this,es,void 0),ge(this,Va,[]),vF(t,T(this,Pr,"f"))},Wf=function(){let t=T(this,Pr,"f")?.response_format;return M_(t)?t:null},i1=function(t){var n,r,s,a;let i=T(this,es,"f"),{choices:o,...c}=t;i?Object.assign(i,c):i=ge(this,es,{...c,choices:[]});for(let{delta:u,finish_reason:l,index:d,logprobs:p=null,...h}of t.choices){let f=i.choices[d];if(f||(f=i.choices[d]={finish_reason:l,index:d,message:{},logprobs:p,...h}),p)if(!f.logprobs)f.logprobs=Object.assign({},p);else{let{content:S,refusal:E,...I}=p;Object.assign(f.logprobs,I),S&&((n=f.logprobs).content??(n.content=[]),f.logprobs.content.push(...S)),E&&((r=f.logprobs).refusal??(r.refusal=[]),f.logprobs.refusal.push(...E))}if(l&&(f.finish_reason=l,T(this,Pr,"f")&&QT(T(this,Pr,"f")))){if(l==="length")throw new md;if(l==="content_filter")throw new gd}if(Object.assign(f,h),!u)continue;let{content:m,refusal:v,function_call:g,role:y,tool_calls:k,...x}=u;if(Object.assign(f.message,x),v&&(f.message.refusal=(f.message.refusal||"")+v),y&&(f.message.role=y),g&&(f.message.function_call?(g.name&&(f.message.function_call.name=g.name),g.arguments&&((s=f.message.function_call).arguments??(s.arguments=""),f.message.function_call.arguments+=g.arguments)):f.message.function_call=g),m&&(f.message.content=(f.message.content||"")+m,!f.message.refusal&&T(this,_t,"m",Wf).call(this)&&(f.message.parsed=a1(f.message.content))),k){f.message.tool_calls||(f.message.tool_calls=[]);for(let{index:S,id:E,type:I,function:w,...P}of k){let A=(a=f.message.tool_calls)[S]??(a[S]={});Object.assign(A,P),E&&(A.id=E),I&&(A.type=I),w&&(A.function??(A.function={name:w.name??"",arguments:""})),w?.name&&(A.function.name=w.name),w?.arguments&&(A.function.arguments+=w.arguments,pF(T(this,Pr,"f"),A)&&(A.function.parsed_arguments=a1(A.function.arguments)))}}}return i},Symbol.asyncIterator)](){let t=[],n=[],r=!1;return this.on("chunk",s=>{let a=n.shift();a?a.resolve(s):t.push(s)}),this.on("end",()=>{r=!0;for(let s of n)s.resolve(void 0);n.length=0}),this.on("abort",s=>{r=!0;for(let a of n)a.reject(s);n.length=0}),this.on("error",s=>{r=!0;for(let a of n)a.reject(s);n.length=0}),{next:async()=>t.length?{value:t.shift(),done:!1}:r?{value:void 0,done:!0}:new Promise((s,a)=>n.push({resolve:s,reject:a})).then(s=>s?{value:s,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}toReadableStream(){return new Ea(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}};function vF(e,t){let{id:n,choices:r,created:s,model:a,system_fingerprint:i,...o}=e,c={...o,id:n,choices:r.map(({message:u,finish_reason:l,index:d,logprobs:p,...h})=>{if(!l)throw new le(`missing finish_reason for choice ${d}`);let{content:f=null,function_call:m,tool_calls:v,...g}=u,y=u.role;if(!y)throw new le(`missing role for choice ${d}`);if(m){let{arguments:k,name:x}=m;if(k==null)throw new le(`missing function_call.arguments for choice ${d}`);if(!x)throw new le(`missing function_call.name for choice ${d}`);return{...h,message:{content:f,function_call:{arguments:k,name:x},role:y,refusal:u.refusal??null},finish_reason:l,index:d,logprobs:p}}return v?{...h,index:d,finish_reason:l,logprobs:p,message:{...g,role:y,content:f,refusal:u.refusal??null,tool_calls:v.map((k,x)=>{let{function:S,type:E,id:I,...w}=k,{arguments:P,name:A,...Z}=S||{};if(I==null)throw new le(`missing choices[${d}].tool_calls[${x}].id
286
- ${Zu(e)}`);if(E==null)throw new le(`missing choices[${d}].tool_calls[${x}].type
287
- ${Zu(e)}`);if(A==null)throw new le(`missing choices[${d}].tool_calls[${x}].function.name
288
- ${Zu(e)}`);if(P==null)throw new le(`missing choices[${d}].tool_calls[${x}].function.arguments
289
- ${Zu(e)}`);return{...w,id:I,type:E,function:{...Z,name:A,arguments:P}}})}}:{...h,message:{...g,content:f,role:y,refusal:u.refusal??null},finish_reason:l,index:d,logprobs:p}}),created:s,model:a,object:"chat.completion",...i?{system_fingerprint:i}:{}};return uF(c,t)}function Zu(e){return JSON.stringify(e)}var Jg=class e extends Sd{static fromReadableStream(t){let n=new e(null);return n._run(()=>n._fromReadableStream(t)),n}static runTools(t,n,r){let s=new e(n),a={...r,headers:{...r?.headers,"X-Stainless-Helper-Method":"runTools"}};return s._run(()=>s._runTools(t,n,a)),s}},z_=class extends te{constructor(){super(...arguments),this.messages=new YT(this._client)}create(e,t){return this._client.post("/chat/completions",{body:e,...t,stream:e.stream??!1})}retrieve(e,t){return this._client.get(N`/chat/completions/${e}`,t)}update(e,t,n){return this._client.post(N`/chat/completions/${e}`,{body:t,...n})}list(e={},t){return this._client.getAPIList("/chat/completions",at,{query:e,...t})}delete(e,t){return this._client.delete(N`/chat/completions/${e}`,t)}parse(e,t){return hF(e.tools),this._client.chat.completions.create(e,{...t,headers:{...t?.headers,"X-Stainless-Helper-Method":"chat.completions.parse"}})._thenUnwrap(n=>L_(n,e))}runTools(e,t){return e.stream?Jg.runTools(this._client,e,t):qg.runTools(this._client,e,t)}stream(e,t){return Sd.createChatCompletion(this._client,e,t)}};z_.Messages=YT;var Ec=class extends te{constructor(){super(...arguments),this.completions=new z_(this._client)}};Ec.Completions=z_;var _I=Symbol("brand.privateNullableHeaders");function*wF(e){if(!e)return;if(_I in e){let{values:r,nulls:s}=e;yield*r.entries();for(let a of s)yield[a,null];return}let t=!1,n;e instanceof Headers?n=e.entries():Vb(e)?n=e:(t=!0,n=Object.entries(e??{}));for(let r of n){let s=r[0];if(typeof s!="string")throw new TypeError("expected header name to be a string");let a=Vb(r[1])?r[1]:[r[1]],i=!1;for(let o of a)o!==void 0&&(t&&!i&&(i=!0,yield[s,null]),yield[s,o])}}var G=e=>{let t=new Headers,n=new Set;for(let r of e){let s=new Set;for(let[a,i]of wF(r)){let o=a.toLowerCase();s.has(o)||(t.delete(a),s.add(o)),i===null?(t.delete(a),n.add(o)):(t.append(a,i),n.delete(o))}}return{[_I]:!0,values:t,nulls:n}},Td=class extends te{create(t,n){return this._client.post("/audio/speech",{body:t,...n,headers:G([{Accept:"application/octet-stream"},n?.headers]),__binaryResponse:!0})}},Id=class extends te{create(t,n){return this._client.post("/audio/transcriptions",br({body:t,...n,stream:t.stream??!1,__metadata:{model:t.model}},this._client))}},Ed=class extends te{create(t,n){return this._client.post("/audio/translations",br({body:t,...n,__metadata:{model:t.model}},this._client))}},$a=class extends te{constructor(){super(...arguments),this.transcriptions=new Id(this._client),this.translations=new Ed(this._client),this.speech=new Td(this._client)}};$a.Transcriptions=Id;$a.Translations=Ed;$a.Speech=Td;var Ad=class extends te{create(t,n){return this._client.post("/batches",{body:t,...n})}retrieve(t,n){return this._client.get(N`/batches/${t}`,n)}list(t={},n){return this._client.getAPIList("/batches",at,{query:t,...n})}cancel(t,n){return this._client.post(N`/batches/${t}/cancel`,n)}},$d=class extends te{create(t,n){return this._client.post("/assistants",{body:t,...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}retrieve(t,n){return this._client.get(N`/assistants/${t}`,{...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}update(t,n,r){return this._client.post(N`/assistants/${t}`,{body:n,...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}list(t={},n){return this._client.getAPIList("/assistants",at,{query:t,...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}delete(t,n){return this._client.delete(N`/assistants/${t}`,{...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}},vI=class extends te{create(e,t){return this._client.post("/realtime/sessions",{body:e,...t,headers:G([{"OpenAI-Beta":"assistants=v2"},t?.headers])})}},Cd=class extends te{create(t,n){return this._client.post("/realtime/transcription_sessions",{body:t,...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}},Kp=class extends te{constructor(){super(...arguments),this.sessions=new vI(this._client),this.transcriptionSessions=new Cd(this._client)}};Kp.Sessions=vI;Kp.TranscriptionSessions=Cd;var Nd=class extends te{create(t,n){return this._client.post("/chatkit/sessions",{body:t,...n,headers:G([{"OpenAI-Beta":"chatkit_beta=v1"},n?.headers])})}cancel(t,n){return this._client.post(N`/chatkit/sessions/${t}/cancel`,{...n,headers:G([{"OpenAI-Beta":"chatkit_beta=v1"},n?.headers])})}},wI=class extends te{retrieve(e,t){return this._client.get(N`/chatkit/threads/${e}`,{...t,headers:G([{"OpenAI-Beta":"chatkit_beta=v1"},t?.headers])})}list(e={},t){return this._client.getAPIList("/chatkit/threads",Aa,{query:e,...t,headers:G([{"OpenAI-Beta":"chatkit_beta=v1"},t?.headers])})}delete(e,t){return this._client.delete(N`/chatkit/threads/${e}`,{...t,headers:G([{"OpenAI-Beta":"chatkit_beta=v1"},t?.headers])})}listItems(e,t={},n){return this._client.getAPIList(N`/chatkit/threads/${e}/items`,Aa,{query:t,...n,headers:G([{"OpenAI-Beta":"chatkit_beta=v1"},n?.headers])})}},qi=class extends te{constructor(){super(...arguments),this.sessions=new Nd(this._client),this.threads=new wI(this._client)}};qi.Sessions=Nd;qi.Threads=wI;var Pd=class extends te{create(t,n,r){return this._client.post(N`/threads/${t}/messages`,{body:n,...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}retrieve(t,n,r){let{thread_id:s}=n;return this._client.get(N`/threads/${s}/messages/${t}`,{...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}update(t,n,r){let{thread_id:s,...a}=n;return this._client.post(N`/threads/${s}/messages/${t}`,{body:a,...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}list(t,n={},r){return this._client.getAPIList(N`/threads/${t}/messages`,at,{query:n,...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}delete(t,n,r){let{thread_id:s}=n;return this._client.delete(N`/threads/${s}/messages/${t}`,{...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}},jd=class extends te{retrieve(t,n,r){let{thread_id:s,run_id:a,...i}=n;return this._client.get(N`/threads/${s}/runs/${a}/steps/${t}`,{query:i,...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}list(t,n,r){let{thread_id:s,...a}=n;return this._client.getAPIList(N`/threads/${s}/runs/${t}/steps`,at,{query:a,...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}},bF=e=>{if(typeof Buffer<"u"){let t=Buffer.from(e,"base64");return Array.from(new Float32Array(t.buffer,t.byteOffset,t.length/Float32Array.BYTES_PER_ELEMENT))}else{let t=atob(e),n=t.length,r=new Uint8Array(n);for(let s=0;s<n;s++)r[s]=t.charCodeAt(s);return Array.from(new Float32Array(r.buffer))}},qa=e=>{if(typeof globalThis.process<"u")return globalThis.process.env?.[e]?.trim()??void 0;if(typeof globalThis.Deno<"u")return globalThis.Deno.env?.get?.(e)?.trim()},Nt,ta,Gg,gr,bl,Xn,na,li,Xs,Rd,On,kl,xl,Wo,jo,Ro,o1,c1,u1,l1,d1,p1,h1,la=class extends Ic{constructor(){super(...arguments),Nt.add(this),Gg.set(this,[]),gr.set(this,{}),bl.set(this,{}),Xn.set(this,void 0),na.set(this,void 0),li.set(this,void 0),Xs.set(this,void 0),Rd.set(this,void 0),On.set(this,void 0),kl.set(this,void 0),xl.set(this,void 0),Wo.set(this,void 0)}[(Gg=new WeakMap,gr=new WeakMap,bl=new WeakMap,Xn=new WeakMap,na=new WeakMap,li=new WeakMap,Xs=new WeakMap,Rd=new WeakMap,On=new WeakMap,kl=new WeakMap,xl=new WeakMap,Wo=new WeakMap,Nt=new WeakSet,Symbol.asyncIterator)](){let t=[],n=[],r=!1;return this.on("event",s=>{let a=n.shift();a?a.resolve(s):t.push(s)}),this.on("end",()=>{r=!0;for(let s of n)s.resolve(void 0);n.length=0}),this.on("abort",s=>{r=!0;for(let a of n)a.reject(s);n.length=0}),this.on("error",s=>{r=!0;for(let a of n)a.reject(s);n.length=0}),{next:async()=>t.length?{value:t.shift(),done:!1}:r?{value:void 0,done:!0}:new Promise((s,a)=>n.push({resolve:s,reject:a})).then(s=>s?{value:s,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}static fromReadableStream(t){let n=new ta;return n._run(()=>n._fromReadableStream(t)),n}async _fromReadableStream(t,n){let r=n?.signal;r&&(r.aborted&&this.controller.abort(),r.addEventListener("abort",()=>this.controller.abort())),this._connected();let s=Ea.fromReadableStream(t,this.controller);for await(let a of s)T(this,Nt,"m",jo).call(this,a);if(s.controller.signal?.aborted)throw new Xt;return this._addRun(T(this,Nt,"m",Ro).call(this))}toReadableStream(){return new Ea(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}static createToolAssistantStream(t,n,r,s){let a=new ta;return a._run(()=>a._runToolAssistantStream(t,n,r,{...s,headers:{...s?.headers,"X-Stainless-Helper-Method":"stream"}})),a}async _createToolAssistantStream(t,n,r,s){let a=s?.signal;a&&(a.aborted&&this.controller.abort(),a.addEventListener("abort",()=>this.controller.abort()));let i={...r,stream:!0},o=await t.submitToolOutputs(n,i,{...s,signal:this.controller.signal});this._connected();for await(let c of o)T(this,Nt,"m",jo).call(this,c);if(o.controller.signal?.aborted)throw new Xt;return this._addRun(T(this,Nt,"m",Ro).call(this))}static createThreadAssistantStream(t,n,r){let s=new ta;return s._run(()=>s._threadAssistantStream(t,n,{...r,headers:{...r?.headers,"X-Stainless-Helper-Method":"stream"}})),s}static createAssistantStream(t,n,r,s){let a=new ta;return a._run(()=>a._runAssistantStream(t,n,r,{...s,headers:{...s?.headers,"X-Stainless-Helper-Method":"stream"}})),a}currentEvent(){return T(this,kl,"f")}currentRun(){return T(this,xl,"f")}currentMessageSnapshot(){return T(this,Xn,"f")}currentRunStepSnapshot(){return T(this,Wo,"f")}async finalRunSteps(){return await this.done(),Object.values(T(this,gr,"f"))}async finalMessages(){return await this.done(),Object.values(T(this,bl,"f"))}async finalRun(){if(await this.done(),!T(this,na,"f"))throw Error("Final run was not received.");return T(this,na,"f")}async _createThreadAssistantStream(t,n,r){let s=r?.signal;s&&(s.aborted&&this.controller.abort(),s.addEventListener("abort",()=>this.controller.abort()));let a={...n,stream:!0},i=await t.createAndRun(a,{...r,signal:this.controller.signal});this._connected();for await(let o of i)T(this,Nt,"m",jo).call(this,o);if(i.controller.signal?.aborted)throw new Xt;return this._addRun(T(this,Nt,"m",Ro).call(this))}async _createAssistantStream(t,n,r,s){let a=s?.signal;a&&(a.aborted&&this.controller.abort(),a.addEventListener("abort",()=>this.controller.abort()));let i={...r,stream:!0},o=await t.create(n,i,{...s,signal:this.controller.signal});this._connected();for await(let c of o)T(this,Nt,"m",jo).call(this,c);if(o.controller.signal?.aborted)throw new Xt;return this._addRun(T(this,Nt,"m",Ro).call(this))}static accumulateDelta(t,n){for(let[r,s]of Object.entries(n)){if(!t.hasOwnProperty(r)){t[r]=s;continue}let a=t[r];if(a==null){t[r]=s;continue}if(r==="index"||r==="type"){t[r]=s;continue}if(typeof a=="string"&&typeof s=="string")a+=s;else if(typeof a=="number"&&typeof s=="number")a+=s;else if(Df(a)&&Df(s))a=this.accumulateDelta(a,s);else if(Array.isArray(a)&&Array.isArray(s)){if(a.every(i=>typeof i=="string"||typeof i=="number")){a.push(...s);continue}for(let i of s){if(!Df(i))throw new Error(`Expected array delta entry to be an object but got: ${i}`);let o=i.index;if(o==null)throw console.error(i),new Error("Expected array delta entry to have an `index` property");if(typeof o!="number")throw new Error(`Expected array delta entry \`index\` property to be a number but got ${o}`);let c=a[o];c==null?a.push(i):a[o]=this.accumulateDelta(c,i)}continue}else throw Error(`Unhandled record type: ${r}, deltaValue: ${s}, accValue: ${a}`);t[r]=a}return t}_addRun(t){return t}async _threadAssistantStream(t,n,r){return await this._createThreadAssistantStream(n,t,r)}async _runAssistantStream(t,n,r,s){return await this._createAssistantStream(n,t,r,s)}async _runToolAssistantStream(t,n,r,s){return await this._createToolAssistantStream(n,t,r,s)}};ta=la,jo=function(e){if(!this.ended)switch(ge(this,kl,e),T(this,Nt,"m",u1).call(this,e),e.event){case"thread.created":break;case"thread.run.created":case"thread.run.queued":case"thread.run.in_progress":case"thread.run.requires_action":case"thread.run.completed":case"thread.run.incomplete":case"thread.run.failed":case"thread.run.cancelling":case"thread.run.cancelled":case"thread.run.expired":T(this,Nt,"m",h1).call(this,e);break;case"thread.run.step.created":case"thread.run.step.in_progress":case"thread.run.step.delta":case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":T(this,Nt,"m",c1).call(this,e);break;case"thread.message.created":case"thread.message.in_progress":case"thread.message.delta":case"thread.message.completed":case"thread.message.incomplete":T(this,Nt,"m",o1).call(this,e);break;case"error":throw new Error("Encountered an error event in event processing - errors should be processed earlier")}},Ro=function(){if(this.ended)throw new le("stream has ended, this shouldn't happen");if(!T(this,na,"f"))throw Error("Final run has not been received");return T(this,na,"f")},o1=function(e){let[t,n]=T(this,Nt,"m",d1).call(this,e,T(this,Xn,"f"));ge(this,Xn,t),T(this,bl,"f")[t.id]=t;for(let r of n){let s=t.content[r.index];s?.type=="text"&&this._emit("textCreated",s.text)}switch(e.event){case"thread.message.created":this._emit("messageCreated",e.data);break;case"thread.message.in_progress":break;case"thread.message.delta":if(this._emit("messageDelta",e.data.delta,t),e.data.delta.content)for(let r of e.data.delta.content){if(r.type=="text"&&r.text){let s=r.text,a=t.content[r.index];if(a&&a.type=="text")this._emit("textDelta",s,a.text);else throw Error("The snapshot associated with this text delta is not text or missing")}if(r.index!=T(this,li,"f")){if(T(this,Xs,"f"))switch(T(this,Xs,"f").type){case"text":this._emit("textDone",T(this,Xs,"f").text,T(this,Xn,"f"));break;case"image_file":this._emit("imageFileDone",T(this,Xs,"f").image_file,T(this,Xn,"f"));break}ge(this,li,r.index)}ge(this,Xs,t.content[r.index])}break;case"thread.message.completed":case"thread.message.incomplete":if(T(this,li,"f")!==void 0){let r=e.data.content[T(this,li,"f")];if(r)switch(r.type){case"image_file":this._emit("imageFileDone",r.image_file,T(this,Xn,"f"));break;case"text":this._emit("textDone",r.text,T(this,Xn,"f"));break}}T(this,Xn,"f")&&this._emit("messageDone",e.data),ge(this,Xn,void 0)}},c1=function(e){let t=T(this,Nt,"m",l1).call(this,e);switch(ge(this,Wo,t),e.event){case"thread.run.step.created":this._emit("runStepCreated",e.data);break;case"thread.run.step.delta":let n=e.data.delta;if(n.step_details&&n.step_details.type=="tool_calls"&&n.step_details.tool_calls&&t.step_details.type=="tool_calls")for(let r of n.step_details.tool_calls)r.index==T(this,Rd,"f")?this._emit("toolCallDelta",r,t.step_details.tool_calls[r.index]):(T(this,On,"f")&&this._emit("toolCallDone",T(this,On,"f")),ge(this,Rd,r.index),ge(this,On,t.step_details.tool_calls[r.index]),T(this,On,"f")&&this._emit("toolCallCreated",T(this,On,"f")));this._emit("runStepDelta",e.data.delta,t);break;case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":ge(this,Wo,void 0),e.data.step_details.type=="tool_calls"&&T(this,On,"f")&&(this._emit("toolCallDone",T(this,On,"f")),ge(this,On,void 0)),this._emit("runStepDone",e.data,t);break}},u1=function(e){T(this,Gg,"f").push(e),this._emit("event",e)},l1=function(e){switch(e.event){case"thread.run.step.created":return T(this,gr,"f")[e.data.id]=e.data,e.data;case"thread.run.step.delta":let t=T(this,gr,"f")[e.data.id];if(!t)throw Error("Received a RunStepDelta before creation of a snapshot");let n=e.data;if(n.delta){let r=ta.accumulateDelta(t,n.delta);T(this,gr,"f")[e.data.id]=r}return T(this,gr,"f")[e.data.id];case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":case"thread.run.step.in_progress":T(this,gr,"f")[e.data.id]=e.data;break}if(T(this,gr,"f")[e.data.id])return T(this,gr,"f")[e.data.id];throw new Error("No snapshot available")},d1=function(e,t){let n=[];switch(e.event){case"thread.message.created":return[e.data,n];case"thread.message.delta":if(!t)throw Error("Received a delta with no existing snapshot (there should be one from message creation)");let r=e.data;if(r.delta.content)for(let s of r.delta.content)if(s.index in t.content){let a=t.content[s.index];t.content[s.index]=T(this,Nt,"m",p1).call(this,s,a)}else t.content[s.index]=s,n.push(s);return[t,n];case"thread.message.in_progress":case"thread.message.completed":case"thread.message.incomplete":if(t)return[t,n];throw Error("Received thread message event with no existing snapshot")}throw Error("Tried to accumulate a non-message event")},p1=function(e,t){return ta.accumulateDelta(t,e)},h1=function(e){switch(ge(this,xl,e.data),e.event){case"thread.run.created":break;case"thread.run.queued":break;case"thread.run.in_progress":break;case"thread.run.requires_action":case"thread.run.cancelled":case"thread.run.failed":case"thread.run.completed":case"thread.run.expired":case"thread.run.incomplete":ge(this,na,e.data),T(this,On,"f")&&(this._emit("toolCallDone",T(this,On,"f")),ge(this,On,void 0));break}};var U_=class extends te{constructor(){super(...arguments),this.steps=new jd(this._client)}create(e,t,n){let{include:r,...s}=t;return this._client.post(N`/threads/${e}/runs`,{query:{include:r},body:s,...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers]),stream:t.stream??!1,__synthesizeEventData:!0})}retrieve(e,t,n){let{thread_id:r}=t;return this._client.get(N`/threads/${r}/runs/${e}`,{...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}update(e,t,n){let{thread_id:r,...s}=t;return this._client.post(N`/threads/${r}/runs/${e}`,{body:s,...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}list(e,t={},n){return this._client.getAPIList(N`/threads/${e}/runs`,at,{query:t,...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}cancel(e,t,n){let{thread_id:r}=t;return this._client.post(N`/threads/${r}/runs/${e}/cancel`,{...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}async createAndPoll(e,t,n){let r=await this.create(e,t,n);return await this.poll(r.id,{thread_id:e},n)}createAndStream(e,t,n){return la.createAssistantStream(e,this._client.beta.threads.runs,t,n)}async poll(e,t,n){let r=G([n?.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":n?.pollIntervalMs?.toString()??void 0}]);for(;;){let{data:s,response:a}=await this.retrieve(e,t,{...n,headers:{...n?.headers,...r}}).withResponse();switch(s.status){case"queued":case"in_progress":case"cancelling":let i=5e3;if(n?.pollIntervalMs)i=n.pollIntervalMs;else{let o=a.headers.get("openai-poll-after-ms");if(o){let c=parseInt(o);isNaN(c)||(i=c)}}await ru(i);break;case"requires_action":case"incomplete":case"cancelled":case"completed":case"failed":case"expired":return s}}}stream(e,t,n){return la.createAssistantStream(e,this._client.beta.threads.runs,t,n)}submitToolOutputs(e,t,n){let{thread_id:r,...s}=t;return this._client.post(N`/threads/${r}/runs/${e}/submit_tool_outputs`,{body:s,...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers]),stream:t.stream??!1,__synthesizeEventData:!0})}async submitToolOutputsAndPoll(e,t,n){let r=await this.submitToolOutputs(e,t,n);return await this.poll(r.id,t,n)}submitToolOutputsStream(e,t,n){return la.createToolAssistantStream(e,this._client.beta.threads.runs,t,n)}};U_.Steps=jd;var Hi=class extends te{constructor(){super(...arguments),this.runs=new U_(this._client),this.messages=new Pd(this._client)}create(t={},n){return this._client.post("/threads",{body:t,...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}retrieve(t,n){return this._client.get(N`/threads/${t}`,{...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}update(t,n,r){return this._client.post(N`/threads/${t}`,{body:n,...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}delete(t,n){return this._client.delete(N`/threads/${t}`,{...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}createAndRun(t,n){return this._client.post("/threads/runs",{body:t,...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers]),stream:t.stream??!1,__synthesizeEventData:!0})}async createAndRunPoll(t,n){let r=await this.createAndRun(t,n);return await this.runs.poll(r.id,{thread_id:r.thread_id},n)}createAndRunStream(t,n){return la.createThreadAssistantStream(t,this._client.beta.threads,n)}};Hi.Runs=U_;Hi.Messages=Pd;var Cs=class extends te{constructor(){super(...arguments),this.realtime=new Kp(this._client),this.chatkit=new qi(this._client),this.assistants=new $d(this._client),this.threads=new Hi(this._client)}};Cs.Realtime=Kp;Cs.ChatKit=qi;Cs.Assistants=$d;Cs.Threads=Hi;var Md=class extends te{create(t,n){return this._client.post("/completions",{body:t,...n,stream:t.stream??!1})}},bI=class extends te{retrieve(e,t,n){let{container_id:r}=t;return this._client.get(N`/containers/${r}/files/${e}/content`,{...n,headers:G([{Accept:"application/binary"},n?.headers]),__binaryResponse:!0})}},D_=class extends te{constructor(){super(...arguments),this.content=new bI(this._client)}create(e,t,n){return this._client.post(N`/containers/${e}/files`,Gp({body:t,...n},this._client))}retrieve(e,t,n){let{container_id:r}=t;return this._client.get(N`/containers/${r}/files/${e}`,n)}list(e,t={},n){return this._client.getAPIList(N`/containers/${e}/files`,at,{query:t,...n})}delete(e,t,n){let{container_id:r}=t;return this._client.delete(N`/containers/${r}/files/${e}`,{...n,headers:G([{Accept:"*/*"},n?.headers])})}};D_.Content=bI;var Ac=class extends te{constructor(){super(...arguments),this.files=new D_(this._client)}create(t,n){return this._client.post("/containers",{body:t,...n})}retrieve(t,n){return this._client.get(N`/containers/${t}`,n)}list(t={},n){return this._client.getAPIList("/containers",at,{query:t,...n})}delete(t,n){return this._client.delete(N`/containers/${t}`,{...n,headers:G([{Accept:"*/*"},n?.headers])})}};Ac.Files=D_;var Ld=class extends te{create(t,n,r){let{include:s,...a}=n;return this._client.post(N`/conversations/${t}/items`,{query:{include:s},body:a,...r})}retrieve(t,n,r){let{conversation_id:s,...a}=n;return this._client.get(N`/conversations/${s}/items/${t}`,{query:a,...r})}list(t,n={},r){return this._client.getAPIList(N`/conversations/${t}/items`,Aa,{query:n,...r})}delete(t,n,r){let{conversation_id:s}=n;return this._client.delete(N`/conversations/${s}/items/${t}`,r)}},$c=class extends te{constructor(){super(...arguments),this.items=new Ld(this._client)}create(t={},n){return this._client.post("/conversations",{body:t,...n})}retrieve(t,n){return this._client.get(N`/conversations/${t}`,n)}update(t,n,r){return this._client.post(N`/conversations/${t}`,{body:n,...r})}delete(t,n){return this._client.delete(N`/conversations/${t}`,n)}};$c.Items=Ld;var zd=class extends te{create(t,n){let r=!!t.encoding_format,s=r?t.encoding_format:"base64";r&&Ct(this._client).debug("embeddings/user defined encoding_format:",t.encoding_format);let a=this._client.post("/embeddings",{body:{...t,encoding_format:s},...n});return r?a:(Ct(this._client).debug("embeddings/decoding base64 embeddings from base64"),a._thenUnwrap(i=>(i&&i.data&&i.data.forEach(o=>{let c=o.embedding;o.embedding=bF(c)}),i)))}},Ud=class extends te{retrieve(t,n,r){let{eval_id:s,run_id:a}=n;return this._client.get(N`/evals/${s}/runs/${a}/output_items/${t}`,r)}list(t,n,r){let{eval_id:s,...a}=n;return this._client.getAPIList(N`/evals/${s}/runs/${t}/output_items`,at,{query:a,...r})}},Cc=class extends te{constructor(){super(...arguments),this.outputItems=new Ud(this._client)}create(t,n,r){return this._client.post(N`/evals/${t}/runs`,{body:n,...r})}retrieve(t,n,r){let{eval_id:s}=n;return this._client.get(N`/evals/${s}/runs/${t}`,r)}list(t,n={},r){return this._client.getAPIList(N`/evals/${t}/runs`,at,{query:n,...r})}delete(t,n,r){let{eval_id:s}=n;return this._client.delete(N`/evals/${s}/runs/${t}`,r)}cancel(t,n,r){let{eval_id:s}=n;return this._client.post(N`/evals/${s}/runs/${t}`,r)}};Cc.OutputItems=Ud;var Nc=class extends te{constructor(){super(...arguments),this.runs=new Cc(this._client)}create(t,n){return this._client.post("/evals",{body:t,...n})}retrieve(t,n){return this._client.get(N`/evals/${t}`,n)}update(t,n,r){return this._client.post(N`/evals/${t}`,{body:n,...r})}list(t={},n){return this._client.getAPIList("/evals",at,{query:t,...n})}delete(t,n){return this._client.delete(N`/evals/${t}`,n)}};Nc.Runs=Cc;var kI=class extends te{create(e,t){return this._client.post("/files",br({body:e,...t},this._client))}retrieve(e,t){return this._client.get(N`/files/${e}`,t)}list(e={},t){return this._client.getAPIList("/files",at,{query:e,...t})}delete(e,t){return this._client.delete(N`/files/${e}`,t)}content(e,t){return this._client.get(N`/files/${e}/content`,{...t,headers:G([{Accept:"application/binary"},t?.headers]),__binaryResponse:!0})}async waitForProcessing(e,{pollInterval:t=5e3,maxWait:n=1800*1e3}={}){let r=new Set(["processed","error","deleted"]),s=Date.now(),a=await this.retrieve(e);for(;!a.status||!r.has(a.status);)if(await ru(t),a=await this.retrieve(e),Date.now()-s>n)throw new Bi({message:`Giving up on waiting for file ${e} to finish processing after ${n} milliseconds.`});return a}},Dd=class extends te{},xI=class extends te{run(e,t){return this._client.post("/fine_tuning/alpha/graders/run",{body:e,...t})}validate(e,t){return this._client.post("/fine_tuning/alpha/graders/validate",{body:e,...t})}},Pc=class extends te{constructor(){super(...arguments),this.graders=new xI(this._client)}};Pc.Graders=xI;var Fd=class extends te{create(t,n,r){return this._client.getAPIList(N`/fine_tuning/checkpoints/${t}/permissions`,Vi,{body:n,method:"post",...r})}retrieve(t,n={},r){return this._client.get(N`/fine_tuning/checkpoints/${t}/permissions`,{query:n,...r})}list(t,n={},r){return this._client.getAPIList(N`/fine_tuning/checkpoints/${t}/permissions`,Aa,{query:n,...r})}delete(t,n,r){let{fine_tuned_model_checkpoint:s}=n;return this._client.delete(N`/fine_tuning/checkpoints/${s}/permissions/${t}`,r)}},F_=class extends te{constructor(){super(...arguments),this.permissions=new Fd(this._client)}};F_.Permissions=Fd;var Bd=class extends te{list(t,n={},r){return this._client.getAPIList(N`/fine_tuning/jobs/${t}/checkpoints`,at,{query:n,...r})}},jc=class extends te{constructor(){super(...arguments),this.checkpoints=new Bd(this._client)}create(t,n){return this._client.post("/fine_tuning/jobs",{body:t,...n})}retrieve(t,n){return this._client.get(N`/fine_tuning/jobs/${t}`,n)}list(t={},n){return this._client.getAPIList("/fine_tuning/jobs",at,{query:t,...n})}cancel(t,n){return this._client.post(N`/fine_tuning/jobs/${t}/cancel`,n)}listEvents(t,n={},r){return this._client.getAPIList(N`/fine_tuning/jobs/${t}/events`,at,{query:n,...r})}pause(t,n){return this._client.post(N`/fine_tuning/jobs/${t}/pause`,n)}resume(t,n){return this._client.post(N`/fine_tuning/jobs/${t}/resume`,n)}};jc.Checkpoints=Bd;var Ns=class extends te{constructor(){super(...arguments),this.methods=new Dd(this._client),this.jobs=new jc(this._client),this.checkpoints=new F_(this._client),this.alpha=new Pc(this._client)}};Ns.Methods=Dd;Ns.Jobs=jc;Ns.Checkpoints=F_;Ns.Alpha=Pc;var Zd=class extends te{},Rc=class extends te{constructor(){super(...arguments),this.graderModels=new Zd(this._client)}};Rc.GraderModels=Zd;var Vd=class extends te{createVariation(t,n){return this._client.post("/images/variations",br({body:t,...n},this._client))}edit(t,n){return this._client.post("/images/edits",br({body:t,...n,stream:t.stream??!1},this._client))}generate(t,n){return this._client.post("/images/generations",{body:t,...n,stream:t.stream??!1})}},qd=class extends te{retrieve(t,n){return this._client.get(N`/models/${t}`,n)}list(t){return this._client.getAPIList("/models",Vi,t)}delete(t,n){return this._client.delete(N`/models/${t}`,n)}},Hd=class extends te{create(t,n){return this._client.post("/moderations",{body:t,...n})}},Wd=class extends te{accept(t,n,r){return this._client.post(N`/realtime/calls/${t}/accept`,{body:n,...r,headers:G([{Accept:"*/*"},r?.headers])})}hangup(t,n){return this._client.post(N`/realtime/calls/${t}/hangup`,{...n,headers:G([{Accept:"*/*"},n?.headers])})}refer(t,n,r){return this._client.post(N`/realtime/calls/${t}/refer`,{body:n,...r,headers:G([{Accept:"*/*"},r?.headers])})}reject(t,n={},r){return this._client.post(N`/realtime/calls/${t}/reject`,{body:n,...r,headers:G([{Accept:"*/*"},r?.headers])})}},Jd=class extends te{create(t,n){return this._client.post("/realtime/client_secrets",{body:t,...n})}},Wi=class extends te{constructor(){super(...arguments),this.clientSecrets=new Jd(this._client),this.calls=new Wd(this._client)}};Wi.ClientSecrets=Jd;Wi.Calls=Wd;function kF(e,t){return!t||!OF(t)?{...e,output_parsed:null,output:e.output.map(n=>n.type==="function_call"?{...n,parsed_arguments:null}:n.type==="message"?{...n,content:n.content.map(r=>({...r,parsed:null}))}:n)}:OI(e,t)}function OI(e,t){let n=e.output.map(s=>{if(s.type==="function_call")return{...s,parsed_arguments:IF(t,s)};if(s.type==="message"){let a=s.content.map(i=>i.type==="output_text"?{...i,parsed:xF(t,i.text)}:i);return{...s,content:a}}return s}),r=Object.assign({},e,{output:n});return Object.getOwnPropertyDescriptor(e,"output_text")||Kg(r),Object.defineProperty(r,"output_parsed",{enumerable:!0,get(){for(let s of r.output)if(s.type==="message"){for(let a of s.content)if(a.type==="output_text"&&a.parsed!==null)return a.parsed}return null}}),r}function xF(e,t){return e.text?.format?.type!=="json_schema"?null:"$parseRaw"in e.text?.format?(e.text?.format).$parseRaw(t):JSON.parse(t)}function OF(e){return!!M_(e.text?.format)}function SF(e){return e?.$brand==="auto-parseable-tool"}function TF(e,t){return e.find(n=>n.type==="function"&&n.name===t)}function IF(e,t){let n=TF(e.tools??[],t.name);return{...t,...t,parsed_arguments:SF(n)?n.$parseRaw(t.arguments):n?.strict?JSON.parse(t.arguments):null}}function Kg(e){let t=[];for(let n of e.output)if(n.type==="message")for(let r of n.content)r.type==="output_text"&&t.push(r.text);e.output_text=t.join("")}var Ha,Vu,ts,qu,f1,m1,g1,y1,Xg=class e extends Ic{constructor(t){super(),Ha.add(this),Vu.set(this,void 0),ts.set(this,void 0),qu.set(this,void 0),ge(this,Vu,t)}static createResponse(t,n,r){let s=new e(n);return s._run(()=>s._createOrRetrieveResponse(t,n,{...r,headers:{...r?.headers,"X-Stainless-Helper-Method":"stream"}})),s}async _createOrRetrieveResponse(t,n,r){let s=r?.signal;s&&(s.aborted&&this.controller.abort(),s.addEventListener("abort",()=>this.controller.abort())),T(this,Ha,"m",f1).call(this);let a,i=null;"response_id"in n?(a=await t.responses.retrieve(n.response_id,{stream:!0},{...r,signal:this.controller.signal,stream:!0}),i=n.starting_after??null):a=await t.responses.create({...n,stream:!0},{...r,signal:this.controller.signal}),this._connected();for await(let o of a)T(this,Ha,"m",m1).call(this,o,i);if(a.controller.signal?.aborted)throw new Xt;return T(this,Ha,"m",g1).call(this)}[(Vu=new WeakMap,ts=new WeakMap,qu=new WeakMap,Ha=new WeakSet,f1=function(){this.ended||ge(this,ts,void 0)},m1=function(t,n){if(this.ended)return;let r=(a,i)=>{(n==null||i.sequence_number>n)&&this._emit(a,i)},s=T(this,Ha,"m",y1).call(this,t);switch(r("event",t),t.type){case"response.output_text.delta":{let a=s.output[t.output_index];if(!a)throw new le(`missing output at index ${t.output_index}`);if(a.type==="message"){let i=a.content[t.content_index];if(!i)throw new le(`missing content at index ${t.content_index}`);if(i.type!=="output_text")throw new le(`expected content to be 'output_text', got ${i.type}`);r("response.output_text.delta",{...t,snapshot:i.text})}break}case"response.function_call_arguments.delta":{let a=s.output[t.output_index];if(!a)throw new le(`missing output at index ${t.output_index}`);a.type==="function_call"&&r("response.function_call_arguments.delta",{...t,snapshot:a.arguments});break}default:r(t.type,t);break}},g1=function(){if(this.ended)throw new le("stream has ended, this shouldn't happen");let t=T(this,ts,"f");if(!t)throw new le("request ended without sending any events");ge(this,ts,void 0);let n=EF(t,T(this,Vu,"f"));return ge(this,qu,n),n},y1=function(t){let n=T(this,ts,"f");if(!n){if(t.type!=="response.created")throw new le(`When snapshot hasn't been set yet, expected 'response.created' event, got ${t.type}`);return n=ge(this,ts,t.response),n}switch(t.type){case"response.output_item.added":{n.output.push(t.item);break}case"response.content_part.added":{let r=n.output[t.output_index];if(!r)throw new le(`missing output at index ${t.output_index}`);let s=r.type,a=t.part;s==="message"&&a.type!=="reasoning_text"?r.content.push(a):s==="reasoning"&&a.type==="reasoning_text"&&(r.content||(r.content=[]),r.content.push(a));break}case"response.output_text.delta":{let r=n.output[t.output_index];if(!r)throw new le(`missing output at index ${t.output_index}`);if(r.type==="message"){let s=r.content[t.content_index];if(!s)throw new le(`missing content at index ${t.content_index}`);if(s.type!=="output_text")throw new le(`expected content to be 'output_text', got ${s.type}`);s.text+=t.delta}break}case"response.function_call_arguments.delta":{let r=n.output[t.output_index];if(!r)throw new le(`missing output at index ${t.output_index}`);r.type==="function_call"&&(r.arguments+=t.delta);break}case"response.reasoning_text.delta":{let r=n.output[t.output_index];if(!r)throw new le(`missing output at index ${t.output_index}`);if(r.type==="reasoning"){let s=r.content?.[t.content_index];if(!s)throw new le(`missing content at index ${t.content_index}`);if(s.type!=="reasoning_text")throw new le(`expected content to be 'reasoning_text', got ${s.type}`);s.text+=t.delta}break}case"response.completed":{ge(this,ts,t.response);break}}return n},Symbol.asyncIterator)](){let t=[],n=[],r=!1;return this.on("event",s=>{let a=n.shift();a?a.resolve(s):t.push(s)}),this.on("end",()=>{r=!0;for(let s of n)s.resolve(void 0);n.length=0}),this.on("abort",s=>{r=!0;for(let a of n)a.reject(s);n.length=0}),this.on("error",s=>{r=!0;for(let a of n)a.reject(s);n.length=0}),{next:async()=>t.length?{value:t.shift(),done:!1}:r?{value:void 0,done:!0}:new Promise((s,a)=>n.push({resolve:s,reject:a})).then(s=>s?{value:s,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}async finalResponse(){await this.done();let t=T(this,qu,"f");if(!t)throw new le("stream ended without producing a ChatCompletion");return t}};function EF(e,t){return kF(e,t)}var Gd=class extends te{list(t,n={},r){return this._client.getAPIList(N`/responses/${t}/input_items`,at,{query:n,...r})}},Kd=class extends te{count(t={},n){return this._client.post("/responses/input_tokens",{body:t,...n})}},Ji=class extends te{constructor(){super(...arguments),this.inputItems=new Gd(this._client),this.inputTokens=new Kd(this._client)}create(t,n){return this._client.post("/responses",{body:t,...n,stream:t.stream??!1})._thenUnwrap(r=>("object"in r&&r.object==="response"&&Kg(r),r))}retrieve(t,n={},r){return this._client.get(N`/responses/${t}`,{query:n,...r,stream:n?.stream??!1})._thenUnwrap(s=>("object"in s&&s.object==="response"&&Kg(s),s))}delete(t,n){return this._client.delete(N`/responses/${t}`,{...n,headers:G([{Accept:"*/*"},n?.headers])})}parse(t,n){return this._client.responses.create(t,n)._thenUnwrap(r=>OI(r,t))}stream(t,n){return Xg.createResponse(this._client,t,n)}cancel(t,n){return this._client.post(N`/responses/${t}/cancel`,n)}compact(t,n){return this._client.post("/responses/compact",{body:t,...n})}};Ji.InputItems=Gd;Ji.InputTokens=Kd;var SI=class extends te{retrieve(e,t){return this._client.get(N`/skills/${e}/content`,{...t,headers:G([{Accept:"application/binary"},t?.headers]),__binaryResponse:!0})}},Xd=class extends te{retrieve(t,n,r){let{skill_id:s}=n;return this._client.get(N`/skills/${s}/versions/${t}/content`,{...r,headers:G([{Accept:"application/binary"},r?.headers]),__binaryResponse:!0})}},Mc=class extends te{constructor(){super(...arguments),this.content=new Xd(this._client)}create(t,n={},r){return this._client.post(N`/skills/${t}/versions`,Gp({body:n,...r},this._client))}retrieve(t,n,r){let{skill_id:s}=n;return this._client.get(N`/skills/${s}/versions/${t}`,r)}list(t,n={},r){return this._client.getAPIList(N`/skills/${t}/versions`,at,{query:n,...r})}delete(t,n,r){let{skill_id:s}=n;return this._client.delete(N`/skills/${s}/versions/${t}`,r)}};Mc.Content=Xd;var Gi=class extends te{constructor(){super(...arguments),this.content=new SI(this._client),this.versions=new Mc(this._client)}create(t={},n){return this._client.post("/skills",Gp({body:t,...n},this._client))}retrieve(t,n){return this._client.get(N`/skills/${t}`,n)}update(t,n,r){return this._client.post(N`/skills/${t}`,{body:n,...r})}list(t={},n){return this._client.getAPIList("/skills",at,{query:t,...n})}delete(t,n){return this._client.delete(N`/skills/${t}`,n)}};Gi.Content=SI;Gi.Versions=Mc;var Yd=class extends te{create(t,n,r){return this._client.post(N`/uploads/${t}/parts`,br({body:n,...r},this._client))}},Lc=class extends te{constructor(){super(...arguments),this.parts=new Yd(this._client)}create(t,n){return this._client.post("/uploads",{body:t,...n})}cancel(t,n){return this._client.post(N`/uploads/${t}/cancel`,n)}complete(t,n,r){return this._client.post(N`/uploads/${t}/complete`,{body:n,...r})}};Lc.Parts=Yd;var AF=async e=>{let t=await Promise.allSettled(e),n=t.filter(s=>s.status==="rejected");if(n.length){for(let s of n)console.error(s.reason);throw new Error(`${n.length} promise(s) failed - see the above errors`)}let r=[];for(let s of t)s.status==="fulfilled"&&r.push(s.value);return r},Qd=class extends te{create(t,n,r){return this._client.post(N`/vector_stores/${t}/file_batches`,{body:n,...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}retrieve(t,n,r){let{vector_store_id:s}=n;return this._client.get(N`/vector_stores/${s}/file_batches/${t}`,{...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}cancel(t,n,r){let{vector_store_id:s}=n;return this._client.post(N`/vector_stores/${s}/file_batches/${t}/cancel`,{...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}async createAndPoll(t,n,r){let s=await this.create(t,n);return await this.poll(t,s.id,r)}listFiles(t,n,r){let{vector_store_id:s,...a}=n;return this._client.getAPIList(N`/vector_stores/${s}/file_batches/${t}/files`,at,{query:a,...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}async poll(t,n,r){let s=G([r?.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":r?.pollIntervalMs?.toString()??void 0}]);for(;;){let{data:a,response:i}=await this.retrieve(n,{vector_store_id:t},{...r,headers:s}).withResponse();switch(a.status){case"in_progress":let o=5e3;if(r?.pollIntervalMs)o=r.pollIntervalMs;else{let c=i.headers.get("openai-poll-after-ms");if(c){let u=parseInt(c);isNaN(u)||(o=u)}}await ru(o);break;case"failed":case"cancelled":case"completed":return a}}}async uploadAndPoll(t,{files:n,fileIds:r=[]},s){if(n==null||n.length==0)throw new Error("No `files` provided to process. If you've already uploaded files you should use `.createAndPoll()` instead");let a=s?.maxConcurrency??5,i=Math.min(a,n.length),o=this._client,c=n.values(),u=[...r];async function l(p){for(let h of p){let f=await o.files.create({file:h,purpose:"assistants"},s);u.push(f.id)}}let d=Array(i).fill(c).map(l);return await AF(d),await this.createAndPoll(t,{file_ids:u})}},ep=class extends te{create(t,n,r){return this._client.post(N`/vector_stores/${t}/files`,{body:n,...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}retrieve(t,n,r){let{vector_store_id:s}=n;return this._client.get(N`/vector_stores/${s}/files/${t}`,{...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}update(t,n,r){let{vector_store_id:s,...a}=n;return this._client.post(N`/vector_stores/${s}/files/${t}`,{body:a,...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}list(t,n={},r){return this._client.getAPIList(N`/vector_stores/${t}/files`,at,{query:n,...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}delete(t,n,r){let{vector_store_id:s}=n;return this._client.delete(N`/vector_stores/${s}/files/${t}`,{...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}async createAndPoll(t,n,r){let s=await this.create(t,n,r);return await this.poll(t,s.id,r)}async poll(t,n,r){let s=G([r?.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":r?.pollIntervalMs?.toString()??void 0}]);for(;;){let a=await this.retrieve(n,{vector_store_id:t},{...r,headers:s}).withResponse(),i=a.data;switch(i.status){case"in_progress":let o=5e3;if(r?.pollIntervalMs)o=r.pollIntervalMs;else{let c=a.response.headers.get("openai-poll-after-ms");if(c){let u=parseInt(c);isNaN(u)||(o=u)}}await ru(o);break;case"failed":case"completed":return i}}}async upload(t,n,r){let s=await this._client.files.create({file:n,purpose:"assistants"},r);return this.create(t,{file_id:s.id},r)}async uploadAndPoll(t,n,r){let s=await this.upload(t,n,r);return await this.poll(t,s.id,r)}content(t,n,r){let{vector_store_id:s}=n;return this._client.getAPIList(N`/vector_stores/${s}/files/${t}/content`,Vi,{...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}},Ki=class extends te{constructor(){super(...arguments),this.files=new ep(this._client),this.fileBatches=new Qd(this._client)}create(t,n){return this._client.post("/vector_stores",{body:t,...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}retrieve(t,n){return this._client.get(N`/vector_stores/${t}`,{...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}update(t,n,r){return this._client.post(N`/vector_stores/${t}`,{body:n,...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}list(t={},n){return this._client.getAPIList("/vector_stores",at,{query:t,...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}delete(t,n){return this._client.delete(N`/vector_stores/${t}`,{...n,headers:G([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}search(t,n,r){return this._client.getAPIList(N`/vector_stores/${t}/search`,Vi,{body:n,method:"post",...r,headers:G([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}};Ki.Files=ep;Ki.FileBatches=Qd;var tp=class extends te{create(t,n){return this._client.post("/videos",br({body:t,...n},this._client))}retrieve(t,n){return this._client.get(N`/videos/${t}`,n)}list(t={},n){return this._client.getAPIList("/videos",Aa,{query:t,...n})}delete(t,n){return this._client.delete(N`/videos/${t}`,n)}createCharacter(t,n){return this._client.post("/videos/characters",br({body:t,...n},this._client))}downloadContent(t,n={},r){return this._client.get(N`/videos/${t}/content`,{query:n,...r,headers:G([{Accept:"application/binary"},r?.headers]),__binaryResponse:!0})}edit(t,n){return this._client.post("/videos/edits",br({body:t,...n},this._client))}extend(t,n){return this._client.post("/videos/extensions",br({body:t,...n},this._client))}getCharacter(t,n){return this._client.get(N`/videos/characters/${t}`,n)}remix(t,n,r){return this._client.post(N`/videos/${t}/remix`,Gp({body:n,...r},this._client))}},ei,TI,Ol,np=class extends te{constructor(){super(...arguments),ei.add(this)}async unwrap(t,n,r=this._client.webhookSecret,s=300){return await this.verifySignature(t,n,r,s),JSON.parse(t)}async verifySignature(t,n,r=this._client.webhookSecret,s=300){if(typeof crypto>"u"||typeof crypto.subtle.importKey!="function"||typeof crypto.subtle.verify!="function")throw new Error("Webhook signature verification is only supported when the `crypto` global is defined");T(this,ei,"m",TI).call(this,r);let a=G([n]).values,i=T(this,ei,"m",Ol).call(this,a,"webhook-signature"),o=T(this,ei,"m",Ol).call(this,a,"webhook-timestamp"),c=T(this,ei,"m",Ol).call(this,a,"webhook-id"),u=parseInt(o,10);if(isNaN(u))throw new ea("Invalid webhook timestamp format");let l=Math.floor(Date.now()/1e3);if(l-u>s)throw new ea("Webhook timestamp is too old");if(u>l+s)throw new ea("Webhook timestamp is too new");let d=i.split(" ").map(m=>m.startsWith("v1,")?m.substring(3):m),p=r.startsWith("whsec_")?Buffer.from(r.replace("whsec_",""),"base64"):Buffer.from(r,"utf-8"),h=c?`${c}.${o}.${t}`:`${o}.${t}`,f=await crypto.subtle.importKey("raw",p,{name:"HMAC",hash:"SHA-256"},!1,["verify"]);for(let m of d)try{let v=Buffer.from(m,"base64");if(await crypto.subtle.verify("HMAC",f,v,new TextEncoder().encode(h)))return}catch{continue}throw new ea("The given webhook signature does not match the expected signature")}};ei=new WeakSet,TI=function(e){if(typeof e!="string"||e.length===0)throw new Error("The webhook secret must either be set using the env var, OPENAI_WEBHOOK_SECRET, on the client class, OpenAI({ webhookSecret: '123' }), or passed to this function")},Ol=function(e,t){if(!e)throw new Error("Headers are required");let n=e.get(t);if(n==null)throw new Error(`Missing required header: ${t}`);return n};var Yg,B_,Sl,II,be=class{constructor({baseURL:t=qa("OPENAI_BASE_URL"),apiKey:n=qa("OPENAI_API_KEY"),organization:r=qa("OPENAI_ORG_ID")??null,project:s=qa("OPENAI_PROJECT_ID")??null,webhookSecret:a=qa("OPENAI_WEBHOOK_SECRET")??null,...i}={}){if(Yg.add(this),Sl.set(this,void 0),this.completions=new Md(this),this.chat=new Ec(this),this.embeddings=new zd(this),this.files=new kI(this),this.images=new Vd(this),this.audio=new $a(this),this.moderations=new Hd(this),this.models=new qd(this),this.fineTuning=new Ns(this),this.graders=new Rc(this),this.vectorStores=new Ki(this),this.webhooks=new np(this),this.beta=new Cs(this),this.batches=new Ad(this),this.uploads=new Lc(this),this.responses=new Ji(this),this.realtime=new Wi(this),this.conversations=new $c(this),this.evals=new Nc(this),this.containers=new Ac(this),this.skills=new Gi(this),this.videos=new tp(this),n===void 0)throw new le("Missing credentials. Please pass an `apiKey`, or set the `OPENAI_API_KEY` environment variable.");let o={apiKey:n,organization:r,project:s,webhookSecret:a,...i,baseURL:t||"https://api.openai.com/v1"};if(!o.dangerouslyAllowBrowser&&P3())throw new le(`It looks like you're running in a browser-like environment.
290
-
291
- This is disabled by default, as it risks exposing your secret API credentials to attackers.
292
- If you understand the risks and have appropriate mitigations in place,
293
- you can set the \`dangerouslyAllowBrowser\` option to \`true\`, e.g.,
294
-
295
- new OpenAI({ apiKey, dangerouslyAllowBrowser: true });
296
-
297
- https://help.openai.com/en/articles/5112595-best-practices-for-api-key-safety
298
- `);this.baseURL=o.baseURL,this.timeout=o.timeout??B_.DEFAULT_TIMEOUT,this.logger=o.logger??console;let c="warn";this.logLevel=c,this.logLevel=t1(o.logLevel,"ClientOptions.logLevel",this)??t1(qa("OPENAI_LOG"),"process.env['OPENAI_LOG']",this)??c,this.fetchOptions=o.fetchOptions,this.maxRetries=o.maxRetries??2,this.fetch=o.fetch??z3(),ge(this,Sl,D3),this._options=o,this.apiKey=typeof n=="string"?n:"Missing Key",this.organization=r,this.project=s,this.webhookSecret=a}withOptions(t){return new this.constructor({...this._options,baseURL:this.baseURL,maxRetries:this.maxRetries,timeout:this.timeout,logger:this.logger,logLevel:this.logLevel,fetch:this.fetch,fetchOptions:this.fetchOptions,apiKey:this.apiKey,organization:this.organization,project:this.project,webhookSecret:this.webhookSecret,...t})}defaultQuery(){return this._options.defaultQuery}validateHeaders({values:t,nulls:n}){}async authHeaders(t){return G([{Authorization:`Bearer ${this.apiKey}`}])}stringifyQuery(t){return W3(t)}getUserAgent(){return`${this.constructor.name}/JS ${Ya}`}defaultIdempotencyKey(){return`stainless-node-retry-${RT()}`}makeStatusError(t,n,r,s){return Zt.generate(t,n,r,s)}async _callApiKey(){let t=this._options.apiKey;if(typeof t!="function")return!1;let n;try{n=await t()}catch(r){throw r instanceof le?r:new le(`Failed to get token from 'apiKey' function: ${r.message}`,{cause:r})}if(typeof n!="string"||!n)throw new le(`Expected 'apiKey' function argument to return a string but it returned ${n}`);return this.apiKey=n,!0}buildURL(t,n,r){let s=!T(this,Yg,"m",II).call(this)&&r||this.baseURL,a=A3(t)?new URL(t):new URL(s+(s.endsWith("/")&&t.startsWith("/")?t.slice(1):t)),i=this.defaultQuery(),o=Object.fromEntries(a.searchParams);return(!qb(i)||!qb(o))&&(n={...o,...i,...n}),typeof n=="object"&&n&&!Array.isArray(n)&&(a.search=this.stringifyQuery(n)),a.toString()}async prepareOptions(t){await this._callApiKey()}async prepareRequest(t,{url:n,options:r}){}get(t,n){return this.methodRequest("get",t,n)}post(t,n){return this.methodRequest("post",t,n)}patch(t,n){return this.methodRequest("patch",t,n)}put(t,n){return this.methodRequest("put",t,n)}delete(t,n){return this.methodRequest("delete",t,n)}methodRequest(t,n,r){return this.request(Promise.resolve(r).then(s=>({method:t,path:n,...s})))}request(t,n=null){return new _d(this,this.makeRequest(t,n,void 0))}async makeRequest(t,n,r){let s=await t,a=s.maxRetries??this.maxRetries;n==null&&(n=a),await this.prepareOptions(s);let{req:i,url:o,timeout:c}=await this.buildRequest(s,{retryCount:a-n});await this.prepareRequest(i,{url:o,options:s});let u="log_"+(Math.random()*(1<<24)|0).toString(16).padStart(6,"0"),l=r===void 0?"":`, retryOf: ${r}`,d=Date.now();if(Ct(this).debug(`[${u}] sending request`,Ws({retryOfRequestLogID:r,method:s.method,url:o,options:s,headers:i.headers})),s.signal?.aborted)throw new Xt;let p=new AbortController,h=await this.fetchWithTimeout(o,i,c,p).catch(Pg),f=Date.now();if(h instanceof globalThis.Error){let g=`retrying, ${n} attempts remaining`;if(s.signal?.aborted)throw new Xt;let y=Ng(h)||/timed? ?out/i.test(String(h)+("cause"in h?String(h.cause):""));if(n)return Ct(this).info(`[${u}] connection ${y?"timed out":"failed"} - ${g}`),Ct(this).debug(`[${u}] connection ${y?"timed out":"failed"} (${g})`,Ws({retryOfRequestLogID:r,url:o,durationMs:f-d,message:h.message})),this.retryRequest(s,n,r??u);throw Ct(this).info(`[${u}] connection ${y?"timed out":"failed"} - error; no more retries left`),Ct(this).debug(`[${u}] connection ${y?"timed out":"failed"} (error; no more retries left)`,Ws({retryOfRequestLogID:r,url:o,durationMs:f-d,message:h.message})),y?new Bi:new Fi({cause:h})}let m=[...h.headers.entries()].filter(([g])=>g==="x-request-id").map(([g,y])=>", "+g+": "+JSON.stringify(y)).join(""),v=`[${u}${l}${m}] ${i.method} ${o} ${h.ok?"succeeded":"failed"} with status ${h.status} in ${f-d}ms`;if(!h.ok){let g=await this.shouldRetry(h);if(n&&g){let E=`retrying, ${n} attempts remaining`;return await U3(h.body),Ct(this).info(`${v} - ${E}`),Ct(this).debug(`[${u}] response error (${E})`,Ws({retryOfRequestLogID:r,url:h.url,status:h.status,headers:h.headers,durationMs:f-d})),this.retryRequest(s,n,r??u,h.headers)}let y=g?"error; no more retries left":"error; not retryable";Ct(this).info(`${v} - ${y}`);let k=await h.text().catch(E=>Pg(E).message),x=N3(k),S=x?void 0:k;throw Ct(this).debug(`[${u}] response error (${y})`,Ws({retryOfRequestLogID:r,url:h.url,status:h.status,headers:h.headers,message:S,durationMs:Date.now()-d})),this.makeStatusError(h.status,x,S,h.headers)}return Ct(this).info(v),Ct(this).debug(`[${u}] response start`,Ws({retryOfRequestLogID:r,url:h.url,status:h.status,headers:h.headers,durationMs:f-d})),{response:h,options:s,controller:p,requestLogID:u,retryOfRequestLogID:r,startTime:d}}getAPIList(t,n,r){return this.requestAPIList(n,r&&"then"in r?r.then(s=>({method:"get",path:t,...s})):{method:"get",path:t,...r})}requestAPIList(t,n){let r=this.makeRequest(n,null,void 0);return new Mg(this,r,t)}async fetchWithTimeout(t,n,r,s){let{signal:a,method:i,...o}=n||{},c=this._makeAbort(s);a&&a.addEventListener("abort",c,{once:!0});let u=setTimeout(c,r),l=globalThis.ReadableStream&&o.body instanceof globalThis.ReadableStream||typeof o.body=="object"&&o.body!==null&&Symbol.asyncIterator in o.body,d={signal:s.signal,...l?{duplex:"half"}:{},method:"GET",...o};i&&(d.method=i.toUpperCase());try{return await this.fetch.call(void 0,t,d)}finally{clearTimeout(u)}}async shouldRetry(t){let n=t.headers.get("x-should-retry");return n==="true"?!0:n==="false"?!1:t.status===408||t.status===409||t.status===429||t.status>=500}async retryRequest(t,n,r,s){let a,i=s?.get("retry-after-ms");if(i){let c=parseFloat(i);Number.isNaN(c)||(a=c)}let o=s?.get("retry-after");if(o&&!a){let c=parseFloat(o);Number.isNaN(c)?a=Date.parse(o)-Date.now():a=c*1e3}if(a===void 0){let c=t.maxRetries??this.maxRetries;a=this.calculateDefaultRetryTimeoutMillis(n,c)}return await ru(a),this.makeRequest(t,n-1,r)}calculateDefaultRetryTimeoutMillis(t,n){let r=n-t,s=Math.min(.5*Math.pow(2,r),8),a=1-Math.random()*.25;return s*a*1e3}async buildRequest(t,{retryCount:n=0}={}){let r={...t},{method:s,path:a,query:i,defaultBaseURL:o}=r,c=this.buildURL(a,i,o);"timeout"in r&&C3("timeout",r.timeout),r.timeout=r.timeout??this.timeout;let{bodyHeaders:u,body:l}=this.buildBody({options:r}),d=await this.buildHeaders({options:t,method:s,bodyHeaders:u,retryCount:n});return{req:{method:s,headers:d,...r.signal&&{signal:r.signal},...globalThis.ReadableStream&&l instanceof globalThis.ReadableStream&&{duplex:"half"},...l&&{body:l},...this.fetchOptions??{},...r.fetchOptions??{}},url:c,timeout:r.timeout}}async buildHeaders({options:t,method:n,bodyHeaders:r,retryCount:s}){let a={};this.idempotencyHeader&&n!=="get"&&(t.idempotencyKey||(t.idempotencyKey=this.defaultIdempotencyKey()),a[this.idempotencyHeader]=t.idempotencyKey);let i=G([a,{Accept:"application/json","User-Agent":this.getUserAgent(),"X-Stainless-Retry-Count":String(s),...t.timeout?{"X-Stainless-Timeout":String(Math.trunc(t.timeout/1e3))}:{},...L3(),"OpenAI-Organization":this.organization,"OpenAI-Project":this.project},await this.authHeaders(t),this._options.defaultHeaders,r,t.headers]);return this.validateHeaders(i),i.values}_makeAbort(t){return()=>t.abort()}buildBody({options:{body:t,headers:n}}){if(!t)return{bodyHeaders:void 0,body:void 0};let r=G([n]);return ArrayBuffer.isView(t)||t instanceof ArrayBuffer||t instanceof DataView||typeof t=="string"&&r.values.has("content-type")||globalThis.Blob&&t instanceof globalThis.Blob||t instanceof FormData||t instanceof URLSearchParams||globalThis.ReadableStream&&t instanceof globalThis.ReadableStream?{bodyHeaders:void 0,body:t}:typeof t=="object"&&(Symbol.asyncIterator in t||Symbol.iterator in t&&"next"in t&&typeof t.next=="function")?{bodyHeaders:void 0,body:zT(t)}:typeof t=="object"&&r.values.get("content-type")==="application/x-www-form-urlencoded"?{bodyHeaders:{"content-type":"application/x-www-form-urlencoded"},body:this.stringifyQuery(t)}:T(this,Sl,"f").call(this,{body:t,headers:r})}};B_=be,Sl=new WeakMap,Yg=new WeakSet,II=function(){return this.baseURL!=="https://api.openai.com/v1"};be.OpenAI=B_;be.DEFAULT_TIMEOUT=6e5;be.OpenAIError=le;be.APIError=Zt;be.APIConnectionError=Fi;be.APIConnectionTimeoutError=Bi;be.APIUserAbortError=Xt;be.NotFoundError=ld;be.ConflictError=dd;be.RateLimitError=hd;be.BadRequestError=od;be.AuthenticationError=cd;be.InternalServerError=fd;be.PermissionDeniedError=ud;be.UnprocessableEntityError=pd;be.InvalidWebhookSignatureError=ea;be.toFile=aF;be.Completions=Md;be.Chat=Ec;be.Embeddings=zd;be.Files=kI;be.Images=Vd;be.Audio=$a;be.Moderations=Hd;be.Models=qd;be.FineTuning=Ns;be.Graders=Rc;be.VectorStores=Ki;be.Webhooks=np;be.Beta=Cs;be.Batches=Ad;be.Uploads=Lc;be.Responses=Ji;be.Realtime=Wi;be.Conversations=$c;be.Evals=Nc;be.Containers=Ac;be.Skills=Gi;be.Videos=tp;function $F(e){return!!(String(e).includes("context_length_exceeded")||"message"in e&&typeof e.message=="string"&&(e.message.includes("Input tokens exceed the configured limit")||e.message.includes("exceeds the context window")))}function Z_(e){if(!e||typeof e!="object")return e;let t;return e.constructor.name===Bi.name&&"message"in e&&typeof e.message=="string"?(t=new Error(e.message),t.name="TimeoutError"):e.constructor.name===Xt.name&&"message"in e&&typeof e.message=="string"?(t=new Error(e.message),t.name="AbortError"):$F(e)?t=yk.fromError(e):"status"in e&&e.status===400&&"message"in e&&typeof e.message=="string"&&e.message.includes("tool_calls")?t=zu(e,"INVALID_TOOL_RESULTS"):"status"in e&&e.status===401?t=zu(e,"MODEL_AUTHENTICATION"):"status"in e&&e.status===429?t=zu(e,"MODEL_RATE_LIMIT"):"status"in e&&e.status===404?t=zu(e,"MODEL_NOT_FOUND"):t=e,t}var da=e=>e();function au(e){return e?!!(/^o\d/.test(e??"")||e.startsWith("gpt-5")&&!e.startsWith("gpt-5-chat")):!1}function CF(e){return e.role!=="system"&&e.role!=="developer"&&e.role!=="assistant"&&e.role!=="user"&&e.role!=="function"&&e.role!=="tool"&&console.warn(`Unknown message role: ${e.role}`),e.role}function _1(e){return e.metadata?.filename??e.metadata?.name??e.metadata?.title}function rp(e){let t=e.metadata?.filename??e.metadata?.name??e.metadata?.title;if(!t)throw new Error("a filename or name or title is needed via meta-data for OpenAI when working with multimodal blocks");return t}function iu(e){let t=e._getType();switch(t){case"system":return"system";case"ai":return"assistant";case"human":return"user";case"function":return"function";case"tool":return"tool";case"generic":if(!Kr.isInstance(e))throw new Error("Invalid generic chat message");return CF(e);default:throw new Error(`Unknown message type: ${t}`)}}function NF(e){return!!(e.includes("gpt-5.2-pro")||e.includes("gpt-5.4-pro")||e.includes("codex"))}function PF(e){let{azureOpenAIApiDeploymentName:t,azureOpenAIApiInstanceName:n,azureOpenAIApiKey:r,azureOpenAIBasePath:s,baseURL:a,azureADTokenProvider:i,azureOpenAIEndpoint:o}=e;if((r||i)&&s&&t)return`${s}/${t}`;if((r||i)&&o&&t)return`${o}/openai/deployments/${t}`;if(r||i){if(!n)throw new Error("azureOpenAIApiInstanceName is required when using azureOpenAIApiKey");if(!t)throw new Error("azureOpenAIApiDeploymentName is a required parameter when using azureOpenAIApiKey");return`https://${n}.openai.azure.com/openai/deployments/${t}`}return a}function v1(e){return typeof Headers<"u"&&e!==null&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Headers]"}function jF(e){let t=da(()=>{if(v1(e))return e;if(Array.isArray(e))return new Headers(e);if(typeof e=="object"&&e!==null&&"values"in e&&v1(e.values))return e.values;if(typeof e=="object"&&e!==null){let n=Object.entries(e).filter(([,r])=>typeof r=="string").map(([r,s])=>[r,s]);return new Headers(n)}return new Headers});return Object.fromEntries(t.entries())}function RF(){let e=py();return(e==="node"||e==="deno")&&(e=`(${e}/${process.version}; ${process.platform}; ${process.arch})`),e}function MF(e,t=!1,n="1.0.0"){let r=jF(e),s=RF(),a=`langchainjs${t?"-azure":""}-openai`;return{...r,"User-Agent":r["User-Agent"]?`${a}/${n} (${s})${r["User-Agent"]}`:`${a}/${n} (${s})`}}function LF(e,t){let n;return tu(e)?n=AS(e):n=e,t?.strict!==void 0&&(n.function.strict=t.strict),n}function zF(e){return e.anyOf!==void 0&&Array.isArray(e.anyOf)}function UF(e){let t=["namespace functions {",""];for(let n of e)n.description&&t.push(`// ${n.description}`),Object.keys(n.parameters.properties??{}).length>0?(t.push(`type ${n.name} = (_: {`),t.push(EI(n.parameters,0)),t.push("}) => any;")):t.push(`type ${n.name} = () => any;`),t.push("");return t.push("} // namespace functions"),t.join(`
299
- `)}function EI(e,t){let n=[];for(let[r,s]of Object.entries(e.properties??{}))s.description&&t<2&&n.push(`// ${s.description}`),e.required?.includes(r)?n.push(`${r}: ${sp(s,t)},`):n.push(`${r}?: ${sp(s,t)},`);return n.map(r=>" ".repeat(t)+r).join(`
300
- `)}function sp(e,t){if(zF(e))return e.anyOf.map(n=>sp(n,t)).join(" | ");switch(e.type){case"string":return e.enum?e.enum.map(n=>`"${n}"`).join(" | "):"string";case"number":return e.enum?e.enum.map(n=>`${n}`).join(" | "):"number";case"integer":return e.enum?e.enum.map(n=>`${n}`).join(" | "):"number";case"boolean":return"boolean";case"null":return"null";case"object":return["{",EI(e,t+2),"}"].join(`
301
- `);case"array":return e.items?`${sp(e.items,t)}[]`:"any[]";default:return""}}function AI(e){if(e)return e==="any"||e==="required"?"required":e==="auto"?"auto":e==="none"?"none":typeof e=="string"?{type:"function",function:{name:e}}:e}function V_(e){return"type"in e&&e.type!=="function"}function DF(e){return typeof e=="object"&&e!==null&&"extras"in e&&typeof e.extras=="object"&&e.extras!==null&&"providerToolDefinition"in e.extras&&typeof e.extras.providerToolDefinition=="object"&&e.extras.providerToolDefinition!==null}function FF(e){return e!=null&&typeof e=="object"&&"type"in e&&e.type!=="function"}function ap(e){return typeof e=="object"&&e!==null&&"metadata"in e&&typeof e.metadata=="object"&&e.metadata!==null&&"customTool"in e.metadata&&typeof e.metadata.customTool=="object"&&e.metadata.customTool!==null}function $I(e){return"type"in e&&e.type==="custom"&&"custom"in e&&typeof e.custom=="object"&&e.custom!==null}function BF(e){if(e.type==="custom_tool_call")return{...e,type:"tool_call",call_id:e.id,id:e.call_id,name:e.name,isCustomTool:!0,args:{input:e.input}}}function ZF(e){if(e.type==="computer_call")return{...e,type:"tool_call",call_id:e.id,id:e.call_id,name:"computer_use",isComputerTool:!0,args:{action:e.action}}}function VF(e){return typeof e=="object"&&e!==null&&"type"in e&&e.type==="tool_call"&&"isComputerTool"in e&&e.isComputerTool===!0}function qF(e){return typeof e=="object"&&e!==null&&"type"in e&&e.type==="tool_call"&&"isCustomTool"in e&&e.isCustomTool===!0}function HF(e){let t=()=>{if(e.custom.format){if(e.custom.format.type==="grammar")return{type:"grammar",definition:e.custom.format.grammar.definition,syntax:e.custom.format.grammar.syntax};if(e.custom.format.type==="text")return{type:"text"}}};return{type:"custom",name:e.custom.name,description:e.custom.description,format:t()}}function WF(e){let t=()=>{if(e.format){if(e.format.type==="grammar")return{type:"grammar",grammar:{definition:e.format.definition,syntax:e.format.syntax}};if(e.format.type==="text")return{type:"text"}}};return{type:"custom",custom:{name:e.name,description:e.description,format:t()}}}function $(e,t,n){function r(o,c){if(o._zod||Object.defineProperty(o,"_zod",{value:{def:c,constr:i,traits:new Set},enumerable:!1}),o._zod.traits.has(e))return;o._zod.traits.add(e),t(o,c);let u=i.prototype,l=Object.keys(u);for(let d=0;d<l.length;d++){let p=l[d];p in o||(o[p]=u[p].bind(o))}}let s=n?.Parent??Object;class a extends s{}Object.defineProperty(a,"name",{value:e});function i(o){var c;let u=n?.Parent?new a:this;r(u,o),(c=u._zod).deferred??(c.deferred=[]);for(let l of u._zod.deferred)l();return u}return Object.defineProperty(i,"init",{value:r}),Object.defineProperty(i,Symbol.hasInstance,{value:o=>n?.Parent&&o instanceof n.Parent?!0:o?._zod?.traits?.has(e)}),Object.defineProperty(i,"name",{value:e}),i}var _s=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},ip=class extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}},CI={};function Ps(e){return CI}function NI(e){let t=Object.values(e).filter(n=>typeof n=="number");return Object.entries(e).filter(([n,r])=>t.indexOf(+n)===-1).map(([n,r])=>r)}function Qg(e,t){return typeof t=="bigint"?t.toString():t}function q_(e){return{get value(){{let t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function H_(e){return e==null}function W_(e){let t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}function JF(e,t){let n=(e.toString().split(".")[1]||"").length,r=t.toString(),s=(r.split(".")[1]||"").length;if(s===0&&/\d?e-\d?/.test(r)){let c=r.match(/\d?e-(\d?)/);c?.[1]&&(s=Number.parseInt(c[1]))}let a=n>s?n:s,i=Number.parseInt(e.toFixed(a).replace(".","")),o=Number.parseInt(t.toFixed(a).replace(".",""));return i%o/10**a}var w1=Symbol("evaluating");function We(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==w1)return r===void 0&&(r=w1,r=n()),r},set(s){Object.defineProperty(e,t,{value:s})},configurable:!0})}function Ma(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function Us(...e){let t={};for(let n of e){let r=Object.getOwnPropertyDescriptors(n);Object.assign(t,r)}return Object.defineProperties({},t)}function b1(e){return JSON.stringify(e)}function GF(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var PI="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function op(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var KF=q_(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let e=Function;return new e(""),!0}catch{return!1}});function Xi(e){if(op(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!="function")return!0;let n=t.prototype;return!(op(n)===!1||Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)}function jI(e){return Xi(e)?{...e}:Array.isArray(e)?[...e]:e}var XF=new Set(["string","number","symbol"]);function Yi(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Ds(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function de(e){let t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function YF(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var QF={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function e6(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");let s=Us(e._zod.def,{get shape(){let a={};for(let i in t){if(!(i in n.shape))throw new Error(`Unrecognized key: "${i}"`);t[i]&&(a[i]=n.shape[i])}return Ma(this,"shape",a),a},checks:[]});return Ds(e,s)}function t6(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");let s=Us(e._zod.def,{get shape(){let a={...e._zod.def.shape};for(let i in t){if(!(i in n.shape))throw new Error(`Unrecognized key: "${i}"`);t[i]&&delete a[i]}return Ma(this,"shape",a),a},checks:[]});return Ds(e,s)}function n6(e,t){if(!Xi(t))throw new Error("Invalid input to extend: expected a plain object");let n=e._zod.def.checks;if(n&&n.length>0){let s=e._zod.def.shape;for(let a in t)if(Object.getOwnPropertyDescriptor(s,a)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let r=Us(e._zod.def,{get shape(){let s={...e._zod.def.shape,...t};return Ma(this,"shape",s),s}});return Ds(e,r)}function r6(e,t){if(!Xi(t))throw new Error("Invalid input to safeExtend: expected a plain object");let n=Us(e._zod.def,{get shape(){let r={...e._zod.def.shape,...t};return Ma(this,"shape",r),r}});return Ds(e,n)}function s6(e,t){let n=Us(e._zod.def,{get shape(){let r={...e._zod.def.shape,...t._zod.def.shape};return Ma(this,"shape",r),r},get catchall(){return t._zod.def.catchall},checks:[]});return Ds(e,n)}function a6(e,t,n){let r=t._zod.def.checks;if(r&&r.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");let s=Us(t._zod.def,{get shape(){let a=t._zod.def.shape,i={...a};if(n)for(let o in n){if(!(o in a))throw new Error(`Unrecognized key: "${o}"`);n[o]&&(i[o]=e?new e({type:"optional",innerType:a[o]}):a[o])}else for(let o in a)i[o]=e?new e({type:"optional",innerType:a[o]}):a[o];return Ma(this,"shape",i),i},checks:[]});return Ds(t,s)}function i6(e,t,n){let r=Us(t._zod.def,{get shape(){let s=t._zod.def.shape,a={...s};if(n)for(let i in n){if(!(i in a))throw new Error(`Unrecognized key: "${i}"`);n[i]&&(a[i]=new e({type:"nonoptional",innerType:s[i]}))}else for(let i in s)a[i]=new e({type:"nonoptional",innerType:s[i]});return Ma(this,"shape",a),a}});return Ds(t,r)}function di(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function pi(e,t){return t.map(n=>{var r;return(r=n).path??(r.path=[]),n.path.unshift(e),n})}function Hu(e){return typeof e=="string"?e:e?.message}function js(e,t,n){let r={...e,path:e.path??[]};if(!e.message){let s=Hu(e.inst?._zod.def?.error?.(e))??Hu(t?.error?.(e))??Hu(n.customError?.(e))??Hu(n.localeError?.(e))??"Invalid input";r.message=s}return delete r.inst,delete r.continue,t?.reportInput||delete r.input,r}function J_(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function zc(...e){let[t,n,r]=e;return typeof t=="string"?{message:t,code:"custom",input:n,inst:r}:{...t}}var RI=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,Qg,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},MI=$("$ZodError",RI),G_=$("$ZodError",RI,{Parent:Error});function o6(e,t=n=>n.message){let n={},r=[];for(let s of e.issues)s.path.length>0?(n[s.path[0]]=n[s.path[0]]||[],n[s.path[0]].push(t(s))):r.push(t(s));return{formErrors:r,fieldErrors:n}}function c6(e,t=n=>n.message){let n={_errors:[]},r=s=>{for(let a of s.issues)if(a.code==="invalid_union"&&a.errors.length)a.errors.map(i=>r({issues:i}));else if(a.code==="invalid_key")r({issues:a.issues});else if(a.code==="invalid_element")r({issues:a.issues});else if(a.path.length===0)n._errors.push(t(a));else{let i=n,o=0;for(;o<a.path.length;){let c=a.path[o];o===a.path.length-1?(i[c]=i[c]||{_errors:[]},i[c]._errors.push(t(a))):i[c]=i[c]||{_errors:[]},i=i[c],o++}}};return r(e),n}var Xp=e=>(t,n,r,s)=>{let a=r?Object.assign(r,{async:!1}):{async:!1},i=t._zod.run({value:n,issues:[]},a);if(i instanceof Promise)throw new _s;if(i.issues.length){let o=new(s?.Err??e)(i.issues.map(c=>js(c,a,Ps())));throw PI(o,s?.callee),o}return i.value},u6=Xp(G_),K_=e=>async(t,n,r,s)=>{let a=r?Object.assign(r,{async:!0}):{async:!0},i=t._zod.run({value:n,issues:[]},a);if(i instanceof Promise&&(i=await i),i.issues.length){let o=new(s?.Err??e)(i.issues.map(c=>js(c,a,Ps())));throw PI(o,s?.callee),o}return i.value},Yp=e=>(t,n,r)=>{let s=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},s);if(a instanceof Promise)throw new _s;return a.issues.length?{success:!1,error:new(e??MI)(a.issues.map(i=>js(i,s,Ps())))}:{success:!0,data:a.value}},l6=Yp(G_),Qp=e=>async(t,n,r)=>{let s=r?Object.assign(r,{async:!0}):{async:!0},a=t._zod.run({value:n,issues:[]},s);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new e(a.issues.map(i=>js(i,s,Ps())))}:{success:!0,data:a.value}},d6=Qp(G_),p6=e=>(t,n,r)=>{let s=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return Xp(e)(t,n,s)},h6=e=>(t,n,r)=>Xp(e)(t,n,r),f6=e=>async(t,n,r)=>{let s=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return K_(e)(t,n,s)},m6=e=>async(t,n,r)=>K_(e)(t,n,r),g6=e=>(t,n,r)=>{let s=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return Yp(e)(t,n,s)},y6=e=>(t,n,r)=>Yp(e)(t,n,r),_6=e=>async(t,n,r)=>{let s=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return Qp(e)(t,n,s)},v6=e=>async(t,n,r)=>Qp(e)(t,n,r),w6=/^[cC][^\s-]{8,}$/,b6=/^[0-9a-z]+$/,k6=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,x6=/^[0-9a-vA-V]{20}$/,O6=/^[A-Za-z0-9]{27}$/,S6=/^[a-zA-Z0-9_-]{21}$/,T6=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,I6=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,k1=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,E6=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,A6="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function $6(){return new RegExp(A6,"u")}var C6=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,N6=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,P6=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,j6=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,R6=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,LI=/^[A-Za-z0-9_-]*$/,M6=/^\+[1-9]\d{6,14}$/,zI="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",L6=new RegExp(`^${zI}$`);function UI(e){let t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function z6(e){return new RegExp(`^${UI(e)}$`)}function U6(e){let t=UI({precision:e.precision}),n=["Z"];e.local&&n.push(""),e.offset&&n.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let r=`${t}(?:${n.join("|")})`;return new RegExp(`^${zI}T(?:${r})$`)}var D6=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},F6=/^-?\d+$/,DI=/^-?\d+(?:\.\d+)?$/,B6=/^[^A-Z]*$/,Z6=/^[^a-z]*$/,wn=$("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),FI={number:"number",bigint:"bigint",object:"date"},BI=$("$ZodCheckLessThan",(e,t)=>{wn.init(e,t);let n=FI[typeof t.value];e._zod.onattach.push(r=>{let s=r._zod.bag,a=(t.inclusive?s.maximum:s.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<a&&(t.inclusive?s.maximum=t.value:s.exclusiveMaximum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:n,code:"too_big",maximum:typeof t.value=="object"?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),ZI=$("$ZodCheckGreaterThan",(e,t)=>{wn.init(e,t);let n=FI[typeof t.value];e._zod.onattach.push(r=>{let s=r._zod.bag,a=(t.inclusive?s.minimum:s.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>a&&(t.inclusive?s.minimum=t.value:s.exclusiveMinimum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:n,code:"too_small",minimum:typeof t.value=="object"?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),V6=$("$ZodCheckMultipleOf",(e,t)=>{wn.init(e,t),e._zod.onattach.push(n=>{var r;(r=n._zod.bag).multipleOf??(r.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof n.value=="bigint"?n.value%t.value===BigInt(0):JF(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:"not_multiple_of",divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),q6=$("$ZodCheckNumberFormat",(e,t)=>{wn.init(e,t),t.format=t.format||"float64";let n=t.format?.includes("int"),r=n?"int":"number",[s,a]=QF[t.format];e._zod.onattach.push(i=>{let o=i._zod.bag;o.format=t.format,o.minimum=s,o.maximum=a,n&&(o.pattern=F6)}),e._zod.check=i=>{let o=i.value;if(n){if(!Number.isInteger(o)){i.issues.push({expected:r,format:t.format,code:"invalid_type",continue:!1,input:o,inst:e});return}if(!Number.isSafeInteger(o)){o>0?i.issues.push({input:o,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!t.abort}):i.issues.push({input:o,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}o<s&&i.issues.push({origin:"number",input:o,code:"too_small",minimum:s,inclusive:!0,inst:e,continue:!t.abort}),o>a&&i.issues.push({origin:"number",input:o,code:"too_big",maximum:a,inclusive:!0,inst:e,continue:!t.abort})}}),H6=$("$ZodCheckMaxLength",(e,t)=>{var n;wn.init(e,t),(n=e._zod.def).when??(n.when=r=>{let s=r.value;return!H_(s)&&s.length!==void 0}),e._zod.onattach.push(r=>{let s=r._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<s&&(r._zod.bag.maximum=t.maximum)}),e._zod.check=r=>{let s=r.value;if(s.length<=t.maximum)return;let a=J_(s);r.issues.push({origin:a,code:"too_big",maximum:t.maximum,inclusive:!0,input:s,inst:e,continue:!t.abort})}}),W6=$("$ZodCheckMinLength",(e,t)=>{var n;wn.init(e,t),(n=e._zod.def).when??(n.when=r=>{let s=r.value;return!H_(s)&&s.length!==void 0}),e._zod.onattach.push(r=>{let s=r._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>s&&(r._zod.bag.minimum=t.minimum)}),e._zod.check=r=>{let s=r.value;if(s.length>=t.minimum)return;let a=J_(s);r.issues.push({origin:a,code:"too_small",minimum:t.minimum,inclusive:!0,input:s,inst:e,continue:!t.abort})}}),J6=$("$ZodCheckLengthEquals",(e,t)=>{var n;wn.init(e,t),(n=e._zod.def).when??(n.when=r=>{let s=r.value;return!H_(s)&&s.length!==void 0}),e._zod.onattach.push(r=>{let s=r._zod.bag;s.minimum=t.length,s.maximum=t.length,s.length=t.length}),e._zod.check=r=>{let s=r.value,a=s.length;if(a===t.length)return;let i=J_(s),o=a>t.length;r.issues.push({origin:i,...o?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:r.value,inst:e,continue:!t.abort})}}),eh=$("$ZodCheckStringFormat",(e,t)=>{var n,r;wn.init(e,t),e._zod.onattach.push(s=>{let a=s._zod.bag;a.format=t.format,t.pattern&&(a.patterns??(a.patterns=new Set),a.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=s=>{t.pattern.lastIndex=0,!t.pattern.test(s.value)&&s.issues.push({origin:"string",code:"invalid_format",format:t.format,input:s.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),G6=$("$ZodCheckRegex",(e,t)=>{eh.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:"string",code:"invalid_format",format:"regex",input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),K6=$("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=B6),eh.init(e,t)}),X6=$("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Z6),eh.init(e,t)}),Y6=$("$ZodCheckIncludes",(e,t)=>{wn.init(e,t);let n=Yi(t.includes),r=new RegExp(typeof t.position=="number"?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push(s=>{let a=s._zod.bag;a.patterns??(a.patterns=new Set),a.patterns.add(r)}),e._zod.check=s=>{s.value.includes(t.includes,t.position)||s.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:s.value,inst:e,continue:!t.abort})}}),Q6=$("$ZodCheckStartsWith",(e,t)=>{wn.init(e,t);let n=new RegExp(`^${Yi(t.prefix)}.*`);t.pattern??(t.pattern=n),e._zod.onattach.push(r=>{let s=r._zod.bag;s.patterns??(s.patterns=new Set),s.patterns.add(n)}),e._zod.check=r=>{r.value.startsWith(t.prefix)||r.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:r.value,inst:e,continue:!t.abort})}}),eB=$("$ZodCheckEndsWith",(e,t)=>{wn.init(e,t);let n=new RegExp(`.*${Yi(t.suffix)}$`);t.pattern??(t.pattern=n),e._zod.onattach.push(r=>{let s=r._zod.bag;s.patterns??(s.patterns=new Set),s.patterns.add(n)}),e._zod.check=r=>{r.value.endsWith(t.suffix)||r.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:r.value,inst:e,continue:!t.abort})}}),tB=$("$ZodCheckOverwrite",(e,t)=>{wn.init(e,t),e._zod.check=n=>{n.value=t.tx(n.value)}}),ey=class{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}let n=t.split(`
302
- `).filter(a=>a),r=Math.min(...n.map(a=>a.length-a.trimStart().length)),s=n.map(a=>a.slice(r)).map(a=>" ".repeat(this.indent*2)+a);for(let a of s)this.content.push(a)}compile(){let t=Function,n=this?.args,r=[...(this?.content??[""]).map(s=>` ${s}`)];return new t(...n,r.join(`
303
- `))}},nB={major:4,minor:3,patch:6},lt=$("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=nB;let r=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&r.unshift(e);for(let s of r)for(let a of s._zod.onattach)a(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let s=(i,o,c)=>{let u=di(i),l;for(let d of o){if(d._zod.def.when){if(!d._zod.def.when(i))continue}else if(u)continue;let p=i.issues.length,h=d._zod.check(i);if(h instanceof Promise&&c?.async===!1)throw new _s;if(l||h instanceof Promise)l=(l??Promise.resolve()).then(async()=>{await h,i.issues.length!==p&&(u||(u=di(i,p)))});else{if(i.issues.length===p)continue;u||(u=di(i,p))}}return l?l.then(()=>i):i},a=(i,o,c)=>{if(di(i))return i.aborted=!0,i;let u=s(o,r,c);if(u instanceof Promise){if(c.async===!1)throw new _s;return u.then(l=>e._zod.parse(l,c))}return e._zod.parse(u,c)};e._zod.run=(i,o)=>{if(o.skipChecks)return e._zod.parse(i,o);if(o.direction==="backward"){let u=e._zod.parse({value:i.value,issues:[]},{...o,skipChecks:!0});return u instanceof Promise?u.then(l=>a(l,i,o)):a(u,i,o)}let c=e._zod.parse(i,o);if(c instanceof Promise){if(o.async===!1)throw new _s;return c.then(u=>s(u,r,o))}return s(c,r,o)}}We(e,"~standard",()=>({validate:s=>{try{let a=l6(e,s);return a.success?{value:a.data}:{issues:a.error?.issues}}catch{return d6(e,s).then(a=>a.success?{value:a.data}:{issues:a.error?.issues})}},vendor:"zod",version:1}))}),X_=$("$ZodString",(e,t)=>{lt.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??D6(e._zod.bag),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value=="string"||n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}}),it=$("$ZodStringFormat",(e,t)=>{eh.init(e,t),X_.init(e,t)}),rB=$("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=I6),it.init(e,t)}),sB=$("$ZodUUID",(e,t)=>{if(t.version){let n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(n===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=k1(n))}else t.pattern??(t.pattern=k1());it.init(e,t)}),aB=$("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=E6),it.init(e,t)}),iB=$("$ZodURL",(e,t)=>{it.init(e,t),e._zod.check=n=>{try{let r=n.value.trim(),s=new URL(r);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(s.hostname)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(s.protocol.endsWith(":")?s.protocol.slice(0,-1):s.protocol)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})),t.normalize?n.value=s.href:n.value=r;return}catch{n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort})}}}),oB=$("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=$6()),it.init(e,t)}),cB=$("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=S6),it.init(e,t)}),uB=$("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=w6),it.init(e,t)}),lB=$("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=b6),it.init(e,t)}),dB=$("$ZodULID",(e,t)=>{t.pattern??(t.pattern=k6),it.init(e,t)}),pB=$("$ZodXID",(e,t)=>{t.pattern??(t.pattern=x6),it.init(e,t)}),hB=$("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=O6),it.init(e,t)}),fB=$("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=U6(t)),it.init(e,t)}),mB=$("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=L6),it.init(e,t)}),gB=$("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=z6(t)),it.init(e,t)}),yB=$("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=T6),it.init(e,t)}),_B=$("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=C6),it.init(e,t),e._zod.bag.format="ipv4"}),vB=$("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=N6),it.init(e,t),e._zod.bag.format="ipv6",e._zod.check=n=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:"invalid_format",format:"ipv6",input:n.value,inst:e,continue:!t.abort})}}}),wB=$("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=P6),it.init(e,t)}),bB=$("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=j6),it.init(e,t),e._zod.check=n=>{let r=n.value.split("/");try{if(r.length!==2)throw new Error;let[s,a]=r;if(!a)throw new Error;let i=Number(a);if(`${i}`!==a)throw new Error;if(i<0||i>128)throw new Error;new URL(`http://[${s}]`)}catch{n.issues.push({code:"invalid_format",format:"cidrv6",input:n.value,inst:e,continue:!t.abort})}}});function VI(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}var kB=$("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=R6),it.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=n=>{VI(n.value)||n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}});function xB(e){if(!LI.test(e))return!1;let t=e.replace(/[-_]/g,r=>r==="-"?"+":"/"),n=t.padEnd(Math.ceil(t.length/4)*4,"=");return VI(n)}var OB=$("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=LI),it.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=n=>{xB(n.value)||n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),SB=$("$ZodE164",(e,t)=>{t.pattern??(t.pattern=M6),it.init(e,t)});function TB(e,t=null){try{let n=e.split(".");if(n.length!==3)return!1;let[r]=n;if(!r)return!1;let s=JSON.parse(atob(r));return!("typ"in s&&s?.typ!=="JWT"||!s.alg||t&&(!("alg"in s)||s.alg!==t))}catch{return!1}}var IB=$("$ZodJWT",(e,t)=>{it.init(e,t),e._zod.check=n=>{TB(n.value,t.alg)||n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),qI=$("$ZodNumber",(e,t)=>{lt.init(e,t),e._zod.pattern=e._zod.bag.pattern??DI,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}let s=n.value;if(typeof s=="number"&&!Number.isNaN(s)&&Number.isFinite(s))return n;let a=typeof s=="number"?Number.isNaN(s)?"NaN":Number.isFinite(s)?void 0:"Infinity":void 0;return n.issues.push({expected:"number",code:"invalid_type",input:s,inst:e,...a?{received:a}:{}}),n}}),EB=$("$ZodNumberFormat",(e,t)=>{q6.init(e,t),qI.init(e,t)}),AB=$("$ZodUnknown",(e,t)=>{lt.init(e,t),e._zod.parse=n=>n}),$B=$("$ZodNever",(e,t)=>{lt.init(e,t),e._zod.parse=(n,r)=>(n.issues.push({expected:"never",code:"invalid_type",input:n.value,inst:e}),n)});function x1(e,t,n){e.issues.length&&t.issues.push(...pi(n,e.issues)),t.value[n]=e.value}var CB=$("$ZodArray",(e,t)=>{lt.init(e,t),e._zod.parse=(n,r)=>{let s=n.value;if(!Array.isArray(s))return n.issues.push({expected:"array",code:"invalid_type",input:s,inst:e}),n;n.value=Array(s.length);let a=[];for(let i=0;i<s.length;i++){let o=s[i],c=t.element._zod.run({value:o,issues:[]},r);c instanceof Promise?a.push(c.then(u=>x1(u,n,i))):x1(c,n,i)}return a.length?Promise.all(a).then(()=>n):n}});function cp(e,t,n,r,s){if(e.issues.length){if(s&&!(n in r))return;t.issues.push(...pi(n,e.issues))}e.value===void 0?n in r&&(t.value[n]=void 0):t.value[n]=e.value}function HI(e){let t=Object.keys(e.shape);for(let r of t)if(!e.shape?.[r]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${r}": expected a Zod schema`);let n=YF(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function WI(e,t,n,r,s,a){let i=[],o=s.keySet,c=s.catchall._zod,u=c.def.type,l=c.optout==="optional";for(let d in t){if(o.has(d))continue;if(u==="never"){i.push(d);continue}let p=c.run({value:t[d],issues:[]},r);p instanceof Promise?e.push(p.then(h=>cp(h,n,d,t,l))):cp(p,n,d,t,l)}return i.length&&n.issues.push({code:"unrecognized_keys",keys:i,input:t,inst:a}),e.length?Promise.all(e).then(()=>n):n}var NB=$("$ZodObject",(e,t)=>{if(lt.init(e,t),!Object.getOwnPropertyDescriptor(t,"shape")?.get){let i=t.shape;Object.defineProperty(t,"shape",{get:()=>{let o={...i};return Object.defineProperty(t,"shape",{value:o}),o}})}let n=q_(()=>HI(t));We(e._zod,"propValues",()=>{let i=t.shape,o={};for(let c in i){let u=i[c]._zod;if(u.values){o[c]??(o[c]=new Set);for(let l of u.values)o[c].add(l)}}return o});let r=op,s=t.catchall,a;e._zod.parse=(i,o)=>{a??(a=n.value);let c=i.value;if(!r(c))return i.issues.push({expected:"object",code:"invalid_type",input:c,inst:e}),i;i.value={};let u=[],l=a.shape;for(let d of a.keys){let p=l[d],h=p._zod.optout==="optional",f=p._zod.run({value:c[d],issues:[]},o);f instanceof Promise?u.push(f.then(m=>cp(m,i,d,c,h))):cp(f,i,d,c,h)}return s?WI(u,c,i,o,n.value,e):u.length?Promise.all(u).then(()=>i):i}}),PB=$("$ZodObjectJIT",(e,t)=>{NB.init(e,t);let n=e._zod.parse,r=q_(()=>HI(t)),s=d=>{let p=new ey(["shape","payload","ctx"]),h=r.value,f=y=>{let k=b1(y);return`shape[${k}]._zod.run({ value: input[${k}], issues: [] }, ctx)`};p.write("const input = payload.value;");let m=Object.create(null),v=0;for(let y of h.keys)m[y]=`key_${v++}`;p.write("const newResult = {};");for(let y of h.keys){let k=m[y],x=b1(y),S=d[y]?._zod?.optout==="optional";p.write(`const ${k} = ${f(y)};`),S?p.write(`
304
- if (${k}.issues.length) {
305
- if (${x} in input) {
306
- payload.issues = payload.issues.concat(${k}.issues.map(iss => ({
307
- ...iss,
308
- path: iss.path ? [${x}, ...iss.path] : [${x}]
309
- })));
310
- }
311
- }
312
-
313
- if (${k}.value === undefined) {
314
- if (${x} in input) {
315
- newResult[${x}] = undefined;
316
- }
317
- } else {
318
- newResult[${x}] = ${k}.value;
319
- }
320
-
321
- `):p.write(`
322
- if (${k}.issues.length) {
323
- payload.issues = payload.issues.concat(${k}.issues.map(iss => ({
324
- ...iss,
325
- path: iss.path ? [${x}, ...iss.path] : [${x}]
326
- })));
327
- }
328
-
329
- if (${k}.value === undefined) {
330
- if (${x} in input) {
331
- newResult[${x}] = undefined;
332
- }
333
- } else {
334
- newResult[${x}] = ${k}.value;
335
- }
336
-
337
- `)}p.write("payload.value = newResult;"),p.write("return payload;");let g=p.compile();return(y,k)=>g(d,y,k)},a,i=op,o=!CI.jitless,c=o&&KF.value,u=t.catchall,l;e._zod.parse=(d,p)=>{l??(l=r.value);let h=d.value;return i(h)?o&&c&&p?.async===!1&&p.jitless!==!0?(a||(a=s(t.shape)),d=a(d,p),u?WI([],h,d,p,l,e):d):n(d,p):(d.issues.push({expected:"object",code:"invalid_type",input:h,inst:e}),d)}});function O1(e,t,n,r){for(let a of e)if(a.issues.length===0)return t.value=a.value,t;let s=e.filter(a=>!di(a));return s.length===1?(t.value=s[0].value,s[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map(a=>a.issues.map(i=>js(i,r,Ps())))}),t)}var jB=$("$ZodUnion",(e,t)=>{lt.init(e,t),We(e._zod,"optin",()=>t.options.some(s=>s._zod.optin==="optional")?"optional":void 0),We(e._zod,"optout",()=>t.options.some(s=>s._zod.optout==="optional")?"optional":void 0),We(e._zod,"values",()=>{if(t.options.every(s=>s._zod.values))return new Set(t.options.flatMap(s=>Array.from(s._zod.values)))}),We(e._zod,"pattern",()=>{if(t.options.every(s=>s._zod.pattern)){let s=t.options.map(a=>a._zod.pattern);return new RegExp(`^(${s.map(a=>W_(a.source)).join("|")})$`)}});let n=t.options.length===1,r=t.options[0]._zod.run;e._zod.parse=(s,a)=>{if(n)return r(s,a);let i=!1,o=[];for(let c of t.options){let u=c._zod.run({value:s.value,issues:[]},a);if(u instanceof Promise)o.push(u),i=!0;else{if(u.issues.length===0)return u;o.push(u)}}return i?Promise.all(o).then(c=>O1(c,s,e,a)):O1(o,s,e,a)}}),RB=$("$ZodIntersection",(e,t)=>{lt.init(e,t),e._zod.parse=(n,r)=>{let s=n.value,a=t.left._zod.run({value:s,issues:[]},r),i=t.right._zod.run({value:s,issues:[]},r);return a instanceof Promise||i instanceof Promise?Promise.all([a,i]).then(([o,c])=>S1(n,o,c)):S1(n,a,i)}});function ty(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(Xi(e)&&Xi(t)){let n=Object.keys(t),r=Object.keys(e).filter(a=>n.indexOf(a)!==-1),s={...e,...t};for(let a of r){let i=ty(e[a],t[a]);if(!i.valid)return{valid:!1,mergeErrorPath:[a,...i.mergeErrorPath]};s[a]=i.data}return{valid:!0,data:s}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let r=0;r<e.length;r++){let s=e[r],a=t[r],i=ty(s,a);if(!i.valid)return{valid:!1,mergeErrorPath:[r,...i.mergeErrorPath]};n.push(i.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function S1(e,t,n){let r=new Map,s;for(let o of t.issues)if(o.code==="unrecognized_keys"){s??(s=o);for(let c of o.keys)r.has(c)||r.set(c,{}),r.get(c).l=!0}else e.issues.push(o);for(let o of n.issues)if(o.code==="unrecognized_keys")for(let c of o.keys)r.has(c)||r.set(c,{}),r.get(c).r=!0;else e.issues.push(o);let a=[...r].filter(([,o])=>o.l&&o.r).map(([o])=>o);if(a.length&&s&&e.issues.push({...s,keys:a}),di(e))return e;let i=ty(t.value,n.value);if(!i.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(i.mergeErrorPath)}`);return e.value=i.data,e}var MB=$("$ZodRecord",(e,t)=>{lt.init(e,t),e._zod.parse=(n,r)=>{let s=n.value;if(!Xi(s))return n.issues.push({expected:"record",code:"invalid_type",input:s,inst:e}),n;let a=[],i=t.keyType._zod.values;if(i){n.value={};let o=new Set;for(let u of i)if(typeof u=="string"||typeof u=="number"||typeof u=="symbol"){o.add(typeof u=="number"?u.toString():u);let l=t.valueType._zod.run({value:s[u],issues:[]},r);l instanceof Promise?a.push(l.then(d=>{d.issues.length&&n.issues.push(...pi(u,d.issues)),n.value[u]=d.value})):(l.issues.length&&n.issues.push(...pi(u,l.issues)),n.value[u]=l.value)}let c;for(let u in s)o.has(u)||(c=c??[],c.push(u));c&&c.length>0&&n.issues.push({code:"unrecognized_keys",input:s,inst:e,keys:c})}else{n.value={};for(let o of Reflect.ownKeys(s)){if(o==="__proto__")continue;let c=t.keyType._zod.run({value:o,issues:[]},r);if(c instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof o=="string"&&DI.test(o)&&c.issues.length){let l=t.keyType._zod.run({value:Number(o),issues:[]},r);if(l instanceof Promise)throw new Error("Async schemas not supported in object keys currently");l.issues.length===0&&(c=l)}if(c.issues.length){t.mode==="loose"?n.value[o]=s[o]:n.issues.push({code:"invalid_key",origin:"record",issues:c.issues.map(l=>js(l,r,Ps())),input:o,path:[o],inst:e});continue}let u=t.valueType._zod.run({value:s[o],issues:[]},r);u instanceof Promise?a.push(u.then(l=>{l.issues.length&&n.issues.push(...pi(o,l.issues)),n.value[c.value]=l.value})):(u.issues.length&&n.issues.push(...pi(o,u.issues)),n.value[c.value]=u.value)}}return a.length?Promise.all(a).then(()=>n):n}}),LB=$("$ZodEnum",(e,t)=>{lt.init(e,t);let n=NI(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=new RegExp(`^(${n.filter(s=>XF.has(typeof s)).map(s=>typeof s=="string"?Yi(s):s.toString()).join("|")})$`),e._zod.parse=(s,a)=>{let i=s.value;return r.has(i)||s.issues.push({code:"invalid_value",values:n,input:i,inst:e}),s}}),zB=$("$ZodLiteral",(e,t)=>{if(lt.init(e,t),t.values.length===0)throw new Error("Cannot create literal schema with no valid values");let n=new Set(t.values);e._zod.values=n,e._zod.pattern=new RegExp(`^(${t.values.map(r=>typeof r=="string"?Yi(r):r?Yi(r.toString()):String(r)).join("|")})$`),e._zod.parse=(r,s)=>{let a=r.value;return n.has(a)||r.issues.push({code:"invalid_value",values:t.values,input:a,inst:e}),r}}),UB=$("$ZodTransform",(e,t)=>{lt.init(e,t),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new ip(e.constructor.name);let s=t.transform(n.value,n);if(r.async)return(s instanceof Promise?s:Promise.resolve(s)).then(a=>(n.value=a,n));if(s instanceof Promise)throw new _s;return n.value=s,n}});function T1(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}var JI=$("$ZodOptional",(e,t)=>{lt.init(e,t),e._zod.optin="optional",e._zod.optout="optional",We(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),We(e._zod,"pattern",()=>{let n=t.innerType._zod.pattern;return n?new RegExp(`^(${W_(n.source)})?$`):void 0}),e._zod.parse=(n,r)=>{if(t.innerType._zod.optin==="optional"){let s=t.innerType._zod.run(n,r);return s instanceof Promise?s.then(a=>T1(a,n.value)):T1(s,n.value)}return n.value===void 0?n:t.innerType._zod.run(n,r)}}),DB=$("$ZodExactOptional",(e,t)=>{JI.init(e,t),We(e._zod,"values",()=>t.innerType._zod.values),We(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(n,r)=>t.innerType._zod.run(n,r)}),FB=$("$ZodNullable",(e,t)=>{lt.init(e,t),We(e._zod,"optin",()=>t.innerType._zod.optin),We(e._zod,"optout",()=>t.innerType._zod.optout),We(e._zod,"pattern",()=>{let n=t.innerType._zod.pattern;return n?new RegExp(`^(${W_(n.source)}|null)$`):void 0}),We(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(n,r)=>n.value===null?n:t.innerType._zod.run(n,r)}),BB=$("$ZodDefault",(e,t)=>{lt.init(e,t),e._zod.optin="optional",We(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);if(n.value===void 0)return n.value=t.defaultValue,n;let s=t.innerType._zod.run(n,r);return s instanceof Promise?s.then(a=>I1(a,t)):I1(s,t)}});function I1(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var ZB=$("$ZodPrefault",(e,t)=>{lt.init(e,t),e._zod.optin="optional",We(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>(r.direction==="backward"||n.value===void 0&&(n.value=t.defaultValue),t.innerType._zod.run(n,r))}),VB=$("$ZodNonOptional",(e,t)=>{lt.init(e,t),We(e._zod,"values",()=>{let n=t.innerType._zod.values;return n?new Set([...n].filter(r=>r!==void 0)):void 0}),e._zod.parse=(n,r)=>{let s=t.innerType._zod.run(n,r);return s instanceof Promise?s.then(a=>E1(a,e)):E1(s,e)}});function E1(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}var qB=$("$ZodCatch",(e,t)=>{lt.init(e,t),We(e._zod,"optin",()=>t.innerType._zod.optin),We(e._zod,"optout",()=>t.innerType._zod.optout),We(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);let s=t.innerType._zod.run(n,r);return s instanceof Promise?s.then(a=>(n.value=a.value,a.issues.length&&(n.value=t.catchValue({...n,error:{issues:a.issues.map(i=>js(i,r,Ps()))},input:n.value}),n.issues=[]),n)):(n.value=s.value,s.issues.length&&(n.value=t.catchValue({...n,error:{issues:s.issues.map(a=>js(a,r,Ps()))},input:n.value}),n.issues=[]),n)}}),HB=$("$ZodPipe",(e,t)=>{lt.init(e,t),We(e._zod,"values",()=>t.in._zod.values),We(e._zod,"optin",()=>t.in._zod.optin),We(e._zod,"optout",()=>t.out._zod.optout),We(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(n,r)=>{if(r.direction==="backward"){let a=t.out._zod.run(n,r);return a instanceof Promise?a.then(i=>Wu(i,t.in,r)):Wu(a,t.in,r)}let s=t.in._zod.run(n,r);return s instanceof Promise?s.then(a=>Wu(a,t.out,r)):Wu(s,t.out,r)}});function Wu(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}var WB=$("$ZodReadonly",(e,t)=>{lt.init(e,t),We(e._zod,"propValues",()=>t.innerType._zod.propValues),We(e._zod,"values",()=>t.innerType._zod.values),We(e._zod,"optin",()=>t.innerType?._zod?.optin),We(e._zod,"optout",()=>t.innerType?._zod?.optout),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);let s=t.innerType._zod.run(n,r);return s instanceof Promise?s.then(A1):A1(s)}});function A1(e){return e.value=Object.freeze(e.value),e}var JB=$("$ZodCustom",(e,t)=>{wn.init(e,t),lt.init(e,t),e._zod.parse=(n,r)=>n,e._zod.check=n=>{let r=n.value,s=t.fn(r);if(s instanceof Promise)return s.then(a=>$1(a,n,r,e));$1(s,n,r,e)}});function $1(e,t,n,r){if(!e){let s={code:"custom",input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(s.params=r._zod.def.params),t.issues.push(zc(s))}}var C1,ny=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(t,...n){let r=n[0];return this._map.set(t,r),r&&typeof r=="object"&&"id"in r&&this._idmap.set(r.id,t),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(t){let n=this._map.get(t);return n&&typeof n=="object"&&"id"in n&&this._idmap.delete(n.id),this._map.delete(t),this}get(t){let n=t._zod.parent;if(n){let r={...this.get(n)??{}};delete r.id;let s={...r,...this._map.get(t)};return Object.keys(s).length?s:void 0}return this._map.get(t)}has(t){return this._map.has(t)}};function GB(){return new ny}(C1=globalThis).__zod_globalRegistry??(C1.__zod_globalRegistry=GB());var Mo=globalThis.__zod_globalRegistry;function KB(e,t){return new e({type:"string",...de(t)})}function XB(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...de(t)})}function N1(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...de(t)})}function YB(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...de(t)})}function QB(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...de(t)})}function eZ(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...de(t)})}function tZ(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...de(t)})}function nZ(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...de(t)})}function rZ(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...de(t)})}function sZ(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...de(t)})}function aZ(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...de(t)})}function iZ(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...de(t)})}function oZ(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...de(t)})}function cZ(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...de(t)})}function uZ(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...de(t)})}function lZ(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...de(t)})}function dZ(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...de(t)})}function pZ(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...de(t)})}function hZ(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...de(t)})}function fZ(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...de(t)})}function mZ(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...de(t)})}function gZ(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...de(t)})}function yZ(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...de(t)})}function _Z(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...de(t)})}function vZ(e,t){return new e({type:"string",format:"date",check:"string_format",...de(t)})}function wZ(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...de(t)})}function bZ(e,t){return new e({type:"string",format:"duration",check:"string_format",...de(t)})}function kZ(e,t){return new e({type:"number",checks:[],...de(t)})}function xZ(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...de(t)})}function OZ(e){return new e({type:"unknown"})}function SZ(e,t){return new e({type:"never",...de(t)})}function P1(e,t){return new BI({check:"less_than",...de(t),value:e,inclusive:!1})}function Jf(e,t){return new BI({check:"less_than",...de(t),value:e,inclusive:!0})}function j1(e,t){return new ZI({check:"greater_than",...de(t),value:e,inclusive:!1})}function Gf(e,t){return new ZI({check:"greater_than",...de(t),value:e,inclusive:!0})}function R1(e,t){return new V6({check:"multiple_of",...de(t),value:e})}function GI(e,t){return new H6({check:"max_length",...de(t),maximum:e})}function up(e,t){return new W6({check:"min_length",...de(t),minimum:e})}function KI(e,t){return new J6({check:"length_equals",...de(t),length:e})}function TZ(e,t){return new G6({check:"string_format",format:"regex",...de(t),pattern:e})}function IZ(e){return new K6({check:"string_format",format:"lowercase",...de(e)})}function EZ(e){return new X6({check:"string_format",format:"uppercase",...de(e)})}function AZ(e,t){return new Y6({check:"string_format",format:"includes",...de(t),includes:e})}function $Z(e,t){return new Q6({check:"string_format",format:"starts_with",...de(t),prefix:e})}function CZ(e,t){return new eB({check:"string_format",format:"ends_with",...de(t),suffix:e})}function oo(e){return new tB({check:"overwrite",tx:e})}function NZ(e){return oo(t=>t.normalize(e))}function PZ(){return oo(e=>e.trim())}function jZ(){return oo(e=>e.toLowerCase())}function RZ(){return oo(e=>e.toUpperCase())}function MZ(){return oo(e=>GF(e))}function LZ(e,t,n){return new e({type:"array",element:t,...de(n)})}function zZ(e,t,n){return new e({type:"custom",check:"custom",fn:t,...de(n)})}function UZ(e){let t=DZ(n=>(n.addIssue=r=>{if(typeof r=="string")n.issues.push(zc(r,n.value,t._zod.def));else{let s=r;s.fatal&&(s.continue=!1),s.code??(s.code="custom"),s.input??(s.input=n.value),s.inst??(s.inst=t),s.continue??(s.continue=!t._zod.def.abort),n.issues.push(zc(s))}},e(n.value,n)));return t}function DZ(e,t){let n=new wn({check:"custom",...de(t)});return n._zod.check=e,n}function lp(e){let t=e?.target??"draft-2020-12";return t==="draft-4"&&(t="draft-04"),t==="draft-7"&&(t="draft-07"),{processors:e.processors??{},metadataRegistry:e?.metadata??Mo,target:t,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:new Map,cycles:e?.cycles??"ref",reused:e?.reused??"inline",external:e?.external??void 0}}function Qe(e,t,n={path:[],schemaPath:[]}){var r;let s=e._zod.def,a=t.seen.get(e);if(a)return a.count++,n.schemaPath.includes(e)&&(a.cycle=n.path),a.schema;let i={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,i);let o=e._zod.toJSONSchema?.();if(o)i.schema=o;else{let u={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,i.schema,u);else{let d=i.schema,p=t.processors[s.type];if(!p)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${s.type}`);p(e,t,d,u)}let l=e._zod.parent;l&&(i.ref||(i.ref=l),Qe(l,t,u),t.seen.get(l).isParent=!0)}let c=t.metadataRegistry.get(e);return c&&Object.assign(i.schema,c),t.io==="input"&&Jt(e)&&(delete i.schema.examples,delete i.schema.default),t.io==="input"&&i.schema._prefault&&((r=i.schema).default??(r.default=i.schema._prefault)),delete i.schema._prefault,t.seen.get(e).schema}function dp(e,t){let n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");let r=new Map;for(let i of e.seen.entries()){let o=e.metadataRegistry.get(i[0])?.id;if(o){let c=r.get(o);if(c&&c!==i[0])throw new Error(`Duplicate schema id "${o}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(o,i[0])}}let s=i=>{let o=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){let l=e.external.registry.get(i[0])?.id,d=e.external.uri??(h=>h);if(l)return{ref:d(l)};let p=i[1].defId??i[1].schema.id??`schema${e.counter++}`;return i[1].defId=p,{defId:p,ref:`${d("__shared")}#/${o}/${p}`}}if(i[1]===n)return{ref:"#"};let c=`#/${o}/`,u=i[1].schema.id??`__schema${e.counter++}`;return{defId:u,ref:c+u}},a=i=>{if(i[1].schema.$ref)return;let o=i[1],{ref:c,defId:u}=s(i);o.def={...o.schema},u&&(o.defId=u);let l=o.schema;for(let d in l)delete l[d];l.$ref=c};if(e.cycles==="throw")for(let i of e.seen.entries()){let o=i[1];if(o.cycle)throw new Error(`Cycle detected: #/${o.cycle?.join("/")}/<root>
338
-
339
- Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let i of e.seen.entries()){let o=i[1];if(t===i[0]){a(i);continue}if(e.external){let c=e.external.registry.get(i[0])?.id;if(t!==i[0]&&c){a(i);continue}}if(e.metadataRegistry.get(i[0])?.id){a(i);continue}if(o.cycle){a(i);continue}if(o.count>1&&e.reused==="ref"){a(i);continue}}}function pp(e,t){let n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");let r=i=>{let o=e.seen.get(i);if(o.ref===null)return;let c=o.def??o.schema,u={...c},l=o.ref;if(o.ref=null,l){r(l);let p=e.seen.get(l),h=p.schema;if(h.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(c.allOf=c.allOf??[],c.allOf.push(h)):Object.assign(c,h),Object.assign(c,u),i._zod.parent===l)for(let f in c)f==="$ref"||f==="allOf"||f in u||delete c[f];if(h.$ref&&p.def)for(let f in c)f==="$ref"||f==="allOf"||f in p.def&&JSON.stringify(c[f])===JSON.stringify(p.def[f])&&delete c[f]}let d=i._zod.parent;if(d&&d!==l){r(d);let p=e.seen.get(d);if(p?.schema.$ref&&(c.$ref=p.schema.$ref,p.def))for(let h in c)h==="$ref"||h==="allOf"||h in p.def&&JSON.stringify(c[h])===JSON.stringify(p.def[h])&&delete c[h]}e.override({zodSchema:i,jsonSchema:c,path:o.path??[]})};for(let i of[...e.seen.entries()].reverse())r(i[0]);let s={};if(e.target==="draft-2020-12"?s.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?s.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?s.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){let i=e.external.registry.get(t)?.id;if(!i)throw new Error("Schema is missing an `id` property");s.$id=e.external.uri(i)}Object.assign(s,n.def??n.schema);let a=e.external?.defs??{};for(let i of e.seen.entries()){let o=i[1];o.def&&o.defId&&(a[o.defId]=o.def)}e.external||Object.keys(a).length>0&&(e.target==="draft-2020-12"?s.$defs=a:s.definitions=a);try{let i=JSON.parse(JSON.stringify(s));return Object.defineProperty(i,"~standard",{value:{...t["~standard"],jsonSchema:{input:hp(t,"input",e.processors),output:hp(t,"output",e.processors)}},enumerable:!1,writable:!1}),i}catch{throw new Error("Error converting schema to JSON.")}}function Jt(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);let r=e._zod.def;if(r.type==="transform")return!0;if(r.type==="array")return Jt(r.element,n);if(r.type==="set")return Jt(r.valueType,n);if(r.type==="lazy")return Jt(r.getter(),n);if(r.type==="promise"||r.type==="optional"||r.type==="nonoptional"||r.type==="nullable"||r.type==="readonly"||r.type==="default"||r.type==="prefault")return Jt(r.innerType,n);if(r.type==="intersection")return Jt(r.left,n)||Jt(r.right,n);if(r.type==="record"||r.type==="map")return Jt(r.keyType,n)||Jt(r.valueType,n);if(r.type==="pipe")return Jt(r.in,n)||Jt(r.out,n);if(r.type==="object"){for(let s in r.shape)if(Jt(r.shape[s],n))return!0;return!1}if(r.type==="union"){for(let s of r.options)if(Jt(s,n))return!0;return!1}if(r.type==="tuple"){for(let s of r.items)if(Jt(s,n))return!0;return!!(r.rest&&Jt(r.rest,n))}return!1}var FZ=(e,t={})=>n=>{let r=lp({...n,processors:t});return Qe(e,r),dp(r,e),pp(r,e)},hp=(e,t,n={})=>r=>{let{libraryOptions:s,target:a}=r??{},i=lp({...s??{},target:a,io:t,processors:n});return Qe(e,i),dp(i,e),pp(i,e)},BZ={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},XI=(e,t,n,r)=>{let s=n;s.type="string";let{minimum:a,maximum:i,format:o,patterns:c,contentEncoding:u}=e._zod.bag;if(typeof a=="number"&&(s.minLength=a),typeof i=="number"&&(s.maxLength=i),o&&(s.format=BZ[o]??o,s.format===""&&delete s.format,o==="time"&&delete s.format),u&&(s.contentEncoding=u),c&&c.size>0){let l=[...c];l.length===1?s.pattern=l[0].source:l.length>1&&(s.allOf=[...l.map(d=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:d.source}))])}},YI=(e,t,n,r)=>{let s=n,{minimum:a,maximum:i,format:o,multipleOf:c,exclusiveMaximum:u,exclusiveMinimum:l}=e._zod.bag;typeof o=="string"&&o.includes("int")?s.type="integer":s.type="number",typeof l=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(s.minimum=l,s.exclusiveMinimum=!0):s.exclusiveMinimum=l),typeof a=="number"&&(s.minimum=a,typeof l=="number"&&t.target!=="draft-04"&&(l>=a?delete s.minimum:delete s.exclusiveMinimum)),typeof u=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(s.maximum=u,s.exclusiveMaximum=!0):s.exclusiveMaximum=u),typeof i=="number"&&(s.maximum=i,typeof u=="number"&&t.target!=="draft-04"&&(u<=i?delete s.maximum:delete s.exclusiveMaximum)),typeof c=="number"&&(s.multipleOf=c)},ZZ=(e,t,n,r)=>{n.type="boolean"},VZ=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema")},qZ=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema")},HZ=(e,t,n,r)=>{t.target==="openapi-3.0"?(n.type="string",n.nullable=!0,n.enum=[null]):n.type="null"},WZ=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema")},JZ=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema")},QI=(e,t,n,r)=>{n.not={}},GZ=(e,t,n,r)=>{},eE=(e,t,n,r)=>{},KZ=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema")},tE=(e,t,n,r)=>{let s=e._zod.def,a=NI(s.entries);a.every(i=>typeof i=="number")&&(n.type="number"),a.every(i=>typeof i=="string")&&(n.type="string"),n.enum=a},nE=(e,t,n,r)=>{let s=e._zod.def,a=[];for(let i of s.values)if(i===void 0){if(t.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof i=="bigint"){if(t.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");a.push(Number(i))}else a.push(i);if(a.length!==0)if(a.length===1){let i=a[0];n.type=i===null?"null":typeof i,t.target==="draft-04"||t.target==="openapi-3.0"?n.enum=[i]:n.const=i}else a.every(i=>typeof i=="number")&&(n.type="number"),a.every(i=>typeof i=="string")&&(n.type="string"),a.every(i=>typeof i=="boolean")&&(n.type="boolean"),a.every(i=>i===null)&&(n.type="null"),n.enum=a},XZ=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema")},YZ=(e,t,n,r)=>{let s=n,a=e._zod.pattern;if(!a)throw new Error("Pattern not found in template literal");s.type="string",s.pattern=a.source},QZ=(e,t,n,r)=>{let s=n,a={type:"string",format:"binary",contentEncoding:"binary"},{minimum:i,maximum:o,mime:c}=e._zod.bag;i!==void 0&&(a.minLength=i),o!==void 0&&(a.maxLength=o),c?c.length===1?(a.contentMediaType=c[0],Object.assign(s,a)):(Object.assign(s,a),s.anyOf=c.map(u=>({contentMediaType:u}))):Object.assign(s,a)},e8=(e,t,n,r)=>{n.type="boolean"},rE=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},t8=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Function types cannot be represented in JSON Schema")},sE=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},n8=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema")},r8=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema")},aE=(e,t,n,r)=>{let s=n,a=e._zod.def,{minimum:i,maximum:o}=e._zod.bag;typeof i=="number"&&(s.minItems=i),typeof o=="number"&&(s.maxItems=o),s.type="array",s.items=Qe(a.element,t,{...r,path:[...r.path,"items"]})},iE=(e,t,n,r)=>{let s=n,a=e._zod.def;s.type="object",s.properties={};let i=a.shape;for(let u in i)s.properties[u]=Qe(i[u],t,{...r,path:[...r.path,"properties",u]});let o=new Set(Object.keys(i)),c=new Set([...o].filter(u=>{let l=a.shape[u]._zod;return t.io==="input"?l.optin===void 0:l.optout===void 0}));c.size>0&&(s.required=Array.from(c)),a.catchall?._zod.def.type==="never"?s.additionalProperties=!1:a.catchall?a.catchall&&(s.additionalProperties=Qe(a.catchall,t,{...r,path:[...r.path,"additionalProperties"]})):t.io==="output"&&(s.additionalProperties=!1)},oE=(e,t,n,r)=>{let s=e._zod.def,a=s.inclusive===!1,i=s.options.map((o,c)=>Qe(o,t,{...r,path:[...r.path,a?"oneOf":"anyOf",c]}));a?n.oneOf=i:n.anyOf=i},cE=(e,t,n,r)=>{let s=e._zod.def,a=Qe(s.left,t,{...r,path:[...r.path,"allOf",0]}),i=Qe(s.right,t,{...r,path:[...r.path,"allOf",1]}),o=u=>"allOf"in u&&Object.keys(u).length===1,c=[...o(a)?a.allOf:[a],...o(i)?i.allOf:[i]];n.allOf=c},s8=(e,t,n,r)=>{let s=n,a=e._zod.def;s.type="array";let i=t.target==="draft-2020-12"?"prefixItems":"items",o=t.target==="draft-2020-12"||t.target==="openapi-3.0"?"items":"additionalItems",c=a.items.map((p,h)=>Qe(p,t,{...r,path:[...r.path,i,h]})),u=a.rest?Qe(a.rest,t,{...r,path:[...r.path,o,...t.target==="openapi-3.0"?[a.items.length]:[]]}):null;t.target==="draft-2020-12"?(s.prefixItems=c,u&&(s.items=u)):t.target==="openapi-3.0"?(s.items={anyOf:c},u&&s.items.anyOf.push(u),s.minItems=c.length,u||(s.maxItems=c.length)):(s.items=c,u&&(s.additionalItems=u));let{minimum:l,maximum:d}=e._zod.bag;typeof l=="number"&&(s.minItems=l),typeof d=="number"&&(s.maxItems=d)},uE=(e,t,n,r)=>{let s=n,a=e._zod.def;s.type="object";let i=a.keyType,o=i._zod.bag?.patterns;if(a.mode==="loose"&&o&&o.size>0){let u=Qe(a.valueType,t,{...r,path:[...r.path,"patternProperties","*"]});s.patternProperties={};for(let l of o)s.patternProperties[l.source]=u}else(t.target==="draft-07"||t.target==="draft-2020-12")&&(s.propertyNames=Qe(a.keyType,t,{...r,path:[...r.path,"propertyNames"]})),s.additionalProperties=Qe(a.valueType,t,{...r,path:[...r.path,"additionalProperties"]});let c=i._zod.values;if(c){let u=[...c].filter(l=>typeof l=="string"||typeof l=="number");u.length>0&&(s.required=u)}},lE=(e,t,n,r)=>{let s=e._zod.def,a=Qe(s.innerType,t,r),i=t.seen.get(e);t.target==="openapi-3.0"?(i.ref=s.innerType,n.nullable=!0):n.anyOf=[a,{type:"null"}]},dE=(e,t,n,r)=>{let s=e._zod.def;Qe(s.innerType,t,r);let a=t.seen.get(e);a.ref=s.innerType},pE=(e,t,n,r)=>{let s=e._zod.def;Qe(s.innerType,t,r);let a=t.seen.get(e);a.ref=s.innerType,n.default=JSON.parse(JSON.stringify(s.defaultValue))},hE=(e,t,n,r)=>{let s=e._zod.def;Qe(s.innerType,t,r);let a=t.seen.get(e);a.ref=s.innerType,t.io==="input"&&(n._prefault=JSON.parse(JSON.stringify(s.defaultValue)))},fE=(e,t,n,r)=>{let s=e._zod.def;Qe(s.innerType,t,r);let a=t.seen.get(e);a.ref=s.innerType;let i;try{i=s.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}n.default=i},mE=(e,t,n,r)=>{let s=e._zod.def,a=t.io==="input"?s.in._zod.def.type==="transform"?s.out:s.in:s.out;Qe(a,t,r);let i=t.seen.get(e);i.ref=a},gE=(e,t,n,r)=>{let s=e._zod.def;Qe(s.innerType,t,r);let a=t.seen.get(e);a.ref=s.innerType,n.readOnly=!0},a8=(e,t,n,r)=>{let s=e._zod.def;Qe(s.innerType,t,r);let a=t.seen.get(e);a.ref=s.innerType},Y_=(e,t,n,r)=>{let s=e._zod.def;Qe(s.innerType,t,r);let a=t.seen.get(e);a.ref=s.innerType},i8=(e,t,n,r)=>{let s=e._zod.innerType;Qe(s,t,r);let a=t.seen.get(e);a.ref=s},M1={string:XI,number:YI,boolean:ZZ,bigint:VZ,symbol:qZ,null:HZ,undefined:WZ,void:JZ,never:QI,any:GZ,unknown:eE,date:KZ,enum:tE,literal:nE,nan:XZ,template_literal:YZ,file:QZ,success:e8,custom:rE,function:t8,transform:sE,map:n8,set:r8,array:aE,object:iE,union:oE,intersection:cE,tuple:s8,record:uE,nullable:lE,nonoptional:dE,default:pE,prefault:hE,catch:fE,pipe:mE,readonly:gE,promise:a8,optional:Y_,lazy:i8};function o8(e,t){if("_idmap"in e){let r=e,s=lp({...t,processors:M1}),a={};for(let c of r._idmap.entries()){let[u,l]=c;Qe(l,s)}let i={},o={registry:r,uri:t?.uri,defs:a};s.external=o;for(let c of r._idmap.entries()){let[u,l]=c;dp(s,l),i[u]=pp(s,l)}if(Object.keys(a).length>0){let c=s.target==="draft-2020-12"?"$defs":"definitions";i.__shared={[c]:a}}return{schemas:i}}let n=lp({...t,processors:M1});return Qe(e,n),dp(n,e),pp(n,e)}var c8=$("ZodISODateTime",(e,t)=>{fB.init(e,t),ot.init(e,t)});function u8(e){return _Z(c8,e)}var l8=$("ZodISODate",(e,t)=>{mB.init(e,t),ot.init(e,t)});function d8(e){return vZ(l8,e)}var p8=$("ZodISOTime",(e,t)=>{gB.init(e,t),ot.init(e,t)});function h8(e){return wZ(p8,e)}var f8=$("ZodISODuration",(e,t)=>{yB.init(e,t),ot.init(e,t)});function m8(e){return bZ(f8,e)}var g8=(e,t)=>{MI.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:n=>c6(e,n)},flatten:{value:n=>o6(e,n)},addIssue:{value:n=>{e.issues.push(n),e.message=JSON.stringify(e.issues,Qg,2)}},addIssues:{value:n=>{e.issues.push(...n),e.message=JSON.stringify(e.issues,Qg,2)}},isEmpty:{get(){return e.issues.length===0}}})},Dn=$("ZodError",g8,{Parent:Error}),y8=Xp(Dn),_8=K_(Dn),v8=Yp(Dn),w8=Qp(Dn),b8=p6(Dn),k8=h6(Dn),x8=f6(Dn),O8=m6(Dn),S8=g6(Dn),T8=y6(Dn),I8=_6(Dn),E8=v6(Dn),dt=$("ZodType",(e,t)=>(lt.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:hp(e,"input"),output:hp(e,"output")}}),e.toJSONSchema=FZ(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.check=(...n)=>e.clone(Us(t,{checks:[...t.checks??[],...n.map(r=>typeof r=="function"?{_zod:{check:r,def:{check:"custom"},onattach:[]}}:r)]}),{parent:!0}),e.with=e.check,e.clone=(n,r)=>Ds(e,n,r),e.brand=()=>e,e.register=((n,r)=>(n.add(e,r),e)),e.parse=(n,r)=>y8(e,n,r,{callee:e.parse}),e.safeParse=(n,r)=>v8(e,n,r),e.parseAsync=async(n,r)=>_8(e,n,r,{callee:e.parseAsync}),e.safeParseAsync=async(n,r)=>w8(e,n,r),e.spa=e.safeParseAsync,e.encode=(n,r)=>b8(e,n,r),e.decode=(n,r)=>k8(e,n,r),e.encodeAsync=async(n,r)=>x8(e,n,r),e.decodeAsync=async(n,r)=>O8(e,n,r),e.safeEncode=(n,r)=>S8(e,n,r),e.safeDecode=(n,r)=>T8(e,n,r),e.safeEncodeAsync=async(n,r)=>I8(e,n,r),e.safeDecodeAsync=async(n,r)=>E8(e,n,r),e.refine=(n,r)=>e.check(bV(n,r)),e.superRefine=n=>e.check(kV(n)),e.overwrite=n=>e.check(oo(n)),e.optional=()=>D1(e),e.exactOptional=()=>cV(e),e.nullable=()=>F1(e),e.nullish=()=>D1(F1(e)),e.nonoptional=n=>fV(e,n),e.array=()=>ou(e),e.or=n=>th([e,n]),e.and=n=>tV(e,n),e.transform=n=>B1(e,iV(n)),e.default=n=>dV(e,n),e.prefault=n=>hV(e,n),e.catch=n=>gV(e,n),e.pipe=n=>B1(e,n),e.readonly=()=>vV(e),e.describe=n=>{let r=e.clone();return Mo.add(r,{description:n}),r},Object.defineProperty(e,"description",{get(){return Mo.get(e)?.description},configurable:!0}),e.meta=(...n)=>{if(n.length===0)return Mo.get(e);let r=e.clone();return Mo.add(r,n[0]),r},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=n=>n(e),e)),yE=$("_ZodString",(e,t)=>{X_.init(e,t),dt.init(e,t),e._zod.processJSONSchema=(r,s,a)=>XI(e,r,s);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...r)=>e.check(TZ(...r)),e.includes=(...r)=>e.check(AZ(...r)),e.startsWith=(...r)=>e.check($Z(...r)),e.endsWith=(...r)=>e.check(CZ(...r)),e.min=(...r)=>e.check(up(...r)),e.max=(...r)=>e.check(GI(...r)),e.length=(...r)=>e.check(KI(...r)),e.nonempty=(...r)=>e.check(up(1,...r)),e.lowercase=r=>e.check(IZ(r)),e.uppercase=r=>e.check(EZ(r)),e.trim=()=>e.check(PZ()),e.normalize=(...r)=>e.check(NZ(...r)),e.toLowerCase=()=>e.check(jZ()),e.toUpperCase=()=>e.check(RZ()),e.slugify=()=>e.check(MZ())}),A8=$("ZodString",(e,t)=>{X_.init(e,t),yE.init(e,t),e.email=n=>e.check(XB($8,n)),e.url=n=>e.check(nZ(C8,n)),e.jwt=n=>e.check(yZ(H8,n)),e.emoji=n=>e.check(rZ(N8,n)),e.guid=n=>e.check(N1(L1,n)),e.uuid=n=>e.check(YB(Ju,n)),e.uuidv4=n=>e.check(QB(Ju,n)),e.uuidv6=n=>e.check(eZ(Ju,n)),e.uuidv7=n=>e.check(tZ(Ju,n)),e.nanoid=n=>e.check(sZ(P8,n)),e.guid=n=>e.check(N1(L1,n)),e.cuid=n=>e.check(aZ(j8,n)),e.cuid2=n=>e.check(iZ(R8,n)),e.ulid=n=>e.check(oZ(M8,n)),e.base64=n=>e.check(fZ(Z8,n)),e.base64url=n=>e.check(mZ(V8,n)),e.xid=n=>e.check(cZ(L8,n)),e.ksuid=n=>e.check(uZ(z8,n)),e.ipv4=n=>e.check(lZ(U8,n)),e.ipv6=n=>e.check(dZ(D8,n)),e.cidrv4=n=>e.check(pZ(F8,n)),e.cidrv6=n=>e.check(hZ(B8,n)),e.e164=n=>e.check(gZ(q8,n)),e.datetime=n=>e.check(u8(n)),e.date=n=>e.check(d8(n)),e.time=n=>e.check(h8(n)),e.duration=n=>e.check(m8(n))});function Tn(e){return KB(A8,e)}var ot=$("ZodStringFormat",(e,t)=>{it.init(e,t),yE.init(e,t)}),$8=$("ZodEmail",(e,t)=>{aB.init(e,t),ot.init(e,t)}),L1=$("ZodGUID",(e,t)=>{rB.init(e,t),ot.init(e,t)}),Ju=$("ZodUUID",(e,t)=>{sB.init(e,t),ot.init(e,t)}),C8=$("ZodURL",(e,t)=>{iB.init(e,t),ot.init(e,t)}),N8=$("ZodEmoji",(e,t)=>{oB.init(e,t),ot.init(e,t)}),P8=$("ZodNanoID",(e,t)=>{cB.init(e,t),ot.init(e,t)}),j8=$("ZodCUID",(e,t)=>{uB.init(e,t),ot.init(e,t)}),R8=$("ZodCUID2",(e,t)=>{lB.init(e,t),ot.init(e,t)}),M8=$("ZodULID",(e,t)=>{dB.init(e,t),ot.init(e,t)}),L8=$("ZodXID",(e,t)=>{pB.init(e,t),ot.init(e,t)}),z8=$("ZodKSUID",(e,t)=>{hB.init(e,t),ot.init(e,t)}),U8=$("ZodIPv4",(e,t)=>{_B.init(e,t),ot.init(e,t)}),D8=$("ZodIPv6",(e,t)=>{vB.init(e,t),ot.init(e,t)}),F8=$("ZodCIDRv4",(e,t)=>{wB.init(e,t),ot.init(e,t)}),B8=$("ZodCIDRv6",(e,t)=>{bB.init(e,t),ot.init(e,t)}),Z8=$("ZodBase64",(e,t)=>{kB.init(e,t),ot.init(e,t)}),V8=$("ZodBase64URL",(e,t)=>{OB.init(e,t),ot.init(e,t)}),q8=$("ZodE164",(e,t)=>{SB.init(e,t),ot.init(e,t)}),H8=$("ZodJWT",(e,t)=>{IB.init(e,t),ot.init(e,t)}),_E=$("ZodNumber",(e,t)=>{qI.init(e,t),dt.init(e,t),e._zod.processJSONSchema=(r,s,a)=>YI(e,r,s),e.gt=(r,s)=>e.check(j1(r,s)),e.gte=(r,s)=>e.check(Gf(r,s)),e.min=(r,s)=>e.check(Gf(r,s)),e.lt=(r,s)=>e.check(P1(r,s)),e.lte=(r,s)=>e.check(Jf(r,s)),e.max=(r,s)=>e.check(Jf(r,s)),e.int=r=>e.check(z1(r)),e.safe=r=>e.check(z1(r)),e.positive=r=>e.check(j1(0,r)),e.nonnegative=r=>e.check(Gf(0,r)),e.negative=r=>e.check(P1(0,r)),e.nonpositive=r=>e.check(Jf(0,r)),e.multipleOf=(r,s)=>e.check(R1(r,s)),e.step=(r,s)=>e.check(R1(r,s)),e.finite=()=>e;let n=e._zod.bag;e.minValue=Math.max(n.minimum??Number.NEGATIVE_INFINITY,n.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(n.maximum??Number.POSITIVE_INFINITY,n.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(n.format??"").includes("int")||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function Dt(e){return kZ(_E,e)}var W8=$("ZodNumberFormat",(e,t)=>{EB.init(e,t),_E.init(e,t)});function z1(e){return xZ(W8,e)}var J8=$("ZodUnknown",(e,t)=>{AB.init(e,t),dt.init(e,t),e._zod.processJSONSchema=(n,r,s)=>eE()});function U1(){return OZ(J8)}var G8=$("ZodNever",(e,t)=>{$B.init(e,t),dt.init(e,t),e._zod.processJSONSchema=(n,r,s)=>QI(e,n,r)});function K8(e){return SZ(G8,e)}var X8=$("ZodArray",(e,t)=>{CB.init(e,t),dt.init(e,t),e._zod.processJSONSchema=(n,r,s)=>aE(e,n,r,s),e.element=t.element,e.min=(n,r)=>e.check(up(n,r)),e.nonempty=n=>e.check(up(1,n)),e.max=(n,r)=>e.check(GI(n,r)),e.length=(n,r)=>e.check(KI(n,r)),e.unwrap=()=>e.element});function ou(e,t){return LZ(X8,e,t)}var Y8=$("ZodObject",(e,t)=>{PB.init(e,t),dt.init(e,t),e._zod.processJSONSchema=(n,r,s)=>iE(e,n,r,s),We(e,"shape",()=>t.shape),e.keyof=()=>Q_(Object.keys(e._zod.def.shape)),e.catchall=n=>e.clone({...e._zod.def,catchall:n}),e.passthrough=()=>e.clone({...e._zod.def,catchall:U1()}),e.loose=()=>e.clone({...e._zod.def,catchall:U1()}),e.strict=()=>e.clone({...e._zod.def,catchall:K8()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=n=>n6(e,n),e.safeExtend=n=>r6(e,n),e.merge=n=>s6(e,n),e.pick=n=>e6(e,n),e.omit=n=>t6(e,n),e.partial=(...n)=>a6(vE,e,n[0]),e.required=(...n)=>i6(wE,e,n[0])});function Vt(e,t){let n={type:"object",shape:e??{},...de(t)};return new Y8(n)}var Q8=$("ZodUnion",(e,t)=>{jB.init(e,t),dt.init(e,t),e._zod.processJSONSchema=(n,r,s)=>oE(e,n,r,s),e.options=t.options});function th(e,t){return new Q8({type:"union",options:e,...de(t)})}var eV=$("ZodIntersection",(e,t)=>{RB.init(e,t),dt.init(e,t),e._zod.processJSONSchema=(n,r,s)=>cE(e,n,r,s)});function tV(e,t){return new eV({type:"intersection",left:e,right:t})}var nV=$("ZodRecord",(e,t)=>{MB.init(e,t),dt.init(e,t),e._zod.processJSONSchema=(n,r,s)=>uE(e,n,r,s),e.keyType=t.keyType,e.valueType=t.valueType});function rV(e,t,n){return new nV({type:"record",keyType:e,valueType:t,...de(n)})}var ry=$("ZodEnum",(e,t)=>{LB.init(e,t),dt.init(e,t),e._zod.processJSONSchema=(r,s,a)=>tE(e,r,s),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(r,s)=>{let a={};for(let i of r)if(n.has(i))a[i]=t.entries[i];else throw new Error(`Key ${i} not found in enum`);return new ry({...t,checks:[],...de(s),entries:a})},e.exclude=(r,s)=>{let a={...t.entries};for(let i of r)if(n.has(i))delete a[i];else throw new Error(`Key ${i} not found in enum`);return new ry({...t,checks:[],...de(s),entries:a})}});function Q_(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map(r=>[r,r])):e;return new ry({type:"enum",entries:n,...de(t)})}var sV=$("ZodLiteral",(e,t)=>{zB.init(e,t),dt.init(e,t),e._zod.processJSONSchema=(n,r,s)=>nE(e,n,r),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function $n(e,t){return new sV({type:"literal",values:Array.isArray(e)?e:[e],...de(t)})}var aV=$("ZodTransform",(e,t)=>{UB.init(e,t),dt.init(e,t),e._zod.processJSONSchema=(n,r,s)=>sE(e,n),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new ip(e.constructor.name);n.addIssue=a=>{if(typeof a=="string")n.issues.push(zc(a,n.value,t));else{let i=a;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=n.value),i.inst??(i.inst=e),n.issues.push(zc(i))}};let s=t.transform(n.value,n);return s instanceof Promise?s.then(a=>(n.value=a,n)):(n.value=s,n)}});function iV(e){return new aV({type:"transform",transform:e})}var vE=$("ZodOptional",(e,t)=>{JI.init(e,t),dt.init(e,t),e._zod.processJSONSchema=(n,r,s)=>Y_(e,n,r,s),e.unwrap=()=>e._zod.def.innerType});function D1(e){return new vE({type:"optional",innerType:e})}var oV=$("ZodExactOptional",(e,t)=>{DB.init(e,t),dt.init(e,t),e._zod.processJSONSchema=(n,r,s)=>Y_(e,n,r,s),e.unwrap=()=>e._zod.def.innerType});function cV(e){return new oV({type:"optional",innerType:e})}var uV=$("ZodNullable",(e,t)=>{FB.init(e,t),dt.init(e,t),e._zod.processJSONSchema=(n,r,s)=>lE(e,n,r,s),e.unwrap=()=>e._zod.def.innerType});function F1(e){return new uV({type:"nullable",innerType:e})}var lV=$("ZodDefault",(e,t)=>{BB.init(e,t),dt.init(e,t),e._zod.processJSONSchema=(n,r,s)=>pE(e,n,r,s),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function dV(e,t){return new lV({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():jI(t)}})}var pV=$("ZodPrefault",(e,t)=>{ZB.init(e,t),dt.init(e,t),e._zod.processJSONSchema=(n,r,s)=>hE(e,n,r,s),e.unwrap=()=>e._zod.def.innerType});function hV(e,t){return new pV({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():jI(t)}})}var wE=$("ZodNonOptional",(e,t)=>{VB.init(e,t),dt.init(e,t),e._zod.processJSONSchema=(n,r,s)=>dE(e,n,r,s),e.unwrap=()=>e._zod.def.innerType});function fV(e,t){return new wE({type:"nonoptional",innerType:e,...de(t)})}var mV=$("ZodCatch",(e,t)=>{qB.init(e,t),dt.init(e,t),e._zod.processJSONSchema=(n,r,s)=>fE(e,n,r,s),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function gV(e,t){return new mV({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}var yV=$("ZodPipe",(e,t)=>{HB.init(e,t),dt.init(e,t),e._zod.processJSONSchema=(n,r,s)=>mE(e,n,r,s),e.in=t.in,e.out=t.out});function B1(e,t){return new yV({type:"pipe",in:e,out:t})}var _V=$("ZodReadonly",(e,t)=>{WB.init(e,t),dt.init(e,t),e._zod.processJSONSchema=(n,r,s)=>gE(e,n,r,s),e.unwrap=()=>e._zod.def.innerType});function vV(e){return new _V({type:"readonly",innerType:e})}var wV=$("ZodCustom",(e,t)=>{JB.init(e,t),dt.init(e,t),e._zod.processJSONSchema=(n,r,s)=>rE(e,n)});function bV(e,t={}){return zZ(wV,e,t)}function kV(e){return UZ(e)}var xV=Symbol("Let zodToJsonSchema decide on which parser to use"),Z1={name:void 0,$refStrategy:"root",effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",nullableStrategy:"from-target",removeAdditionalStrategy:"passthrough",definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref"},OV=e=>typeof e=="string"?{...Z1,basePath:["#"],definitions:{},name:e}:{...Z1,basePath:["#"],definitions:{},...e},sy=e=>"_def"in e?e._def:e;function SV(e){if(!e)return!0;for(let t in e)return!1;return!0}var TV=e=>{let t=OV(e),n=t.name!==void 0?[...t.basePath,t.definitionPath,t.name]:t.basePath;return{...t,currentPath:n,propertyPath:void 0,seenRefs:new Set,seen:new Map(Object.entries(t.definitions).map(([r,s])=>[sy(s),{def:sy(s),path:[...t.basePath,t.definitionPath,r],jsonSchema:void 0}]))}};function bE(e,t,n,r){r?.errorMessages&&n&&(e.errorMessage={...e.errorMessage,[t]:n})}function He(e,t,n,r,s){e[t]=n,bE(e,t,r,s)}var Uc;(function(e){e.assertEqual=s=>{};function t(s){}e.assertIs=t;function n(s){throw new Error}e.assertNever=n,e.arrayToEnum=s=>{let a={};for(let i of s)a[i]=i;return a},e.getValidEnumValues=s=>{let a=e.objectKeys(s).filter(o=>typeof s[s[o]]!="number"),i={};for(let o of a)i[o]=s[o];return e.objectValues(i)},e.objectValues=s=>e.objectKeys(s).map(function(a){return s[a]}),e.objectKeys=typeof Object.keys=="function"?s=>Object.keys(s):s=>{let a=[];for(let i in s)Object.prototype.hasOwnProperty.call(s,i)&&a.push(i);return a},e.find=(s,a)=>{for(let i of s)if(a(i))return i},e.isInteger=typeof Number.isInteger=="function"?s=>Number.isInteger(s):s=>typeof s=="number"&&Number.isFinite(s)&&Math.floor(s)===s;function r(s,a=" | "){return s.map(i=>typeof i=="string"?`'${i}'`:i).join(a)}e.joinValues=r,e.jsonStringifyReplacer=(s,a)=>typeof a=="bigint"?a.toString():a})(Uc||(Uc={}));var V1;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(V1||(V1={}));Uc.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]);Uc.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);var fp=class e extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};let n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=t}format(t){let n=t||function(a){return a.message},r={_errors:[]},s=a=>{for(let i of a.issues)if(i.code==="invalid_union")i.unionErrors.map(s);else if(i.code==="invalid_return_type")s(i.returnTypeError);else if(i.code==="invalid_arguments")s(i.argumentsError);else if(i.path.length===0)r._errors.push(n(i));else{let o=r,c=0;for(;c<i.path.length;){let u=i.path[c];c===i.path.length-1?(o[u]=o[u]||{_errors:[]},o[u]._errors.push(n(i))):o[u]=o[u]||{_errors:[]},o=o[u],c++}}};return s(this),r}static assert(t){if(!(t instanceof e))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,Uc.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=n=>n.message){let n=Object.create(null),r=[];for(let s of this.issues)if(s.path.length>0){let a=s.path[0];n[a]=n[a]||[],n[a].push(t(s))}else r.push(t(s));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}};fp.create=e=>new fp(e);var q1;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(q1||(q1={}));var ke;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(ke||(ke={}));function IV(){return{}}function EV(e,t){let n={type:"array"};return e.type?._def?.typeName!==ke.ZodAny&&(n.items=Be(e.type._def,{...t,currentPath:[...t.currentPath,"items"]})),e.minLength&&He(n,"minItems",e.minLength.value,e.minLength.message,t),e.maxLength&&He(n,"maxItems",e.maxLength.value,e.maxLength.message,t),e.exactLength&&(He(n,"minItems",e.exactLength.value,e.exactLength.message,t),He(n,"maxItems",e.exactLength.value,e.exactLength.message,t)),n}function AV(e,t){let n={type:"integer",format:"int64"};if(!e.checks)return n;for(let r of e.checks)switch(r.kind){case"min":t.target==="jsonSchema7"?r.inclusive?He(n,"minimum",r.value,r.message,t):He(n,"exclusiveMinimum",r.value,r.message,t):(r.inclusive||(n.exclusiveMinimum=!0),He(n,"minimum",r.value,r.message,t));break;case"max":t.target==="jsonSchema7"?r.inclusive?He(n,"maximum",r.value,r.message,t):He(n,"exclusiveMaximum",r.value,r.message,t):(r.inclusive||(n.exclusiveMaximum=!0),He(n,"maximum",r.value,r.message,t));break;case"multipleOf":He(n,"multipleOf",r.value,r.message,t);break}return n}function $V(){return{type:"boolean"}}function CV(e,t){return Be(e.type._def,t)}var NV=(e,t)=>Be(e.innerType._def,t);function kE(e,t,n){let r=n??t.dateStrategy;if(Array.isArray(r))return{anyOf:r.map((s,a)=>kE(e,t,s))};switch(r){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return PV(e,t)}}var PV=(e,t)=>{let n={type:"integer",format:"unix-time"};if(t.target==="openApi3")return n;for(let r of e.checks)switch(r.kind){case"min":He(n,"minimum",r.value,r.message,t);break;case"max":He(n,"maximum",r.value,r.message,t);break}return n};function jV(e,t){return{...Be(e.innerType._def,t),default:e.defaultValue()}}function RV(e,t,n){return t.effectStrategy==="input"?Be(e.schema._def,t,n):{}}function MV(e){return{type:"string",enum:[...e.values]}}var LV=e=>"type"in e&&e.type==="string"?!1:"allOf"in e;function zV(e,t){let n=[Be(e.left._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),Be(e.right._def,{...t,currentPath:[...t.currentPath,"allOf","1"]})].filter(a=>!!a),r=t.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,s=[];return n.forEach(a=>{if(LV(a))s.push(...a.allOf),a.unevaluatedProperties===void 0&&(r=void 0);else{let i=a;if("additionalProperties"in a&&a.additionalProperties===!1){let{additionalProperties:o,...c}=a;i=c}else r=void 0;s.push(i)}}),s.length?{allOf:s,...r}:void 0}function UV(e,t){let n=typeof e.value;return n!=="bigint"&&n!=="number"&&n!=="boolean"&&n!=="string"?{type:Array.isArray(e.value)?"array":"object"}:t.target==="openApi3"?{type:n==="bigint"?"integer":n,enum:[e.value]}:{type:n==="bigint"?"integer":n,const:e.value}}var Kf,Zs={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>(Kf===void 0&&(Kf=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),Kf),base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/};function xE(e,t){let n={type:"string"};function r(s){return t.patternStrategy==="escape"?DV(s):s}if(e.checks)for(let s of e.checks)switch(s.kind){case"min":He(n,"minLength",typeof n.minLength=="number"?Math.max(n.minLength,s.value):s.value,s.message,t);break;case"max":He(n,"maxLength",typeof n.maxLength=="number"?Math.min(n.maxLength,s.value):s.value,s.message,t);break;case"email":switch(t.emailStrategy){case"format:email":qn(n,"email",s.message,t);break;case"format:idn-email":qn(n,"idn-email",s.message,t);break;case"pattern:zod":Hn(n,Zs.email,s.message,t);break}break;case"url":qn(n,"uri",s.message,t);break;case"uuid":qn(n,"uuid",s.message,t);break;case"regex":Hn(n,s.regex,s.message,t);break;case"cuid":Hn(n,Zs.cuid,s.message,t);break;case"cuid2":Hn(n,Zs.cuid2,s.message,t);break;case"startsWith":Hn(n,RegExp(`^${r(s.value)}`),s.message,t);break;case"endsWith":Hn(n,RegExp(`${r(s.value)}$`),s.message,t);break;case"datetime":qn(n,"date-time",s.message,t);break;case"date":qn(n,"date",s.message,t);break;case"time":qn(n,"time",s.message,t);break;case"duration":qn(n,"duration",s.message,t);break;case"length":He(n,"minLength",typeof n.minLength=="number"?Math.max(n.minLength,s.value):s.value,s.message,t),He(n,"maxLength",typeof n.maxLength=="number"?Math.min(n.maxLength,s.value):s.value,s.message,t);break;case"includes":{Hn(n,RegExp(r(s.value)),s.message,t);break}case"ip":{s.version!=="v6"&&qn(n,"ipv4",s.message,t),s.version!=="v4"&&qn(n,"ipv6",s.message,t);break}case"emoji":Hn(n,Zs.emoji,s.message,t);break;case"ulid":{Hn(n,Zs.ulid,s.message,t);break}case"base64":{switch(t.base64Strategy){case"format:binary":{qn(n,"binary",s.message,t);break}case"contentEncoding:base64":{He(n,"contentEncoding","base64",s.message,t);break}case"pattern:zod":{Hn(n,Zs.base64,s.message,t);break}}break}case"nanoid":Hn(n,Zs.nanoid,s.message,t)}return n}var DV=e=>Array.from(e).map(t=>/[a-zA-Z0-9]/.test(t)?t:`\\${t}`).join(""),qn=(e,t,n,r)=>{e.format||e.anyOf?.some(s=>s.format)?(e.anyOf||(e.anyOf=[]),e.format&&(e.anyOf.push({format:e.format,...e.errorMessage&&r.errorMessages&&{errorMessage:{format:e.errorMessage.format}}}),delete e.format,e.errorMessage&&(delete e.errorMessage.format,Object.keys(e.errorMessage).length===0&&delete e.errorMessage)),e.anyOf.push({format:t,...n&&r.errorMessages&&{errorMessage:{format:n}}})):He(e,"format",t,n,r)},Hn=(e,t,n,r)=>{e.pattern||e.allOf?.some(s=>s.pattern)?(e.allOf||(e.allOf=[]),e.pattern&&(e.allOf.push({pattern:e.pattern,...e.errorMessage&&r.errorMessages&&{errorMessage:{pattern:e.errorMessage.pattern}}}),delete e.pattern,e.errorMessage&&(delete e.errorMessage.pattern,Object.keys(e.errorMessage).length===0&&delete e.errorMessage)),e.allOf.push({pattern:H1(t,r),...n&&r.errorMessages&&{errorMessage:{pattern:n}}})):He(e,"pattern",H1(t,r),n,r)},H1=(e,t)=>{let n=typeof e=="function"?e():e;if(!t.applyRegexFlags||!n.flags)return n.source;let r={i:n.flags.includes("i"),m:n.flags.includes("m"),s:n.flags.includes("s")},s=r.i?n.source.toLowerCase():n.source,a="",i=!1,o=!1,c=!1;for(let u=0;u<s.length;u++){if(i){a+=s[u],i=!1;continue}if(r.i){if(o){if(s[u].match(/[a-z]/)){c?(a+=s[u],a+=`${s[u-2]}-${s[u]}`.toUpperCase(),c=!1):s[u+1]==="-"&&s[u+2]?.match(/[a-z]/)?(a+=s[u],c=!0):a+=`${s[u]}${s[u].toUpperCase()}`;continue}}else if(s[u].match(/[a-z]/)){a+=`[${s[u]}${s[u].toUpperCase()}]`;continue}}if(r.m){if(s[u]==="^"){a+=`(^|(?<=[\r
340
- ]))`;continue}else if(s[u]==="$"){a+=`($|(?=[\r
341
- ]))`;continue}}if(r.s&&s[u]==="."){a+=o?`${s[u]}\r
342
- `:`[${s[u]}\r
343
- ]`;continue}a+=s[u],s[u]==="\\"?i=!0:o&&s[u]==="]"?o=!1:!o&&s[u]==="["&&(o=!0)}try{let u=new RegExp(a)}catch{return console.warn(`Could not convert regex pattern at ${t.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),n.source}return a};function OE(e,t){if(t.target==="openApi3"&&e.keyType?._def.typeName===ke.ZodEnum)return{type:"object",required:e.keyType._def.values,properties:e.keyType._def.values.reduce((r,s)=>({...r,[s]:Be(e.valueType._def,{...t,currentPath:[...t.currentPath,"properties",s]})??{}}),{}),additionalProperties:!1};let n={type:"object",additionalProperties:Be(e.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]})??{}};if(t.target==="openApi3")return n;if(e.keyType?._def.typeName===ke.ZodString&&e.keyType._def.checks?.length){let r=Object.entries(xE(e.keyType._def,t)).reduce((s,[a,i])=>a==="type"?s:{...s,[a]:i},{});return{...n,propertyNames:r}}else if(e.keyType?._def.typeName===ke.ZodEnum)return{...n,propertyNames:{enum:e.keyType._def.values}};return n}function FV(e,t){if(t.mapStrategy==="record")return OE(e,t);let n=Be(e.keyType._def,{...t,currentPath:[...t.currentPath,"items","items","0"]})||{},r=Be(e.valueType._def,{...t,currentPath:[...t.currentPath,"items","items","1"]})||{};return{type:"array",maxItems:125,items:{type:"array",items:[n,r],minItems:2,maxItems:2}}}function BV(e){let t=e.values,n=Object.keys(e.values).filter(s=>typeof t[t[s]]!="number").map(s=>t[s]),r=Array.from(new Set(n.map(s=>typeof s)));return{type:r.length===1?r[0]==="string"?"string":"number":["string","number"],enum:n}}function ZV(){return{not:{}}}function VV(e){return e.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var mp={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function qV(e,t){if(t.target==="openApi3")return W1(e,t);let n=e.options instanceof Map?Array.from(e.options.values()):e.options;if(n.every(r=>r._def.typeName in mp&&(!r._def.checks||!r._def.checks.length))){let r=n.reduce((s,a)=>{let i=mp[a._def.typeName];return i&&!s.includes(i)?[...s,i]:s},[]);return{type:r.length>1?r:r[0]}}else if(n.every(r=>r._def.typeName==="ZodLiteral"&&!r.description)){let r=n.reduce((s,a)=>{let i=typeof a._def.value;switch(i){case"string":case"number":case"boolean":return[...s,i];case"bigint":return[...s,"integer"];case"object":if(a._def.value===null)return[...s,"null"];default:return s}},[]);if(r.length===n.length){let s=r.filter((a,i,o)=>o.indexOf(a)===i);return{type:s.length>1?s:s[0],enum:n.reduce((a,i)=>a.includes(i._def.value)?a:[...a,i._def.value],[])}}}else if(n.every(r=>r._def.typeName==="ZodEnum"))return{type:"string",enum:n.reduce((r,s)=>[...r,...s._def.values.filter(a=>!r.includes(a))],[])};return W1(e,t)}var W1=(e,t)=>{let n=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((r,s)=>Be(r._def,{...t,currentPath:[...t.currentPath,"anyOf",`${s}`]})).filter(r=>!!r&&(!t.strictUnions||typeof r=="object"&&Object.keys(r).length>0));return n.length?{anyOf:n}:void 0};function HV(e,t){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return t.target==="openApi3"||t.nullableStrategy==="property"?{type:mp[e.innerType._def.typeName],nullable:!0}:{type:[mp[e.innerType._def.typeName],"null"]};if(t.target==="openApi3"){let r=Be(e.innerType._def,{...t,currentPath:[...t.currentPath]});return r&&"$ref"in r?{allOf:[r],nullable:!0}:r&&{...r,nullable:!0}}let n=Be(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","0"]});return n&&{anyOf:[n,{type:"null"}]}}function WV(e,t){let n={type:"number"};if(!e.checks)return n;for(let r of e.checks)switch(r.kind){case"int":n.type="integer",bE(n,"type",r.message,t);break;case"min":t.target==="jsonSchema7"?r.inclusive?He(n,"minimum",r.value,r.message,t):He(n,"exclusiveMinimum",r.value,r.message,t):(r.inclusive||(n.exclusiveMinimum=!0),He(n,"minimum",r.value,r.message,t));break;case"max":t.target==="jsonSchema7"?r.inclusive?He(n,"maximum",r.value,r.message,t):He(n,"exclusiveMaximum",r.value,r.message,t):(r.inclusive||(n.exclusiveMaximum=!0),He(n,"maximum",r.value,r.message,t));break;case"multipleOf":He(n,"multipleOf",r.value,r.message,t);break}return n}function JV(e,t){return t.removeAdditionalStrategy==="strict"?e.catchall._def.typeName==="ZodNever"?e.unknownKeys!=="strict":Be(e.catchall._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]})??!0:e.catchall._def.typeName==="ZodNever"?e.unknownKeys==="passthrough":Be(e.catchall._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]})??!0}function GV(e,t){let n={type:"object",...Object.entries(e.shape()).reduce((r,[s,a])=>{if(a===void 0||a._def===void 0)return r;let i=[...t.currentPath,"properties",s],o=Be(a._def,{...t,currentPath:i,propertyPath:i});if(o===void 0)return r;if(t.openaiStrictMode&&a.isOptional()&&!a.isNullable()&&typeof a._def?.defaultValue>"u")throw new Error(`Zod field at \`${i.join("/")}\` uses \`.optional()\` without \`.nullable()\` which is not supported by the API. See: https://platform.openai.com/docs/guides/structured-outputs?api-mode=responses#all-fields-must-be-required`);return{properties:{...r.properties,[s]:o},required:a.isOptional()&&!t.openaiStrictMode?r.required:[...r.required,s]}},{properties:{},required:[]}),additionalProperties:JV(e,t)};return n.required.length||delete n.required,n}var KV=(e,t)=>{if(t.propertyPath&&t.currentPath.slice(0,t.propertyPath.length).toString()===t.propertyPath.toString())return Be(e.innerType._def,{...t,currentPath:t.currentPath});let n=Be(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","1"]});return n?{anyOf:[{not:{}},n]}:{}},XV=(e,t)=>{if(t.pipeStrategy==="input")return Be(e.in._def,t);if(t.pipeStrategy==="output")return Be(e.out._def,t);let n=Be(e.in._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),r=Be(e.out._def,{...t,currentPath:[...t.currentPath,"allOf",n?"1":"0"]});return{allOf:[n,r].filter(s=>s!==void 0)}};function YV(e,t){return Be(e.type._def,t)}function QV(e,t){let n={type:"array",uniqueItems:!0,items:Be(e.valueType._def,{...t,currentPath:[...t.currentPath,"items"]})};return e.minSize&&He(n,"minItems",e.minSize.value,e.minSize.message,t),e.maxSize&&He(n,"maxItems",e.maxSize.value,e.maxSize.message,t),n}function eq(e,t){return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((n,r)=>Be(n._def,{...t,currentPath:[...t.currentPath,"items",`${r}`]})).reduce((n,r)=>r===void 0?n:[...n,r],[]),additionalItems:Be(e.rest._def,{...t,currentPath:[...t.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((n,r)=>Be(n._def,{...t,currentPath:[...t.currentPath,"items",`${r}`]})).reduce((n,r)=>r===void 0?n:[...n,r],[])}}function tq(){return{not:{}}}function nq(){return{}}var rq=(e,t)=>Be(e.innerType._def,t);function Be(e,t,n=!1){let r=t.seen.get(e);if(t.override){let i=t.override?.(e,t,r,n);if(i!==xV)return i}if(r&&!n){let i=sq(r,t);if(i!==void 0)return"$ref"in i&&t.seenRefs.add(i.$ref),i}let s={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,s);let a=iq(e,e.typeName,t,n);return a&&oq(e,t,a),s.jsonSchema=a,a}var sq=(e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"extract-to-root":let n=e.path.slice(t.basePath.length+1).join("_");return n!==t.name&&t.nameStrategy==="duplicate-ref"&&(t.definitions[n]=e.def),{$ref:[...t.basePath,t.definitionPath,n].join("/")};case"relative":return{$ref:aq(t.currentPath,e.path)};case"none":case"seen":return e.path.length<t.currentPath.length&&e.path.every((r,s)=>t.currentPath[s]===r)?(console.warn(`Recursive reference detected at ${t.currentPath.join("/")}! Defaulting to any`),{}):t.$refStrategy==="seen"?{}:void 0}},aq=(e,t)=>{let n=0;for(;n<e.length&&n<t.length&&e[n]===t[n];n++);return[(e.length-n).toString(),...t.slice(n)].join("/")},iq=(e,t,n,r)=>{switch(t){case ke.ZodString:return xE(e,n);case ke.ZodNumber:return WV(e,n);case ke.ZodObject:return GV(e,n);case ke.ZodBigInt:return AV(e,n);case ke.ZodBoolean:return $V();case ke.ZodDate:return kE(e,n);case ke.ZodUndefined:return tq();case ke.ZodNull:return VV(n);case ke.ZodArray:return EV(e,n);case ke.ZodUnion:case ke.ZodDiscriminatedUnion:return qV(e,n);case ke.ZodIntersection:return zV(e,n);case ke.ZodTuple:return eq(e,n);case ke.ZodRecord:return OE(e,n);case ke.ZodLiteral:return UV(e,n);case ke.ZodEnum:return MV(e);case ke.ZodNativeEnum:return BV(e);case ke.ZodNullable:return HV(e,n);case ke.ZodOptional:return KV(e,n);case ke.ZodMap:return FV(e,n);case ke.ZodSet:return QV(e,n);case ke.ZodLazy:return Be(e.getter()._def,n);case ke.ZodPromise:return YV(e,n);case ke.ZodNaN:case ke.ZodNever:return ZV();case ke.ZodEffects:return RV(e,n,r);case ke.ZodAny:return IV();case ke.ZodUnknown:return nq();case ke.ZodDefault:return jV(e,n);case ke.ZodBranded:return CV(e,n);case ke.ZodReadonly:return rq(e,n);case ke.ZodCatch:return NV(e,n);case ke.ZodPipeline:return XV(e,n);case ke.ZodFunction:case ke.ZodVoid:case ke.ZodSymbol:return;default:return(s=>{})()}},oq=(e,t,n)=>(e.description&&(n.description=e.description,t.markdownDescription&&(n.markdownDescription=e.description)),n),cq=(e,t)=>{let n=TV(t),r=typeof t=="string"?t:t?.nameStrategy==="title"?void 0:t?.name,s=Be(e._def,r===void 0?n:{...n,currentPath:[...n.basePath,n.definitionPath,r]},!1)??{},a=typeof t=="object"&&t.name!==void 0&&t.nameStrategy==="title"?t.name:void 0;a!==void 0&&(s.title=a);let i=(()=>{if(SV(n.definitions))return;let c={},u=new Set;for(let l=0;l<500;l++){let d=Object.entries(n.definitions).filter(([p])=>!u.has(p));if(d.length===0)break;for(let[p,h]of d)c[p]=Be(sy(h),{...n,currentPath:[...n.basePath,n.definitionPath,p]},!0)??{},u.add(p)}return c})(),o=r===void 0?i?{...s,[n.definitionPath]:i}:s:n.nameStrategy==="duplicate-ref"?{...s,...i||n.seenRefs.size?{[n.definitionPath]:{...i,...n.seenRefs.size?{[r]:s}:void 0}}:void 0}:{$ref:[...n.$refStrategy==="relative"?[]:n.basePath,n.definitionPath,r].join("/"),[n.definitionPath]:{...i,[r]:s}};return n.target==="jsonSchema7"?o.$schema="http://json-schema.org/draft-07/schema#":n.target==="jsonSchema2019-09"&&(o.$schema="https://json-schema.org/draft/2019-09/schema#"),o};function uq(e){if(e.type!=="object")throw new Error(`Root schema must have type: 'object' but got type: ${e.type?`'${e.type}'`:"undefined"}`);let t=structuredClone(e);return Rr(t,[],t)}function ay(e){if(typeof e=="boolean")return!1;if(e.type==="null")return!0;for(let t of e.oneOf??[])if(ay(t))return!0;for(let t of e.anyOf??[])if(ay(t))return!0;return!1}function Rr(e,t,n){if(typeof e=="boolean")throw new TypeError(`Expected object schema but got boolean; path=${t.join("/")}`);if(!Js(e))throw new TypeError(`Expected ${JSON.stringify(e)} to be an object; path=${t.join("/")}`);let r=e.$defs;if(Js(r))for(let[d,p]of Object.entries(r))Rr(p,[...t,"$defs",d],n);let s=e.definitions;if(Js(s))for(let[d,p]of Object.entries(s))Rr(p,[...t,"definitions",d],n);e.type==="object"&&!("additionalProperties"in e)&&(e.additionalProperties=!1);let a=e.required??[],i=e.properties;if(Js(i)){for(let[d,p]of Object.entries(i))if(!ay(p)&&!a.includes(d))throw new Error(`Zod field at \`${[...t,"properties",d].join("/")}\` uses \`.optional()\` without \`.nullable()\` which is not supported by the API. See: https://platform.openai.com/docs/guides/structured-outputs?api-mode=responses#all-fields-must-be-required`);e.required=Object.keys(i),e.properties=Object.fromEntries(Object.entries(i).map(([d,p])=>[d,Rr(p,[...t,"properties",d],n)]))}let o=e.items;Js(o)&&(e.items=Rr(o,[...t,"items"],n));let c=e.anyOf;Array.isArray(c)&&(e.anyOf=c.map((d,p)=>Rr(d,[...t,"anyOf",String(p)],n)));let u=e.allOf;if(Array.isArray(u))if(u.length===1){let d=Rr(u[0],[...t,"allOf","0"],n);Object.assign(e,d),delete e.allOf}else e.allOf=u.map((d,p)=>Rr(d,[...t,"allOf",String(p)],n));e.default===null&&delete e.default;let l=e.$ref;if(l&&dq(e,1)){if(typeof l!="string")throw new TypeError(`Received non-string $ref - ${l}; path=${t.join("/")}`);let d=lq(n,l);if(typeof d=="boolean")throw new Error(`Expected \`$ref: ${l}\` to resolve to an object schema but got boolean`);if(!Js(d))throw new Error(`Expected \`$ref: ${l}\` to resolve to an object but got ${JSON.stringify(d)}`);return Object.assign(e,{...d,...e}),delete e.$ref,Rr(e,t,n)}return e}function lq(e,t){if(!t.startsWith("#/"))throw new Error(`Unexpected $ref format ${JSON.stringify(t)}; Does not start with #/`);let n=t.slice(2).split("/"),r=e;for(let s of n){if(!Js(r))throw new Error(`encountered non-object entry while resolving ${t} - ${JSON.stringify(r)}`);let a=r[s];if(a===void 0)throw new Error(`Key ${s} not found while resolving ${t}`);r=a}return r}function Js(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function dq(e,t){let n=0;for(let r in e)if(n++,n>t)return!0;return!1}function pq(e,t){return cq(e,{openaiStrictMode:!0,name:t.name,nameStrategy:"duplicate-ref",$refStrategy:"extract-to-root",nullableStrategy:"property"})}function hq(e){return uq(o8(e,{target:"draft-7"}))}function fq(e){return"_zod"in e}function mq(e,t,n){return cF({type:"json_schema",json_schema:{...n,name:t,strict:!0,schema:fq(e)?hq(e):pq(e,{name:t})}},r=>e.parse(JSON.parse(r)))}var J1=["jsonSchema","functionCalling","jsonMode"];function gq(e,t){if(typeof t<"u"&&!J1.includes(t))throw new Error(`Invalid method: ${t}. Supported methods are: ${J1.join(", ")}`);let n=!e.startsWith("gpt-3")&&!e.startsWith("gpt-4-")&&e!=="gpt-4";if(n&&!t)return"jsonSchema";if(!n&&t==="jsonSchema")throw new Error(`JSON Schema is not supported for model "${e}". Please use a different method, e.g. "functionCalling" or "jsonMode".`);return t??"functionCalling"}function yq(e,t){let n={...e};return Object.defineProperties(n,{$brand:{value:"auto-parseable-response-format",enumerable:!1},$parseRaw:{value:t,enumerable:!1}}),n}function _q(e,t,n){if(gt(e))return mq(e,t,n);if(nt(e))return yq({type:"json_schema",json_schema:{...n,name:t,strict:!0,schema:It(e,{cycles:"ref",reused:"ref",override(r){r.jsonSchema.title=t}})}},r=>u6(e,JSON.parse(r)));throw new Error("Unsupported schema response format")}function vq(e,t){if(t&&typeof t=="object"&&"images"in t&&Array.isArray(t.images)){let n=t.images.filter(r=>typeof r?.image_url?.url=="string").map(r=>({type:"image",url:r.image_url.url}));return[{type:"text",text:e},...n]}return e}var wq={"gpt-4o-2024-11-20":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.3-codex":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5-codex":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5-pro":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:272e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4o-mini":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"text-embedding-ada-002":{maxInputTokens:8192,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1536,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5-chat-latest":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"codex-mini-latest":{maxInputTokens:2e5,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.1-codex-max":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4o-2024-05-13":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:4096,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.2-chat-latest":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.2-codex":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o3-deep-research":{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},o1:{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.1":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o4-mini-deep-research":{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.3-codex-spark":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:32e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},o3:{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"text-embedding-3-small":{maxInputTokens:8191,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1536,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4.1-nano":{maxInputTokens:1047576,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:32768,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"text-embedding-3-large":{maxInputTokens:8191,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:3072,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-3.5-turbo":{maxInputTokens:16385,imageInputs:!1,audioInputs:!1,pdfInputs:!1,videoInputs:!1,maxOutputTokens:4096,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!1,imageUrlInputs:!1,pdfToolMessage:!1,imageToolMessage:!1,toolChoice:!0},"gpt-5.1-codex-mini":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.2":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4.1":{maxInputTokens:1047576,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:32768,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o3-pro":{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4-turbo":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:4096,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o4-mini":{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4.1-mini":{maxInputTokens:1047576,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:32768,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.4":{maxInputTokens:105e4,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o1-preview":{maxInputTokens:128e3,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:32768,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.4-pro":{maxInputTokens:105e4,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o1-pro":{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.1-codex":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.2-pro":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o3-mini":{maxInputTokens:2e5,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4o-2024-08-06":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5-mini":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.1-chat-latest":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4":{maxInputTokens:8192,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:8192,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5-nano":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o1-mini":{maxInputTokens:128e3,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:65536,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4o":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0}};function e0(e,t){return typeof e=="string"?{model:e,...t??{}}:e??t}var t0=class extends Pa{temperature;topP;frequencyPenalty;presencePenalty;n;logitBias;model="gpt-3.5-turbo";modelKwargs;stop;stopSequences;user;timeout;streaming=!1;streamUsage=!0;maxTokens;logprobs;topLogprobs;apiKey;organization;__includeRawResponse;client;clientConfig;supportsStrictToolCalling;audio;modalities;reasoning;zdrEnabled;service_tier;promptCacheKey;promptCacheRetention;verbosity;defaultOptions;_llmType(){return"openai"}static lc_name(){return"ChatOpenAI"}get callKeys(){return[...super.callKeys,"options","function_call","functions","tools","tool_choice","promptIndex","response_format","seed","reasoning","reasoning_effort","service_tier"]}lc_serializable=!0;get lc_secrets(){return{apiKey:"OPENAI_API_KEY",organization:"OPENAI_ORGANIZATION"}}get lc_aliases(){return{apiKey:"openai_api_key",modelName:"model"}}get lc_serializable_keys(){return["configuration","logprobs","topLogprobs","prefixMessages","supportsStrictToolCalling","modalities","audio","temperature","maxTokens","topP","frequencyPenalty","presencePenalty","n","logitBias","user","streaming","streamUsage","model","modelName","modelKwargs","stop","stopSequences","timeout","apiKey","cache","maxConcurrency","maxRetries","verbose","callbacks","tags","metadata","disableStreaming","zdrEnabled","reasoning","promptCacheKey","promptCacheRetention","verbosity"]}getLsParams(e){let t=this.invocationParams(e);return{ls_provider:"openai",ls_model_name:this.model,ls_model_type:"chat",ls_temperature:t.temperature??void 0,ls_max_tokens:t.max_tokens??void 0,ls_stop:e.stop}}_identifyingParams(){return{model_name:this.model,...this.invocationParams(),...this.clientConfig}}identifyingParams(){return this._identifyingParams()}constructor(e){super(e??{});let t=typeof e?.configuration?.apiKey=="string"||typeof e?.configuration?.apiKey=="function"?e?.configuration?.apiKey:void 0;this.apiKey=e?.apiKey??t??rr("OPENAI_API_KEY"),this.organization=e?.configuration?.organization??rr("OPENAI_ORGANIZATION"),this.model=e?.model??e?.modelName??this.model,this.modelKwargs=e?.modelKwargs??{},this.timeout=e?.timeout,this.temperature=e?.temperature??this.temperature,this.topP=e?.topP??this.topP,this.frequencyPenalty=e?.frequencyPenalty??this.frequencyPenalty,this.presencePenalty=e?.presencePenalty??this.presencePenalty,this.logprobs=e?.logprobs,this.topLogprobs=e?.topLogprobs,this.n=e?.n??this.n,this.logitBias=e?.logitBias,this.stop=e?.stopSequences??e?.stop,this.stopSequences=this.stop,this.user=e?.user,this.__includeRawResponse=e?.__includeRawResponse,this.audio=e?.audio,this.modalities=e?.modalities,this.reasoning=e?.reasoning,this.maxTokens=e?.maxCompletionTokens??e?.maxTokens,this.promptCacheKey=e?.promptCacheKey??this.promptCacheKey,this.promptCacheRetention=e?.promptCacheRetention??this.promptCacheRetention,this.verbosity=e?.verbosity??this.verbosity,this.disableStreaming=e?.disableStreaming===!0,this.streaming=e?.streaming===!0,this.disableStreaming&&(this.streaming=!1),e?.streaming===!1&&(this.disableStreaming=!0),this.streamUsage=e?.streamUsage??this.streamUsage,this.disableStreaming&&(this.streamUsage=!1),this.clientConfig={apiKey:this.apiKey,organization:this.organization,dangerouslyAllowBrowser:!0,...e?.configuration},e?.supportsStrictToolCalling!==void 0&&(this.supportsStrictToolCalling=e.supportsStrictToolCalling),e?.service_tier!==void 0&&(this.service_tier=e.service_tier),this.zdrEnabled=e?.zdrEnabled??!1,this._addVersion("@langchain/openai","1.3.0")}_getReasoningParams(e){if(!au(this.model))return;let t;return this.reasoning!==void 0&&(t={...t,...this.reasoning}),e?.reasoning!==void 0&&(t={...t,...e.reasoning}),e?.reasoningEffort!==void 0&&t?.effort===void 0&&(t={...t,effort:e.reasoningEffort}),t}_getResponseFormat(e){return e&&e.type==="json_schema"&&e.json_schema.schema&&In(e.json_schema.schema)?_q(e.json_schema.schema,e.json_schema.name,{description:e.json_schema.description}):e}_combineCallOptions(e){return{...this.defaultOptions,...e??{}}}_getClientOptions(e){if(!this.client){let t=PF({baseURL:this.clientConfig.baseURL}),n={...this.clientConfig,baseURL:t,timeout:this.timeout,maxRetries:0};n.baseURL||delete n.baseURL,n.defaultHeaders=MF(n.defaultHeaders),this.client=new be(n)}return{...this.clientConfig,...e}}_convertChatOpenAIToolToCompletionsTool(e,t){return ap(e)?WF(e.metadata.customTool):r_(e)?t?.strict!==void 0?{...e,function:{...e.function,strict:t.strict}}:e:LF(e,t)}bindTools(e,t){let n;return t?.strict!==void 0?n=t.strict:this.supportsStrictToolCalling!==void 0&&(n=this.supportsStrictToolCalling),this.withConfig({tools:e.map(r=>{if(V_(r)||ap(r))return r;if(DF(r))return r.extras.providerToolDefinition;let s=this._convertChatOpenAIToolToCompletionsTool(r,{strict:n});return tu(r)&&r.extras?.defer_loading===!0?{...s,defer_loading:!0}:s}),...t})}async stream(e,t){return super.stream(e,this._combineCallOptions(t))}async invoke(e,t){return super.invoke(e,this._combineCallOptions(t))}_combineLLMOutput(...e){return e.reduce((t,n)=>(n&&n.tokenUsage&&(t.tokenUsage.completionTokens+=n.tokenUsage.completionTokens??0,t.tokenUsage.promptTokens+=n.tokenUsage.promptTokens??0,t.tokenUsage.totalTokens+=n.tokenUsage.totalTokens??0),t),{tokenUsage:{completionTokens:0,promptTokens:0,totalTokens:0}})}async getNumTokensFromMessages(e){let t=0,n=0,r=0;this.model==="gpt-3.5-turbo-0301"?(n=4,r=-1):(n=3,r=1);let s=await Promise.all(e.map(async a=>{let[i,o]=await Promise.all([this.getNumTokens(a.content),this.getNumTokens(iu(a))]),c=a.name!==void 0?r+await this.getNumTokens(a.name):0,u=i+n+o+c,l=a;if(l._getType()==="function"&&(u-=2),l.additional_kwargs?.function_call&&(u+=3),l?.additional_kwargs.function_call?.name&&(u+=await this.getNumTokens(l.additional_kwargs.function_call?.name)),l.additional_kwargs.function_call?.arguments)try{u+=await this.getNumTokens(JSON.stringify(JSON.parse(l.additional_kwargs.function_call?.arguments)))}catch(d){console.error("Error parsing function arguments",d,JSON.stringify(l.additional_kwargs.function_call)),u+=await this.getNumTokens(l.additional_kwargs.function_call?.arguments)}return t+=u,u}));return t+=3,{totalCount:t,countPerMessage:s}}async _getNumTokensFromGenerations(e){return(await Promise.all(e.map(async t=>t.message.additional_kwargs?.function_call?(await this.getNumTokensFromMessages([t.message])).countPerMessage[0]:await this.getNumTokens(t.message.content)))).reduce((t,n)=>t+n,0)}async _getEstimatedTokenCountFromPrompt(e,t,n){let r=(await this.getNumTokensFromMessages(e)).totalCount;if(t&&n!=="auto"){let s=UF(t);r+=await this.getNumTokens(s),r+=9}return t&&e.find(s=>s._getType()==="system")&&(r-=4),n==="none"?r+=1:typeof n=="object"&&(r+=await this.getNumTokens(n.name)+4),r}async moderateContent(e,t){let n=this._getClientOptions(t?.options),r={input:e,model:t?.model??"omni-moderation-latest"};return this.caller.call(async()=>{try{return await this.client.moderations.create(r,n)}catch(s){throw Z_(s)}})}get profile(){return wq[this.model]??{}}_getStructuredOutputMethod(e){let t={...e};if(!this.model.startsWith("gpt-3")&&!this.model.startsWith("gpt-4-")&&this.model!=="gpt-4"){if(t?.method===void 0)return"jsonSchema"}else t.method==="jsonSchema"&&console.warn(`[WARNING]: JSON Schema is not supported for model "${this.model}". Falling back to tool calling.`);return t.method}withStructuredOutput(e,t){let n,r,{schema:s,name:a,includeRaw:i}={...t,schema:e};if(t?.strict!==void 0&&t.method==="jsonMode")throw new Error("Argument `strict` is only supported for `method` = 'function_calling'");let o=gq(this.model,t?.method);if(o==="jsonMode"){r=og(s);let c=It(s);n=this.withConfig({outputVersion:"v0",response_format:{type:"json_object"},ls_structured_output_format:{kwargs:{method:"json_mode"},schema:{title:a??"extract",...c}}})}else if(o==="jsonSchema"){let c=It(s),u={name:a??"extract",description:Ti(c),schema:In(s)?s:c,strict:t?.strict};if(n=this.withConfig({outputVersion:"v0",response_format:{type:"json_schema",json_schema:u},ls_structured_output_format:{kwargs:{method:"json_schema"},schema:{title:u.name,description:u.description,...c}}}),In(s)||ha(s)){let l=og(s);r=lr.from(async d=>"parsed"in d.additional_kwargs?d.additional_kwargs.parsed:l.invoke(d.content))}else r=new i_}else{let c=a??"extract",u=It(s),l;In(s)||ha(s)?l={name:c,description:u.description,parameters:u}:typeof s.name=="string"&&typeof s.parameters=="object"&&s.parameters!=null?(l=s,c=s.name):(c=s.title??c,l={name:c,description:s.description??"",parameters:s}),n=this.withConfig({outputVersion:"v0",tools:[{type:"function",function:l}],tool_choice:{type:"function",function:{name:c}},ls_structured_output_format:{kwargs:{method:"function_calling"},schema:{title:c,...u}},...t?.strict!==void 0?{strict:t.strict}:{}}),r=FO(s,c)}return c_(n,r,i)}},SE={providerName:"ChatOpenAI",fromStandardTextBlock(e){return{type:"text",text:e.text}},fromStandardImageBlock(e){if(e.source_type==="url")return{type:"image_url",image_url:{url:e.url,...e.metadata?.detail?{detail:e.metadata.detail}:{}}};if(e.source_type==="base64")return{type:"image_url",image_url:{url:`data:${e.mime_type??""};base64,${e.data}`,...e.metadata?.detail?{detail:e.metadata.detail}:{}}};throw new Error(`Image content blocks with source_type ${e.source_type} are not supported for ChatOpenAI`)},fromStandardAudioBlock(e){if(e.source_type==="url"){let t=Ko({dataUrl:e.url});if(!t)throw new Error(`URL audio blocks with source_type ${e.source_type} must be formatted as a data URL for ChatOpenAI`);let n=t.mime_type||e.mime_type||"",r;try{r=om(n)}catch{throw new Error(`Audio blocks with source_type ${e.source_type} must have mime type of audio/wav or audio/mp3`)}if(r.type!=="audio"||r.subtype!=="wav"&&r.subtype!=="mp3")throw new Error(`Audio blocks with source_type ${e.source_type} must have mime type of audio/wav or audio/mp3`);return{type:"input_audio",input_audio:{format:r.subtype,data:t.data}}}if(e.source_type==="base64"){let t;try{t=om(e.mime_type??"")}catch{throw new Error(`Audio blocks with source_type ${e.source_type} must have mime type of audio/wav or audio/mp3`)}if(t.type!=="audio"||t.subtype!=="wav"&&t.subtype!=="mp3")throw new Error(`Audio blocks with source_type ${e.source_type} must have mime type of audio/wav or audio/mp3`);return{type:"input_audio",input_audio:{format:t.subtype,data:e.data}}}throw new Error(`Audio content blocks with source_type ${e.source_type} are not supported for ChatOpenAI`)},fromStandardFileBlock(e){if(e.source_type==="url"){let t=Ko({dataUrl:e.url}),n=rp(e);if(!t)throw new Error(`URL file blocks with source_type ${e.source_type} must be formatted as a data URL for ChatOpenAI`);return{type:"file",file:{file_data:e.url,...e.metadata?.filename||e.metadata?.name?{filename:n}:{}}}}if(e.source_type==="base64"){let t=rp(e);return{type:"file",file:{file_data:`data:${e.mime_type??""};base64,${e.data}`,...e.metadata?.filename||e.metadata?.name||e.metadata?.title?{filename:t}:{}}}}if(e.source_type==="id")return{type:"file",file:{file_id:e.id}};throw new Error(`File content blocks with source_type ${e.source_type} are not supported for ChatOpenAI`)}},bq=({message:e,rawResponse:t,includeRawResponse:n})=>{let r=e.tool_calls;switch(e.role){case"assistant":{let s=[],a=[];for(let c of r??[])try{s.push(Dp(c,{returnId:!0}))}catch(u){a.push(Zo(c,u.message))}let i={function_call:e.function_call,tool_calls:r};n!==void 0&&(i.__raw_response=t);let o={model_provider:"openai",model_name:t.model,...t.system_fingerprint?{usage:{...t.usage},system_fingerprint:t.system_fingerprint}:{}};return e.audio&&(i.audio=e.audio),new Ke({content:vq(e.content||"",t.choices?.[0]?.message),tool_calls:s,invalid_tool_calls:a,additional_kwargs:i,response_metadata:o,id:t.id})}default:return new Kr(e.content||"",e.role??"unknown")}},kq=({delta:e,rawResponse:t,includeRawResponse:n,defaultRole:r})=>{let s=e.role??r,a=e.content??"",i;e.function_call?i={function_call:e.function_call}:e.tool_calls?i={tool_calls:e.tool_calls}:i={},n&&(i.__raw_response=t),e.audio&&(i.audio={...e.audio,index:t.choices[0].index});let o={model_provider:"openai",usage:{...t.usage}};if(s==="user")return new Vc({content:a,response_metadata:o});if(s==="assistant"){let c=[];if(Array.isArray(e.tool_calls))for(let u of e.tool_calls)c.push({name:u.function?.name,args:u.function?.arguments,id:u.id,index:u.index,type:"tool_call_chunk"});return new mn({content:a,tool_call_chunks:c,additional_kwargs:i,id:t.id,response_metadata:o})}else return s==="system"?new ws({content:a,response_metadata:o}):s==="developer"?new ws({content:a,response_metadata:o,additional_kwargs:{__openai_role__:"developer"}}):s==="function"?new Zc({content:a,additional_kwargs:i,name:e.name,response_metadata:o}):s==="tool"?new Fc({content:a,additional_kwargs:i,tool_call_id:e.tool_call_id,response_metadata:o}):new Bc({content:a,role:s,response_metadata:o})},xq=e=>{if(e.type==="image"){if(e.url)return{type:"image_url",image_url:{url:e.url}};if(e.data)return{type:"image_url",image_url:{url:`data:${e.mimeType};base64,${e.data}`}}}if(e.type==="audio"&&e.data){let t=jk(()=>{let[,n]=e.mimeType.split("/");return n==="wav"||n==="mp3"?n:"wav"});return{type:"input_audio",input_audio:{data:e.data.toString(),format:t}}}if(e.type==="file"){if(e.data){let t=rp(e);return{type:"file",file:{file_data:`data:${e.mimeType};base64,${e.data}`,filename:t}}}if(e.fileId)return{type:"file",file:{file_id:e.fileId}}}},Oq=({message:e,model:t})=>{let n=iu(e);if(n==="system"&&au(t)&&(n="developer"),n==="developer")return{role:"developer",content:e.contentBlocks.filter(s=>s.type==="text")};if(n==="system")return{role:"system",content:e.contentBlocks.filter(s=>s.type==="text")};if(n==="assistant")return{role:"assistant",content:e.contentBlocks.filter(s=>s.type==="text")};if(n==="tool"&&Mn.isInstance(e))return{role:"tool",tool_call_id:e.tool_call_id,content:e.contentBlocks.filter(s=>s.type==="text")};if(n==="function")return{role:"function",name:e.name??"",content:e.contentBlocks.filter(s=>s.type==="text").join("")};function*r(s){for(let a of s){a.type==="text"&&(yield{type:"text",text:a.text});let i=xq(a);i&&(yield i)}}return{role:"user",content:Array.from(r(e.contentBlocks))}},G1=({messages:e,model:t})=>e.flatMap(n=>{if("output_version"in n.response_metadata&&n.response_metadata?.output_version==="v1")return Oq({message:n});let r=iu(n);r==="system"&&au(t)&&(r="developer");let s=typeof n.content=="string"?n.content:n.content.flatMap(i=>Sr(i)?yy(i,SE):typeof i=="object"&&i!==null&&"type"in i&&i.type==="tool_use"?[]:i),a={role:r,content:s};return n.name!=null&&(a.name=n.name),n.additional_kwargs.function_call!=null&&(a.function_call=n.additional_kwargs.function_call),Ke.isInstance(n)&&n.tool_calls?.length?a.tool_calls=n.tool_calls.map(zO):(n.additional_kwargs.tool_calls!=null&&(a.tool_calls=n.additional_kwargs.tool_calls),Mn.isInstance(n)&&n.tool_call_id!=null&&(a.tool_call_id=n.tool_call_id)),n.additional_kwargs.audio&&typeof n.additional_kwargs.audio=="object"&&"id"in n.additional_kwargs.audio?[a,{role:"assistant",audio:{id:n.additional_kwargs.audio.id}}]:a}),Sq=class extends t0{constructor(e,t){super(e0(e,t))}invocationParams(e,t){let n;e?.strict!==void 0?n=e.strict:this.supportsStrictToolCalling!==void 0&&(n=this.supportsStrictToolCalling);let r={};e?.stream_options!==void 0?r={stream_options:e.stream_options}:this.streamUsage&&(this.streaming||t?.streaming)&&(r={stream_options:{include_usage:!0}});let s={model:this.model,temperature:this.temperature,top_p:this.topP,frequency_penalty:this.frequencyPenalty,presence_penalty:this.presencePenalty,logprobs:this.logprobs,top_logprobs:this.topLogprobs,n:this.n,logit_bias:this.logitBias,stop:e?.stop??this.stopSequences,user:this.user,stream:this.streaming,functions:e?.functions,function_call:e?.function_call,tools:e?.tools?.length?e.tools.map(i=>this._convertChatOpenAIToolToCompletionsTool(i,{strict:n})):void 0,tool_choice:AI(e?.tool_choice),response_format:this._getResponseFormat(e?.response_format),seed:e?.seed,...r,parallel_tool_calls:e?.parallel_tool_calls,...this.audio||e?.audio?{audio:this.audio||e?.audio}:{},...this.modalities||e?.modalities?{modalities:this.modalities||e?.modalities}:{},...this.modelKwargs,prompt_cache_key:e?.promptCacheKey??this.promptCacheKey,prompt_cache_retention:e?.promptCacheRetention??this.promptCacheRetention,verbosity:e?.verbosity??this.verbosity};e?.prediction!==void 0&&(s.prediction=e.prediction),this.service_tier!==void 0&&(s.service_tier=this.service_tier),e?.service_tier!==void 0&&(s.service_tier=e.service_tier);let a=this._getReasoningParams(e);return a!==void 0&&a.effort!==void 0&&(s.reasoning_effort=a.effort),au(s.model)?s.max_completion_tokens=this.maxTokens===-1?void 0:this.maxTokens:s.max_tokens=this.maxTokens===-1?void 0:this.maxTokens,s}async _generate(e,t,n){t.signal?.throwIfAborted();let r={},s=this.invocationParams(t),a=G1({messages:e,model:this.model});if(s.stream){let i=this._streamResponseChunks(e,t,n),o={};for await(let h of i){h.message.response_metadata={...h.generationInfo,...h.message.response_metadata};let f=h.generationInfo?.completion??0;o[f]===void 0?o[f]=h:o[f]=o[f].concat(h)}let c=Object.entries(o).sort(([h],[f])=>parseInt(h,10)-parseInt(f,10)).map(([h,f])=>f),{functions:u,function_call:l}=this.invocationParams(t),d=await this._getEstimatedTokenCountFromPrompt(e,u,l),p=await this._getNumTokensFromGenerations(c);return r.input_tokens=d,r.output_tokens=p,r.total_tokens=d+p,{generations:c,llmOutput:{estimatedTokenUsage:{promptTokens:r.input_tokens,completionTokens:r.output_tokens,totalTokens:r.total_tokens}}}}else{let i=await this.completionWithRetry({...s,stream:!1,messages:a},{signal:t?.signal,...t?.options}),{completion_tokens:o,prompt_tokens:c,total_tokens:u,prompt_tokens_details:l,completion_tokens_details:d}=i?.usage??{};o&&(r.output_tokens=(r.output_tokens??0)+o),c&&(r.input_tokens=(r.input_tokens??0)+c),u&&(r.total_tokens=(r.total_tokens??0)+u),(l?.audio_tokens!==null||l?.cached_tokens!==null)&&(r.input_token_details={...l?.audio_tokens!==null&&{audio:l?.audio_tokens},...l?.cached_tokens!==null&&{cache_read:l?.cached_tokens}}),(d?.audio_tokens!==null||d?.reasoning_tokens!==null)&&(r.output_token_details={...d?.audio_tokens!==null&&{audio:d?.audio_tokens},...d?.reasoning_tokens!==null&&{reasoning:d?.reasoning_tokens}});let p=[];for(let h of i?.choices??[]){let f={text:h.message?.content??"",message:this._convertCompletionsMessageToBaseMessage(h.message??{role:"assistant"},i)};f.generationInfo={...h.finish_reason?{finish_reason:h.finish_reason}:{},...h.logprobs?{logprobs:h.logprobs}:{}},kp(f.message)&&(f.message.usage_metadata=r),f.message=new Ke(Object.fromEntries(Object.entries(f.message).filter(([m])=>!m.startsWith("lc_")))),p.push(f)}return{generations:p,llmOutput:{tokenUsage:{promptTokens:r.input_tokens,completionTokens:r.output_tokens,totalTokens:r.total_tokens}}}}}async*_streamResponseChunks(e,t,n){let r=G1({messages:e,model:this.model}),s={...this.invocationParams(t,{streaming:!0}),messages:r,stream:!0},a,i=await this.completionWithRetry(s,t),o;for await(let c of i){if(t.signal?.aborted)return;let u=c?.choices?.[0];if(c.usage&&(o=c.usage),!u)continue;let{delta:l}=u;if(!l)continue;let d=this._convertCompletionsDeltaToBaseMessageChunk(l,c,a);a=l.role??a;let p={prompt:t.promptIndex??0,completion:u.index??0};if(typeof d.content!="string"){console.log("[WARNING]: Received non-string content from OpenAI. This is currently not supported.");continue}let h={...p};u.finish_reason!=null&&(h.finish_reason=u.finish_reason,h.system_fingerprint=c.system_fingerprint,h.model_name=c.model,h.service_tier=c.service_tier),this.logprobs&&(h.logprobs=u.logprobs);let f=new Wr({message:d,text:d.content,generationInfo:h});yield f,await n?.handleLLMNewToken(f.text??"",p,void 0,void 0,void 0,{chunk:f})}if(o){let c={...o.prompt_tokens_details?.audio_tokens!==null&&{audio:o.prompt_tokens_details?.audio_tokens},...o.prompt_tokens_details?.cached_tokens!==null&&{cache_read:o.prompt_tokens_details?.cached_tokens}},u={...o.completion_tokens_details?.audio_tokens!==null&&{audio:o.completion_tokens_details?.audio_tokens},...o.completion_tokens_details?.reasoning_tokens!==null&&{reasoning:o.completion_tokens_details?.reasoning_tokens}},l=new Wr({message:new mn({content:"",response_metadata:{usage:{...o}},usage_metadata:{input_tokens:o.prompt_tokens,output_tokens:o.completion_tokens,total_tokens:o.total_tokens,...Object.keys(c).length>0&&{input_token_details:c},...Object.keys(u).length>0&&{output_token_details:u}}}),text:""});yield l,await n?.handleLLMNewToken(l.text??"",{prompt:0,completion:0},void 0,void 0,void 0,{chunk:l})}if(t.signal?.aborted)throw new Error("AbortError")}async completionWithRetry(e,t){let n=this._getClientOptions(t),r=e.response_format&&e.response_format.type==="json_schema";return this.caller.call(async()=>{try{return r&&!e.stream?await this.client.chat.completions.parse(e,n):await this.client.chat.completions.create(e,n)}catch(s){throw Z_(s)}})}_convertCompletionsDeltaToBaseMessageChunk(e,t,n){return kq({delta:e,rawResponse:t,includeRawResponse:this.__includeRawResponse,defaultRole:n})}_convertCompletionsMessageToBaseMessage(e,t){return bq({message:e,rawResponse:t,includeRawResponse:this.__includeRawResponse})}},gp="__openai_function_call_ids__";function TE(e){return e.type==="url_citation"?{type:"citation",source:"url_citation",url:e.url,title:e.title,startIndex:e.start_index,endIndex:e.end_index}:e.type==="file_citation"?{type:"citation",source:"file_citation",title:e.filename,startIndex:e.index,file_id:e.file_id}:e.type==="container_file_citation"?{type:"citation",source:"container_file_citation",title:e.filename,startIndex:e.start_index,endIndex:e.end_index,file_id:e.file_id,container_id:e.container_id}:e.type==="file_path"?{type:"citation",source:"file_path",startIndex:e.index,file_id:e.file_id}:{type:"non_standard",value:e}}function Tq(e){if(e.type==="url_citation"||e.type==="file_citation"||e.type==="container_file_citation"||e.type==="file_path")return e;if(e.type==="citation"){let t=e;if(t.source==="url_citation")return{type:"url_citation",url:t.url??"",title:t.title??"",start_index:t.startIndex??0,end_index:t.endIndex??0};if(t.source==="file_citation")return{type:"file_citation",file_id:t.file_id??"",filename:t.title??"",index:t.startIndex??0};if(t.source==="container_file_citation")return{type:"container_file_citation",file_id:t.file_id??"",filename:t.title??"",container_id:t.container_id??"",start_index:t.startIndex??0,end_index:t.endIndex??0};if(t.source==="file_path")return{type:"file_path",file_id:t.file_id??"",index:t.startIndex??0}}return e.type==="non_standard"?e.value:e}var IE=e=>{let t={...e?.input_tokens_details?.cached_tokens!=null&&{cache_read:e?.input_tokens_details?.cached_tokens}},n={...e?.output_tokens_details?.reasoning_tokens!=null&&{reasoning:e?.output_tokens_details?.reasoning_tokens}};return{input_tokens:e?.input_tokens??0,output_tokens:e?.output_tokens??0,total_tokens:e?.total_tokens??0,input_token_details:t,output_token_details:n}},EE=e=>{if(e.error){let c=new Error(e.error.message);throw c.name=e.error.code,c}let t,n=[],r=[],s=[],a=e.output.map(c=>{if(c.type==="function_call"&&"parsed_arguments"in c){let u={...c};return delete u.parsed_arguments,u}return c}),i={model_provider:"openai",model:e.model,created_at:e.created_at,id:e.id,incomplete_details:e.incomplete_details,metadata:e.metadata,object:e.object,output:a,status:e.status,user:e.user,service_tier:e.service_tier,model_name:e.model},o={};for(let c of e.output)if(c.type==="message")t=c.id,n.push(...c.content.flatMap(u=>u.type==="output_text"?("parsed"in u&&u.parsed!=null&&(o.parsed=u.parsed),{type:"text",text:u.text,annotations:u.annotations.map(TE)}):u.type==="refusal"?(o.refusal=u.refusal,[]):u));else if(c.type==="function_call"){let u={function:{name:c.name,arguments:c.arguments},id:c.call_id};try{r.push(Dp(u,{returnId:!0}))}catch(l){let d;typeof l=="object"&&l!=null&&"message"in l&&typeof l.message=="string"&&(d=l.message),s.push(Zo(u,d))}o[gp]??={},c.id&&(o[gp][c.call_id]=c.id)}else if(c.type==="reasoning"){o.reasoning=c;let u=c.summary?.map(l=>l.text).filter(Boolean).join("");u&&n.push({type:"reasoning",reasoning:u})}else if(c.type==="custom_tool_call"){let u=BF(c);u?r.push(u):s.push(Zo(c,"Malformed custom tool call"))}else if(c.type==="computer_call"){let u=ZF(c);u?r.push(u):s.push(Zo(c,"Malformed computer call"))}else c.type==="image_generation_call"?(c.result&&n.push({type:"image",mimeType:"image/png",data:c.result,id:c.id,metadata:{status:c.status}}),o.tool_outputs??=[],o.tool_outputs.push(c)):(o.tool_outputs??=[],o.tool_outputs.push(c));return new Ke({id:t,content:n,tool_calls:r,invalid_tool_calls:s,usage_metadata:IE(e.usage),additional_kwargs:o,response_metadata:i})},Iq=e=>{let t=(e.summary.length>1?e.summary.reduce((n,r)=>{let s=n[n.length-1];return s.index===r.index?s.text+=r.text:n.push(r),n},[{...e.summary[0]}]):e.summary).map(n=>Object.fromEntries(Object.entries(n).filter(([r])=>r!=="index")));return{...e,summary:t}},Eq=e=>{let t=[],n={},r,s=[],a={model_provider:"openai"},i={},o;if(e.type==="response.output_text.delta")t.push({type:"text",text:e.delta,index:e.content_index});else if(e.type==="response.output_text.annotation.added")t.push({type:"text",text:"",annotations:[TE(e.annotation)],index:e.content_index});else if(e.type==="response.output_item.added"&&e.item.type==="message")o=e.item.id;else if(e.type==="response.output_item.added"&&e.item.type==="function_call")s.push({type:"tool_call_chunk",name:e.item.name,args:e.item.arguments,id:e.item.call_id,index:e.output_index}),i[gp]={[e.item.call_id]:e.item.id};else if(e.type==="response.output_item.done"&&e.item.type==="computer_call")s.push({type:"tool_call_chunk",name:"computer_use",args:JSON.stringify({action:e.item.action}),id:e.item.call_id,index:e.output_index}),i.tool_outputs=[e.item];else if(e.type==="response.output_item.done"&&e.item.type==="image_generation_call")e.item.result&&t.push({type:"image",mimeType:"image/png",data:e.item.result,id:e.item.id,metadata:{status:e.item.status}}),i.tool_outputs=[e.item];else if(e.type==="response.output_item.done"&&["web_search_call","file_search_call","code_interpreter_call","shell_call","local_shell_call","mcp_call","mcp_list_tools","mcp_approval_request","custom_tool_call","tool_search_call","tool_search_output"].includes(e.item.type))i.tool_outputs=[e.item];else if(e.type==="response.created")a.id=e.response.id,a.model_name=e.response.model,a.model=e.response.model;else if(e.type==="response.completed"){let c=EE(e.response);r=IE(e.response.usage),e.response.text?.format?.type==="json_schema"&&(i.parsed??=JSON.parse(c.text));for(let[u,l]of Object.entries(e.response))u!=="id"&&(u==="output"?a[u]=c.response_metadata.output:a[u]=l)}else if(e.type==="response.function_call_arguments.delta"||e.type==="response.custom_tool_call_input.delta")s.push({type:"tool_call_chunk",args:e.delta,index:e.output_index});else if(e.type==="response.web_search_call.completed"||e.type==="response.file_search_call.completed")n={tool_outputs:{id:e.item_id,type:e.type.replace("response.","").replace(".completed",""),status:"completed"}};else if(e.type==="response.refusal.done")i.refusal=e.refusal;else if(e.type==="response.output_item.added"&&"item"in e&&e.item.type==="reasoning"){let c=e.item.summary?e.item.summary.map((l,d)=>({...l,index:d})):void 0;i.reasoning={id:e.item.id,type:e.item.type,...c?{summary:c}:{}};let u=e.item.summary?.map(l=>l.text).filter(Boolean).join("");u&&t.push({type:"reasoning",reasoning:u})}else if(e.type==="response.reasoning_summary_part.added")i.reasoning={type:"reasoning",summary:[{...e.part,index:e.summary_index}]},e.part.text&&t.push({type:"reasoning",reasoning:e.part.text});else if(e.type==="response.reasoning_summary_text.delta")i.reasoning={type:"reasoning",summary:[{text:e.delta,type:"summary_text",index:e.summary_index}]},e.delta&&t.push({type:"reasoning",reasoning:e.delta});else return e.type,null;return new Wr({text:t.map(c=>c.text).join(""),message:new mn({id:o,content:t,tool_call_chunks:s,usage_metadata:r,additional_kwargs:i,response_metadata:a}),generationInfo:n})},Aq=e=>{let t=Ke.isInstance(e)&&e.response_metadata?.model_provider==="openai";function*n(){let r=da(()=>{try{let g=iu(e);return g==="system"||g==="developer"||g==="assistant"||g==="user"?g:"assistant"}catch{return"assistant"}}),s,a=new Set,i=new Set,o=new Map,c=new Map;function*u(){if(!s)return;let g=s.content;(typeof g=="string"&&g.length>0||Array.isArray(g)&&g.length>0)&&(yield s),s=void 0}let l=g=>{s||(s={type:"message",role:r,content:[]}),typeof s.content=="string"?s.content=s.content.length>0?[{type:"input_text",text:s.content},...g]:[...g]:s.content.push(...g)},d=g=>{if(typeof g=="string")return g;try{return JSON.stringify(g??{})}catch{return"{}"}},p=g=>{let y=da(()=>{let k=g.metadata?.detail;return k==="low"||k==="high"||k==="auto"?k:"auto"});if(g.fileId)return{type:"input_image",detail:y,file_id:g.fileId};if(g.url)return{type:"input_image",detail:y,image_url:g.url};if(g.data){let k=typeof g.data=="string"?g.data:Buffer.from(g.data).toString("base64");return{type:"input_image",detail:y,image_url:`data:${g.mimeType??"image/png"};base64,${k}`}}},h=g=>{if(g.fileId){let y=_1(g);return{type:"input_file",file_id:g.fileId,...y?{filename:y}:{}}}if(g.url){let y=_1(g);return{...y?{filename:y}:{},type:"input_file",file_url:g.url}}if(g.data){let y=rp(g),k=typeof g.data=="string"?g.data:Buffer.from(g.data).toString("base64");return{type:"input_file",file_data:`data:${g.mimeType??"application/octet-stream"};base64,${k}`,...y?{filename:y}:{}}}},f=g=>{let y=da(()=>{if(Array.isArray(g.summary)){let S=g.summary?.map(E=>E?.text).filter(E=>typeof E=="string")??[];if(S.length>0)return S}return g.reasoning?[g.reasoning]:[]}),k=y.length>0?y.map(S=>({type:"summary_text",text:S})):[{type:"summary_text",text:""}],x={type:"reasoning",id:g.id??"",summary:k};return g.reasoning&&(x.content=[{type:"reasoning_text",text:g.reasoning}]),x},m=g=>({type:"function_call",name:g.name??"",call_id:g.id??"",arguments:d(g.args)}),v=g=>{let y=d(g.output),k=g.status==="success"?"completed":g.status==="error"?"incomplete":void 0;return{type:"function_call_output",call_id:g.toolCallId??"",output:y,...k?{status:k}:{}}};for(let g of e.contentBlocks)if(g.type==="text")l([{type:"input_text",text:g.text}]);else if(g.type!=="invalid_tool_call"){if(g.type==="reasoning")yield*u(),yield f(g);else if(g.type==="tool_call"){yield*u();let y=g.id??"";y&&(a.add(y),o.delete(y)),yield m(g)}else if(g.type==="tool_call_chunk"){if(g.id){let y=o.get(g.id)??{name:g.name,args:[]};g.name&&(y.name=g.name),g.args&&y.args.push(g.args),o.set(g.id,y)}}else if(g.type==="server_tool_call"){yield*u();let y=g.id??"";y&&(i.add(y),c.delete(y)),yield m(g)}else if(g.type==="server_tool_call_chunk"){if(g.id){let y=c.get(g.id)??{name:g.name,args:[]};g.name&&(y.name=g.name),g.args&&y.args.push(g.args),c.set(g.id,y)}}else if(g.type==="server_tool_call_result")yield*u(),yield v(g);else if(g.type!=="audio")if(g.type==="file"){let y=h(g);y&&l([y])}else if(g.type==="image"){let y=p(g);y&&l([y])}else if(g.type==="video"){let y=h(g);y&&l([y])}else g.type==="text-plain"?g.text&&l([{type:"input_text",text:g.text}]):g.type==="non_standard"&&t&&(yield*u(),yield g.value)}yield*u();for(let[g,y]of o){if(!g||a.has(g))continue;let k=y.args.join("");!y.name&&!k||(yield{type:"function_call",call_id:g,name:y.name??"",arguments:k})}for(let[g,y]of c){if(!g||i.has(g))continue;let k=y.args.join("");!y.name&&!k||(yield{type:"function_call",call_id:g,name:y.name??"",arguments:k})}}return Array.from(n())},K1=({messages:e,zdrEnabled:t,model:n})=>e.flatMap(r=>{let s=r.response_metadata;if(s?.output_version==="v1")return Aq(r);let a=r.additional_kwargs,i=iu(r);if(i==="system"&&au(n)&&(i="developer"),i==="function")throw new Error("Function messages are not supported in Responses API");if(i==="tool"){let o=r;if(a?.type==="computer_call_output")return{type:"computer_call_output",output:(()=>{if(typeof o.content=="string")return{type:"input_image",image_url:o.content};if(Array.isArray(o.content)){let u=o.content.find(p=>p.type==="input_image");if(u)return u;let l=o.content.find(p=>p.type==="computer_screenshot");if(l)return l;let d=o.content.find(p=>p.type==="image_url");if(d)return{type:"input_image",image_url:typeof d.image_url=="string"?d.image_url:d.image_url.url}}throw new Error("Invalid computer call output")})(),call_id:o.tool_call_id};if(o.additional_kwargs?.customTool)return{type:"custom_tool_call_output",call_id:o.tool_call_id,output:o.content};let c=Array.isArray(o.content)&&o.content.every(u=>typeof u=="object"&&u!==null&&"type"in u&&(u.type==="input_file"||u.type==="input_image"||u.type==="input_text"));return{type:"function_call_output",call_id:o.tool_call_id,id:o.id?.startsWith("fc_")?o.id:void 0,output:c?o.content:typeof o.content!="string"?JSON.stringify(o.content):o.content}}if(i==="assistant"){if(!t&&s?.output!=null&&Array.isArray(s?.output)&&s?.output.length>0&&s?.output.every(f=>"type"in f))return s?.output;let o=[],c=a?.reasoning,u=!!c?.encrypted_content;if(c&&(!t||u)){let f=Iq(c);o.push(f)}let{content:l}=r;a?.refusal&&(typeof l=="string"&&(l=[{type:"output_text",text:l,annotations:[]}]),l=[...l,{type:"refusal",refusal:a.refusal}]),(typeof l=="string"||l.length>0)&&o.push({type:"message",role:"assistant",...r.id&&!t&&r.id.startsWith("msg_")?{id:r.id}:{},content:da(()=>typeof l=="string"?l:l.flatMap(f=>{if(f.type==="text"){let m=f;return{type:"output_text",text:m.text,annotations:(m.annotations??[]).map(Tq)}}return f.type==="output_text"||f.type==="refusal"?f:[]}))});let d=a?.[gp];Ke.isInstance(r)&&r.tool_calls?.length?o.push(...r.tool_calls.map(f=>qF(f)?{type:"custom_tool_call",id:f.call_id,call_id:f.id??"",input:f.args.input,name:f.name}:VF(f)?{type:"computer_call",id:f.call_id,call_id:f.id??"",action:f.args.action}:{type:"function_call",name:f.name,arguments:JSON.stringify(f.args),call_id:f.id,...t?{}:{id:d?.[f.id]}})):a?.tool_calls&&o.push(...a.tool_calls.map(f=>({type:"function_call",name:f.function.name,call_id:f.id,arguments:f.function.arguments,...t?{}:{id:d?.[f.id]}})));let p=s?.output?.length?s?.output:a.tool_outputs,h=["computer_call","mcp_call","code_interpreter_call","image_generation_call","shell_call","local_shell_call"];if(p!=null){let f=p?.filter(m=>h.includes(m.type));f.length>0&&o.push(...f)}return o}if(i==="user"||i==="system"||i==="developer"){if(typeof r.content=="string")return{type:"message",role:i,content:r.content};let o=[],c=r.content.flatMap(u=>(u.type==="mcp_approval_response"&&o.push({type:"mcp_approval_response",approval_request_id:u.approval_request_id,approve:u.approve}),Sr(u)?yy(u,SE):u.type==="text"?{type:"input_text",text:u.text}:u.type==="image_url"?{type:"input_image",image_url:da(()=>{if(typeof u.image_url=="string")return u.image_url;if(typeof u.image_url=="object"&&u.image_url!==null&&"url"in u.image_url)return u.image_url.url}),detail:da(()=>{if(typeof u.image_url=="string")return"auto";if(typeof u.image_url=="object"&&u.image_url!==null&&"detail"in u.image_url)return u.image_url.detail})}:u.type==="input_text"||u.type==="input_image"||u.type==="input_file"?u:[]));return c.length>0&&o.push({type:"message",role:i,content:c}),o}return console.warn(`Unsupported role found when converting to OpenAI Responses API: ${i}`),[]}),$q=class extends t0{constructor(e,t){super(e0(e,t))}invocationParams(e){let t;e?.strict!==void 0&&(t=e.strict),t===void 0&&this.supportsStrictToolCalling!==void 0&&(t=this.supportsStrictToolCalling);let n={model:this.model,temperature:this.temperature,top_p:this.topP,user:this.user,service_tier:this.service_tier,stream:this.streaming,previous_response_id:e?.previous_response_id,truncation:e?.truncation,include:e?.include,tools:e?.tools?.length?this._reduceChatOpenAITools(e.tools,{stream:this.streaming,strict:t}):void 0,tool_choice:FF(e?.tool_choice)?e?.tool_choice:(()=>{let s=AI(e?.tool_choice);if(typeof s=="object"&&"type"in s){if(s.type==="function")return{type:"function",name:s.function.name};if(s.type==="allowed_tools")return{type:"allowed_tools",mode:s.allowed_tools.mode,tools:s.allowed_tools.tools};if(s.type==="custom")return{type:"custom",name:s.custom.name}}})(),text:(()=>{if(e?.text)return e.text;let s=this._getResponseFormat(e?.response_format);return s?.type==="json_schema"?s.json_schema.schema!=null?{format:{type:"json_schema",schema:s.json_schema.schema,description:s.json_schema.description,name:s.json_schema.name,strict:s.json_schema.strict},verbosity:e?.verbosity}:void 0:{format:s,verbosity:e?.verbosity}})(),parallel_tool_calls:e?.parallel_tool_calls,max_output_tokens:this.maxTokens===-1?void 0:this.maxTokens,prompt_cache_key:e?.promptCacheKey??this.promptCacheKey,prompt_cache_retention:e?.promptCacheRetention??this.promptCacheRetention,...this.zdrEnabled?{store:!1}:{},...this.modelKwargs},r=this._getReasoningParams(e);return r!==void 0&&(n.reasoning=r),n}async _generate(e,t,n){t.signal?.throwIfAborted();let r=this.invocationParams(t);if(r.stream){let s=this._streamResponseChunks(e,t,n),a;for await(let i of s)i.message.response_metadata={...i.generationInfo,...i.message.response_metadata},a=a?.concat(i)??i;return{generations:a?[a]:[],llmOutput:{estimatedTokenUsage:a?.message?.usage_metadata}}}else{let s=await this.completionWithRetry({input:K1({messages:e,zdrEnabled:this.zdrEnabled??!1,model:this.model}),...r,stream:!1},{signal:t?.signal,...t?.options});return{generations:[{text:s.output_text,message:EE(s)}],llmOutput:{id:s.id,estimatedTokenUsage:s.usage?{promptTokens:s.usage.input_tokens,completionTokens:s.usage.output_tokens,totalTokens:s.usage.total_tokens}:void 0}}}}async*_streamResponseChunks(e,t,n){let r=await this.completionWithRetry({...this.invocationParams(t),input:K1({messages:e,zdrEnabled:this.zdrEnabled??!1,model:this.model}),stream:!0},t);for await(let s of r){if(t.signal?.aborted)return;let a=Eq(s);a!=null&&(yield a,await n?.handleLLMNewToken(a.text||"",{prompt:t.promptIndex??0,completion:0},void 0,void 0,void 0,{chunk:a}))}}async completionWithRetry(e,t){return this.caller.call(async()=>{let n=this._getClientOptions(t);try{return e.text?.format?.type==="json_schema"&&!e.stream?await this.client.responses.parse(e,n):await this.client.responses.create(e,n)}catch(r){throw Z_(r)}})}_reduceChatOpenAITools(e,t){let n=[];for(let r of e)if(V_(r))r.type==="image_generation"&&t?.stream&&(r.partial_images=1),n.push(r);else if(ap(r)){let s=r.metadata.customTool;n.push({type:"custom",name:s.name,description:s.description,format:s.format})}else if(r_(r)){let s={};for(let[a,i]of Object.entries(r))a!=="type"&&a!=="function"&&(s[a]=i);n.push({type:"function",name:r.function.name,parameters:r.function.parameters,description:r.function.description,strict:t?.strict??null,...s})}else $I(r)&&n.push(HF(r));return n}},Cq=class AE extends t0{useResponsesApi=!1;responses;completions;get lc_serializable_keys(){return[...super.lc_serializable_keys,"useResponsesApi"]}get callKeys(){return[...super.callKeys,"useResponsesApi"]}fields;constructor(t,n){let r=e0(t,n);super(r),this.fields=r,this.useResponsesApi=r?.useResponsesApi??!1,this.responses=r?.responses??new $q(r),this.completions=r?.completions??new Sq(r)}_useResponsesApi(t){let n=t?.tools?.some(V_),r=t?.previous_response_id!=null||t?.text!=null||t?.truncation!=null||t?.include!=null||t?.reasoning?.summary!=null||this.reasoning?.summary!=null,s=t?.tools?.some($I)||t?.tools?.some(ap);return this.useResponsesApi||n||r||s||NF(this.model)}getLsParams(t){let n=this._combineCallOptions(t);return this._useResponsesApi(t)?this.responses.getLsParams(n):this.completions.getLsParams(n)}invocationParams(t){let n=this._combineCallOptions(t);return this._useResponsesApi(t)?this.responses.invocationParams(n):this.completions.invocationParams(n)}async _generate(t,n,r){return this._useResponsesApi(n)?this.responses._generate(t,n,r):this.completions._generate(t,n,r)}async*_streamResponseChunks(t,n,r){if(this._useResponsesApi(n)){yield*this.responses._streamResponseChunks(t,this._combineCallOptions(n),r);return}yield*this.completions._streamResponseChunks(t,this._combineCallOptions(n),r)}withConfig(t){let n=new AE(this.fields);return n.defaultOptions={...this.defaultOptions,...t},n}},Nq=Vt({type:$n("screenshot")}),Pq=Vt({type:$n("click"),x:Dt(),y:Dt(),button:Q_(["left","right","wheel","back","forward"]).default("left")}),jq=Vt({type:$n("double_click"),x:Dt(),y:Dt(),button:Q_(["left","right","wheel","back","forward"]).default("left")}),Rq=Vt({type:$n("drag"),path:ou(Vt({x:Dt(),y:Dt()}))}),Mq=Vt({type:$n("keypress"),keys:ou(Tn())}),Lq=Vt({type:$n("move"),x:Dt(),y:Dt()}),zq=Vt({type:$n("scroll"),x:Dt(),y:Dt(),scroll_x:Dt(),scroll_y:Dt()}),Uq=Vt({type:$n("type"),text:Tn()}),Dq=Vt({type:$n("wait"),duration:Dt().optional()}),Fq=th([Nq,Pq,jq,Rq,Mq,Lq,zq,Uq,Dq]);Vt({action:Fq});var Bq=Vt({type:$n("exec"),command:ou(Tn()),env:rV(Tn(),Tn()).optional(),working_directory:Tn().optional(),timeout_ms:Dt().optional(),user:Tn().optional()});th([Bq]);Vt({commands:ou(Tn()).describe("Array of shell commands to execute"),timeout_ms:Dt().optional().describe("Optional timeout in milliseconds for the commands"),max_output_length:Dt().optional().describe("Optional maximum number of characters to return from each command")});var Zq=Vt({type:$n("create_file"),path:Tn(),diff:Tn()}),Vq=Vt({type:$n("update_file"),path:Tn(),diff:Tn()}),qq=Vt({type:$n("delete_file"),path:Tn()});th([Zq,Vq,qq]);var $E={advanced:"gpt-5.2",default:"gpt-5-mini"},Hq={default:"text-embedding-ada-002"},Xf=new Map,Gu=null,Wq=()=>{let e=Q1.getDefault().helperServices;if(!e?.aiModels?.url)throw new Error("AI Models Service URL is not defined in the portal's helper services.");return e.aiModels.url},Jq=async e=>{let t=Wq();Xf.size===0&&(Gu||(Gu=(async()=>{try{let r=await fetch(`${t}/models`);if(!r.ok)throw new Error("Failed to fetch AI service discovery data.");(await r.json()).models.forEach(s=>Xf.set(s.name,s))}catch(r){throw Gu=null,r}})()),await Gu);let n=Xf.get(e);if(!n)throw new Error(`Model '${e}' is not available in the discovery service.`);return n.endpoint},Gq=async(e="default")=>await Jq($E[e]),X1=(e,t)=>t;mt.Root({userInput:mt(),messages:mt({reducer:Ra,default:()=>[]}),pendingIntents:mt({default:()=>[],reducer:X1}),currentIntent:mt({default:()=>"none",reducer:X1})});var Qi=async(e,t)=>{await I3("trace_message",e,t)},Kq=e=>async(t,n)=>{let r=new Headers(n?.headers);return r.delete("Authorization"),r.delete("api-key"),e&&e.length>0&&(r.set("X-Esri-Authorization",`Bearer ${e}`),r.set("X-Esri-Request-Source","MapsSDK")),await fetch(t,{...n,headers:r})},CE=async(e="default",t=0)=>{let n=Q1.getDefault(),r=await ZE.getCredential(`${n.url}/sharing`),s=$E[e],a=await Gq(e);return new Cq({modelName:s,apiKey:"dummy-key",...e!=="default"&&{temperature:t},configuration:{baseURL:a,fetch:Kq(r.token)}})},NE=(e,t)=>{let n=f_.fromTemplate(e);return Bp.fromMessages([n,...t])},Xq=async e=>{let{promptText:t,modelTier:n,temperature:r,messages:s}=e,a=NE(t,s??[]),i=await CE(n,r);return a.pipe(i)},Yq=async e=>{let{promptText:t,modelTier:n="default",temperature:r=0,messages:s,inputVariables:a}=e,i=await(await Xq({promptText:t,modelTier:n,temperature:r,messages:s})).invoke(a??{});if(typeof i=="string")return i;let o=i.content;return typeof o=="string"?o:JSON.stringify(o)},Qq=async e=>{let{promptText:t,modelTier:n="default",temperature:r=0,messages:s,inputVariables:a,schema:i}=e,o=NE(t,s??[]),c=(await CE(n,r)).withStructuredOutput(i);return await o.pipe(c).invoke(a??{})},e7=os({id:cn().min(1),name:cn().min(1),description:cn().min(1)});ui(e7);var t7="0.1",yo=1536,n7="openai",r7=Hq.default,s7=`Name: {name}
344
- Title: {title}
345
- Description: {description}`,a7=`Name: {name}
346
- Alias: {alias}
347
- Description: {description}`;os({schemaVersion:Io(t7),modified:qo().int().nonnegative(),embeddings:os({modelProvider:Io(n7),model:Io(r7),dimensions:Io(yo),templates:os({layer:cn().default(s7),field:cn().default(a7)})}),layers:ui(os({id:cn().min(1),name:cn().min(1),title:cn().catch(""),description:cn().catch(""),vector:ui(qo()).length(yo,{message:`Layer vector must be exactly ${yo} dimensions`}),fields:ui(os({name:cn().min(1),alias:cn().catch(""),description:cn().catch(""),vector:ui(qo()).length(yo,{message:`Field vector must be exactly ${yo} dimensions`})}))})).default([])});var i7=pn.object({name:pn.string(),description:pn.string(),valueType:pn.string(),alias:pn.string()});pn.object({fields:pn.array(i7)});pn.object({title:pn.string(),description:pn.string(),name:pn.string().nullable()});async function cu(e,t){let n=Object.entries(e).find(([r])=>r.endsWith(`/${t}.md`));if(!n)throw new Error(`Prompt not found: ${t}
348
- Available prompts:
349
- ${Object.keys(e).join(`
350
- `)}`);return await n[1]()}function PE(e){return e?.configurable?.context?.translations}var jE=e=>{if(e&&Array.isArray(e.id)&&e.id.length>0)return e.id[e.id.length-1].replace("Message","").toLowerCase();if(e&&typeof e._getType=="function")try{return e._getType()}catch{return"human"}return"human"},o7=e=>{let t=jE(e);if(e&&e.kwargs)return{role:t,...e.kwargs};if(e&&typeof e=="object"){let n={role:t,content:typeof e.content=="string"?e.content:String(e.content||"")};return e.id&&(n.id=e.id),e.name&&(n.name=e.name),e.additional_kwargs&&(n.additional_kwargs=e.additional_kwargs),e.response_metadata&&(n.response_metadata=e.response_metadata),n}return{role:"human",content:String(e)}},c7=e=>jE(e)==="human",RE=(e,t=3)=>{let n=e.map((s,a)=>c7(s)?a:-1).filter(s=>s!==-1);if(n.length===0)return[];let r=n.length>t?n[n.length-t]:n[0];return e.slice(r).map(o7)},ME=Object.assign({"./prompts/solutions_assistant_description.md":()=>import("./DJTOZZZA.js").then(e=>e.default),"./prompts/solutions_assistant_prompts.md":()=>import("./JMO7ZFWL.js").then(e=>e.default)}),LE=mt.Root({messages:mt({reducer:Ra,default:()=>[]}),outputMessage:mt({reducer:(e="",t)=>typeof t=="string"&&t.trim()?e?`${e}
351
-
352
- ${t}`:t:e,default:()=>""})}),u7=async(e,t)=>{let n=PE(t);await Qi({text:n?.executingSolutionsAssistantAgent||"Preparing a response..."},t);let r=await cu(ME,"solutions_assistant_prompts"),s=e.messages.slice(-10),a=await Yq({promptText:r,modelTier:"default",temperature:.7,messages:RE(s)}),i=t?.configurable?.context?.clearSuggestedPrompts;return i&&i(),{outputMessage:a}},l7=()=>new N_(LE).addNode("assistantLLM",u7).addEdge(wt,"assistantLLM").addEdge("assistantLLM",St),d7=await cu(ME,"solutions_assistant_description"),p7={id:"solutionsAssistant",name:"Solutions Assistant Agent",description:d7,createGraph:l7,workspace:LE},zE=Object.assign({"./prompts/solutions_builder_description.md":()=>import("./7QUV7YG7.js").then(e=>e.default),"./prompts/solutions_builder_prompts.md":()=>import("./TE6O5EAX.js").then(e=>e.default)}),UE=mt.Root({messages:mt({reducer:Ra,default:()=>[]}),outputMessage:mt({reducer:(e="",t)=>typeof t=="string"&&t.trim()?e?`${e}
353
-
354
- ${t}`:t:e,default:()=>""}),ticket:mt({reducer:(e,t)=>t??null,default:()=>null})}),Y1=await cu(zE,"solutions_builder_prompts"),h7=async(e,t)=>{await Qi({text:"Template: extracting template type and use case..."},t);let n=pn.object({template:pn.string()||"",useCase:pn.string()||""});e.outputMessage&&(Y1=e.outputMessage);let r=await Qq({promptText:Y1,messages:RE(e.messages),schema:n}),s=r?.template?.trim(),a=r?.useCase?.trim()||"";return{ticket:{template:s,useCase:a}}},f7=(e,t)=>{let n=e.ticket;if(!n)return e;let{hitlResponse:r}=t.configurable;if(r?.agentId!=="solutionBuilder"||r.id!=="approveTemplateTicket"){console.log(`template: ${n.template}`),console.log(`useCase: ${n.useCase}`),console.log(n);let a;if(n.template&&n.useCase){let i=[`It looks like you would like to build a ${n.template} solution.`,`The use case for this solution is: ${n.useCase}`,"Are you sure you want to proceed?"].join(`
355
- `);a={agentId:Lo.id,id:"approveTemplateTicket",kind:"singleSelection",message:i,metadata:["Yes","No"]}}else if(n.template&&!n.useCase){let i=[`It looks like you would like to build a ${n.template} solution.`,`Next we need to uderstandf the use case for the ${n.template} solution.`,"Please provide more details about the use case."].join(`
356
- `);a={agentId:Lo.id,id:"approveTemplateTicket",kind:"textInput",message:i,metadata:[]}}else if(!n.template&&!n.useCase){let i=["Templates provide a starting structure for your solution, including layers, maps, and apps. Choose a template to get started."].join(`
357
- `);a={agentId:Lo.id,id:"approveTemplateTicket",kind:"singleSelection",message:i,metadata:["Field inspections","Spatial Data Management","Points of interest"]}}else if(!n.template&&n.useCase){let i=[`We understand that your use case is ${n.useCase}.`,"We alse need to know what template to use.","Templates provide a starting structure for your solution, including layers, maps, and apps. Choose a template to get started."].join(`
358
- `);a={agentId:Lo.id,id:"approveTemplateTicket",kind:"singleSelection",message:i,metadata:["Field inspections","Spatial Data Management","Points of interest"]}}throw new ly(a)}console.log(`hitlResponse.payload: ${r.payload}`);let s=r.payload;if(!n.template||!n.useCase){if(s==="No")return{outputMessage:"Okay, I've cancelled solution builder.",ticket:null};if(s==="Field inspections"||s==="Spatial Data Management"||s==="Points of interest")return{outputMessage:`Use ${s} template to create a new solution.`,ticket:{template:s,useCase:n.useCase}}}return e},m7=async(e,t)=>{await Qi({text:"persisting template and use case"},t);let n=e.ticket;if(!n)return{outputMessage:"I couldn't start the solution builder.Please let me know what you would like to do."};try{console.log("sending trace"),await Qi({text:"Template and use case set."},t)}catch(r){throw new Error(`Failed to save Builder request: ${r.message}`)}return{outputMessage:["Thanks, I\u2019ve logged your Builder request:","",`- template: ${n.template}`,`- useCase: ${n.useCase}`].join(`
359
- `)}},g7=()=>new N_(UE).addNode("extractTemplateLLM",h7).addNode("approvalTemplate",f7).addNode("persistTemplate",m7).addEdge(wt,"extractTemplateLLM").addEdge("extractTemplateLLM","approvalTemplate").addConditionalEdges("approvalTemplate",e=>e.ticket?.template===""||e.ticket?.useCase===""?"continue":"done",{done:"persistTemplate",continue:"extractTemplateLLM"}).addEdge("persistTemplate",St),y7=await cu(zE,"solutions_builder_description"),Lo={id:"solutionBuilder",name:"Solution Builder Agent",description:y7,createGraph:g7,workspace:UE},_7=Object.assign({"./prompts/explorer-prompts.md":()=>import("./GV3BOKA2.js").then(e=>e.default),"./prompts/solutions_explorer_description.md":()=>import("./NNOZ6KRO.js").then(e=>e.default)});function v7(e,t){if(t.startsWith(e))return t.slice(e.length);let n=0,r=Math.min(e.length,t.length);for(;n<r&&e[n]===t[n];)n++;return t.slice(n)}function w7(e){return e&&e.helperServices.aiAssistantServices?`${e.helperServices.aiAssistantServices.url}/skills/doc_ai_assistant/chat`:null}var b7=e=>new Promise(t=>setTimeout(t,e)),DE=mt.Root({messages:mt({reducer:Ra,default:()=>[]}),outputMessage:mt({default:()=>"",reducer:(e,t)=>typeof t!="string"||t.length===0?e:e+t}),_lastFullOutput:mt({default:()=>"",reducer:(e,t)=>typeof t!="string"?e:t}),solutionResponse:mt({reducer:(e,t)=>t??null,default:()=>null}),documentSkillUrl:mt({reducer:(e,t)=>t??null,default:()=>null})}),k7=()=>new N_(DE).addNode("initializeAgent",O7).addNode("askSolutionsQuestions",x7).addEdge(wt,"initializeAgent").addEdge("initializeAgent","askSolutionsQuestions").addConditionalEdges("askSolutionsQuestions",e=>e.solutionResponse?.hasMore===!1?"done":"continue",{done:St,continue:"askSolutionsQuestions"}),x7=async(e,t)=>{let n=PE(t);t&&(t.recursionLimit=100),e.solutionResponse?.conversationId||await Qi({text:n.agentProgress.explorerAgentReading},t);let r={message:e.messages[e.messages.length-1].content,conversationId:t?.configurable?.context?.convoId,context:{kind:"DocAIAssistantRequest",filters:{persona:{persona:"solutions"}}}};e.solutionResponse?.conversationId&&e.solutionResponse.hasMore&&(r={conversationId:e.solutionResponse.conversationId,ackSequenceNumber:e.solutionResponse.ackSequenceNumber,inquiryId:e.solutionResponse.inquiryId}),e.solutionResponse?.conversationId&&e.solutionResponse.hasMore&&await b7(1500);let s=e.documentSkillUrl,a=await fetch(s,{method:"POST",headers:{"Content-Type":"application/json",token:t?.configurable?.context?.token},body:JSON.stringify(r)});if(!a.ok)throw new Error(`HTTP ${a.status} calling ${s}`);let i=await a.json();t&&t.configurable&&(t.configurable.context.convoId=i.conversationId);let o={message:i.message,conversationId:i.conversationId,hasMore:i.hasMore,ackSequenceNumber:i.sequenceNumber,inquiryId:i.inquiryId},c=i.context&&i.context.results?i.context.results[0].reply??"":"";c!==""&&i.context&&i.context.results&&i.context.results[0].followupQuestions&&t?.configurable?.context?.updateSuggestedPrompts&&t.configurable.context.updateSuggestedPrompts(i.context.results[0].followupQuestions);let u=e._lastFullOutput??"",l=c,d=v7(u,l);if(i.context&&i.context.results&&i.context.results[0].status.currentStatusStep){let p=i.context.results[0].status.currentStatusStep,h="";p===1?h=n.agentProgress.explorerAgentReading:p===2?h=n.agentProgress.explorerAgentReviewing:p===3&&(h=n.agentProgress.explorerAgentPreparing),await Qi({text:h},t)}return{outputMessage:d,_lastFullOutput:l,solutionResponse:o}},O7=async(e,t)=>{let n=null;return e.documentSkillUrl===null&&t?.configurable?.context?.portal&&(n=w7(t.configurable.context.portal)),{documentSkillUrl:n}},S7=await cu(_7,"solutions_explorer_description"),T7={id:"solutionsExplorerAgent",name:"Solutions Explorer Agent",description:S7,createGraph:k7,workspace:DE},I7="https://links.esri.com/solutions/agol-organizational-account",E7="https://links.esri.com/solutions/configure-assistants",iy=class extends d0{constructor(){super(),this.open=!1,this.userFirstName="",this._conversationId=void 0,this._orgSettings={aiAssistantsEnabled:!1,blockBetaApps:!0,colocateCompute:!1},this._suggestedPrompts=[],this._hasInteracted=!1,this._translations=f0({name:"arcgis-solutions-assistant",blocking:!0}),this._assistantRef=u0(),this._configContextConsumer=m0({context:g0,subscribe:!0,callback:t=>{t?.userSession&&!this.userFirstName&&this._loadUserFirstName(),t?.authentication?.PortalSubset?.orgSettings&&(this._orgSettings=t?.authentication?.PortalSubset?.orgSettings)}}),this.closeAssistant=a0(),this._handleSignIn=()=>{this._configContextConsumer.value?.authentication?.signIn("aiOpen")},this._checkURLOpenParameter=()=>{this.open=this._configContextConsumer.value?.authentication?.SignInParam==="aiOpen"||this.open}}static{this.properties={open:5,userFirstName:1,_conversationId:16,_orgSettings:16,_suggestedPrompts:16,_hasInteracted:16,_translations:16}}static{this.styles=VE}get _telemetry(){return this._configContextConsumer.value?.telemetrySession}loaded(){this._checkURLOpenParameter()}load(){this._configContextConsumer.value?.portalURL&&(BE.portalUrl=this._configContextConsumer.value.portalURL)}firstUpdated(t){this._loadUserFirstName()}willUpdate(t){t.has("open")&&this.open&&window.dispatchEvent(new CustomEvent("openAssistant")),this._configContextConsumer.value?.userSession?.token&&this._configContextConsumer.value?.authentication?.CanUseAI}_renderNoSign(){return co`<calcite-notice class="margin-lg" open scale=m icon=effects kind=info><div slot=message>${this._translations.signInMessage}</div><calcite-link @click=${this._handleSignIn} slot=link title=${this._translations.signInMessage??p0} class="padding-top-10">${this._translations.signIn}</calcite-link></calcite-notice>`}_renderNoPermission(){return co`<calcite-notice open scale=m icon=effects kind=info><div slot=title>${this._translations.noPermissionTitle}</div><div slot=message class="padding-top-10">${v0(this._translations.noPermissionMessage.replace("{{orgUrl}}",I7).replace("{{configAI}}",E7))}</div></calcite-notice>`}render(){let t=[];return this._suggestedPrompts.length>0?t=this._suggestedPrompts:this._hasInteracted||(t=[...Object.values(this._translations.defaultFollowUpQuestions)],t.push("I want to build my own solution.")),co`<calcite-panel class="chat-panel"><div class="header-content" slot=header-content><span class="header-title">${this._translations.solutionAssistantTitle}</span><calcite-chip class="beta-chip" kind=brand .label=${this._translations.beta} scale=s>${this._translations.beta}</calcite-chip></div>${this._configContextConsumer.value?.userSession?.token?this._configContextConsumer.value?.authentication?.CanUseAI?co`<calcite-button appearance=transparent id=newChatButton icon-end=speech-bubble-plus kind=neutral label="New conversation" @click=${()=>{this._conversationId=void 0,this._suggestedPrompts=[],this._hasInteracted=!1,this._assistantRef.value?.clearChatHistory()}} scale=l slot=header-actions-end></calcite-button><calcite-tooltip placement=bottom reference-element=newChatButton><span>${this._translations.tooltips.newConversation}</span></calcite-tooltip><arcgis-assistant reference-element copy-enabled feedback-enabled heading description .suggestedPrompts=${t} @arcgisSubmit=${n=>{console.log("arcgis submit: ",n.detail),this._hasInteracted=!0;let r=Date.now(),s=_0(r),a=n.detail||"Unknown";this._telemetry?.logEvent({category:y0.ASSISTANT,action:"Chat",dimensions:[a],metrics:[s]})}} @arcgisFeedback=${n=>{n.detail}} ${l0(this._assistantRef)}><arcgis-assistant-agent .agent=${T7} .context=${{token:this._configContextConsumer.value?.userSession?.token,convoId:this._conversationId,portal:this._configContextConsumer.value?.authentication.Portal,assistantRef:this._assistantRef,translations:this._translations,updateSuggestedPrompts:n=>{this._suggestedPrompts=n}}}></arcgis-assistant-agent><arcgis-assistant-agent .agent=${p7} .context=${{translations:this._translations,clearSuggestedPrompts:()=>{this._suggestedPrompts=[]}}}></arcgis-assistant-agent><arcgis-assistant-agent .agent=${Lo}></arcgis-assistant-agent></arcgis-assistant><div slot=footer class="disclaimer-div width-100"><calcite-icon icon=information scale=s></calcite-icon><span>${this._translations.disclaimerMessage} <a href=https://links.esri.com/solutions/security-concern target=_blank>${this._translations.reportConcern}</a></span></div>`:this._renderNoPermission():this._renderNoSign()}<calcite-action icon=x id=closeAssistantButton label=Close @click=${()=>{this.closeAssistant.emit(!0)}} slot=header-actions-end text=Close></calcite-action><calcite-tooltip placement=bottom reference-element=closeAssistantButton><span>${this._translations.tooltips.close}</span></calcite-tooltip></calcite-panel>`}async _loadUserFirstName(){try{let t=await this._configContextConsumer.value?.userSession?.getUser();if(t?.fullName){let n=t.fullName.split(" ")[0];this.userFirstName=n}}catch{}}};h0("arcgis-solutions-assistant",iy);return iy},"config","identity/IdentityManager","portal/Portal","core/reactiveUtils","layers/FeatureLayer","request",a)