eser 4.1.37 → 4.1.40

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 (293) hide show
  1. package/chunks/add-V7YYHLFH.js +8 -0
  2. package/chunks/{anthropic-2MXDKLNX.js → anthropic-QBGNUIP3.js} +1 -1
  3. package/chunks/approve-HVIH2A3C.js +2 -0
  4. package/chunks/ask-PMB64QWG.js +3 -0
  5. package/chunks/block-JSK5CJPO.js +2 -0
  6. package/chunks/browser-JGBNWUEQ.js +2 -0
  7. package/chunks/{build-EJLFNB4I.js → build-HUKFUVPB.js} +2 -2
  8. package/chunks/bun-HIMXX54I.js +2 -0
  9. package/chunks/changelog-gen-JV3EHOMV.js +10 -0
  10. package/chunks/{chunk-GJ4LCA6D.js → chunk-2KKLYXSA.js} +1 -1
  11. package/chunks/{chunk-JYNHFD6B.js → chunk-2XNFZXHY.js} +1 -1
  12. package/chunks/{chunk-2EVWKUN6.js → chunk-3AA3RXKD.js} +1 -1
  13. package/chunks/{chunk-CUIMSX4V.js → chunk-3IZX4OZ7.js} +1 -1
  14. package/chunks/{chunk-KPWEJXPI.js → chunk-3QF3I2RD.js} +1 -1
  15. package/chunks/{chunk-K6H7JTIH.js → chunk-4EHAL3NK.js} +1 -1
  16. package/chunks/chunk-4FGLERUG.js +2 -0
  17. package/chunks/{chunk-IDMI5OBK.js → chunk-4QDEJUAF.js} +1 -1
  18. package/chunks/{chunk-4MVO4LD5.js → chunk-5224ZYEW.js} +1 -1
  19. package/chunks/{chunk-LCG4SK6K.js → chunk-5DWJ7WEE.js} +1 -1
  20. package/chunks/{chunk-LKF6GBNU.js → chunk-5RX5V5BA.js} +1 -1
  21. package/chunks/chunk-5WJ6AUNY.js +2 -0
  22. package/chunks/chunk-6E6JUBFH.js +2 -0
  23. package/chunks/chunk-7UASU4NU.js +10 -0
  24. package/chunks/chunk-A3JJKZ4C.js +4 -0
  25. package/chunks/chunk-A3MZV73T.js +32 -0
  26. package/chunks/chunk-A6K5L4SG.js +3 -0
  27. package/chunks/{chunk-YVIGHK4H.js → chunk-AHKNU2JM.js} +1 -1
  28. package/chunks/chunk-AMMTAUXC.js +66 -0
  29. package/chunks/{chunk-BCPCQHDL.js → chunk-BBOEAL63.js} +1 -1
  30. package/chunks/chunk-BQT5RJZB.js +2 -0
  31. package/chunks/{chunk-EBCQCAQ7.js → chunk-BWDCKK63.js} +1 -1
  32. package/chunks/{chunk-FORPNESQ.js → chunk-CMSPX2RN.js} +1 -1
  33. package/chunks/{chunk-H4SPMUT6.js → chunk-DKFL6XPX.js} +1 -1
  34. package/chunks/{chunk-HVLKXRPA.js → chunk-DWLFTRZS.js} +1 -1
  35. package/chunks/{chunk-PVPMHMKP.js → chunk-ECY4MUD3.js} +1 -1
  36. package/chunks/{chunk-IIIMOOFE.js → chunk-EGMYM4TM.js} +1 -1
  37. package/chunks/{chunk-I4C675WP.js → chunk-F35K7YVH.js} +1 -1
  38. package/chunks/{chunk-IZONBJSX.js → chunk-F5HQDZLN.js} +1 -1
  39. package/chunks/{chunk-A6RDYP6R.js → chunk-FFWPJP7A.js} +1 -1
  40. package/chunks/chunk-H2O5G3XB.js +2 -0
  41. package/chunks/{chunk-Y53YTL4C.js → chunk-HLKFDKLZ.js} +1 -1
  42. package/chunks/{chunk-SOBOSRJB.js → chunk-HP5W5XT6.js} +1 -1
  43. package/chunks/{chunk-BP3IFAPO.js → chunk-HTJLIAH4.js} +1 -1
  44. package/chunks/{chunk-7BFBOLLC.js → chunk-HVTJ5LVU.js} +1 -1
  45. package/chunks/{chunk-YQVWAWMO.js → chunk-ILROPD5P.js} +1 -1
  46. package/chunks/chunk-JI536JLJ.js +2 -0
  47. package/chunks/{chunk-UJPVEQX7.js → chunk-K2MKYDPY.js} +1 -1
  48. package/chunks/{chunk-T2DRBZ4X.js → chunk-KEOTIPA6.js} +1 -1
  49. package/chunks/chunk-L2E2H7YT.js +2 -0
  50. package/chunks/chunk-L7UCWRDZ.js +3 -0
  51. package/chunks/{chunk-4WQGB7NO.js → chunk-LBMJGMDD.js} +1 -1
  52. package/chunks/{chunk-2VEVVX6U.js → chunk-LFNUSULJ.js} +1 -1
  53. package/chunks/{chunk-5GGGQJ4P.js → chunk-MBCPGD5L.js} +1 -1
  54. package/chunks/chunk-MEZCXQAX.js +2 -0
  55. package/chunks/{chunk-B6EATLKL.js → chunk-MOY4CXAZ.js} +2 -2
  56. package/chunks/{chunk-P2DMLPKI.js → chunk-MQ4EMT35.js} +1 -1
  57. package/chunks/chunk-NEHZOG23.js +7 -0
  58. package/chunks/{chunk-QZ44TAIY.js → chunk-NJUIBCQR.js} +1 -1
  59. package/chunks/{chunk-5MWX3POX.js → chunk-NZRU3N6C.js} +1 -1
  60. package/chunks/{chunk-N2VBT43E.js → chunk-O2TA7OHJ.js} +1 -1
  61. package/chunks/{chunk-ER4ZWF4Y.js → chunk-OAFB4A6D.js} +1 -1
  62. package/chunks/chunk-OAT2D23A.js +2 -0
  63. package/chunks/{chunk-3QIPK7NI.js → chunk-OPPOHKNZ.js} +1 -1
  64. package/chunks/{chunk-ZNGLZECE.js → chunk-OWV223WQ.js} +1 -1
  65. package/chunks/{chunk-3BEX5FYF.js → chunk-P2MUEKFT.js} +1 -1
  66. package/chunks/{chunk-455V3AE5.js → chunk-P72TUTYK.js} +1 -1
  67. package/chunks/{chunk-Q2KSOC32.js → chunk-PPSDIDOI.js} +1 -1
  68. package/chunks/chunk-PXCM4FHO.js +2 -0
  69. package/chunks/{chunk-KVTG56GS.js → chunk-QFFGKP3M.js} +1 -1
  70. package/chunks/{chunk-PZNCE6QK.js → chunk-QXATB6Z5.js} +1 -1
  71. package/chunks/chunk-RGUPFAEE.js +68 -0
  72. package/chunks/{chunk-SP43S32B.js → chunk-RVJZFWN7.js} +1 -1
  73. package/chunks/{chunk-B5IPHVXT.js → chunk-SBAXURB7.js} +1 -1
  74. package/chunks/{chunk-7NUMDHE2.js → chunk-T4WKRBQZ.js} +1 -1
  75. package/chunks/{chunk-UJ6LH5FY.js → chunk-TEOMM3RD.js} +1 -1
  76. package/chunks/{chunk-QOX7VSID.js → chunk-TLVGNOK3.js} +1 -1
  77. package/chunks/{chunk-HYT26FYU.js → chunk-U5Q5MC74.js} +1 -1
  78. package/chunks/chunk-ULNEO3RY.js +4 -0
  79. package/chunks/{chunk-MXGRYONZ.js → chunk-UMKCOU3N.js} +1 -1
  80. package/chunks/{chunk-536RBSFU.js → chunk-UQ2BC7UA.js} +1 -1
  81. package/chunks/{chunk-HVOPUZOM.js → chunk-VIQLCQOI.js} +1 -1
  82. package/chunks/chunk-VWQLQJVX.js +2 -0
  83. package/chunks/{chunk-CKNA5LIK.js → chunk-WAEXOK7L.js} +1 -1
  84. package/chunks/{chunk-NP723K5L.js → chunk-WILZ4OR2.js} +1 -1
  85. package/chunks/chunk-WJKE6XHF.js +2 -0
  86. package/chunks/{chunk-KQE6FMKW.js → chunk-XYUJCTPP.js} +1 -1
  87. package/chunks/{chunk-P2TABZ4A.js → chunk-YEWODYET.js} +1 -1
  88. package/chunks/{chunk-3SXTMY75.js → chunk-YVN2NZL4.js} +1 -1
  89. package/chunks/{chunk-GBM3TZFD.js → chunk-ZC4F4MYU.js} +1 -1
  90. package/chunks/{chunk-KBFKBL6A.js → chunk-ZWMJQZQF.js} +1 -1
  91. package/chunks/claude-code-ELUDT5TV.js +2 -0
  92. package/chunks/{clone-H3UAEVVP.js → clone-YEBQK7CG.js} +1 -1
  93. package/chunks/cmd-2DAVTVOF.js +2 -0
  94. package/chunks/{commitmsg-7XZGGERO.js → commitmsg-FQ3IZ3TH.js} +2 -2
  95. package/chunks/concern-TIGYH5DX.js +2 -0
  96. package/chunks/deno-XQHOVHKR.js +2 -0
  97. package/chunks/dev-BNGJJR2O.js +4 -0
  98. package/chunks/dist-QVOR7USR.js +13 -0
  99. package/chunks/done-GGPPHJW2.js +2 -0
  100. package/chunks/file-tools-shared-KBTCO2FV.js +2 -0
  101. package/chunks/{gemini-F4KLO5VU.js → gemini-43AWJEWI.js} +1 -1
  102. package/chunks/gh-Q7VEABJS.js +4 -0
  103. package/chunks/gh-contributors-4KGARSNL.js +12 -0
  104. package/chunks/init-45ODFAV3.js +2 -0
  105. package/chunks/{init-J4IHOVZL.js → init-RV7K5JC4.js} +3 -3
  106. package/chunks/{install-KNZDCGIB.js → install-6XIQS5E7.js} +2 -2
  107. package/chunks/invoke-hook-Q3NMJXDO.js +11 -0
  108. package/chunks/kiro-NZ7LM6HA.js +2 -0
  109. package/chunks/list-BOLPKAEY.js +2 -0
  110. package/chunks/{list-N4ZKDFW7.js → list-NYLFIF2U.js} +1 -1
  111. package/chunks/list-UQMPOF5Y.js +2 -0
  112. package/chunks/load-config-G4DHKB5K.js +2 -0
  113. package/chunks/{main-HJQEBLLN.js → main-236QYA7G.js} +2 -2
  114. package/chunks/manifest-3VJ4O6HR.js +2 -0
  115. package/chunks/{mod-4ILLF5PK.js → mod-5JT4O5L3.js} +1 -1
  116. package/chunks/mod-BQJDMCYC.js +2 -0
  117. package/chunks/mod-DXA25A4J.js +2 -0
  118. package/chunks/mod-EWLBSEHA.js +2 -0
  119. package/chunks/mod-GSWVSC2C.js +28 -0
  120. package/chunks/mod-IHYN4TEM.js +3 -0
  121. package/chunks/mod-IXVUQHXS.js +2 -0
  122. package/chunks/mod-L26IBE5V.js +2 -0
  123. package/chunks/mod-PZSJGUM7.js +2 -0
  124. package/chunks/mod-QWYXFGRG.js +2 -0
  125. package/chunks/{mod-OS3BCM2G.js → mod-SXL6PDQM.js} +1 -1
  126. package/chunks/mod-YH5Z6G4Q.js +2 -0
  127. package/chunks/multipart-parser-SSRHOBFH.js +3 -0
  128. package/chunks/{new-BOGCXTIY.js → new-U5U4E6HR.js} +1 -1
  129. package/chunks/next-AQ4TIEL7.js +9 -0
  130. package/chunks/node-IN5OQP4N.js +68 -0
  131. package/chunks/node-ZGM6SXXI.js +2 -0
  132. package/chunks/ollama-LHWMXMLY.js +2 -0
  133. package/chunks/openai-2KONKHWL.js +2 -0
  134. package/chunks/openai-IRQY5SCR.js +24 -0
  135. package/chunks/opencode-24O2MW3L.js +2 -0
  136. package/chunks/purge-RM6OD5PV.js +5 -0
  137. package/chunks/recipe-applier-TTZEZGSC.js +2 -0
  138. package/chunks/registry-fetcher-SPENFEOH.js +2 -0
  139. package/chunks/release-UEX6YK4K.js +9 -0
  140. package/chunks/release-notes-GA7CTA54.js +4 -0
  141. package/chunks/release-tag-VJWBXG5G.js +2 -0
  142. package/chunks/reset-WHYTPTFB.js +2 -0
  143. package/chunks/rule-ZQOGLQQI.js +3 -0
  144. package/chunks/run-IX74MQTI.js +4 -0
  145. package/chunks/run-L35K3KRF.js +5 -0
  146. package/chunks/scripts-VI2TKQOH.js +2 -0
  147. package/chunks/sdk-L2SQCWYV.js +41 -0
  148. package/chunks/serve-AVVEYGQB.js +4 -0
  149. package/chunks/{server-KNWQV2HW.js → server-R347ON4B.js} +1 -1
  150. package/chunks/spec-KMKZDLV2.js +2 -0
  151. package/chunks/src-6SFGTAGT.js +4 -0
  152. package/chunks/status-MLX4O37A.js +2 -0
  153. package/chunks/sync-PB4KWB3R.js +2 -0
  154. package/chunks/system-BXJ2LV5O.js +2 -0
  155. package/chunks/system-KMRRIKMQ.js +2 -0
  156. package/chunks/{unstable_chmod-GDQI7NKH.js → unstable_chmod-2W47KJY3.js} +1 -1
  157. package/chunks/update-522VXIKX.js +6 -0
  158. package/chunks/validate-bom-JCMRVAUT.js +2 -0
  159. package/chunks/validate-case-conflict-WZQCMKSZ.js +2 -0
  160. package/chunks/validate-circular-deps-7R4F2YDV.js +2 -0
  161. package/chunks/validate-commit-msg-PH7Y3JEI.js +2 -0
  162. package/chunks/validate-docs-WCIOHNYP.js +2 -0
  163. package/chunks/validate-eof-KRYQLTFQ.js +2 -0
  164. package/chunks/validate-export-names-OCQ2XSY6.js +2 -0
  165. package/chunks/validate-filenames-46O7FCXF.js +2 -0
  166. package/chunks/validate-json-3EZ2L64H.js +2 -0
  167. package/chunks/validate-large-files-7YX6MSOB.js +2 -0
  168. package/chunks/validate-licenses-OC7JRVAH.js +2 -0
  169. package/chunks/validate-line-endings-2DM5UGCJ.js +2 -0
  170. package/chunks/validate-merge-conflict-UDMWYMJ5.js +2 -0
  171. package/chunks/validate-mod-exports-W24IV367.js +2 -0
  172. package/chunks/validate-package-configs-3Y55ZLUY.js +2 -0
  173. package/chunks/validate-secrets-66VXCCUF.js +2 -0
  174. package/chunks/validate-shebangs-AMEAHVLB.js +2 -0
  175. package/chunks/validate-submodules-DYCE27WK.js +2 -0
  176. package/chunks/validate-symlinks-QN744GUH.js +2 -0
  177. package/chunks/validate-toml-5K2XNHAE.js +2 -0
  178. package/chunks/validate-trailing-whitespace-QYWHHIAK.js +2 -0
  179. package/chunks/validate-yaml-VGKLHEAQ.js +2 -0
  180. package/chunks/versions-FYALONNL.js +2 -0
  181. package/chunks/{vertexai-EXTYPVHK.js → vertexai-2F2A3VTE.js} +1 -1
  182. package/chunks/watch-P56QT3Q2.js +9 -0
  183. package/chunks/workerd-LOWXXQEU.js +2 -0
  184. package/eser.js +1 -1
  185. package/package.json +1 -1
  186. package/chunks/add-5SDE43IH.js +0 -8
  187. package/chunks/approve-DNKMQSPX.js +0 -2
  188. package/chunks/ask-L3N6REQI.js +0 -3
  189. package/chunks/block-GRKMCTGR.js +0 -2
  190. package/chunks/browser-SG2DBNGS.js +0 -2
  191. package/chunks/bun-3AACRJXG.js +0 -2
  192. package/chunks/changelog-gen-MX6L2Z24.js +0 -10
  193. package/chunks/chunk-25FUVC3C.js +0 -13
  194. package/chunks/chunk-2HBVIH7V.js +0 -3
  195. package/chunks/chunk-32HV3K27.js +0 -2
  196. package/chunks/chunk-46ZWBKIW.js +0 -2
  197. package/chunks/chunk-4DOMGQOO.js +0 -2
  198. package/chunks/chunk-6FNHSIZJ.js +0 -2
  199. package/chunks/chunk-CBGABZ5E.js +0 -2
  200. package/chunks/chunk-CDPSH56U.js +0 -2
  201. package/chunks/chunk-CZS6DCUY.js +0 -61
  202. package/chunks/chunk-DAK2I7UC.js +0 -2
  203. package/chunks/chunk-DTO2YJWZ.js +0 -2
  204. package/chunks/chunk-DYRTLYTU.js +0 -3
  205. package/chunks/chunk-G6NAG2EK.js +0 -2
  206. package/chunks/chunk-JOTAKQMZ.js +0 -2
  207. package/chunks/chunk-MRCBHVSB.js +0 -2
  208. package/chunks/chunk-PE2TDUXD.js +0 -19
  209. package/chunks/chunk-RGUETQSC.js +0 -4
  210. package/chunks/chunk-STI6DX7K.js +0 -2
  211. package/chunks/chunk-STTKPXTW.js +0 -2
  212. package/chunks/chunk-TFPT4BDY.js +0 -15
  213. package/chunks/chunk-V3WALAAO.js +0 -4
  214. package/chunks/chunk-VD5ZJBSR.js +0 -7
  215. package/chunks/chunk-W3RVRCUB.js +0 -2
  216. package/chunks/chunk-Y4ARZGGL.js +0 -2
  217. package/chunks/claude-code-VUBEU7RR.js +0 -2
  218. package/chunks/concern-T2NW35XI.js +0 -2
  219. package/chunks/deno-7BSPHDRG.js +0 -2
  220. package/chunks/dev-PTMXZEVC.js +0 -4
  221. package/chunks/done-RZD34AZF.js +0 -2
  222. package/chunks/file-tools-shared-G36OYF5S.js +0 -2
  223. package/chunks/fileFromPath-MB3IRZVW.js +0 -7
  224. package/chunks/gh-L25JQWOY.js +0 -5
  225. package/chunks/gh-contributors-E7IZ2LFS.js +0 -12
  226. package/chunks/init-J46SBNIS.js +0 -2
  227. package/chunks/invoke-hook-YTLAPETS.js +0 -10
  228. package/chunks/kiro-HQLXD6ZU.js +0 -2
  229. package/chunks/list-5TGTYMAU.js +0 -2
  230. package/chunks/list-PY3A762R.js +0 -2
  231. package/chunks/load-config-FTQMJVEW.js +0 -2
  232. package/chunks/manifest-NF2EK757.js +0 -2
  233. package/chunks/mod-FEGQZ3ZY.js +0 -2
  234. package/chunks/mod-GY6YJWVP.js +0 -2
  235. package/chunks/mod-HKYPZOU7.js +0 -2
  236. package/chunks/mod-JI2A2546.js +0 -2
  237. package/chunks/mod-JZNE2HH6.js +0 -2
  238. package/chunks/mod-MLRQFSBE.js +0 -2
  239. package/chunks/mod-NCF6OSXO.js +0 -2
  240. package/chunks/mod-PFWQZF3T.js +0 -28
  241. package/chunks/mod-W3DBWTCY.js +0 -11
  242. package/chunks/mod-YX3JRMSI.js +0 -2
  243. package/chunks/next-HAAR572Z.js +0 -4
  244. package/chunks/node-KCQF6QQA.js +0 -60
  245. package/chunks/node-MFKYO4CY.js +0 -2
  246. package/chunks/ollama-36F5QAOO.js +0 -2
  247. package/chunks/openai-EU5TJZ5T.js +0 -2
  248. package/chunks/openai-IKXRJYI3.js +0 -20
  249. package/chunks/opencode-7J3JDC44.js +0 -2
  250. package/chunks/purge-7QJOGWHM.js +0 -5
  251. package/chunks/recipe-applier-6QZYAZ57.js +0 -2
  252. package/chunks/registry-fetcher-76ISLGRR.js +0 -2
  253. package/chunks/release-J3PVDROM.js +0 -9
  254. package/chunks/release-notes-AARDYXYA.js +0 -4
  255. package/chunks/release-tag-H2YWUXRU.js +0 -2
  256. package/chunks/reset-WSJ47SUR.js +0 -2
  257. package/chunks/rule-J4FRRKOE.js +0 -3
  258. package/chunks/run-K6PMBZEQ.js +0 -4
  259. package/chunks/run-RGEZUAPM.js +0 -5
  260. package/chunks/scripts-JK6W2MCO.js +0 -2
  261. package/chunks/sdk-MXV452BR.js +0 -19
  262. package/chunks/serve-XVAIQ37L.js +0 -4
  263. package/chunks/spec-KTBVG2EX.js +0 -2
  264. package/chunks/status-3C2T6QAE.js +0 -2
  265. package/chunks/sync-WLEELRJW.js +0 -2
  266. package/chunks/system-GTHT75OL.js +0 -2
  267. package/chunks/system-WTPEDJU6.js +0 -2
  268. package/chunks/update-4C4WNXCE.js +0 -6
  269. package/chunks/validate-bom-QVE5HNBO.js +0 -2
  270. package/chunks/validate-case-conflict-XFS3URQN.js +0 -2
  271. package/chunks/validate-circular-deps-BMPAT3PF.js +0 -2
  272. package/chunks/validate-commit-msg-BPESCI7P.js +0 -2
  273. package/chunks/validate-docs-ITL4L6KY.js +0 -2
  274. package/chunks/validate-eof-DTFV74VL.js +0 -2
  275. package/chunks/validate-export-names-HLOH7D73.js +0 -2
  276. package/chunks/validate-filenames-J4RTDEBD.js +0 -2
  277. package/chunks/validate-json-KMODGNSU.js +0 -2
  278. package/chunks/validate-large-files-X5YF7D7T.js +0 -2
  279. package/chunks/validate-licenses-OZ7DXQTY.js +0 -2
  280. package/chunks/validate-line-endings-PFF6QJ3W.js +0 -2
  281. package/chunks/validate-merge-conflict-KB2X6QLW.js +0 -2
  282. package/chunks/validate-mod-exports-VHK2NVKI.js +0 -2
  283. package/chunks/validate-package-configs-ZNCAIYRO.js +0 -2
  284. package/chunks/validate-secrets-RM6DMZVG.js +0 -2
  285. package/chunks/validate-shebangs-WC66D7RK.js +0 -2
  286. package/chunks/validate-submodules-SPAXASAG.js +0 -2
  287. package/chunks/validate-symlinks-4LOWK2MQ.js +0 -2
  288. package/chunks/validate-toml-SG4IITMN.js +0 -2
  289. package/chunks/validate-trailing-whitespace-GRE2PJ6T.js +0 -2
  290. package/chunks/validate-yaml-RA22QNW6.js +0 -2
  291. package/chunks/versions-ODYWYT7U.js +0 -2
  292. package/chunks/watch-NEFCEWP5.js +0 -9
  293. package/chunks/workerd-VVSAKLDZ.js +0 -2
@@ -0,0 +1,68 @@
1
+ import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
2
+ import{a as H,c as F,e as et}from"./chunk-5WJ6AUNY.js";var eu=F((MR,jl)=>{function Ue(t,e){typeof e=="boolean"&&(e={forever:e}),this._originalTimeouts=JSON.parse(JSON.stringify(t)),this._timeouts=t,this._options=e||{},this._maxRetryTime=e&&e.maxRetryTime||1/0,this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._operationStart=null,this._timer=null,this._options.forever&&(this._cachedTimeouts=this._timeouts.slice(0))}jl.exports=Ue;Ue.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts.slice(0)};Ue.prototype.stop=function(){this._timeout&&clearTimeout(this._timeout),this._timer&&clearTimeout(this._timer),this._timeouts=[],this._cachedTimeouts=null};Ue.prototype.retry=function(t){if(this._timeout&&clearTimeout(this._timeout),!t)return!1;var e=new Date().getTime();if(t&&e-this._operationStart>=this._maxRetryTime)return this._errors.push(t),this._errors.unshift(new Error("RetryOperation timeout occurred")),!1;this._errors.push(t);var n=this._timeouts.shift();if(n===void 0)if(this._cachedTimeouts)this._errors.splice(0,this._errors.length-1),n=this._cachedTimeouts.slice(-1);else return!1;var i=this;return this._timer=setTimeout(function(){i._attempts++,i._operationTimeoutCb&&(i._timeout=setTimeout(function(){i._operationTimeoutCb(i._attempts)},i._operationTimeout),i._options.unref&&i._timeout.unref()),i._fn(i._attempts)},n),this._options.unref&&this._timer.unref(),!0};Ue.prototype.attempt=function(t,e){this._fn=t,e&&(e.timeout&&(this._operationTimeout=e.timeout),e.cb&&(this._operationTimeoutCb=e.cb));var n=this;this._operationTimeoutCb&&(this._timeout=setTimeout(function(){n._operationTimeoutCb()},n._operationTimeout)),this._operationStart=new Date().getTime(),this._fn(this._attempts)};Ue.prototype.try=function(t){console.log("Using RetryOperation.try() is deprecated"),this.attempt(t)};Ue.prototype.start=function(t){console.log("Using RetryOperation.start() is deprecated"),this.attempt(t)};Ue.prototype.start=Ue.prototype.try;Ue.prototype.errors=function(){return this._errors};Ue.prototype.attempts=function(){return this._attempts};Ue.prototype.mainError=function(){if(this._errors.length===0)return null;for(var t={},e=null,n=0,i=0;i<this._errors.length;i++){var r=this._errors[i],o=r.message,l=(t[o]||0)+1;t[o]=l,l>=n&&(e=r,n=l)}return e}});var tu=F(xt=>{var Hm=eu();xt.operation=function(t){var e=xt.timeouts(t);return new Hm(e,{forever:t&&(t.forever||t.retries===1/0),unref:t&&t.unref,maxRetryTime:t&&t.maxRetryTime})};xt.timeouts=function(t){if(t instanceof Array)return[].concat(t);var e={retries:10,factor:2,minTimeout:1*1e3,maxTimeout:1/0,randomize:!1};for(var n in t)e[n]=t[n];if(e.minTimeout>e.maxTimeout)throw new Error("minTimeout is greater than maxTimeout");for(var i=[],r=0;r<e.retries;r++)i.push(this.createTimeout(r,e));return t&&t.forever&&!i.length&&i.push(this.createTimeout(r,e)),i.sort(function(o,l){return o-l}),i};xt.createTimeout=function(t,e){var n=e.randomize?Math.random()+1:1,i=Math.round(n*Math.max(e.minTimeout,1)*Math.pow(e.factor,t));return i=Math.min(i,e.maxTimeout),i};xt.wrap=function(t,e,n){if(e instanceof Array&&(n=e,e=null),!n){n=[];for(var i in t)typeof t[i]=="function"&&n.push(i)}for(var r=0;r<n.length;r++){var o=n[r],l=t[o];t[o]=function(f){var c=xt.operation(e),d=Array.prototype.slice.call(arguments,1),h=d.pop();d.push(function(p){c.retry(p)||(p&&(arguments[0]=c.mainError()),h.apply(this,arguments))}),c.attempt(function(){f.apply(t,d)})}.bind(t,l),t[o].options=e}}});var iu=F((UR,nu)=>{nu.exports=tu()});var ou=F((bR,ai)=>{"use strict";var $m=iu(),Jm=["Failed to fetch","NetworkError when attempting to fetch resource.","The Internet connection appears to be offline.","Network request failed"],si=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}},Wm=(t,e,n)=>{let i=n.retries-(e-1);return t.attemptNumber=e,t.retriesLeft=i,t},Km=t=>Jm.includes(t),ru=(t,e)=>new Promise((n,i)=>{e={onFailedAttempt:()=>{},retries:10,...e};let r=$m.operation(e);r.attempt(async o=>{try{n(await t(o))}catch(l){if(!(l instanceof Error)){i(new TypeError(`Non-error was thrown: "${l}". You should only throw errors.`));return}if(l instanceof si)r.stop(),i(l.originalError);else if(l instanceof TypeError&&!Km(l.message))r.stop(),i(l);else{Wm(l,o,e);try{await e.onFailedAttempt(l)}catch(u){i(u);return}r.retry(l)||i(r.mainError())}}})});ai.exports=ru;ai.exports.default=ru;ai.exports.AbortError=si});var go=F((LR,hu)=>{"use strict";var li=Object.prototype.hasOwnProperty,du=Object.prototype.toString,su=Object.defineProperty,au=Object.getOwnPropertyDescriptor,lu=function(e){return typeof Array.isArray=="function"?Array.isArray(e):du.call(e)==="[object Array]"},uu=function(e){if(!e||du.call(e)!=="[object Object]")return!1;var n=li.call(e,"constructor"),i=e.constructor&&e.constructor.prototype&&li.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!n&&!i)return!1;var r;for(r in e);return typeof r>"u"||li.call(e,r)},cu=function(e,n){su&&n.name==="__proto__"?su(e,n.name,{enumerable:!0,configurable:!0,value:n.newValue,writable:!0}):e[n.name]=n.newValue},fu=function(e,n){if(n==="__proto__")if(li.call(e,n)){if(au)return au(e,n).value}else return;return e[n]};hu.exports=function t(){var e,n,i,r,o,l,u=arguments[0],f=1,c=arguments.length,d=!1;for(typeof u=="boolean"&&(d=u,u=arguments[1]||{},f=2),(u==null||typeof u!="object"&&typeof u!="function")&&(u={});f<c;++f)if(e=arguments[f],e!=null)for(n in e)i=fu(u,n),r=fu(e,n),u!==r&&(d&&r&&(uu(r)||(o=lu(r)))?(o?(o=!1,l=i&&lu(i)?i:[]):l=i&&uu(i)?i:{},cu(u,{name:n,newValue:t(d,l,r)})):typeof r<"u"&&cu(u,{name:n,newValue:r}));return u}});var pu=F((OR,Ym)=>{Ym.exports={name:"gaxios",version:"7.1.4",description:"A simple common HTTP client specifically for Google APIs and services.",main:"build/cjs/src/index.js",types:"build/cjs/src/index.d.ts",files:["build/"],exports:{".":{import:{types:"./build/esm/src/index.d.ts",default:"./build/esm/src/index.js"},require:{types:"./build/cjs/src/index.d.ts",default:"./build/cjs/src/index.js"}}},scripts:{lint:"gts check --no-inline-config",test:"c8 mocha build/esm/test","presystem-test":"npm run compile","system-test":"mocha build/esm/system-test --timeout 80000",compile:"tsc -b ./tsconfig.json ./tsconfig.cjs.json && node utils/enable-esm.mjs",fix:"gts fix",prepare:"npm run compile",pretest:"npm run compile",webpack:"webpack","prebrowser-test":"npm run compile","browser-test":"node build/browser-test/browser-test-runner.js",docs:"jsdoc -c .jsdoc.js","docs-test":"linkinator docs","predocs-test":"npm run docs","samples-test":"cd samples/ && npm link ../ && npm test && cd ../",prelint:"cd samples; npm link ../; npm install",clean:"gts clean"},repository:{type:"git",directory:"packages/gaxios",url:"https://github.com/googleapis/google-cloud-node-core.git"},keywords:["google"],engines:{node:">=18"},author:"Google, LLC",license:"Apache-2.0",devDependencies:{"@babel/plugin-proposal-private-methods":"^7.18.6","@types/cors":"^2.8.6","@types/express":"^5.0.0","@types/extend":"^3.0.1","@types/mocha":"^10.0.10","@types/multiparty":"4.2.1","@types/mv":"^2.1.0","@types/ncp":"^2.0.8","@types/node":"^22.13.1","@types/sinon":"^17.0.3","@types/tmp":"^0.2.6",assert:"^2.0.0",browserify:"^17.0.0",c8:"^10.1.3",cors:"^2.8.5",express:"^5.0.0",gts:"^6.0.2","is-docker":"^3.0.0",jsdoc:"^4.0.4","jsdoc-fresh":"^5.0.0","jsdoc-region-tag":"^4.0.0",karma:"^6.0.0","karma-chrome-launcher":"^3.0.0","karma-coverage":"^2.0.0","karma-firefox-launcher":"^2.0.0","karma-mocha":"^2.0.0","karma-remap-coverage":"^0.1.5","karma-sourcemap-loader":"^0.4.0","karma-webpack":"^5.0.1",linkinator:"^6.1.2",mocha:"^11.1.0",multiparty:"^4.2.1",mv:"^2.1.1",ncp:"^2.0.0",nock:"^14.0.5","null-loader":"^4.0.1","pack-n-play":"^4.0.0",puppeteer:"^24.0.0",sinon:"^21.0.0","stream-browserify":"^3.0.0",tmp:"0.2.5","ts-loader":"^9.5.2",typescript:"5.8.3",webpack:"^5.97.1","webpack-cli":"^6.0.1"},dependencies:{extend:"^3.0.2","https-proxy-agent":"^7.0.1","node-fetch":"^3.3.2"},homepage:"https://github.com/googleapis/google-cloud-node-core/tree/main/packages/gaxios"}});var gu=F((FR,mu)=>{"use strict";var zm=pu();mu.exports={pkg:zm}});var Eo=F(be=>{"use strict";var _u=be&&be.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(be,"__esModule",{value:!0});be.GaxiosError=be.GAXIOS_ERROR_SYMBOL=void 0;be.defaultErrorRedactor=Eu;var yu=_u(go()),Xm=_u(gu()),yo=Xm.default.pkg;be.GAXIOS_ERROR_SYMBOL=Symbol.for(`${yo.name}-gaxios-error`);var _o=class t extends Error{config;response;code;status;error;[be.GAXIOS_ERROR_SYMBOL]=yo.version;static[Symbol.hasInstance](e){return e&&typeof e=="object"&&be.GAXIOS_ERROR_SYMBOL in e&&e[be.GAXIOS_ERROR_SYMBOL]===yo.version?!0:Function.prototype[Symbol.hasInstance].call(t,e)}constructor(e,n,i,r){if(super(e,{cause:r}),this.config=n,this.response=i,this.error=r instanceof Error?r:void 0,this.config=(0,yu.default)(!0,{},n),this.response&&(this.response.config=(0,yu.default)(!0,{},this.response.config)),this.response){try{this.response.data=Qm(this.config.responseType,this.response?.bodyUsed?this.response?.data:void 0)}catch{}this.status=this.response.status}r instanceof DOMException?this.code=r.name:r&&typeof r=="object"&&"code"in r&&(typeof r.code=="string"||typeof r.code=="number")&&(this.code=r.code)}static extractAPIErrorFromResponse(e,n="The request failed"){let i=n;if(typeof e.data=="string"&&(i=e.data),e.data&&typeof e.data=="object"&&"error"in e.data&&e.data.error&&!e.ok){if(typeof e.data.error=="string")return{message:e.data.error,code:e.status,status:e.statusText};if(typeof e.data.error=="object"){i="message"in e.data.error&&typeof e.data.error.message=="string"?e.data.error.message:i;let r="status"in e.data.error&&typeof e.data.error.status=="string"?e.data.error.status:e.statusText,o="code"in e.data.error&&typeof e.data.error.code=="number"?e.data.error.code:e.status;if("errors"in e.data.error&&Array.isArray(e.data.error.errors)){let l=[];for(let u of e.data.error.errors)typeof u=="object"&&"message"in u&&typeof u.message=="string"&&l.push(u.message);return Object.assign({message:l.join(`
3
+ `)||i,code:o,status:r},e.data.error)}return Object.assign({message:i,code:o,status:r},e.data.error)}}return{message:i,code:e.status,status:e.statusText}}};be.GaxiosError=_o;function Qm(t,e){switch(t){case"stream":return e;case"json":return JSON.parse(JSON.stringify(e));case"arraybuffer":return JSON.parse(Buffer.from(e).toString("utf8"));case"blob":return JSON.parse(e.text());default:return e}}function Eu(t){let e="<<REDACTED> - See `errorRedactor` option in `gaxios` for configuration>.";function n(o){o&&o.forEach((l,u)=>{(/^authentication$/i.test(u)||/^authorization$/i.test(u)||/secret/i.test(u))&&o.set(u,e)})}function i(o,l){if(typeof o=="object"&&o!==null&&typeof o[l]=="string"){let u=o[l];(/grant_type=/i.test(u)||/assertion=/i.test(u)||/secret/i.test(u))&&(o[l]=e)}}function r(o){!o||typeof o!="object"||(o instanceof FormData||o instanceof URLSearchParams||"forEach"in o&&"set"in o?o.forEach((l,u)=>{(["grant_type","assertion"].includes(u)||/secret/.test(u))&&o.set(u,e)}):("grant_type"in o&&(o.grant_type=e),"assertion"in o&&(o.assertion=e),"client_secret"in o&&(o.client_secret=e)))}return t.config&&(n(t.config.headers),i(t.config,"data"),r(t.config.data),i(t.config,"body"),r(t.config.body),t.config.url.searchParams.has("token")&&t.config.url.searchParams.set("token",e),t.config.url.searchParams.has("client_secret")&&t.config.url.searchParams.set("client_secret",e)),t.response&&(Eu({config:t.response.config}),n(t.response.headers),t.response.bodyUsed&&(i(t.response,"data"),r(t.response.data))),t}});var Su=F(To=>{"use strict";Object.defineProperty(To,"__esModule",{value:!0});To.getRetryConfig=Zm;async function Zm(t){let e=Tu(t);if(!t||!t.config||!e&&!t.config.retry)return{shouldRetry:!1};e=e||{},e.currentRetryAttempt=e.currentRetryAttempt||0,e.retry=e.retry===void 0||e.retry===null?3:e.retry,e.httpMethodsToRetry=e.httpMethodsToRetry||["GET","HEAD","PUT","OPTIONS","DELETE"],e.noResponseRetries=e.noResponseRetries===void 0||e.noResponseRetries===null?2:e.noResponseRetries,e.retryDelayMultiplier=e.retryDelayMultiplier?e.retryDelayMultiplier:2,e.timeOfFirstRequest=e.timeOfFirstRequest?e.timeOfFirstRequest:Date.now(),e.totalTimeout=e.totalTimeout?e.totalTimeout:Number.MAX_SAFE_INTEGER,e.maxRetryDelay=e.maxRetryDelay?e.maxRetryDelay:Number.MAX_SAFE_INTEGER;let n=[[100,199],[408,408],[429,429],[500,599]];if(e.statusCodesToRetry=e.statusCodesToRetry||n,t.config.retryConfig=e,!await(e.shouldRetry||jm)(t))return{shouldRetry:!1,config:t.config};let r=eg(e);t.config.retryConfig.currentRetryAttempt+=1;let o=e.retryBackoff?e.retryBackoff(t,r):new Promise(l=>{setTimeout(l,r)});return e.onRetryAttempt&&await e.onRetryAttempt(t),await o,{shouldRetry:!0,config:t.config}}function jm(t){let e=Tu(t);if(t.config.signal?.aborted&&t.code!=="TimeoutError"||t.code==="AbortError"||!e||e.retry===0||!t.response&&(e.currentRetryAttempt||0)>=e.noResponseRetries||!e.httpMethodsToRetry||!e.httpMethodsToRetry.includes(t.config.method?.toUpperCase()||"GET"))return!1;if(t.response&&t.response.status){let n=!1;for(let[i,r]of e.statusCodesToRetry){let o=t.response.status;if(o>=i&&o<=r){n=!0;break}}if(!n)return!1}return e.currentRetryAttempt=e.currentRetryAttempt||0,!(e.currentRetryAttempt>=e.retry)}function Tu(t){if(t&&t.config&&t.config.retryConfig)return t.config.retryConfig}function eg(t){let n=(t.currentRetryAttempt?0:t.retryDelay??100)+(Math.pow(t.retryDelayMultiplier,t.currentRetryAttempt)-1)/2*1e3,i=t.totalTimeout-(Date.now()-t.timeOfFirstRequest);return Math.min(n,i,t.maxRetryDelay)}});var Co=F(ui=>{"use strict";Object.defineProperty(ui,"__esModule",{value:!0});ui.GaxiosInterceptorManager=void 0;var So=class extends Set{};ui.GaxiosInterceptorManager=So});var Au=F(Kt=>{"use strict";var tg=Kt&&Kt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}},Wt;Object.defineProperty(Kt,"__esModule",{value:!0});Kt.Gaxios=void 0;var ng=tg(go()),ig=H("https"),kt=Eo(),rg=Su(),Cu=H("stream"),vu=Co(),og=async()=>globalThis.crypto?.randomUUID()||(await import("crypto")).randomUUID(),sg=204,ci=class{agentCache=new Map;defaults;interceptors;constructor(e){this.defaults=e||{},this.interceptors={request:new vu.GaxiosInterceptorManager,response:new vu.GaxiosInterceptorManager}}fetch(...e){let n=e[0],i=e[1],r,o=new Headers;return typeof n=="string"?r=new URL(n):n instanceof URL?r=n:n&&n.url&&(r=new URL(n.url)),n&&typeof n=="object"&&"headers"in n&&Wt.mergeHeaders(o,n.headers),i&&Wt.mergeHeaders(o,new Headers(i.headers)),typeof n=="object"&&!(n instanceof URL)?this.request({...i,...n,headers:o,url:r}):this.request({...i,headers:o,url:r})}async request(e={}){let n=await this.#i(e);return n=await this.#t(n),this.#n(this._request(n))}async _defaultAdapter(e){let n=e.fetchImplementation||this.defaults.fetchImplementation||await Wt.#l(),i={...e};delete i.data;let r=await n(e.url,i),o=await this.getResponseData(e,r);return Object.getOwnPropertyDescriptor(r,"data")?.configurable||Object.defineProperties(r,{data:{configurable:!0,writable:!0,enumerable:!0,value:o}}),Object.assign(r,{config:e,data:o})}async _request(e){try{let n;if(e.adapter?n=await e.adapter(e,this._defaultAdapter.bind(this)):n=await this._defaultAdapter(e),!e.validateStatus(n.status)){if(e.responseType==="stream"){let r=[];for await(let o of n.data)r.push(o);n.data=r.toString()}let i=kt.GaxiosError.extractAPIErrorFromResponse(n,`Request failed with status code ${n.status}`);throw new kt.GaxiosError(i?.message,e,n,i)}return n}catch(n){let i;n instanceof kt.GaxiosError?i=n:n instanceof Error?i=new kt.GaxiosError(n.message,e,void 0,n):i=new kt.GaxiosError("Unexpected Gaxios Error",e,void 0,n);let{shouldRetry:r,config:o}=await(0,rg.getRetryConfig)(i);if(r&&o)return i.config.retryConfig.currentRetryAttempt=o.retryConfig.currentRetryAttempt,e.retryConfig=i.config?.retryConfig,this.#r(e),this._request(e);throw e.errorRedactor&&e.errorRedactor(i),i}}async getResponseData(e,n){if(n.status===sg)return"";if(e.maxContentLength&&n.headers.has("content-length")&&e.maxContentLength<Number.parseInt(n.headers?.get("content-length")||""))throw new kt.GaxiosError("Response's `Content-Length` is over the limit.",e,Object.assign(n,{config:e}));switch(e.responseType){case"stream":return n.body;case"json":{let i=await n.text();try{return JSON.parse(i)}catch{return i}}case"arraybuffer":return n.arrayBuffer();case"blob":return n.blob();case"text":return n.text();default:return this.getResponseDataFromContentType(n)}}#e(e,n=[]){let i=new URL(e),r=[...n],o=(process.env.NO_PROXY??process.env.no_proxy)?.split(",")||[];for(let l of o)r.push(l.trim());for(let l of r)if(l instanceof RegExp){if(l.test(i.toString()))return!1}else if(l instanceof URL){if(l.origin===i.origin)return!1}else if(l.startsWith("*.")||l.startsWith(".")){let u=l.replace(/^\*\./,".");if(i.hostname.endsWith(u))return!1}else if(l===i.origin||l===i.hostname||l===i.href)return!1;return!0}async#t(e){let n=Promise.resolve(e);for(let i of this.interceptors.request.values())i&&(n=n.then(i.resolved,i.rejected));return n}async#n(e){let n=Promise.resolve(e);for(let i of this.interceptors.response.values())i&&(n=n.then(i.resolved,i.rejected));return n}async#i(e){let n=new Headers(this.defaults.headers);Wt.mergeHeaders(n,e.headers);let i=(0,ng.default)(!0,{},this.defaults,e);if(!i.url)throw new Error("URL is required.");if(i.baseURL&&(i.url=new URL(i.url,i.baseURL)),i.url=new URL(i.url),i.params)if(i.paramsSerializer){let l=i.paramsSerializer(i.params);l.startsWith("?")&&(l=l.slice(1));let u=i.url.toString().includes("?")?"&":"?";i.url=i.url+u+l}else{let l=i.url instanceof URL?i.url:new URL(i.url);for(let[u,f]of new URLSearchParams(i.params))l.searchParams.append(u,f);i.url=l}typeof e.maxContentLength=="number"&&(i.size=e.maxContentLength),typeof e.maxRedirects=="number"&&(i.follow=e.maxRedirects);let r=typeof i.data=="string"||i.data instanceof ArrayBuffer||i.data instanceof Blob||globalThis.File&&i.data instanceof File||i.data instanceof FormData||i.data instanceof Cu.Readable||i.data instanceof ReadableStream||i.data instanceof String||i.data instanceof URLSearchParams||ArrayBuffer.isView(i.data)||["Blob","File","FormData"].includes(i.data?.constructor?.name||"");if(i.multipart?.length){let l=await og();n.set("content-type",`multipart/related; boundary=${l}`),i.body=Cu.Readable.from(this.getMultipartRequest(i.multipart,l))}else r?i.body=i.data:typeof i.data=="object"?n.get("Content-Type")==="application/x-www-form-urlencoded"?i.body=i.paramsSerializer?i.paramsSerializer(i.data):new URLSearchParams(i.data):(n.has("content-type")||n.set("content-type","application/json"),i.body=JSON.stringify(i.data)):i.data&&(i.body=i.data);i.validateStatus=i.validateStatus||this.validateStatus,i.responseType=i.responseType||"unknown",!n.has("accept")&&i.responseType==="json"&&n.set("accept","application/json");let o=i.proxy||process?.env?.HTTPS_PROXY||process?.env?.https_proxy||process?.env?.HTTP_PROXY||process?.env?.http_proxy;if(!i.agent)if(o&&this.#e(i.url,i.noProxy)){let l=await Wt.#a();this.agentCache.has(o)?i.agent=this.agentCache.get(o):(i.agent=new l(o,{cert:i.cert,key:i.key}),this.agentCache.set(o,i.agent))}else i.cert&&i.key&&(this.agentCache.has(i.key)?i.agent=this.agentCache.get(i.key):(i.agent=new ig.Agent({cert:i.cert,key:i.key}),this.agentCache.set(i.key,i.agent)));return typeof i.errorRedactor!="function"&&i.errorRedactor!==!1&&(i.errorRedactor=kt.defaultErrorRedactor),i.body&&!("duplex"in i)&&(i.duplex="half"),this.#r(i),Object.assign(i,{headers:n,url:i.url instanceof URL?i.url:new URL(i.url)})}#r(e){if(e.timeout){let n=AbortSignal.timeout(e.timeout);e.signal&&!e.signal.aborted?e.signal=AbortSignal.any([e.signal,n]):e.signal=n}}validateStatus(e){return e>=200&&e<300}async getResponseDataFromContentType(e){let n=e.headers.get("Content-Type");if(n===null)return e.text();if(n=n.toLowerCase(),n.includes("application/json")){let i=await e.text();try{i=JSON.parse(i)}catch{}return i}else return n.match(/^text\//)?e.text():e.blob()}async*getMultipartRequest(e,n){let i=`--${n}--`;for(let r of e){let o=r.headers.get("Content-Type")||"application/octet-stream";yield`--${n}\r
4
+ Content-Type: ${o}\r
5
+ \r
6
+ `,typeof r.content=="string"?yield r.content:yield*r.content,yield`\r
7
+ `}yield i}static#o;static#s;static async#a(){return this.#o||=(await import("./dist-QVOR7USR.js")).HttpsProxyAgent,this.#o}static async#l(){let e=typeof window<"u"&&!!window;return this.#s||=e?window.fetch:(await import("./src-6SFGTAGT.js")).default,this.#s}static mergeHeaders(e,...n){e=e instanceof Headers?e:new Headers(e);for(let i of n)(i instanceof Headers?i:new Headers(i)).forEach((o,l)=>{l==="set-cookie"?e.append(l,o):e.set(l,o)});return e}};Kt.Gaxios=ci;Wt=ci});var ge=F(Te=>{"use strict";var ag=Te&&Te.__createBinding||(Object.create?function(t,e,n,i){i===void 0&&(i=n);var r=Object.getOwnPropertyDescriptor(e,n);(!r||("get"in r?!e.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,i,r)}:function(t,e,n,i){i===void 0&&(i=n),t[i]=e[n]}),lg=Te&&Te.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&ag(e,t,n)};Object.defineProperty(Te,"__esModule",{value:!0});Te.instance=Te.Gaxios=Te.GaxiosError=void 0;Te.request=cg;var wu=Au();Object.defineProperty(Te,"Gaxios",{enumerable:!0,get:function(){return wu.Gaxios}});var ug=Eo();Object.defineProperty(Te,"GaxiosError",{enumerable:!0,get:function(){return ug.GaxiosError}});lg(Co(),Te);Te.instance=new wu.Gaxios;async function cg(t){return Te.instance.request(t)}});var vo=F((Iu,fi)=>{(function(t){"use strict";var e,n=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,i=Math.ceil,r=Math.floor,o="[BigNumber Error] ",l=o+"Number primitive has more than 15 significant digits: ",u=1e14,f=14,c=9007199254740991,d=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],h=1e7,p=1e9;function m(U){var R,q,K,M=G.prototype={constructor:G,toString:null,valueOf:null},J=new G(1),z=20,Q=4,oe=-7,j=21,re=-1e7,ue=1e7,we=!1,ce=1,Ce=0,uo={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:"\xA0",suffix:""},Nt="0123456789abcdefghijklmnopqrstuvwxyz",co=!0;function G(g,y){var S,N,v,I,k,C,w,x,P=this;if(!(P instanceof G))return new G(g,y);if(y==null){if(g&&g._isBigNumber===!0){P.s=g.s,!g.c||g.e>ue?P.c=P.e=null:g.e<re?P.c=[P.e=0]:(P.e=g.e,P.c=g.c.slice());return}if((C=typeof g=="number")&&g*0==0){if(P.s=1/g<0?(g=-g,-1):1,g===~~g){for(I=0,k=g;k>=10;k/=10,I++);I>ue?P.c=P.e=null:(P.e=I,P.c=[g]);return}x=String(g)}else{if(!n.test(x=String(g)))return K(P,x,C);P.s=x.charCodeAt(0)==45?(x=x.slice(1),-1):1}(I=x.indexOf("."))>-1&&(x=x.replace(".","")),(k=x.search(/e/i))>0?(I<0&&(I=k),I+=+x.slice(k+1),x=x.substring(0,k)):I<0&&(I=x.length)}else{if(A(y,2,Nt.length,"Base"),y==10&&co)return P=new G(g),Me(P,z+P.e+1,Q);if(x=String(g),C=typeof g=="number"){if(g*0!=0)return K(P,x,C,y);if(P.s=1/g<0?(x=x.slice(1),-1):1,G.DEBUG&&x.replace(/^0\.0*|\./,"").length>15)throw Error(l+g)}else P.s=x.charCodeAt(0)===45?(x=x.slice(1),-1):1;for(S=Nt.slice(0,y),I=k=0,w=x.length;k<w;k++)if(S.indexOf(N=x.charAt(k))<0){if(N=="."){if(k>I){I=w;continue}}else if(!v&&(x==x.toUpperCase()&&(x=x.toLowerCase())||x==x.toLowerCase()&&(x=x.toUpperCase()))){v=!0,k=-1,I=0;continue}return K(P,String(g),C,y)}C=!1,x=q(x,y,10,P.s),(I=x.indexOf("."))>-1?x=x.replace(".",""):I=x.length}for(k=0;x.charCodeAt(k)===48;k++);for(w=x.length;x.charCodeAt(--w)===48;);if(x=x.slice(k,++w)){if(w-=k,C&&G.DEBUG&&w>15&&(g>c||g!==r(g)))throw Error(l+P.s*g);if((I=I-k-1)>ue)P.c=P.e=null;else if(I<re)P.c=[P.e=0];else{if(P.e=I,P.c=[],k=(I+1)%f,I<0&&(k+=f),k<w){for(k&&P.c.push(+x.slice(0,k)),w-=f;k<w;)P.c.push(+x.slice(k,k+=f));k=f-(x=x.slice(k)).length}else k-=w;for(;k--;x+="0");P.c.push(+x)}}else P.c=[P.e=0]}G.clone=m,G.ROUND_UP=0,G.ROUND_DOWN=1,G.ROUND_CEIL=2,G.ROUND_FLOOR=3,G.ROUND_HALF_UP=4,G.ROUND_HALF_DOWN=5,G.ROUND_HALF_EVEN=6,G.ROUND_HALF_CEIL=7,G.ROUND_HALF_FLOOR=8,G.EUCLID=9,G.config=G.set=function(g){var y,S;if(g!=null)if(typeof g=="object"){if(g.hasOwnProperty(y="DECIMAL_PLACES")&&(S=g[y],A(S,0,p,y),z=S),g.hasOwnProperty(y="ROUNDING_MODE")&&(S=g[y],A(S,0,8,y),Q=S),g.hasOwnProperty(y="EXPONENTIAL_AT")&&(S=g[y],S&&S.pop?(A(S[0],-p,0,y),A(S[1],0,p,y),oe=S[0],j=S[1]):(A(S,-p,p,y),oe=-(j=S<0?-S:S))),g.hasOwnProperty(y="RANGE"))if(S=g[y],S&&S.pop)A(S[0],-p,-1,y),A(S[1],1,p,y),re=S[0],ue=S[1];else if(A(S,-p,p,y),S)re=-(ue=S<0?-S:S);else throw Error(o+y+" cannot be zero: "+S);if(g.hasOwnProperty(y="CRYPTO"))if(S=g[y],S===!!S)if(S)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))we=S;else throw we=!S,Error(o+"crypto unavailable");else we=S;else throw Error(o+y+" not true or false: "+S);if(g.hasOwnProperty(y="MODULO_MODE")&&(S=g[y],A(S,0,9,y),ce=S),g.hasOwnProperty(y="POW_PRECISION")&&(S=g[y],A(S,0,p,y),Ce=S),g.hasOwnProperty(y="FORMAT"))if(S=g[y],typeof S=="object")uo=S;else throw Error(o+y+" not an object: "+S);if(g.hasOwnProperty(y="ALPHABET"))if(S=g[y],typeof S=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(S))co=S.slice(0,10)=="0123456789",Nt=S;else throw Error(o+y+" invalid: "+S)}else throw Error(o+"Object expected: "+g);return{DECIMAL_PLACES:z,ROUNDING_MODE:Q,EXPONENTIAL_AT:[oe,j],RANGE:[re,ue],CRYPTO:we,MODULO_MODE:ce,POW_PRECISION:Ce,FORMAT:uo,ALPHABET:Nt}},G.isBigNumber=function(g){if(!g||g._isBigNumber!==!0)return!1;if(!G.DEBUG)return!0;var y,S,N=g.c,v=g.e,I=g.s;e:if({}.toString.call(N)=="[object Array]"){if((I===1||I===-1)&&v>=-p&&v<=p&&v===r(v)){if(N[0]===0){if(v===0&&N.length===1)return!0;break e}if(y=(v+1)%f,y<1&&(y+=f),String(N[0]).length==y){for(y=0;y<N.length;y++)if(S=N[y],S<0||S>=u||S!==r(S))break e;if(S!==0)return!0}}}else if(N===null&&v===null&&(I===null||I===1||I===-1))return!0;throw Error(o+"Invalid BigNumber: "+g)},G.maximum=G.max=function(){return Zl(arguments,-1)},G.minimum=G.min=function(){return Zl(arguments,1)},G.random=function(){var g=9007199254740992,y=Math.random()*g&2097151?function(){return r(Math.random()*g)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(S){var N,v,I,k,C,w=0,x=[],P=new G(J);if(S==null?S=z:A(S,0,p),k=i(S/f),we)if(crypto.getRandomValues){for(N=crypto.getRandomValues(new Uint32Array(k*=2));w<k;)C=N[w]*131072+(N[w+1]>>>11),C>=9e15?(v=crypto.getRandomValues(new Uint32Array(2)),N[w]=v[0],N[w+1]=v[1]):(x.push(C%1e14),w+=2);w=k/2}else if(crypto.randomBytes){for(N=crypto.randomBytes(k*=7);w<k;)C=(N[w]&31)*281474976710656+N[w+1]*1099511627776+N[w+2]*4294967296+N[w+3]*16777216+(N[w+4]<<16)+(N[w+5]<<8)+N[w+6],C>=9e15?crypto.randomBytes(7).copy(N,w):(x.push(C%1e14),w+=7);w=k/7}else throw we=!1,Error(o+"crypto unavailable");if(!we)for(;w<k;)C=y(),C<9e15&&(x[w++]=C%1e14);for(k=x[--w],S%=f,k&&S&&(C=d[f-S],x[w]=r(k/C)*C);x[w]===0;x.pop(),w--);if(w<0)x=[I=0];else{for(I=-1;x[0]===0;x.splice(0,1),I-=f);for(w=1,C=x[0];C>=10;C/=10,w++);w<f&&(I-=f-w)}return P.e=I,P.c=x,P}}(),G.sum=function(){for(var g=1,y=arguments,S=new G(y[0]);g<y.length;)S=S.plus(y[g++]);return S},q=function(){var g="0123456789";function y(S,N,v,I){for(var k,C=[0],w,x=0,P=S.length;x<P;){for(w=C.length;w--;C[w]*=N);for(C[0]+=I.indexOf(S.charAt(x++)),k=0;k<C.length;k++)C[k]>v-1&&(C[k+1]==null&&(C[k+1]=0),C[k+1]+=C[k]/v|0,C[k]%=v)}return C.reverse()}return function(S,N,v,I,k){var C,w,x,P,b,$,W,ee,ae=S.indexOf("."),he=z,Z=Q;for(ae>=0&&(P=Ce,Ce=0,S=S.replace(".",""),ee=new G(N),$=ee.pow(S.length-ae),Ce=P,ee.c=y(O(E($.c),$.e,"0"),10,v,g),ee.e=ee.c.length),W=y(S,N,v,k?(C=Nt,g):(C=g,Nt)),x=P=W.length;W[--P]==0;W.pop());if(!W[0])return C.charAt(0);if(ae<0?--x:($.c=W,$.e=x,$.s=I,$=R($,ee,he,Z,v),W=$.c,b=$.r,x=$.e),w=x+he+1,ae=W[w],P=v/2,b=b||w<0||W[w+1]!=null,b=Z<4?(ae!=null||b)&&(Z==0||Z==($.s<0?3:2)):ae>P||ae==P&&(Z==4||b||Z==6&&W[w-1]&1||Z==($.s<0?8:7)),w<1||!W[0])S=b?O(C.charAt(1),-he,C.charAt(0)):C.charAt(0);else{if(W.length=w,b)for(--v;++W[--w]>v;)W[w]=0,w||(++x,W=[1].concat(W));for(P=W.length;!W[--P];);for(ae=0,S="";ae<=P;S+=C.charAt(W[ae++]));S=O(S,x,C.charAt(0))}return S}}(),R=function(){function g(N,v,I){var k,C,w,x,P=0,b=N.length,$=v%h,W=v/h|0;for(N=N.slice();b--;)w=N[b]%h,x=N[b]/h|0,k=W*w+x*$,C=$*w+k%h*h+P,P=(C/I|0)+(k/h|0)+W*x,N[b]=C%I;return P&&(N=[P].concat(N)),N}function y(N,v,I,k){var C,w;if(I!=k)w=I>k?1:-1;else for(C=w=0;C<I;C++)if(N[C]!=v[C]){w=N[C]>v[C]?1:-1;break}return w}function S(N,v,I,k){for(var C=0;I--;)N[I]-=C,C=N[I]<v[I]?1:0,N[I]=C*k+N[I]-v[I];for(;!N[0]&&N.length>1;N.splice(0,1));}return function(N,v,I,k,C){var w,x,P,b,$,W,ee,ae,he,Z,ne,ye,oi,po,mo,je,Nn,De=N.s==v.s?1:-1,Ee=N.c,le=v.c;if(!Ee||!Ee[0]||!le||!le[0])return new G(!N.s||!v.s||(Ee?le&&Ee[0]==le[0]:!le)?NaN:Ee&&Ee[0]==0||!le?De*0:De/0);for(ae=new G(De),he=ae.c=[],x=N.e-v.e,De=I+x+1,C||(C=u,x=_(N.e/f)-_(v.e/f),De=De/f|0),P=0;le[P]==(Ee[P]||0);P++);if(le[P]>(Ee[P]||0)&&x--,De<0)he.push(1),b=!0;else{for(po=Ee.length,je=le.length,P=0,De+=2,$=r(C/(le[0]+1)),$>1&&(le=g(le,$,C),Ee=g(Ee,$,C),je=le.length,po=Ee.length),oi=je,Z=Ee.slice(0,je),ne=Z.length;ne<je;Z[ne++]=0);Nn=le.slice(),Nn=[0].concat(Nn),mo=le[0],le[1]>=C/2&&mo++;do{if($=0,w=y(le,Z,je,ne),w<0){if(ye=Z[0],je!=ne&&(ye=ye*C+(Z[1]||0)),$=r(ye/mo),$>1)for($>=C&&($=C-1),W=g(le,$,C),ee=W.length,ne=Z.length;y(W,Z,ee,ne)==1;)$--,S(W,je<ee?Nn:le,ee,C),ee=W.length,w=1;else $==0&&(w=$=1),W=le.slice(),ee=W.length;if(ee<ne&&(W=[0].concat(W)),S(Z,W,ne,C),ne=Z.length,w==-1)for(;y(le,Z,je,ne)<1;)$++,S(Z,je<ne?Nn:le,ne,C),ne=Z.length}else w===0&&($++,Z=[0]);he[P++]=$,Z[0]?Z[ne++]=Ee[oi]||0:(Z=[Ee[oi]],ne=1)}while((oi++<po||Z[0]!=null)&&De--);b=Z[0]!=null,he[0]||he.splice(0,1)}if(C==u){for(P=1,De=he[0];De>=10;De/=10,P++);Me(ae,I+(ae.e=P+x*f-1)+1,k,b)}else ae.e=x,ae.r=+b;return ae}}();function fo(g,y,S,N){var v,I,k,C,w;if(S==null?S=Q:A(S,0,8),!g.c)return g.toString();if(v=g.c[0],k=g.e,y==null)w=E(g.c),w=N==1||N==2&&(k<=oe||k>=j)?D(w,k):O(w,k,"0");else if(g=Me(new G(g),y,S),I=g.e,w=E(g.c),C=w.length,N==1||N==2&&(y<=I||I<=oe)){for(;C<y;w+="0",C++);w=D(w,I)}else if(y-=k+(N===2&&I>k),w=O(w,I,"0"),I+1>C){if(--y>0)for(w+=".";y--;w+="0");}else if(y+=I-C,y>0)for(I+1==C&&(w+=".");y--;w+="0");return g.s<0&&v?"-"+w:w}function Zl(g,y){for(var S,N,v=1,I=new G(g[0]);v<g.length;v++)N=new G(g[v]),(!N.s||(S=T(I,N))===y||S===0&&I.s===y)&&(I=N);return I}function ho(g,y,S){for(var N=1,v=y.length;!y[--v];y.pop());for(v=y[0];v>=10;v/=10,N++);return(S=N+S*f-1)>ue?g.c=g.e=null:S<re?g.c=[g.e=0]:(g.e=S,g.c=y),g}K=function(){var g=/^(-?)0([xbo])(?=\w[\w.]*$)/i,y=/^([^.]+)\.$/,S=/^\.([^.]+)$/,N=/^-?(Infinity|NaN)$/,v=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(I,k,C,w){var x,P=C?k:k.replace(v,"");if(N.test(P))I.s=isNaN(P)?null:P<0?-1:1;else{if(!C&&(P=P.replace(g,function(b,$,W){return x=(W=W.toLowerCase())=="x"?16:W=="b"?2:8,!w||w==x?$:b}),w&&(x=w,P=P.replace(y,"$1").replace(S,"0.$1")),k!=P))return new G(P,x);if(G.DEBUG)throw Error(o+"Not a"+(w?" base "+w:"")+" number: "+k);I.s=null}I.c=I.e=null}}();function Me(g,y,S,N){var v,I,k,C,w,x,P,b=g.c,$=d;if(b){e:{for(v=1,C=b[0];C>=10;C/=10,v++);if(I=y-v,I<0)I+=f,k=y,w=b[x=0],P=r(w/$[v-k-1]%10);else if(x=i((I+1)/f),x>=b.length)if(N){for(;b.length<=x;b.push(0));w=P=0,v=1,I%=f,k=I-f+1}else break e;else{for(w=C=b[x],v=1;C>=10;C/=10,v++);I%=f,k=I-f+v,P=k<0?0:r(w/$[v-k-1]%10)}if(N=N||y<0||b[x+1]!=null||(k<0?w:w%$[v-k-1]),N=S<4?(P||N)&&(S==0||S==(g.s<0?3:2)):P>5||P==5&&(S==4||N||S==6&&(I>0?k>0?w/$[v-k]:0:b[x-1])%10&1||S==(g.s<0?8:7)),y<1||!b[0])return b.length=0,N?(y-=g.e+1,b[0]=$[(f-y%f)%f],g.e=-y||0):b[0]=g.e=0,g;if(I==0?(b.length=x,C=1,x--):(b.length=x+1,C=$[f-I],b[x]=k>0?r(w/$[v-k]%$[k])*C:0),N)for(;;)if(x==0){for(I=1,k=b[0];k>=10;k/=10,I++);for(k=b[0]+=C,C=1;k>=10;k/=10,C++);I!=C&&(g.e++,b[0]==u&&(b[0]=1));break}else{if(b[x]+=C,b[x]!=u)break;b[x--]=0,C=1}for(I=b.length;b[--I]===0;b.pop());}g.e>ue?g.c=g.e=null:g.e<re&&(g.c=[g.e=0])}return g}function ut(g){var y,S=g.e;return S===null?g.toString():(y=E(g.c),y=S<=oe||S>=j?D(y,S):O(y,S,"0"),g.s<0?"-"+y:y)}return M.absoluteValue=M.abs=function(){var g=new G(this);return g.s<0&&(g.s=1),g},M.comparedTo=function(g,y){return T(this,new G(g,y))},M.decimalPlaces=M.dp=function(g,y){var S,N,v,I=this;if(g!=null)return A(g,0,p),y==null?y=Q:A(y,0,8),Me(new G(I),g+I.e+1,y);if(!(S=I.c))return null;if(N=((v=S.length-1)-_(this.e/f))*f,v=S[v])for(;v%10==0;v/=10,N--);return N<0&&(N=0),N},M.dividedBy=M.div=function(g,y){return R(this,new G(g,y),z,Q)},M.dividedToIntegerBy=M.idiv=function(g,y){return R(this,new G(g,y),0,1)},M.exponentiatedBy=M.pow=function(g,y){var S,N,v,I,k,C,w,x,P,b=this;if(g=new G(g),g.c&&!g.isInteger())throw Error(o+"Exponent not an integer: "+ut(g));if(y!=null&&(y=new G(y)),C=g.e>14,!b.c||!b.c[0]||b.c[0]==1&&!b.e&&b.c.length==1||!g.c||!g.c[0])return P=new G(Math.pow(+ut(b),C?g.s*(2-L(g)):+ut(g))),y?P.mod(y):P;if(w=g.s<0,y){if(y.c?!y.c[0]:!y.s)return new G(NaN);N=!w&&b.isInteger()&&y.isInteger(),N&&(b=b.mod(y))}else{if(g.e>9&&(b.e>0||b.e<-1||(b.e==0?b.c[0]>1||C&&b.c[1]>=24e7:b.c[0]<8e13||C&&b.c[0]<=9999975e7)))return I=b.s<0&&L(g)?-0:0,b.e>-1&&(I=1/I),new G(w?1/I:I);Ce&&(I=i(Ce/f+2))}for(C?(S=new G(.5),w&&(g.s=1),x=L(g)):(v=Math.abs(+ut(g)),x=v%2),P=new G(J);;){if(x){if(P=P.times(b),!P.c)break;I?P.c.length>I&&(P.c.length=I):N&&(P=P.mod(y))}if(v){if(v=r(v/2),v===0)break;x=v%2}else if(g=g.times(S),Me(g,g.e+1,1),g.e>14)x=L(g);else{if(v=+ut(g),v===0)break;x=v%2}b=b.times(b),I?b.c&&b.c.length>I&&(b.c.length=I):N&&(b=b.mod(y))}return N?P:(w&&(P=J.div(P)),y?P.mod(y):I?Me(P,Ce,Q,k):P)},M.integerValue=function(g){var y=new G(this);return g==null?g=Q:A(g,0,8),Me(y,y.e+1,g)},M.isEqualTo=M.eq=function(g,y){return T(this,new G(g,y))===0},M.isFinite=function(){return!!this.c},M.isGreaterThan=M.gt=function(g,y){return T(this,new G(g,y))>0},M.isGreaterThanOrEqualTo=M.gte=function(g,y){return(y=T(this,new G(g,y)))===1||y===0},M.isInteger=function(){return!!this.c&&_(this.e/f)>this.c.length-2},M.isLessThan=M.lt=function(g,y){return T(this,new G(g,y))<0},M.isLessThanOrEqualTo=M.lte=function(g,y){return(y=T(this,new G(g,y)))===-1||y===0},M.isNaN=function(){return!this.s},M.isNegative=function(){return this.s<0},M.isPositive=function(){return this.s>0},M.isZero=function(){return!!this.c&&this.c[0]==0},M.minus=function(g,y){var S,N,v,I,k=this,C=k.s;if(g=new G(g,y),y=g.s,!C||!y)return new G(NaN);if(C!=y)return g.s=-y,k.plus(g);var w=k.e/f,x=g.e/f,P=k.c,b=g.c;if(!w||!x){if(!P||!b)return P?(g.s=-y,g):new G(b?k:NaN);if(!P[0]||!b[0])return b[0]?(g.s=-y,g):new G(P[0]?k:Q==3?-0:0)}if(w=_(w),x=_(x),P=P.slice(),C=w-x){for((I=C<0)?(C=-C,v=P):(x=w,v=b),v.reverse(),y=C;y--;v.push(0));v.reverse()}else for(N=(I=(C=P.length)<(y=b.length))?C:y,C=y=0;y<N;y++)if(P[y]!=b[y]){I=P[y]<b[y];break}if(I&&(v=P,P=b,b=v,g.s=-g.s),y=(N=b.length)-(S=P.length),y>0)for(;y--;P[S++]=0);for(y=u-1;N>C;){if(P[--N]<b[N]){for(S=N;S&&!P[--S];P[S]=y);--P[S],P[N]+=u}P[N]-=b[N]}for(;P[0]==0;P.splice(0,1),--x);return P[0]?ho(g,P,x):(g.s=Q==3?-1:1,g.c=[g.e=0],g)},M.modulo=M.mod=function(g,y){var S,N,v=this;return g=new G(g,y),!v.c||!g.s||g.c&&!g.c[0]?new G(NaN):!g.c||v.c&&!v.c[0]?new G(v):(ce==9?(N=g.s,g.s=1,S=R(v,g,0,3),g.s=N,S.s*=N):S=R(v,g,0,ce),g=v.minus(S.times(g)),!g.c[0]&&ce==1&&(g.s=v.s),g)},M.multipliedBy=M.times=function(g,y){var S,N,v,I,k,C,w,x,P,b,$,W,ee,ae,he,Z=this,ne=Z.c,ye=(g=new G(g,y)).c;if(!ne||!ye||!ne[0]||!ye[0])return!Z.s||!g.s||ne&&!ne[0]&&!ye||ye&&!ye[0]&&!ne?g.c=g.e=g.s=null:(g.s*=Z.s,!ne||!ye?g.c=g.e=null:(g.c=[0],g.e=0)),g;for(N=_(Z.e/f)+_(g.e/f),g.s*=Z.s,w=ne.length,b=ye.length,w<b&&(ee=ne,ne=ye,ye=ee,v=w,w=b,b=v),v=w+b,ee=[];v--;ee.push(0));for(ae=u,he=h,v=b;--v>=0;){for(S=0,$=ye[v]%he,W=ye[v]/he|0,k=w,I=v+k;I>v;)x=ne[--k]%he,P=ne[k]/he|0,C=W*x+P*$,x=$*x+C%he*he+ee[I]+S,S=(x/ae|0)+(C/he|0)+W*P,ee[I--]=x%ae;ee[I]=S}return S?++N:ee.splice(0,1),ho(g,ee,N)},M.negated=function(){var g=new G(this);return g.s=-g.s||null,g},M.plus=function(g,y){var S,N=this,v=N.s;if(g=new G(g,y),y=g.s,!v||!y)return new G(NaN);if(v!=y)return g.s=-y,N.minus(g);var I=N.e/f,k=g.e/f,C=N.c,w=g.c;if(!I||!k){if(!C||!w)return new G(v/0);if(!C[0]||!w[0])return w[0]?g:new G(C[0]?N:v*0)}if(I=_(I),k=_(k),C=C.slice(),v=I-k){for(v>0?(k=I,S=w):(v=-v,S=C),S.reverse();v--;S.push(0));S.reverse()}for(v=C.length,y=w.length,v-y<0&&(S=w,w=C,C=S,y=v),v=0;y;)v=(C[--y]=C[y]+w[y]+v)/u|0,C[y]=u===C[y]?0:C[y]%u;return v&&(C=[v].concat(C),++k),ho(g,C,k)},M.precision=M.sd=function(g,y){var S,N,v,I=this;if(g!=null&&g!==!!g)return A(g,1,p),y==null?y=Q:A(y,0,8),Me(new G(I),g,y);if(!(S=I.c))return null;if(v=S.length-1,N=v*f+1,v=S[v]){for(;v%10==0;v/=10,N--);for(v=S[0];v>=10;v/=10,N++);}return g&&I.e+1>N&&(N=I.e+1),N},M.shiftedBy=function(g){return A(g,-c,c),this.times("1e"+g)},M.squareRoot=M.sqrt=function(){var g,y,S,N,v,I=this,k=I.c,C=I.s,w=I.e,x=z+4,P=new G("0.5");if(C!==1||!k||!k[0])return new G(!C||C<0&&(!k||k[0])?NaN:k?I:1/0);if(C=Math.sqrt(+ut(I)),C==0||C==1/0?(y=E(k),(y.length+w)%2==0&&(y+="0"),C=Math.sqrt(+y),w=_((w+1)/2)-(w<0||w%2),C==1/0?y="5e"+w:(y=C.toExponential(),y=y.slice(0,y.indexOf("e")+1)+w),S=new G(y)):S=new G(C+""),S.c[0]){for(w=S.e,C=w+x,C<3&&(C=0);;)if(v=S,S=P.times(v.plus(R(I,v,x,1))),E(v.c).slice(0,C)===(y=E(S.c)).slice(0,C))if(S.e<w&&--C,y=y.slice(C-3,C+1),y=="9999"||!N&&y=="4999"){if(!N&&(Me(v,v.e+z+2,0),v.times(v).eq(I))){S=v;break}x+=4,C+=4,N=1}else{(!+y||!+y.slice(1)&&y.charAt(0)=="5")&&(Me(S,S.e+z+2,1),g=!S.times(S).eq(I));break}}return Me(S,S.e+z+1,Q,g)},M.toExponential=function(g,y){return g!=null&&(A(g,0,p),g++),fo(this,g,y,1)},M.toFixed=function(g,y){return g!=null&&(A(g,0,p),g=g+this.e+1),fo(this,g,y)},M.toFormat=function(g,y,S){var N,v=this;if(S==null)g!=null&&y&&typeof y=="object"?(S=y,y=null):g&&typeof g=="object"?(S=g,g=y=null):S=uo;else if(typeof S!="object")throw Error(o+"Argument not an object: "+S);if(N=v.toFixed(g,y),v.c){var I,k=N.split("."),C=+S.groupSize,w=+S.secondaryGroupSize,x=S.groupSeparator||"",P=k[0],b=k[1],$=v.s<0,W=$?P.slice(1):P,ee=W.length;if(w&&(I=C,C=w,w=I,ee-=I),C>0&&ee>0){for(I=ee%C||C,P=W.substr(0,I);I<ee;I+=C)P+=x+W.substr(I,C);w>0&&(P+=x+W.slice(I)),$&&(P="-"+P)}N=b?P+(S.decimalSeparator||"")+((w=+S.fractionGroupSize)?b.replace(new RegExp("\\d{"+w+"}\\B","g"),"$&"+(S.fractionGroupSeparator||"")):b):P}return(S.prefix||"")+N+(S.suffix||"")},M.toFraction=function(g){var y,S,N,v,I,k,C,w,x,P,b,$,W=this,ee=W.c;if(g!=null&&(C=new G(g),!C.isInteger()&&(C.c||C.s!==1)||C.lt(J)))throw Error(o+"Argument "+(C.isInteger()?"out of range: ":"not an integer: ")+ut(C));if(!ee)return new G(W);for(y=new G(J),x=S=new G(J),N=w=new G(J),$=E(ee),I=y.e=$.length-W.e-1,y.c[0]=d[(k=I%f)<0?f+k:k],g=!g||C.comparedTo(y)>0?I>0?y:x:C,k=ue,ue=1/0,C=new G($),w.c[0]=0;P=R(C,y,0,1),v=S.plus(P.times(N)),v.comparedTo(g)!=1;)S=N,N=v,x=w.plus(P.times(v=x)),w=v,y=C.minus(P.times(v=y)),C=v;return v=R(g.minus(S),N,0,1),w=w.plus(v.times(x)),S=S.plus(v.times(N)),w.s=x.s=W.s,I=I*2,b=R(x,N,I,Q).minus(W).abs().comparedTo(R(w,S,I,Q).minus(W).abs())<1?[x,N]:[w,S],ue=k,b},M.toNumber=function(){return+ut(this)},M.toPrecision=function(g,y){return g!=null&&A(g,1,p),fo(this,g,y,2)},M.toString=function(g){var y,S=this,N=S.s,v=S.e;return v===null?N?(y="Infinity",N<0&&(y="-"+y)):y="NaN":(g==null?y=v<=oe||v>=j?D(E(S.c),v):O(E(S.c),v,"0"):g===10&&co?(S=Me(new G(S),z+v+1,Q),y=O(E(S.c),S.e,"0")):(A(g,2,Nt.length,"Base"),y=q(O(E(S.c),v,"0"),10,g,N,!0)),N<0&&S.c[0]&&(y="-"+y)),y},M.valueOf=M.toJSON=function(){return ut(this)},M._isBigNumber=!0,U!=null&&G.set(U),G}function _(U){var R=U|0;return U>0||U===R?R:R-1}function E(U){for(var R,q,K=1,M=U.length,J=U[0]+"";K<M;){for(R=U[K++]+"",q=f-R.length;q--;R="0"+R);J+=R}for(M=J.length;J.charCodeAt(--M)===48;);return J.slice(0,M+1||1)}function T(U,R){var q,K,M=U.c,J=R.c,z=U.s,Q=R.s,oe=U.e,j=R.e;if(!z||!Q)return null;if(q=M&&!M[0],K=J&&!J[0],q||K)return q?K?0:-Q:z;if(z!=Q)return z;if(q=z<0,K=oe==j,!M||!J)return K?0:!M^q?1:-1;if(!K)return oe>j^q?1:-1;for(Q=(oe=M.length)<(j=J.length)?oe:j,z=0;z<Q;z++)if(M[z]!=J[z])return M[z]>J[z]^q?1:-1;return oe==j?0:oe>j^q?1:-1}function A(U,R,q,K){if(U<R||U>q||U!==r(U))throw Error(o+(K||"Argument")+(typeof U=="number"?U<R||U>q?" out of range: ":" not an integer: ":" not a primitive number: ")+String(U))}function L(U){var R=U.c.length-1;return _(U.e/f)==R&&U.c[R]%2!=0}function D(U,R){return(U.length>1?U.charAt(0)+"."+U.slice(1):U)+(R<0?"e":"e+")+R}function O(U,R,q){var K,M;if(R<0){for(M=q+".";++R;M+=q);U=M+U}else if(K=U.length,++R>K){for(M=q,R-=K;--R;M+=q);U+=M}else R<K&&(U=U.slice(0,R)+"."+U.slice(R));return U}e=m(),e.default=e.BigNumber=e,typeof define=="function"&&define.amd?define(function(){return e}):typeof fi<"u"&&fi.exports?fi.exports=e:(t||(t=typeof self<"u"&&self?self:window),t.BigNumber=e)})(Iu)});var xu=F(($R,Nu)=>{var Ru=vo(),Pu=Nu.exports;(function(){"use strict";function t(c){return c<10?"0"+c:c}var e=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,n=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,i,r,o={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},l;function u(c){return n.lastIndex=0,n.test(c)?'"'+c.replace(n,function(d){var h=o[d];return typeof h=="string"?h:"\\u"+("0000"+d.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+c+'"'}function f(c,d){var h,p,m,_,E=i,T,A=d[c],L=A!=null&&(A instanceof Ru||Ru.isBigNumber(A));switch(A&&typeof A=="object"&&typeof A.toJSON=="function"&&(A=A.toJSON(c)),typeof l=="function"&&(A=l.call(d,c,A)),typeof A){case"string":return L?A:u(A);case"number":return isFinite(A)?String(A):"null";case"boolean":case"null":case"bigint":return String(A);case"object":if(!A)return"null";if(i+=r,T=[],Object.prototype.toString.apply(A)==="[object Array]"){for(_=A.length,h=0;h<_;h+=1)T[h]=f(h,A)||"null";return m=T.length===0?"[]":i?`[
8
+ `+i+T.join(`,
9
+ `+i)+`
10
+ `+E+"]":"["+T.join(",")+"]",i=E,m}if(l&&typeof l=="object")for(_=l.length,h=0;h<_;h+=1)typeof l[h]=="string"&&(p=l[h],m=f(p,A),m&&T.push(u(p)+(i?": ":":")+m));else Object.keys(A).forEach(function(D){var O=f(D,A);O&&T.push(u(D)+(i?": ":":")+O)});return m=T.length===0?"{}":i?`{
11
+ `+i+T.join(`,
12
+ `+i)+`
13
+ `+E+"}":"{"+T.join(",")+"}",i=E,m}}typeof Pu.stringify!="function"&&(Pu.stringify=function(c,d,h){var p;if(i="",r="",typeof h=="number")for(p=0;p<h;p+=1)r+=" ";else typeof h=="string"&&(r=h);if(l=d,d&&typeof d!="function"&&(typeof d!="object"||typeof d.length!="number"))throw new Error("JSON.stringify");return f("",{"":c})})})()});var Mu=F((JR,ku)=>{var di=null,fg=/(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])/,dg=/(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)/,hg=function(t){"use strict";var e={strict:!1,storeAsString:!1,alwaysParseAsBig:!1,useNativeBigInt:!1,protoAction:"error",constructorAction:"error"};if(t!=null){if(t.strict===!0&&(e.strict=!0),t.storeAsString===!0&&(e.storeAsString=!0),e.alwaysParseAsBig=t.alwaysParseAsBig===!0?t.alwaysParseAsBig:!1,e.useNativeBigInt=t.useNativeBigInt===!0?t.useNativeBigInt:!1,typeof t.constructorAction<"u")if(t.constructorAction==="error"||t.constructorAction==="ignore"||t.constructorAction==="preserve")e.constructorAction=t.constructorAction;else throw new Error(`Incorrect value for constructorAction option, must be "error", "ignore" or undefined but passed ${t.constructorAction}`);if(typeof t.protoAction<"u")if(t.protoAction==="error"||t.protoAction==="ignore"||t.protoAction==="preserve")e.protoAction=t.protoAction;else throw new Error(`Incorrect value for protoAction option, must be "error", "ignore" or undefined but passed ${t.protoAction}`)}var n,i,r={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
14
+ `,r:"\r",t:" "},o,l=function(E){throw{name:"SyntaxError",message:E,at:n,text:o}},u=function(E){return E&&E!==i&&l("Expected '"+E+"' instead of '"+i+"'"),i=o.charAt(n),n+=1,i},f=function(){var E,T="";for(i==="-"&&(T="-",u("-"));i>="0"&&i<="9";)T+=i,u();if(i===".")for(T+=".";u()&&i>="0"&&i<="9";)T+=i;if(i==="e"||i==="E")for(T+=i,u(),(i==="-"||i==="+")&&(T+=i,u());i>="0"&&i<="9";)T+=i,u();if(E=+T,!isFinite(E))l("Bad number");else return di==null&&(di=vo()),T.length>15?e.storeAsString?T:e.useNativeBigInt?BigInt(T):new di(T):e.alwaysParseAsBig?e.useNativeBigInt?BigInt(E):new di(E):E},c=function(){var E,T,A="",L;if(i==='"')for(var D=n;u();){if(i==='"')return n-1>D&&(A+=o.substring(D,n-1)),u(),A;if(i==="\\"){if(n-1>D&&(A+=o.substring(D,n-1)),u(),i==="u"){for(L=0,T=0;T<4&&(E=parseInt(u(),16),!!isFinite(E));T+=1)L=L*16+E;A+=String.fromCharCode(L)}else if(typeof r[i]=="string")A+=r[i];else break;D=n}}l("Bad string")},d=function(){for(;i&&i<=" ";)u()},h=function(){switch(i){case"t":return u("t"),u("r"),u("u"),u("e"),!0;case"f":return u("f"),u("a"),u("l"),u("s"),u("e"),!1;case"n":return u("n"),u("u"),u("l"),u("l"),null}l("Unexpected '"+i+"'")},p,m=function(){var E=[];if(i==="["){if(u("["),d(),i==="]")return u("]"),E;for(;i;){if(E.push(p()),d(),i==="]")return u("]"),E;u(","),d()}}l("Bad array")},_=function(){var E,T=Object.create(null);if(i==="{"){if(u("{"),d(),i==="}")return u("}"),T;for(;i;){if(E=c(),d(),u(":"),e.strict===!0&&Object.hasOwnProperty.call(T,E)&&l('Duplicate key "'+E+'"'),fg.test(E)===!0?e.protoAction==="error"?l("Object contains forbidden prototype property"):e.protoAction==="ignore"?p():T[E]=p():dg.test(E)===!0?e.constructorAction==="error"?l("Object contains forbidden constructor property"):e.constructorAction==="ignore"?p():T[E]=p():T[E]=p(),d(),i==="}")return u("}"),T;u(","),d()}}l("Bad object")};return p=function(){switch(d(),i){case"{":return _();case"[":return m();case'"':return c();case"-":return f();default:return i>="0"&&i<="9"?f():h()}},function(E,T){var A;return o=E+"",n=0,i=" ",A=p(),d(),i&&l("Syntax error"),typeof T=="function"?function L(D,O){var U,R,q=D[O];return q&&typeof q=="object"&&Object.keys(q).forEach(function(K){R=L(q,K),R!==void 0?q[K]=R:delete q[K]}),T.call(D,O,q)}({"":A},""):A}};ku.exports=hg});var bu=F((WR,hi)=>{var Du=xu().stringify,Uu=Mu();hi.exports=function(t){return{parse:Uu(t),stringify:Du}};hi.exports.parse=Uu();hi.exports.stringify=Du});var Ao=F(Ve=>{"use strict";Object.defineProperty(Ve,"__esModule",{value:!0});Ve.GCE_LINUX_BIOS_PATHS=void 0;Ve.isGoogleCloudServerless=Fu;Ve.isGoogleComputeEngineLinux=Gu;Ve.isGoogleComputeEngineMACAddress=qu;Ve.isGoogleComputeEngine=Bu;Ve.detectGCPResidency=mg;var Lu=H("fs"),Ou=H("os");Ve.GCE_LINUX_BIOS_PATHS={BIOS_DATE:"/sys/class/dmi/id/bios_date",BIOS_VENDOR:"/sys/class/dmi/id/bios_vendor"};var pg=/^42:01/;function Fu(){return!!(process.env.CLOUD_RUN_JOB||process.env.FUNCTION_NAME||process.env.K_SERVICE)}function Gu(){if((0,Ou.platform)()!=="linux")return!1;try{(0,Lu.statSync)(Ve.GCE_LINUX_BIOS_PATHS.BIOS_DATE);let t=(0,Lu.readFileSync)(Ve.GCE_LINUX_BIOS_PATHS.BIOS_VENDOR,"utf8");return/Google/.test(t)}catch{return!1}}function qu(){let t=(0,Ou.networkInterfaces)();for(let e of Object.values(t))if(e){for(let{mac:n}of e)if(pg.test(n))return!0}return!1}function Bu(){return Gu()||qu()}function mg(){return Fu()||Bu()}});var Vu=F(pi=>{"use strict";Object.defineProperty(pi,"__esModule",{value:!0});pi.Colours=void 0;var _e=class t{static isEnabled(e){return e&&e.isTTY&&(typeof e.getColorDepth=="function"?e.getColorDepth()>2:!0)}static refresh(){t.enabled=t.isEnabled(process==null?void 0:process.stderr),this.enabled?(t.reset="\x1B[0m",t.bright="\x1B[1m",t.dim="\x1B[2m",t.red="\x1B[31m",t.green="\x1B[32m",t.yellow="\x1B[33m",t.blue="\x1B[34m",t.magenta="\x1B[35m",t.cyan="\x1B[36m",t.white="\x1B[37m",t.grey="\x1B[90m"):(t.reset="",t.bright="",t.dim="",t.red="",t.green="",t.yellow="",t.blue="",t.magenta="",t.cyan="",t.white="",t.grey="")}};pi.Colours=_e;_e.enabled=!1;_e.reset="";_e.bright="";_e.dim="";_e.red="";_e.green="";_e.yellow="";_e.blue="";_e.magenta="";_e.cyan="";_e.white="";_e.grey="";_e.refresh()});var Wu=F(ie=>{"use strict";var gg=ie&&ie.__createBinding||(Object.create?function(t,e,n,i){i===void 0&&(i=n);var r=Object.getOwnPropertyDescriptor(e,n);(!r||("get"in r?!e.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,i,r)}:function(t,e,n,i){i===void 0&&(i=n),t[i]=e[n]}),yg=ie&&ie.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Hu=ie&&ie.__importStar||function(){var t=function(e){return t=Object.getOwnPropertyNames||function(n){var i=[];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(i[i.length]=r);return i},t(e)};return function(e){if(e&&e.__esModule)return e;var n={};if(e!=null)for(var i=t(e),r=0;r<i.length;r++)i[r]!=="default"&&gg(n,e,i[r]);return yg(n,e),n}}();Object.defineProperty(ie,"__esModule",{value:!0});ie.env=ie.DebugLogBackendBase=ie.placeholder=ie.AdhocDebugLogger=ie.LogSeverity=void 0;ie.getNodeBackend=Io;ie.getDebugBackend=Eg;ie.getStructuredBackend=Tg;ie.setBackend=Sg;ie.log=Ju;var _g=H("events"),xn=Hu(H("process")),$u=Hu(H("util")),Ie=Vu(),He;(function(t){t.DEFAULT="DEFAULT",t.DEBUG="DEBUG",t.INFO="INFO",t.WARNING="WARNING",t.ERROR="ERROR"})(He||(ie.LogSeverity=He={}));var kn=class extends _g.EventEmitter{constructor(e,n){super(),this.namespace=e,this.upstream=n,this.func=Object.assign(this.invoke.bind(this),{instance:this,on:(i,r)=>this.on(i,r)}),this.func.debug=(...i)=>this.invokeSeverity(He.DEBUG,...i),this.func.info=(...i)=>this.invokeSeverity(He.INFO,...i),this.func.warn=(...i)=>this.invokeSeverity(He.WARNING,...i),this.func.error=(...i)=>this.invokeSeverity(He.ERROR,...i),this.func.sublog=i=>Ju(i,this.func)}invoke(e,...n){if(this.upstream)try{this.upstream(e,...n)}catch{}try{this.emit("log",e,n)}catch{}}invokeSeverity(e,...n){this.invoke({severity:e},...n)}};ie.AdhocDebugLogger=kn;ie.placeholder=new kn("",()=>{}).func;var Yt=class{constructor(){var e;this.cached=new Map,this.filters=[],this.filtersSet=!1;let n=(e=xn.env[ie.env.nodeEnables])!==null&&e!==void 0?e:"*";n==="all"&&(n="*"),this.filters=n.split(",")}log(e,n,...i){try{this.filtersSet||(this.setFilters(),this.filtersSet=!0);let r=this.cached.get(e);r||(r=this.makeLogger(e),this.cached.set(e,r)),r(n,...i)}catch(r){console.error(r)}}};ie.DebugLogBackendBase=Yt;var wo=class extends Yt{constructor(){super(...arguments),this.enabledRegexp=/.*/g}isEnabled(e){return this.enabledRegexp.test(e)}makeLogger(e){return this.enabledRegexp.test(e)?(n,...i)=>{var r;let o=`${Ie.Colours.green}${e}${Ie.Colours.reset}`,l=`${Ie.Colours.yellow}${xn.pid}${Ie.Colours.reset}`,u;switch(n.severity){case He.ERROR:u=`${Ie.Colours.red}${n.severity}${Ie.Colours.reset}`;break;case He.INFO:u=`${Ie.Colours.magenta}${n.severity}${Ie.Colours.reset}`;break;case He.WARNING:u=`${Ie.Colours.yellow}${n.severity}${Ie.Colours.reset}`;break;default:u=(r=n.severity)!==null&&r!==void 0?r:He.DEFAULT;break}let f=$u.formatWithOptions({colors:Ie.Colours.enabled},...i),c=Object.assign({},n);delete c.severity;let d=Object.getOwnPropertyNames(c).length?JSON.stringify(c):"",h=d?`${Ie.Colours.grey}${d}${Ie.Colours.reset}`:"";console.error("%s [%s|%s] %s%s",l,o,u,f,d?` ${h}`:"")}:()=>{}}setFilters(){let n=this.filters.join(",").replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^");this.enabledRegexp=new RegExp(`^${n}$`,"i")}};function Io(){return new wo}var Ro=class extends Yt{constructor(e){super(),this.debugPkg=e}makeLogger(e){let n=this.debugPkg(e);return(i,...r)=>{n(r[0],...r.slice(1))}}setFilters(){var e;let n=(e=xn.env.NODE_DEBUG)!==null&&e!==void 0?e:"";xn.env.NODE_DEBUG=`${n}${n?",":""}${this.filters.join(",")}`}};function Eg(t){return new Ro(t)}var Po=class extends Yt{constructor(e){var n;super(),this.upstream=(n=e)!==null&&n!==void 0?n:void 0}makeLogger(e){var n;let i=(n=this.upstream)===null||n===void 0?void 0:n.makeLogger(e);return(r,...o)=>{var l;let u=(l=r.severity)!==null&&l!==void 0?l:He.INFO,f=Object.assign({severity:u,message:$u.format(...o)},r),c=JSON.stringify(f);i?i(r,c):console.log("%s",c)}}setFilters(){var e;(e=this.upstream)===null||e===void 0||e.setFilters()}};function Tg(t){return new Po(t)}ie.env={nodeEnables:"GOOGLE_SDK_NODE_LOGGING"};var No=new Map,Re;function Sg(t){Re=t,No.clear()}function Ju(t,e){if(!Re&&!xn.env[ie.env.nodeEnables]||!t)return ie.placeholder;e&&(t=`${e.instance.namespace}:${t}`);let n=No.get(t);if(n)return n.func;if(Re===null)return ie.placeholder;Re===void 0&&(Re=Io());let i=(()=>{let r;return new kn(t,(l,...u)=>{if(r!==Re){if(Re===null)return;Re===void 0&&(Re=Io()),r=Re}Re?.log(t,l,...u)})})();return No.set(t,i),i.func}});var xo=F(Mt=>{"use strict";var Cg=Mt&&Mt.__createBinding||(Object.create?function(t,e,n,i){i===void 0&&(i=n);var r=Object.getOwnPropertyDescriptor(e,n);(!r||("get"in r?!e.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,i,r)}:function(t,e,n,i){i===void 0&&(i=n),t[i]=e[n]}),vg=Mt&&Mt.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&Cg(e,t,n)};Object.defineProperty(Mt,"__esModule",{value:!0});vg(Wu(),Mt)});var Dn=F(Y=>{"use strict";var Yu=Y&&Y.__createBinding||(Object.create?function(t,e,n,i){i===void 0&&(i=n);var r=Object.getOwnPropertyDescriptor(e,n);(!r||("get"in r?!e.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,i,r)}:function(t,e,n,i){i===void 0&&(i=n),t[i]=e[n]}),Ag=Y&&Y.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),wg=Y&&Y.__importStar||function(){var t=function(e){return t=Object.getOwnPropertyNames||function(n){var i=[];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(i[i.length]=r);return i},t(e)};return function(e){if(e&&e.__esModule)return e;var n={};if(e!=null)for(var i=t(e),r=0;r<i.length;r++)i[r]!=="default"&&Yu(n,e,i[r]);return Ag(n,e),n}}(),Ig=Y&&Y.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&Yu(e,t,n)};Object.defineProperty(Y,"__esModule",{value:!0});Y.gcpResidencyCache=Y.METADATA_SERVER_DETECTION=Y.HEADERS=Y.HEADER_VALUE=Y.HEADER_NAME=Y.SECONDARY_HOST_ADDRESS=Y.HOST_ADDRESS=Y.BASE_PATH=void 0;Y.instance=Mg;Y.project=Dg;Y.universe=Ug;Y.bulk=bg;Y.isAvailable=Og;Y.resetIsAvailableCache=Fg;Y.getGCPResidency=Do;Y.setGCPResidency=zu;Y.requestTimeout=Xu;var ko=ge(),Rg=bu(),Pg=Ao(),Ng=wg(xo());Y.BASE_PATH="/computeMetadata/v1";Y.HOST_ADDRESS="http://169.254.169.254";Y.SECONDARY_HOST_ADDRESS="http://metadata.google.internal.";Y.HEADER_NAME="Metadata-Flavor";Y.HEADER_VALUE="Google";Y.HEADERS=Object.freeze({[Y.HEADER_NAME]:Y.HEADER_VALUE});var Ku=Ng.log("gcp-metadata");Y.METADATA_SERVER_DETECTION=Object.freeze({"assume-present":"don't try to ping the metadata server, but assume it's present",none:"don't try to ping the metadata server, but don't try to use it either","bios-only":"treat the result of a BIOS probe as canonical (don't fall back to pinging)","ping-only":"skip the BIOS probe, and go straight to pinging"});function Mo(t){return t||(t=process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST||Y.HOST_ADDRESS),/^https?:\/\//.test(t)||(t=`http://${t}`),new URL(Y.BASE_PATH,t).href}function xg(t){Object.keys(t).forEach(e=>{switch(e){case"params":case"property":case"headers":break;case"qs":throw new Error("'qs' is not a valid configuration option. Please use 'params' instead.");default:throw new Error(`'${e}' is not a valid configuration option.`)}})}async function Mn(t,e={},n=3,i=!1){let r=new Headers(Y.HEADERS),o="",l={};if(typeof t=="object"){let h=t;new Headers(h.headers).forEach((p,m)=>r.set(m,p)),o=h.metadataKey,l=h.params||l,n=h.noResponseRetries||n,i=h.fastFail||i}else o=t;typeof e=="string"?o+=`/${e}`:(xg(e),e.property&&(o+=`/${e.property}`),new Headers(e.headers).forEach((h,p)=>r.set(p,h)),l=e.params||l);let u=i?kg:ko.request,f={url:`${Mo()}/${o}`,headers:r,retryConfig:{noResponseRetries:n},params:l,responseType:"text",timeout:Xu()};Ku.info("instance request %j",f);let c=await u(f);Ku.info("instance metadata is %s",c.data);let d=c.headers.get(Y.HEADER_NAME);if(d!==Y.HEADER_VALUE)throw new RangeError(`Invalid response from metadata service: incorrect ${Y.HEADER_NAME} header. Expected '${Y.HEADER_VALUE}', got ${d?`'${d}'`:"no header"}`);if(typeof c.data=="string")try{return Rg.parse(c.data)}catch{}return c.data}async function kg(t){let e={...t,url:t.url?.toString().replace(Mo(),Mo(Y.SECONDARY_HOST_ADDRESS))},n=(0,ko.request)(t),i=(0,ko.request)(e);return Promise.any([n,i])}function Mg(t){return Mn("instance",t)}function Dg(t){return Mn("project",t)}function Ug(t){return Mn("universe",t)}async function bg(t){let e={};return await Promise.all(t.map(n=>(async()=>{let i=await Mn(n),r=n.metadataKey;e[r]=i})())),e}function Lg(){return process.env.DETECT_GCP_RETRIES?Number(process.env.DETECT_GCP_RETRIES):0}var mi;async function Og(){if(process.env.METADATA_SERVER_DETECTION){let t=process.env.METADATA_SERVER_DETECTION.trim().toLocaleLowerCase();if(!(t in Y.METADATA_SERVER_DETECTION))throw new RangeError(`Unknown \`METADATA_SERVER_DETECTION\` env variable. Got \`${t}\`, but it should be \`${Object.keys(Y.METADATA_SERVER_DETECTION).join("`, `")}\`, or unset`);switch(t){case"assume-present":return!0;case"none":return!1;case"bios-only":return Do();case"ping-only":}}try{return mi===void 0&&(mi=Mn("instance",void 0,Lg(),!(process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST))),await mi,!0}catch(t){let e=t;if(process.env.DEBUG_AUTH&&console.info(e),e.type==="request-timeout"||e.response&&e.response.status===404)return!1;if(!(e.response&&e.response.status===404)&&(!e.code||!["EHOSTDOWN","EHOSTUNREACH","ENETUNREACH","ENOENT","ENOTFOUND","ECONNREFUSED"].includes(e.code.toString()))){let n="UNKNOWN";e.code&&(n=e.code.toString()),process.emitWarning(`received unexpected error = ${e.message} code = ${n}`,"MetadataLookupWarning")}return!1}}function Fg(){mi=void 0}Y.gcpResidencyCache=null;function Do(){return Y.gcpResidencyCache===null&&zu(),Y.gcpResidencyCache}function zu(t=null){Y.gcpResidencyCache=t!==null?t:(0,Pg.detectGCPResidency)()}function Xu(){return Do()?0:3e3}Ig(Ao(),Y)});var ju=F(gi=>{"use strict";gi.byteLength=qg;gi.toByteArray=Vg;gi.fromByteArray=Jg;var tt=[],Le=[],Gg=typeof Uint8Array<"u"?Uint8Array:Array,Uo="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(Dt=0,Qu=Uo.length;Dt<Qu;++Dt)tt[Dt]=Uo[Dt],Le[Uo.charCodeAt(Dt)]=Dt;var Dt,Qu;Le[45]=62;Le[95]=63;function Zu(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var n=t.indexOf("=");n===-1&&(n=e);var i=n===e?0:4-n%4;return[n,i]}function qg(t){var e=Zu(t),n=e[0],i=e[1];return(n+i)*3/4-i}function Bg(t,e,n){return(e+n)*3/4-n}function Vg(t){var e,n=Zu(t),i=n[0],r=n[1],o=new Gg(Bg(t,i,r)),l=0,u=r>0?i-4:i,f;for(f=0;f<u;f+=4)e=Le[t.charCodeAt(f)]<<18|Le[t.charCodeAt(f+1)]<<12|Le[t.charCodeAt(f+2)]<<6|Le[t.charCodeAt(f+3)],o[l++]=e>>16&255,o[l++]=e>>8&255,o[l++]=e&255;return r===2&&(e=Le[t.charCodeAt(f)]<<2|Le[t.charCodeAt(f+1)]>>4,o[l++]=e&255),r===1&&(e=Le[t.charCodeAt(f)]<<10|Le[t.charCodeAt(f+1)]<<4|Le[t.charCodeAt(f+2)]>>2,o[l++]=e>>8&255,o[l++]=e&255),o}function Hg(t){return tt[t>>18&63]+tt[t>>12&63]+tt[t>>6&63]+tt[t&63]}function $g(t,e,n){for(var i,r=[],o=e;o<n;o+=3)i=(t[o]<<16&16711680)+(t[o+1]<<8&65280)+(t[o+2]&255),r.push(Hg(i));return r.join("")}function Jg(t){for(var e,n=t.length,i=n%3,r=[],o=16383,l=0,u=n-i;l<u;l+=o)r.push($g(t,l,l+o>u?u:l+o));return i===1?(e=t[n-1],r.push(tt[e>>2]+tt[e<<4&63]+"==")):i===2&&(e=(t[n-2]<<8)+t[n-1],r.push(tt[e>>10]+tt[e>>4&63]+tt[e<<2&63]+"=")),r.join("")}});var Lo=F(bo=>{"use strict";Object.defineProperty(bo,"__esModule",{value:!0});bo.fromArrayBufferToHex=Wg;function Wg(t){return Array.from(new Uint8Array(t)).map(n=>n.toString(16).padStart(2,"0")).join("")}});var ec=F(yi=>{"use strict";Object.defineProperty(yi,"__esModule",{value:!0});yi.BrowserCrypto=void 0;var zt=ju(),Kg=Lo(),Oo=class t{constructor(){if(typeof window>"u"||window.crypto===void 0||window.crypto.subtle===void 0)throw new Error("SubtleCrypto not found. Make sure it's an https:// website.")}async sha256DigestBase64(e){let n=new TextEncoder().encode(e),i=await window.crypto.subtle.digest("SHA-256",n);return zt.fromByteArray(new Uint8Array(i))}randomBytesBase64(e){let n=new Uint8Array(e);return window.crypto.getRandomValues(n),zt.fromByteArray(n)}static padBase64(e){for(;e.length%4!==0;)e+="=";return e}async verify(e,n,i){let r={name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},o=new TextEncoder().encode(n),l=zt.toByteArray(t.padBase64(i)),u=await window.crypto.subtle.importKey("jwk",e,r,!0,["verify"]);return await window.crypto.subtle.verify(r,u,Buffer.from(l),o)}async sign(e,n){let i={name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},r=new TextEncoder().encode(n),o=await window.crypto.subtle.importKey("jwk",e,i,!0,["sign"]),l=await window.crypto.subtle.sign(i,o,r);return zt.fromByteArray(new Uint8Array(l))}decodeBase64StringUtf8(e){let n=zt.toByteArray(t.padBase64(e));return new TextDecoder().decode(n)}encodeBase64StringUtf8(e){let n=new TextEncoder().encode(e);return zt.fromByteArray(n)}async sha256DigestHex(e){let n=new TextEncoder().encode(e),i=await window.crypto.subtle.digest("SHA-256",n);return(0,Kg.fromArrayBufferToHex)(i)}async signWithHmacSha256(e,n){let i=typeof e=="string"?e:String.fromCharCode(...new Uint16Array(e)),r=new TextEncoder,o=await window.crypto.subtle.importKey("raw",r.encode(i),{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return window.crypto.subtle.sign("HMAC",o,r.encode(n))}};yi.BrowserCrypto=Oo});var tc=F(_i=>{"use strict";Object.defineProperty(_i,"__esModule",{value:!0});_i.NodeCrypto=void 0;var Xt=H("crypto"),Fo=class{async sha256DigestBase64(e){return Xt.createHash("sha256").update(e).digest("base64")}randomBytesBase64(e){return Xt.randomBytes(e).toString("base64")}async verify(e,n,i){let r=Xt.createVerify("RSA-SHA256");return r.update(n),r.end(),r.verify(e,i,"base64")}async sign(e,n){let i=Xt.createSign("RSA-SHA256");return i.update(n),i.end(),i.sign(e,"base64")}decodeBase64StringUtf8(e){return Buffer.from(e,"base64").toString("utf-8")}encodeBase64StringUtf8(e){return Buffer.from(e,"utf-8").toString("base64")}async sha256DigestHex(e){return Xt.createHash("sha256").update(e).digest("hex")}async signWithHmacSha256(e,n){let i=typeof e=="string"?e:zg(e);return Yg(Xt.createHmac("sha256",i).update(n).digest())}};_i.NodeCrypto=Fo;function Yg(t){let e=new ArrayBuffer(t.length),n=new Uint8Array(e);for(let i=0;i<t.length;++i)n[i]=t[i];return e}function zg(t){return Buffer.from(t)}});var Un=F(ct=>{"use strict";var Xg=ct&&ct.__createBinding||(Object.create?function(t,e,n,i){i===void 0&&(i=n);var r=Object.getOwnPropertyDescriptor(e,n);(!r||("get"in r?!e.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,i,r)}:function(t,e,n,i){i===void 0&&(i=n),t[i]=e[n]}),Qg=ct&&ct.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&Xg(e,t,n)};Object.defineProperty(ct,"__esModule",{value:!0});ct.createCrypto=ey;ct.hasBrowserCrypto=nc;var Zg=ec(),jg=tc();Qg(Lo(),ct);function ey(){return nc()?new Zg.BrowserCrypto:new jg.NodeCrypto}function nc(){return typeof window<"u"&&typeof window.crypto<"u"&&typeof window.crypto.subtle<"u"}});var Qt=F((Go,rc)=>{var Ei=H("buffer"),nt=Ei.Buffer;function ic(t,e){for(var n in t)e[n]=t[n]}nt.from&&nt.alloc&&nt.allocUnsafe&&nt.allocUnsafeSlow?rc.exports=Ei:(ic(Ei,Go),Go.Buffer=Ut);function Ut(t,e,n){return nt(t,e,n)}Ut.prototype=Object.create(nt.prototype);ic(nt,Ut);Ut.from=function(t,e,n){if(typeof t=="number")throw new TypeError("Argument must not be a number");return nt(t,e,n)};Ut.alloc=function(t,e,n){if(typeof t!="number")throw new TypeError("Argument must be a number");var i=nt(t);return e!==void 0?typeof n=="string"?i.fill(e,n):i.fill(e):i.fill(0),i};Ut.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return nt(t)};Ut.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return Ei.SlowBuffer(t)}});var sc=F((iP,oc)=>{"use strict";function qo(t){var e=(t/8|0)+(t%8===0?0:1);return e}var ty={ES256:qo(256),ES384:qo(384),ES512:qo(521)};function ny(t){var e=ty[t];if(e)return e;throw new Error('Unknown algorithm "'+t+'"')}oc.exports=ny});var Bo=F((rP,dc)=>{"use strict";var Ti=Qt().Buffer,lc=sc(),Si=128,uc=0,iy=32,ry=16,oy=2,cc=ry|iy|uc<<6,Ci=oy|uc<<6;function sy(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function fc(t){if(Ti.isBuffer(t))return t;if(typeof t=="string")return Ti.from(t,"base64");throw new TypeError("ECDSA signature must be a Base64 string or a Buffer")}function ay(t,e){t=fc(t);var n=lc(e),i=n+1,r=t.length,o=0;if(t[o++]!==cc)throw new Error('Could not find expected "seq"');var l=t[o++];if(l===(Si|1)&&(l=t[o++]),r-o<l)throw new Error('"seq" specified length of "'+l+'", only "'+(r-o)+'" remaining');if(t[o++]!==Ci)throw new Error('Could not find expected "int" for "r"');var u=t[o++];if(r-o-2<u)throw new Error('"r" specified length of "'+u+'", only "'+(r-o-2)+'" available');if(i<u)throw new Error('"r" specified length of "'+u+'", max of "'+i+'" is acceptable');var f=o;if(o+=u,t[o++]!==Ci)throw new Error('Could not find expected "int" for "s"');var c=t[o++];if(r-o!==c)throw new Error('"s" specified length of "'+c+'", expected "'+(r-o)+'"');if(i<c)throw new Error('"s" specified length of "'+c+'", max of "'+i+'" is acceptable');var d=o;if(o+=c,o!==r)throw new Error('Expected to consume entire buffer, but "'+(r-o)+'" bytes remain');var h=n-u,p=n-c,m=Ti.allocUnsafe(h+u+p+c);for(o=0;o<h;++o)m[o]=0;t.copy(m,o,f+Math.max(-h,0),f+u),o=n;for(var _=o;o<_+p;++o)m[o]=0;return t.copy(m,o,d+Math.max(-p,0),d+c),m=m.toString("base64"),m=sy(m),m}function ac(t,e,n){for(var i=0;e+i<n&&t[e+i]===0;)++i;var r=t[e+i]>=Si;return r&&--i,i}function ly(t,e){t=fc(t);var n=lc(e),i=t.length;if(i!==n*2)throw new TypeError('"'+e+'" signatures must be "'+n*2+'" bytes, saw "'+i+'"');var r=ac(t,0,n),o=ac(t,n,t.length),l=n-r,u=n-o,f=2+l+1+1+u,c=f<Si,d=Ti.allocUnsafe((c?2:3)+f),h=0;return d[h++]=cc,c?d[h++]=f:(d[h++]=Si|1,d[h++]=f&255),d[h++]=Ci,d[h++]=l,r<0?(d[h++]=0,h+=t.copy(d,h,0,n)):h+=t.copy(d,h,r,n),d[h++]=Ci,d[h++]=u,o<0?(d[h++]=0,t.copy(d,h,n)):t.copy(d,h,n+o),d}dc.exports={derToJose:ay,joseToDer:ly}});var $e=F(ft=>{"use strict";Object.defineProperty(ft,"__esModule",{value:!0});ft.LRUCache=void 0;ft.snakeToCamel=pc;ft.originalOrCamelOptions=dy;ft.removeUndefinedValuesInObject=hy;ft.isValidFile=py;ft.getWellKnownCertificateConfigFileLocation=my;var uy=H("fs"),cy=H("os"),Vo=H("path"),fy="certificate_config.json",hc="gcloud";function pc(t){return t.replace(/([_][^_])/g,e=>e.slice(1).toUpperCase())}function dy(t){function e(n){let i=t||{};return i[n]??i[pc(n)]}return{get:e}}var Ho=class{capacity;#e=new Map;maxAge;constructor(e){this.capacity=e.capacity,this.maxAge=e.maxAge}#t(e,n){this.#e.delete(e),this.#e.set(e,{value:n,lastAccessed:Date.now()})}set(e,n){this.#t(e,n),this.#n()}get(e){let n=this.#e.get(e);if(n)return this.#t(e,n.value),this.#n(),n.value}#n(){let e=this.maxAge?Date.now()-this.maxAge:0,n=this.#e.entries().next();for(;!n.done&&(this.#e.size>this.capacity||n.value[1].lastAccessed<e);)this.#e.delete(n.value[0]),n=this.#e.entries().next()}};ft.LRUCache=Ho;function hy(t){return Object.entries(t).forEach(([e,n])=>{(n===void 0||n==="undefined")&&delete t[e]}),t}async function py(t){try{return(await uy.promises.lstat(t)).isFile()}catch{return!1}}function my(){let t=process.env.CLOUDSDK_CONFIG||(gy()?Vo.join(process.env.APPDATA||"",hc):Vo.join(process.env.HOME||"",".config",hc));return Vo.join(t,fy)}function gy(){return cy.platform().startsWith("win")}});var mc=F((sP,yy)=>{yy.exports={name:"google-auth-library",version:"10.6.2",author:"Google Inc.",description:"Google APIs Authentication Client Library for Node.js",engines:{node:">=18"},main:"./build/src/index.js",types:"./build/src/index.d.ts",repository:{type:"git",directory:"packages/google-auth-library-nodejs",url:"https://github.com/googleapis/google-cloud-node-core.git"},keywords:["google","api","google apis","client","client library"],dependencies:{"base64-js":"^1.3.0","ecdsa-sig-formatter":"^1.0.11",gaxios:"^7.1.4","gcp-metadata":"8.1.2","google-logging-utils":"1.1.3",jws:"^4.0.0"},devDependencies:{"@types/base64-js":"^1.2.5","@types/jws":"^3.1.0","@types/mocha":"^10.0.10","@types/mv":"^2.1.0","@types/ncp":"^2.0.8","@types/node":"^24.0.0","@types/sinon":"^21.0.0","assert-rejects":"^1.0.0",c8:"^10.1.3",codecov:"^3.8.3",gts:"^6.0.2","is-docker":"^3.0.0",jsdoc:"^4.0.4","jsdoc-fresh":"^5.0.0","jsdoc-region-tag":"^4.0.0",karma:"^6.0.0","karma-chrome-launcher":"^3.0.0","karma-coverage":"^2.0.0","karma-firefox-launcher":"^2.0.0","karma-mocha":"^2.0.0","karma-sourcemap-loader":"^0.4.0","karma-webpack":"^5.0.1",keypair:"^1.0.4",mocha:"^11.1.0",mv:"^2.1.1",ncp:"^2.0.0",nock:"^14.0.5","null-loader":"^4.0.1",puppeteer:"^24.0.0",sinon:"^21.0.0","ts-loader":"^9.5.2",typescript:"5.8.3",webpack:"^5.97.1","webpack-cli":"^6.0.1"},files:["build/src","!build/src/**/*.map"],scripts:{test:"c8 mocha build/test",clean:"gts clean",prepare:"npm run compile",lint:"gts check --no-inline-config",compile:"tsc -p .",fix:"gts fix",pretest:"npm run compile -- --sourceMap",docs:"jsdoc -c .jsdoc.js","samples-setup":"cd samples/ && npm link ../ && npm run setup && cd ../","samples-test":"cd samples/ && npm link ../ && npm test && cd ../","system-test":"mocha build/system-test --timeout 60000","presystem-test":"npm run compile -- --sourceMap",webpack:"webpack","browser-test":"karma start","docs-test":"echo 'disabled until linkinator is fixed'","predocs-test":"npm run docs",prelint:"cd samples; npm link ../; npm install"},license:"Apache-2.0",homepage:"https://github.com/googleapis/google-cloud-node-core/tree/main/packages/google-auth-library-nodejs"}});var $o=F(Tt=>{"use strict";Object.defineProperty(Tt,"__esModule",{value:!0});Tt.USER_AGENT=Tt.PRODUCT_NAME=Tt.pkg=void 0;var gc=mc();Tt.pkg=gc;var yc="google-api-nodejs-client";Tt.PRODUCT_NAME=yc;var _y=`${yc}/${gc.version}`;Tt.USER_AGENT=_y});var Pe=F(Je=>{"use strict";Object.defineProperty(Je,"__esModule",{value:!0});Je.AuthClient=Je.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=Je.DEFAULT_UNIVERSE=void 0;var Ey=H("events"),Jo=ge(),Ty=$e(),Sy=xo(),Wo=$o();Je.DEFAULT_UNIVERSE="googleapis.com";Je.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=5*60*1e3;var Ko=class t extends Ey.EventEmitter{apiKey;projectId;quotaProjectId;transporter;credentials={};eagerRefreshThresholdMillis=Je.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS;forceRefreshOnFailure=!1;universeDomain=Je.DEFAULT_UNIVERSE;static RequestMethodNameSymbol=Symbol("request method name");static RequestLogIdSymbol=Symbol("request log id");constructor(e={}){super();let n=(0,Ty.originalOrCamelOptions)(e);this.apiKey=e.apiKey,this.projectId=n.get("project_id")??null,this.quotaProjectId=n.get("quota_project_id"),this.credentials=n.get("credentials")??{},this.universeDomain=n.get("universe_domain")??Je.DEFAULT_UNIVERSE,this.transporter=e.transporter??new Jo.Gaxios(e.transporterOptions),n.get("useAuthRequestParameters")!==!1&&(this.transporter.interceptors.request.add(t.DEFAULT_REQUEST_INTERCEPTOR),this.transporter.interceptors.response.add(t.DEFAULT_RESPONSE_INTERCEPTOR)),e.eagerRefreshThresholdMillis&&(this.eagerRefreshThresholdMillis=e.eagerRefreshThresholdMillis),this.forceRefreshOnFailure=e.forceRefreshOnFailure??!1}fetch(...e){let n=e[0],i=e[1],r,o=new Headers;return typeof n=="string"?r=new URL(n):n instanceof URL?r=n:n&&n.url&&(r=new URL(n.url)),n&&typeof n=="object"&&"headers"in n&&Jo.Gaxios.mergeHeaders(o,n.headers),i&&Jo.Gaxios.mergeHeaders(o,new Headers(i.headers)),typeof n=="object"&&!(n instanceof URL)?this.request({...i,...n,headers:o,url:r}):this.request({...i,headers:o,url:r})}setCredentials(e){this.credentials=e}addSharedMetadataHeaders(e){return!e.has("x-goog-user-project")&&this.quotaProjectId&&e.set("x-goog-user-project",this.quotaProjectId),e}addUserProjectAndAuthHeaders(e,n){let i=n.get("x-goog-user-project"),r=n.get("authorization");return i&&e.set("x-goog-user-project",i),r&&e.set("authorization",r),e}static log=(0,Sy.log)("auth");static DEFAULT_REQUEST_INTERCEPTOR={resolved:async e=>{if(!e.headers.has("x-goog-api-client")){let i=process.version.replace(/^v/,"");e.headers.set("x-goog-api-client",`gl-node/${i}`)}let n=e.headers.get("User-Agent");n?n.includes(`${Wo.PRODUCT_NAME}/`)||e.headers.set("User-Agent",`${n} ${Wo.USER_AGENT}`):e.headers.set("User-Agent",Wo.USER_AGENT);try{let i=e,r=i[t.RequestMethodNameSymbol],o=`${Math.floor(Math.random()*1e3)}`;i[t.RequestLogIdSymbol]=o;let l={url:e.url,headers:e.headers};r?t.log.info("%s [%s] request %j",r,o,l):t.log.info("[%s] request %j",o,l)}catch{}return e}};static DEFAULT_RESPONSE_INTERCEPTOR={resolved:async e=>{try{let n=e.config,i=n[t.RequestMethodNameSymbol],r=n[t.RequestLogIdSymbol];i?t.log.info("%s [%s] response %j",i,r,e.data):t.log.info("[%s] response %j",r,e.data)}catch{}return e},rejected:async e=>{try{let n=e.config,i=n[t.RequestMethodNameSymbol],r=n[t.RequestLogIdSymbol];i?t.log.info("%s [%s] error %j",i,r,e.response?.data):t.log.error("[%s] error %j",r,e.response?.data)}catch{}throw e}};static setMethodName(e,n){try{let i=e;i[t.RequestMethodNameSymbol]=n}catch{}}static get RETRY_CONFIG(){return{retry:!0,retryConfig:{httpMethodsToRetry:["GET","PUT","POST","HEAD","OPTIONS","DELETE"]}}}};Je.AuthClient=Ko});var zo=F(vi=>{"use strict";Object.defineProperty(vi,"__esModule",{value:!0});vi.LoginTicket=void 0;var Yo=class{envelope;payload;constructor(e,n){this.envelope=e,this.payload=n}getEnvelope(){return this.envelope}getPayload(){return this.payload}getUserId(){let e=this.getPayload();return e&&e.sub?e.sub:null}getAttributes(){return{envelope:this.getEnvelope(),payload:this.getPayload()}}};vi.LoginTicket=Yo});var bt=F(it=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0});it.OAuth2Client=it.ClientAuthentication=it.CertificateFormat=it.CodeChallengeMethod=void 0;var _c=ge(),Cy=H("querystring"),vy=H("stream"),Ay=Bo(),Ec=$e(),Xo=Un(),Zt=Pe(),wy=zo(),Tc;(function(t){t.Plain="plain",t.S256="S256"})(Tc||(it.CodeChallengeMethod=Tc={}));var dt;(function(t){t.PEM="PEM",t.JWK="JWK"})(dt||(it.CertificateFormat=dt={}));var bn;(function(t){t.ClientSecretPost="ClientSecretPost",t.ClientSecretBasic="ClientSecretBasic",t.None="None"})(bn||(it.ClientAuthentication=bn={}));var Qo=class t extends Zt.AuthClient{redirectUri;certificateCache={};certificateExpiry=null;certificateCacheFormat=dt.PEM;refreshTokenPromises=new Map;endpoints;issuers;clientAuthentication;_clientId;_clientSecret;refreshHandler;constructor(e={},n,i){super(typeof e=="object"?e:{}),typeof e!="object"&&(e={clientId:e,clientSecret:n,redirectUri:i}),this._clientId=e.clientId||e.client_id,this._clientSecret=e.clientSecret||e.client_secret,this.redirectUri=e.redirectUri||e.redirect_uris?.[0],this.endpoints={tokenInfoUrl:"https://oauth2.googleapis.com/tokeninfo",oauth2AuthBaseUrl:"https://accounts.google.com/o/oauth2/v2/auth",oauth2TokenUrl:"https://oauth2.googleapis.com/token",oauth2RevokeUrl:"https://oauth2.googleapis.com/revoke",oauth2FederatedSignonPemCertsUrl:"https://www.googleapis.com/oauth2/v1/certs",oauth2FederatedSignonJwkCertsUrl:"https://www.googleapis.com/oauth2/v3/certs",oauth2IapPublicKeyUrl:"https://www.gstatic.com/iap/verify/public_key",...e.endpoints},this.clientAuthentication=e.clientAuthentication||bn.ClientSecretPost,this.issuers=e.issuers||["accounts.google.com","https://accounts.google.com",this.universeDomain]}static GOOGLE_TOKEN_INFO_URL="https://oauth2.googleapis.com/tokeninfo";static CLOCK_SKEW_SECS_=300;static DEFAULT_MAX_TOKEN_LIFETIME_SECS_=86400;generateAuthUrl(e={}){if(e.code_challenge_method&&!e.code_challenge)throw new Error("If a code_challenge_method is provided, code_challenge must be included.");return e.response_type=e.response_type||"code",e.client_id=e.client_id||this._clientId,e.redirect_uri=e.redirect_uri||this.redirectUri,Array.isArray(e.scope)&&(e.scope=e.scope.join(" ")),this.endpoints.oauth2AuthBaseUrl.toString()+"?"+Cy.stringify(e)}generateCodeVerifier(){throw new Error("generateCodeVerifier is removed, please use generateCodeVerifierAsync instead.")}async generateCodeVerifierAsync(){let e=(0,Xo.createCrypto)(),i=e.randomBytesBase64(96).replace(/\+/g,"~").replace(/=/g,"_").replace(/\//g,"-"),o=(await e.sha256DigestBase64(i)).split("=")[0].replace(/\+/g,"-").replace(/\//g,"_");return{codeVerifier:i,codeChallenge:o}}getToken(e,n){let i=typeof e=="string"?{code:e}:e;if(n)this.getTokenAsync(i).then(r=>n(null,r.tokens,r.res),r=>n(r,null,r.response));else return this.getTokenAsync(i)}async getTokenAsync(e){let n=this.endpoints.oauth2TokenUrl.toString(),i=new Headers,r={client_id:e.client_id||this._clientId,code_verifier:e.codeVerifier,code:e.code,grant_type:"authorization_code",redirect_uri:e.redirect_uri||this.redirectUri};if(this.clientAuthentication===bn.ClientSecretBasic){let f=Buffer.from(`${this._clientId}:${this._clientSecret}`);i.set("authorization",`Basic ${f.toString("base64")}`)}this.clientAuthentication===bn.ClientSecretPost&&(r.client_secret=this._clientSecret);let o={...t.RETRY_CONFIG,method:"POST",url:n,data:new URLSearchParams((0,Ec.removeUndefinedValuesInObject)(r)),headers:i};Zt.AuthClient.setMethodName(o,"getTokenAsync");let l=await this.transporter.request(o),u=l.data;return l.data&&l.data.expires_in&&(u.expiry_date=new Date().getTime()+l.data.expires_in*1e3,delete u.expires_in),this.emit("tokens",u),{tokens:u,res:l}}async refreshToken(e){if(!e)return this.refreshTokenNoCache(e);if(this.refreshTokenPromises.has(e))return this.refreshTokenPromises.get(e);let n=this.refreshTokenNoCache(e).then(i=>(this.refreshTokenPromises.delete(e),i),i=>{throw this.refreshTokenPromises.delete(e),i});return this.refreshTokenPromises.set(e,n),n}async refreshTokenNoCache(e){if(!e)throw new Error("No refresh token is set.");let n=this.endpoints.oauth2TokenUrl.toString(),i={refresh_token:e,client_id:this._clientId,client_secret:this._clientSecret,grant_type:"refresh_token"},r;try{let l={...t.RETRY_CONFIG,method:"POST",url:n,data:new URLSearchParams((0,Ec.removeUndefinedValuesInObject)(i))};Zt.AuthClient.setMethodName(l,"refreshTokenNoCache"),r=await this.transporter.request(l)}catch(l){throw l instanceof _c.GaxiosError&&l.message==="invalid_grant"&&l.response?.data&&/ReAuth/i.test(l.response.data.error_description)&&(l.message=JSON.stringify(l.response.data)),l}let o=r.data;return r.data&&r.data.expires_in&&(o.expiry_date=new Date().getTime()+r.data.expires_in*1e3,delete o.expires_in),this.emit("tokens",o),{tokens:o,res:r}}refreshAccessToken(e){if(e)this.refreshAccessTokenAsync().then(n=>e(null,n.credentials,n.res),e);else return this.refreshAccessTokenAsync()}async refreshAccessTokenAsync(){let e=await this.refreshToken(this.credentials.refresh_token),n=e.tokens;return n.refresh_token=this.credentials.refresh_token,this.credentials=n,{credentials:this.credentials,res:e.res}}getAccessToken(e){if(e)this.getAccessTokenAsync().then(n=>e(null,n.token,n.res),e);else return this.getAccessTokenAsync()}async getAccessTokenAsync(){if(!this.credentials.access_token||this.isTokenExpiring()){if(!this.credentials.refresh_token)if(this.refreshHandler){let i=await this.processAndValidateRefreshHandler();if(i?.access_token)return this.setCredentials(i),{token:this.credentials.access_token}}else throw new Error("No refresh token or refresh handler callback is set.");let n=await this.refreshAccessTokenAsync();if(!n.credentials||n.credentials&&!n.credentials.access_token)throw new Error("Could not refresh access token.");return{token:n.credentials.access_token,res:n.res}}else return{token:this.credentials.access_token}}async getRequestHeaders(e){return(await this.getRequestMetadataAsync(e)).headers}async getRequestMetadataAsync(e){let n=this.credentials;if(!n.access_token&&!n.refresh_token&&!this.apiKey&&!this.refreshHandler)throw new Error("No access, refresh token, API key or refresh handler callback is set.");if(n.access_token&&!this.isTokenExpiring()){n.token_type=n.token_type||"Bearer";let u=new Headers({authorization:n.token_type+" "+n.access_token});return{headers:this.addSharedMetadataHeaders(u)}}if(this.refreshHandler){let u=await this.processAndValidateRefreshHandler();if(u?.access_token){this.setCredentials(u);let f=new Headers({authorization:"Bearer "+this.credentials.access_token});return{headers:this.addSharedMetadataHeaders(f)}}}if(this.apiKey)return{headers:new Headers({"X-Goog-Api-Key":this.apiKey})};let i=null,r=null;try{i=await this.refreshToken(n.refresh_token),r=i.tokens}catch(u){let f=u;throw f.response&&(f.response.status===403||f.response.status===404)&&(f.message=`Could not refresh access token: ${f.message}`),f}let o=this.credentials;o.token_type=o.token_type||"Bearer",r.refresh_token=o.refresh_token,this.credentials=r;let l=new Headers({authorization:o.token_type+" "+r.access_token});return{headers:this.addSharedMetadataHeaders(l),res:i.res}}static getRevokeTokenUrl(e){return new t().getRevokeTokenURL(e).toString()}getRevokeTokenURL(e){let n=new URL(this.endpoints.oauth2RevokeUrl);return n.searchParams.append("token",e),n}revokeToken(e,n){let i={...t.RETRY_CONFIG,url:this.getRevokeTokenURL(e).toString(),method:"POST"};if(Zt.AuthClient.setMethodName(i,"revokeToken"),n)this.transporter.request(i).then(r=>n(null,r),n);else return this.transporter.request(i)}revokeCredentials(e){if(e)this.revokeCredentialsAsync().then(n=>e(null,n),e);else return this.revokeCredentialsAsync()}async revokeCredentialsAsync(){let e=this.credentials.access_token;if(this.credentials={},e)return this.revokeToken(e);throw new Error("No access token to revoke.")}request(e,n){if(n)this.requestAsync(e).then(i=>n(null,i),i=>n(i,i.response));else return this.requestAsync(e)}async requestAsync(e,n=!1){try{let i=await this.getRequestMetadataAsync();return e.headers=_c.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,i.headers),this.apiKey&&e.headers.set("X-Goog-Api-Key",this.apiKey),await this.transporter.request(e)}catch(i){let r=i.response;if(r){let o=r.status,l=this.credentials&&this.credentials.access_token&&this.credentials.refresh_token&&(!this.credentials.expiry_date||this.forceRefreshOnFailure),u=this.credentials&&this.credentials.access_token&&!this.credentials.refresh_token&&(!this.credentials.expiry_date||this.forceRefreshOnFailure)&&this.refreshHandler,f=r.config.data instanceof vy.Readable,c=o===401||o===403;if(!n&&c&&!f&&l)return await this.refreshAccessTokenAsync(),this.requestAsync(e,!0);if(!n&&c&&!f&&u){let d=await this.processAndValidateRefreshHandler();return d?.access_token&&this.setCredentials(d),this.requestAsync(e,!0)}}throw i}}verifyIdToken(e,n){if(n&&typeof n!="function")throw new Error("This method accepts an options object as the first parameter, which includes the idToken, audience, and maxExpiry.");if(n)this.verifyIdTokenAsync(e).then(i=>n(null,i),n);else return this.verifyIdTokenAsync(e)}async verifyIdTokenAsync(e){if(!e.idToken)throw new Error("The verifyIdToken method requires an ID Token");let n=await this.getFederatedSignonCertsAsync();return await this.verifySignedJwtWithCertsAsync(e.idToken,n.certs,e.audience,this.issuers,e.maxExpiry)}async getTokenInfo(e){let{data:n}=await this.transporter.request({...t.RETRY_CONFIG,method:"POST",headers:{"content-type":"application/x-www-form-urlencoded;charset=UTF-8",authorization:`Bearer ${e}`},url:this.endpoints.tokenInfoUrl.toString()}),i=Object.assign({expiry_date:new Date().getTime()+n.expires_in*1e3,scopes:n.scope.split(" ")},n);return delete i.expires_in,delete i.scope,i}getFederatedSignonCerts(e){if(e)this.getFederatedSignonCertsAsync().then(n=>e(null,n.certs,n.res),e);else return this.getFederatedSignonCertsAsync()}async getFederatedSignonCertsAsync(){let e=new Date().getTime(),n=(0,Xo.hasBrowserCrypto)()?dt.JWK:dt.PEM;if(this.certificateExpiry&&e<this.certificateExpiry.getTime()&&this.certificateCacheFormat===n)return{certs:this.certificateCache,format:n};let i,r;switch(n){case dt.PEM:r=this.endpoints.oauth2FederatedSignonPemCertsUrl.toString();break;case dt.JWK:r=this.endpoints.oauth2FederatedSignonJwkCertsUrl.toString();break;default:throw new Error(`Unsupported certificate format ${n}`)}try{let c={...t.RETRY_CONFIG,url:r};Zt.AuthClient.setMethodName(c,"getFederatedSignonCertsAsync"),i=await this.transporter.request(c)}catch(c){throw c instanceof Error&&(c.message=`Failed to retrieve verification certificates: ${c.message}`),c}let o=i?.headers.get("cache-control"),l=-1;if(o){let c=/max-age=(?<maxAge>[0-9]+)/.exec(o)?.groups?.maxAge;c&&(l=Number(c)*1e3)}let u={};switch(n){case dt.PEM:u=i.data;break;case dt.JWK:for(let c of i.data.keys)u[c.kid]=c;break;default:throw new Error(`Unsupported certificate format ${n}`)}let f=new Date;return this.certificateExpiry=l===-1?null:new Date(f.getTime()+l),this.certificateCache=u,this.certificateCacheFormat=n,{certs:u,format:n,res:i}}getIapPublicKeys(e){if(e)this.getIapPublicKeysAsync().then(n=>e(null,n.pubkeys,n.res),e);else return this.getIapPublicKeysAsync()}async getIapPublicKeysAsync(){let e,n=this.endpoints.oauth2IapPublicKeyUrl.toString();try{let i={...t.RETRY_CONFIG,url:n};Zt.AuthClient.setMethodName(i,"getIapPublicKeysAsync"),e=await this.transporter.request(i)}catch(i){throw i instanceof Error&&(i.message=`Failed to retrieve verification certificates: ${i.message}`),i}return{pubkeys:e.data,res:e}}verifySignedJwtWithCerts(){throw new Error("verifySignedJwtWithCerts is removed, please use verifySignedJwtWithCertsAsync instead.")}async verifySignedJwtWithCertsAsync(e,n,i,r,o){let l=(0,Xo.createCrypto)();o||(o=t.DEFAULT_MAX_TOKEN_LIFETIME_SECS_);let u=e.split(".");if(u.length!==3)throw new Error("Wrong number of segments in token: "+e);let f=u[0]+"."+u[1],c=u[2],d,h;try{d=JSON.parse(l.decodeBase64StringUtf8(u[0]))}catch(D){throw D instanceof Error&&(D.message=`Can't parse token envelope: ${u[0]}': ${D.message}`),D}if(!d)throw new Error("Can't parse token envelope: "+u[0]);try{h=JSON.parse(l.decodeBase64StringUtf8(u[1]))}catch(D){throw D instanceof Error&&(D.message=`Can't parse token payload '${u[0]}`),D}if(!h)throw new Error("Can't parse token payload: "+u[1]);if(!Object.prototype.hasOwnProperty.call(n,d.kid))throw new Error("No pem found for envelope: "+JSON.stringify(d));let p=n[d.kid];if(d.alg==="ES256"&&(c=Ay.joseToDer(c,"ES256").toString("base64")),!await l.verify(p,f,c))throw new Error("Invalid token signature: "+e);if(!h.iat)throw new Error("No issue time in token: "+JSON.stringify(h));if(!h.exp)throw new Error("No expiration time in token: "+JSON.stringify(h));let _=Number(h.iat);if(isNaN(_))throw new Error("iat field using invalid format");let E=Number(h.exp);if(isNaN(E))throw new Error("exp field using invalid format");let T=new Date().getTime()/1e3;if(E>=T+o)throw new Error("Expiration time too far in future: "+JSON.stringify(h));let A=_-t.CLOCK_SKEW_SECS_,L=E+t.CLOCK_SKEW_SECS_;if(T<A)throw new Error("Token used too early, "+T+" < "+A+": "+JSON.stringify(h));if(T>L)throw new Error("Token used too late, "+T+" > "+L+": "+JSON.stringify(h));if(r&&r.indexOf(h.iss)<0)throw new Error("Invalid issuer, expected one of ["+r+"], but got "+h.iss);if(typeof i<"u"&&i!==null){let D=h.aud,O=!1;if(i.constructor===Array?O=i.indexOf(D)>-1:O=D===i,!O)throw new Error("Wrong recipient, payload audience != requiredAudience")}return new wy.LoginTicket(d,h)}async processAndValidateRefreshHandler(){if(this.refreshHandler){let e=await this.refreshHandler();if(!e.access_token)throw new Error("No access token is returned by the refreshHandler callback.");return e}}isTokenExpiring(){let e=this.credentials.expiry_date;return e?e<=new Date().getTime()+this.eagerRefreshThresholdMillis:!1}};it.OAuth2Client=Qo});var jo=F(Ai=>{"use strict";Object.defineProperty(Ai,"__esModule",{value:!0});Ai.Compute=void 0;var Iy=ge(),Sc=Dn(),Ry=bt(),Zo=class extends Ry.OAuth2Client{serviceAccountEmail;scopes;constructor(e={}){super(e),this.credentials={expiry_date:1,refresh_token:"compute-placeholder"},this.serviceAccountEmail=e.serviceAccountEmail||"default",this.scopes=Array.isArray(e.scopes)?e.scopes:e.scopes?[e.scopes]:[]}async refreshTokenNoCache(){let e=`service-accounts/${this.serviceAccountEmail}/token`,n;try{let r={property:e};this.scopes.length>0&&(r.params={scopes:this.scopes.join(",")}),n=await Sc.instance(r)}catch(r){throw r instanceof Iy.GaxiosError&&(r.message=`Could not refresh access token: ${r.message}`,this.wrapError(r)),r}let i=n;return n&&n.expires_in&&(i.expiry_date=new Date().getTime()+n.expires_in*1e3,delete i.expires_in),this.emit("tokens",i),{tokens:i,res:null}}async fetchIdToken(e){let n=`service-accounts/${this.serviceAccountEmail}/identity?format=full&audience=${e}`,i;try{let r={property:n};i=await Sc.instance(r)}catch(r){throw r instanceof Error&&(r.message=`Could not fetch ID token: ${r.message}`),r}return i}wrapError(e){let n=e.response;n&&n.status&&(e.status=n.status,n.status===403?e.message="A Forbidden error was returned while attempting to retrieve an access token for the Compute Engine built-in service account. This may be because the Compute Engine instance does not have the correct permission scopes specified: "+e.message:n.status===404&&(e.message="A Not Found error was returned while attempting to retrieve an accesstoken for the Compute Engine built-in service account. This may be because the Compute Engine instance does not have any permission scopes specified: "+e.message))}};Ai.Compute=Zo});var ts=F(wi=>{"use strict";Object.defineProperty(wi,"__esModule",{value:!0});wi.IdTokenClient=void 0;var Py=bt(),es=class extends Py.OAuth2Client{targetAudience;idTokenProvider;constructor(e){super(e),this.targetAudience=e.targetAudience,this.idTokenProvider=e.idTokenProvider}async getRequestMetadataAsync(){if(!this.credentials.id_token||!this.credentials.expiry_date||this.isTokenExpiring()){let n=await this.idTokenProvider.fetchIdToken(this.targetAudience);this.credentials={id_token:n,expiry_date:this.getIdTokenExpiryDate(n)}}return{headers:new Headers({authorization:"Bearer "+this.credentials.id_token})}}getIdTokenExpiryDate(e){let n=e.split(".")[1];if(n)return JSON.parse(Buffer.from(n,"base64").toString("ascii")).exp*1e3}};wi.IdTokenClient=es});var ns=F(jt=>{"use strict";Object.defineProperty(jt,"__esModule",{value:!0});jt.GCPEnv=void 0;jt.clear=Ny;jt.getEnv=xy;var Cc=Dn(),rt;(function(t){t.APP_ENGINE="APP_ENGINE",t.KUBERNETES_ENGINE="KUBERNETES_ENGINE",t.CLOUD_FUNCTIONS="CLOUD_FUNCTIONS",t.COMPUTE_ENGINE="COMPUTE_ENGINE",t.CLOUD_RUN="CLOUD_RUN",t.CLOUD_RUN_JOBS="CLOUD_RUN_JOBS",t.NONE="NONE"})(rt||(jt.GCPEnv=rt={}));var Ln;function Ny(){Ln=void 0}async function xy(){return Ln||(Ln=ky(),Ln)}async function ky(){let t=rt.NONE;return My()?t=rt.APP_ENGINE:Dy()?t=rt.CLOUD_FUNCTIONS:await Oy()?await Ly()?t=rt.KUBERNETES_ENGINE:Uy()?t=rt.CLOUD_RUN:by()?t=rt.CLOUD_RUN_JOBS:t=rt.COMPUTE_ENGINE:t=rt.NONE,t}function My(){return!!(process.env.GAE_SERVICE||process.env.GAE_MODULE_NAME)}function Dy(){return!!(process.env.FUNCTION_NAME||process.env.FUNCTION_TARGET)}function Uy(){return!!process.env.K_CONFIGURATION}function by(){return!!process.env.CLOUD_RUN_JOB}async function Ly(){try{return await Cc.instance("attributes/cluster-name"),!0}catch{return!1}}async function Oy(){return Cc.isAvailable()}});var is=F((pP,vc)=>{var Ii=Qt().Buffer,Fy=H("stream"),Gy=H("util");function Ri(t){if(this.buffer=null,this.writable=!0,this.readable=!0,!t)return this.buffer=Ii.alloc(0),this;if(typeof t.pipe=="function")return this.buffer=Ii.alloc(0),t.pipe(this),this;if(t.length||typeof t=="object")return this.buffer=t,this.writable=!1,process.nextTick(function(){this.emit("end",t),this.readable=!1,this.emit("close")}.bind(this)),this;throw new TypeError("Unexpected data type ("+typeof t+")")}Gy.inherits(Ri,Fy);Ri.prototype.write=function(e){this.buffer=Ii.concat([this.buffer,Ii.from(e)]),this.emit("data",e)};Ri.prototype.end=function(e){e&&this.write(e),this.emit("end",e),this.emit("close"),this.writable=!1,this.readable=!1};vc.exports=Ri});var wc=F((mP,Ac)=>{"use strict";var On=H("buffer").Buffer,rs=H("buffer").SlowBuffer;Ac.exports=Pi;function Pi(t,e){if(!On.isBuffer(t)||!On.isBuffer(e)||t.length!==e.length)return!1;for(var n=0,i=0;i<t.length;i++)n|=t[i]^e[i];return n===0}Pi.install=function(){On.prototype.equal=rs.prototype.equal=function(e){return Pi(this,e)}};var qy=On.prototype.equal,By=rs.prototype.equal;Pi.restore=function(){On.prototype.equal=qy,rs.prototype.equal=By}});var ls=F((gP,Uc)=>{var tn=Qt().Buffer,Oe=H("crypto"),Rc=Bo(),Ic=H("util"),Vy=`"%s" is not a valid algorithm.
15
+ Supported algorithms are:
16
+ "HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", "ES512" and "none".`,Fn="secret must be a string or buffer",en="key must be a string or a buffer",Hy="key must be a string, a buffer or an object",ss=typeof Oe.createPublicKey=="function";ss&&(en+=" or a KeyObject",Fn+="or a KeyObject");function Pc(t){if(!tn.isBuffer(t)&&typeof t!="string"&&(!ss||typeof t!="object"||typeof t.type!="string"||typeof t.asymmetricKeyType!="string"||typeof t.export!="function"))throw We(en)}function Nc(t){if(!tn.isBuffer(t)&&typeof t!="string"&&typeof t!="object")throw We(Hy)}function $y(t){if(!tn.isBuffer(t)){if(typeof t=="string")return t;if(!ss||typeof t!="object"||t.type!=="secret"||typeof t.export!="function")throw We(Fn)}}function as(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function xc(t){t=t.toString();var e=4-t.length%4;if(e!==4)for(var n=0;n<e;++n)t+="=";return t.replace(/\-/g,"+").replace(/_/g,"/")}function We(t){var e=[].slice.call(arguments,1),n=Ic.format.bind(Ic,t).apply(null,e);return new TypeError(n)}function Jy(t){return tn.isBuffer(t)||typeof t=="string"}function Gn(t){return Jy(t)||(t=JSON.stringify(t)),t}function kc(t){return function(n,i){$y(i),n=Gn(n);var r=Oe.createHmac("sha"+t,i),o=(r.update(n),r.digest("base64"));return as(o)}}var os,Wy="timingSafeEqual"in Oe?function(e,n){return e.byteLength!==n.byteLength?!1:Oe.timingSafeEqual(e,n)}:function(e,n){return os||(os=wc()),os(e,n)};function Ky(t){return function(n,i,r){var o=kc(t)(n,r);return Wy(tn.from(i),tn.from(o))}}function Mc(t){return function(n,i){Nc(i),n=Gn(n);var r=Oe.createSign("RSA-SHA"+t),o=(r.update(n),r.sign(i,"base64"));return as(o)}}function Dc(t){return function(n,i,r){Pc(r),n=Gn(n),i=xc(i);var o=Oe.createVerify("RSA-SHA"+t);return o.update(n),o.verify(r,i,"base64")}}function Yy(t){return function(n,i){Nc(i),n=Gn(n);var r=Oe.createSign("RSA-SHA"+t),o=(r.update(n),r.sign({key:i,padding:Oe.constants.RSA_PKCS1_PSS_PADDING,saltLength:Oe.constants.RSA_PSS_SALTLEN_DIGEST},"base64"));return as(o)}}function zy(t){return function(n,i,r){Pc(r),n=Gn(n),i=xc(i);var o=Oe.createVerify("RSA-SHA"+t);return o.update(n),o.verify({key:r,padding:Oe.constants.RSA_PKCS1_PSS_PADDING,saltLength:Oe.constants.RSA_PSS_SALTLEN_DIGEST},i,"base64")}}function Xy(t){var e=Mc(t);return function(){var i=e.apply(null,arguments);return i=Rc.derToJose(i,"ES"+t),i}}function Qy(t){var e=Dc(t);return function(i,r,o){r=Rc.joseToDer(r,"ES"+t).toString("base64");var l=e(i,r,o);return l}}function Zy(){return function(){return""}}function jy(){return function(e,n){return n===""}}Uc.exports=function(e){var n={hs:kc,rs:Mc,ps:Yy,es:Xy,none:Zy},i={hs:Ky,rs:Dc,ps:zy,es:Qy,none:jy},r=e.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/);if(!r)throw We(Vy,e);var o=(r[1]||r[3]).toLowerCase(),l=r[2];return{sign:n[o](l),verify:i[o](l)}}});var us=F((yP,bc)=>{var e_=H("buffer").Buffer;bc.exports=function(e){return typeof e=="string"?e:typeof e=="number"||e_.isBuffer(e)?e.toString():JSON.stringify(e)}});var Bc=F((_P,qc)=>{var t_=Qt().Buffer,Lc=is(),n_=ls(),i_=H("stream"),Oc=us(),cs=H("util");function Fc(t,e){return t_.from(t,e).toString("base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function r_(t,e,n){n=n||"utf8";var i=Fc(Oc(t),"binary"),r=Fc(Oc(e),n);return cs.format("%s.%s",i,r)}function Gc(t){var e=t.header,n=t.payload,i=t.secret||t.privateKey,r=t.encoding,o=n_(e.alg),l=r_(e,n,r),u=o.sign(l,i);return cs.format("%s.%s",l,u)}function Ni(t){var e=t.secret;if(e=e??t.privateKey,e=e??t.key,/^hs/i.test(t.header.alg)===!0&&e==null)throw new TypeError("secret must be a string or buffer or a KeyObject");var n=new Lc(e);this.readable=!0,this.header=t.header,this.encoding=t.encoding,this.secret=this.privateKey=this.key=n,this.payload=new Lc(t.payload),this.secret.once("close",function(){!this.payload.writable&&this.readable&&this.sign()}.bind(this)),this.payload.once("close",function(){!this.secret.writable&&this.readable&&this.sign()}.bind(this))}cs.inherits(Ni,i_);Ni.prototype.sign=function(){try{var e=Gc({header:this.header,payload:this.payload.buffer,secret:this.secret.buffer,encoding:this.encoding});return this.emit("done",e),this.emit("data",e),this.emit("end"),this.readable=!1,e}catch(n){this.readable=!1,this.emit("error",n),this.emit("close")}};Ni.sign=Gc;qc.exports=Ni});var Qc=F((EP,Xc)=>{var Hc=Qt().Buffer,Vc=is(),o_=ls(),s_=H("stream"),$c=us(),a_=H("util"),l_=/^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/;function u_(t){return Object.prototype.toString.call(t)==="[object Object]"}function c_(t){if(u_(t))return t;try{return JSON.parse(t)}catch{return}}function Jc(t){var e=t.split(".",1)[0];return c_(Hc.from(e,"base64").toString("binary"))}function f_(t){return t.split(".",2).join(".")}function Wc(t){return t.split(".")[2]}function d_(t,e){e=e||"utf8";var n=t.split(".")[1];return Hc.from(n,"base64").toString(e)}function Kc(t){return l_.test(t)&&!!Jc(t)}function Yc(t,e,n){if(!e){var i=new Error("Missing algorithm parameter for jws.verify");throw i.code="MISSING_ALGORITHM",i}t=$c(t);var r=Wc(t),o=f_(t),l=o_(e);return l.verify(o,r,n)}function zc(t,e){if(e=e||{},t=$c(t),!Kc(t))return null;var n=Jc(t);if(!n)return null;var i=d_(t);return(n.typ==="JWT"||e.json)&&(i=JSON.parse(i,e.encoding)),{header:n,payload:i,signature:Wc(t)}}function nn(t){t=t||{};var e=t.secret;if(e=e??t.publicKey,e=e??t.key,/^hs/i.test(t.algorithm)===!0&&e==null)throw new TypeError("secret must be a string or buffer or a KeyObject");var n=new Vc(e);this.readable=!0,this.algorithm=t.algorithm,this.encoding=t.encoding,this.secret=this.publicKey=this.key=n,this.signature=new Vc(t.signature),this.secret.once("close",function(){!this.signature.writable&&this.readable&&this.verify()}.bind(this)),this.signature.once("close",function(){!this.secret.writable&&this.readable&&this.verify()}.bind(this))}a_.inherits(nn,s_);nn.prototype.verify=function(){try{var e=Yc(this.signature.buffer,this.algorithm,this.key.buffer),n=zc(this.signature.buffer,this.encoding);return this.emit("done",e,n),this.emit("data",e),this.emit("end"),this.readable=!1,e}catch(i){this.readable=!1,this.emit("error",i),this.emit("close")}};nn.decode=zc;nn.isValid=Kc;nn.verify=Yc;Xc.exports=nn});var fs=F(St=>{var Zc=Bc(),xi=Qc(),h_=["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"];St.ALGORITHMS=h_;St.sign=Zc.sign;St.verify=xi.verify;St.decode=xi.decode;St.isValid=xi.isValid;St.createSign=function(e){return new Zc(e)};St.createVerify=function(e){return new xi(e)}});var ef=F(ki=>{"use strict";Object.defineProperty(ki,"__esModule",{value:!0});ki.buildPayloadForJwsSign=jc;ki.getJwsSign=y_;var p_=fs(),m_="RS256",g_="https://oauth2.googleapis.com/token";function jc(t){let e=Math.floor(new Date().getTime()/1e3);return{iss:t.iss,scope:t.scope,aud:g_,exp:e+3600,iat:e,sub:t.sub,...t.additionalClaims}}function y_(t){let e=jc(t);return(0,p_.sign)({header:{alg:m_},payload:e,secret:t.key})}});var tf=F(ds=>{"use strict";Object.defineProperty(ds,"__esModule",{value:!0});ds.getToken=C_;var __=ef(),E_="https://oauth2.googleapis.com/token",T_="urn:ietf:params:oauth:grant-type:jwt-bearer",S_=t=>({method:"POST",url:E_,data:new URLSearchParams({grant_type:T_,assertion:(0,__.getJwsSign)(t)}),responseType:"json",retryConfig:{httpMethodsToRetry:["POST"]}});async function C_(t){if(!t.transporter)throw new Error("No transporter set.");try{let e=S_(t);return(await t.transporter.request(e)).data}catch(e){let n=e,i=n.response?.data;throw i?.error&&(n.message=`${i.error}: ${i.error_description}`),n}}});var nf=F(Mi=>{"use strict";Object.defineProperty(Mi,"__esModule",{value:!0});Mi.ErrorWithCode=void 0;var hs=class extends Error{code;constructor(e,n){super(e),this.code=n}};Mi.ErrorWithCode=hs});var Es=F(_s=>{"use strict";Object.defineProperty(_s,"__esModule",{value:!0});_s.getCredentials=w_;var v_=H("path"),rf=H("fs"),A_=H("util"),Di=nf(),of=rf.readFile?(0,A_.promisify)(rf.readFile):async()=>{throw new Di.ErrorWithCode("use key rather than keyFile.","MISSING_CREDENTIALS")},Ct;(function(t){t.JSON=".json",t.DER=".der",t.CRT=".crt",t.PEM=".pem",t.P12=".p12",t.PFX=".pfx"})(Ct||(Ct={}));var ps=class{keyFilePath;constructor(e){this.keyFilePath=e}async getCredentials(){let e=await of(this.keyFilePath,"utf8"),n;try{n=JSON.parse(e)}catch(o){let l=o;throw new Error(`Invalid JSON key file: ${l.message}`)}let i=n.private_key,r=n.client_email;if(!i||!r)throw new Di.ErrorWithCode("private_key and client_email are required.","MISSING_CREDENTIALS");return{privateKey:i,clientEmail:r}}},ms=class{keyFilePath;constructor(e){this.keyFilePath=e}async getCredentials(){return{privateKey:await of(this.keyFilePath,"utf8")}}},gs=class{async getCredentials(){throw new Di.ErrorWithCode("*.p12 certificates are not supported after v6.1.2. Consider utilizing *.json format or converting *.p12 to *.pem using the OpenSSL CLI.","UNKNOWN_CERTIFICATE_TYPE")}},ys=class{static create(e){switch(v_.extname(e)){case Ct.JSON:return new ps(e);case Ct.DER:case Ct.CRT:case Ct.PEM:return new ms(e);case Ct.P12:case Ct.PFX:return new gs;default:throw new Di.ErrorWithCode("Unknown certificate type. Type is determined based on file extension. Current supported extensions are *.json, and *.pem.","UNKNOWN_CERTIFICATE_TYPE")}}};async function w_(t){return ys.create(t).getCredentials()}});var sf=F(Ui=>{"use strict";Object.defineProperty(Ui,"__esModule",{value:!0});Ui.TokenHandler=void 0;var I_=tf(),R_=Es(),Ts=class{token;tokenExpiresAt;inFlightRequest;tokenOptions;constructor(e){this.tokenOptions=e}async processCredentials(){if(!this.tokenOptions.key&&!this.tokenOptions.keyFile)throw new Error("No key or keyFile set.");if(!this.tokenOptions.key&&this.tokenOptions.keyFile){let e=await(0,R_.getCredentials)(this.tokenOptions.keyFile);this.tokenOptions.key=e.privateKey,this.tokenOptions.email=e.clientEmail}}isTokenExpiring(){if(!this.token||!this.tokenExpiresAt)return!0;let e=new Date().getTime(),n=this.tokenOptions.eagerRefreshThresholdMillis??0;return this.tokenExpiresAt<=e+n}hasExpired(){let e=new Date().getTime();return this.token&&this.tokenExpiresAt?new Date().getTime()>=this.tokenExpiresAt:!0}async getToken(e){if(await this.processCredentials(),this.inFlightRequest&&!e)return this.inFlightRequest;if(this.token&&!this.isTokenExpiring()&&!e)return this.token;try{this.inFlightRequest=(0,I_.getToken)(this.tokenOptions);let n=await this.inFlightRequest;return this.token=n,this.tokenExpiresAt=new Date().getTime()+(n.expires_in??0)*1e3,n}finally{this.inFlightRequest=void 0}}};Ui.TokenHandler=Ts});var af=F(Ss=>{"use strict";Object.defineProperty(Ss,"__esModule",{value:!0});Ss.revokeToken=x_;var P_="https://oauth2.googleapis.com/revoke?token=",N_=!0;async function x_(t,e){let n=P_+t;return await e.request({url:n,retry:N_})}});var vs=F(bi=>{"use strict";Object.defineProperty(bi,"__esModule",{value:!0});bi.GoogleToken=void 0;var k_=ge(),lf=sf(),M_=af(),Cs=class{tokenOptions;tokenHandler;constructor(e){this.tokenOptions=e||{},this.tokenOptions.transporter=this.tokenOptions.transporter||{request:n=>(0,k_.request)(n)},this.tokenOptions.iss||(this.tokenOptions.iss=this.tokenOptions.email),typeof this.tokenOptions.scope=="object"&&(this.tokenOptions.scope=this.tokenOptions.scope.join(" ")),this.tokenHandler=new lf.TokenHandler(this.tokenOptions)}get expiresAt(){return this.tokenHandler.tokenExpiresAt}get accessToken(){return this.tokenHandler.token?.access_token}get idToken(){return this.tokenHandler.token?.id_token}get tokenType(){return this.tokenHandler.token?.token_type}get refreshToken(){return this.tokenHandler.token?.refresh_token}hasExpired(){return this.tokenHandler.hasExpired()}isTokenExpiring(){return this.tokenHandler.isTokenExpiring()}getToken(e,n={forceRefresh:!1}){let i;typeof e=="function"?i=e:typeof e=="object"&&(n=e);let r=this.tokenHandler.getToken(n.forceRefresh??!1);return i&&r.then(o=>i(null,o),i),r}revokeToken(e){if(!this.accessToken)return Promise.reject(new Error("No token to revoke."));let n=(0,M_.revokeToken)(this.accessToken,this.tokenOptions.transporter);e&&n.then(()=>e(),e),this.tokenHandler=new lf.TokenHandler(this.tokenOptions)}get googleTokenOptions(){return this.tokenOptions}};bi.GoogleToken=Cs});var ws=F(Li=>{"use strict";Object.defineProperty(Li,"__esModule",{value:!0});Li.JWTAccess=void 0;var D_=fs(),U_=$e(),uf={alg:"RS256",typ:"JWT"},As=class t{email;key;keyId;projectId;eagerRefreshThresholdMillis;cache=new U_.LRUCache({capacity:500,maxAge:60*60*1e3});constructor(e,n,i,r){this.email=e,this.key=n,this.keyId=i,this.eagerRefreshThresholdMillis=r??5*60*1e3}getCachedKey(e,n){let i=e;if(n&&Array.isArray(n)&&n.length?i=e?`${e}_${n.join("_")}`:`${n.join("_")}`:typeof n=="string"&&(i=e?`${e}_${n}`:n),!i)throw Error("Scopes or url must be provided");return i}getRequestHeaders(e,n,i){let r=this.getCachedKey(e,i),o=this.cache.get(r),l=Date.now();if(o&&o.expiration-l>this.eagerRefreshThresholdMillis)return new Headers(o.headers);let u=Math.floor(Date.now()/1e3),f=t.getExpirationTime(u),c;if(Array.isArray(i)&&(i=i.join(" ")),i?c={iss:this.email,sub:this.email,scope:i,exp:f,iat:u}:c={iss:this.email,sub:this.email,aud:e,exp:f,iat:u},n){for(let _ in c)if(n[_])throw new Error(`The '${_}' property is not allowed when passing additionalClaims. This claim is included in the JWT by default.`)}let d=this.keyId?{...uf,kid:this.keyId}:uf,h=Object.assign(c,n),p=D_.sign({header:d,payload:h,secret:this.key}),m=new Headers({authorization:`Bearer ${p}`});return this.cache.set(r,{expiration:f*1e3,headers:m}),m}static getExpirationTime(e){return e+3600}fromJSON(e){if(!e)throw new Error("Must pass in a JSON object containing the service account auth settings.");if(!e.client_email)throw new Error("The incoming JSON object does not contain a client_email field");if(!e.private_key)throw new Error("The incoming JSON object does not contain a private_key field");this.email=e.client_email,this.key=e.private_key,this.keyId=e.private_key_id,this.projectId=e.project_id}fromStream(e,n){if(n)this.fromStreamAsync(e).then(()=>n(),n);else return this.fromStreamAsync(e)}fromStreamAsync(e){return new Promise((n,i)=>{e||i(new Error("Must pass in a stream containing the service account auth settings."));let r="";e.setEncoding("utf8").on("data",o=>r+=o).on("error",i).on("end",()=>{try{let o=JSON.parse(r);this.fromJSON(o),n()}catch(o){i(o)}})})}};Li.JWTAccess=As});var Rs=F(Fi=>{"use strict";Object.defineProperty(Fi,"__esModule",{value:!0});Fi.JWT=void 0;var cf=vs(),b_=Es(),L_=ws(),O_=bt(),Oi=Pe(),Is=class t extends O_.OAuth2Client{email;keyFile;key;keyId;defaultScopes;scopes;scope;subject;gtoken;additionalClaims;useJWTAccessWithScope;defaultServicePath;access;constructor(e={}){super(e),this.email=e.email,this.keyFile=e.keyFile,this.key=e.key,this.keyId=e.keyId,this.scopes=e.scopes,this.subject=e.subject,this.additionalClaims=e.additionalClaims,this.credentials={refresh_token:"jwt-placeholder",expiry_date:1}}createScoped(e){let n=new t(this);return n.scopes=e,n}async getRequestMetadataAsync(e){e=this.defaultServicePath?`https://${this.defaultServicePath}/`:e;let n=!this.hasUserScopes()&&e||this.useJWTAccessWithScope&&this.hasAnyScopes()||this.universeDomain!==Oi.DEFAULT_UNIVERSE;if(this.subject&&this.universeDomain!==Oi.DEFAULT_UNIVERSE)throw new RangeError(`Service Account user is configured for the credential. Domain-wide delegation is not supported in universes other than ${Oi.DEFAULT_UNIVERSE}`);if(!this.apiKey&&n)if(this.additionalClaims&&this.additionalClaims.target_audience){let{tokens:i}=await this.refreshToken();return{headers:this.addSharedMetadataHeaders(new Headers({authorization:`Bearer ${i.id_token}`}))}}else{this.access||(this.access=new L_.JWTAccess(this.email,this.key,this.keyId,this.eagerRefreshThresholdMillis));let i;this.hasUserScopes()?i=this.scopes:e||(i=this.defaultScopes);let r=this.useJWTAccessWithScope||this.universeDomain!==Oi.DEFAULT_UNIVERSE,o=await this.access.getRequestHeaders(e??void 0,this.additionalClaims,r?i:void 0);return{headers:this.addSharedMetadataHeaders(o)}}else return this.hasAnyScopes()||this.apiKey?super.getRequestMetadataAsync(e):{headers:new Headers}}async fetchIdToken(e){let n=new cf.GoogleToken({iss:this.email,sub:this.subject,scope:this.scopes||this.defaultScopes,keyFile:this.keyFile,key:this.key,additionalClaims:{target_audience:e},transporter:this.transporter});if(await n.getToken({forceRefresh:!0}),!n.idToken)throw new Error("Unknown error: Failed to fetch ID token");return n.idToken}hasUserScopes(){return this.scopes?this.scopes.length>0:!1}hasAnyScopes(){return!!(this.scopes&&this.scopes.length>0||this.defaultScopes&&this.defaultScopes.length>0)}authorize(e){if(e)this.authorizeAsync().then(n=>e(null,n),e);else return this.authorizeAsync()}async authorizeAsync(){let e=await this.refreshToken();if(!e)throw new Error("No result returned");return this.credentials=e.tokens,this.credentials.refresh_token="jwt-placeholder",this.key=this.gtoken.googleTokenOptions?.key,this.email=this.gtoken.googleTokenOptions?.iss,e.tokens}async refreshTokenNoCache(){let e=this.createGToken(),i={access_token:(await e.getToken({forceRefresh:this.isTokenExpiring()})).access_token,token_type:"Bearer",expiry_date:e.expiresAt,id_token:e.idToken};return this.emit("tokens",i),{res:null,tokens:i}}createGToken(){return this.gtoken||(this.gtoken=new cf.GoogleToken({iss:this.email,sub:this.subject,scope:this.scopes||this.defaultScopes,keyFile:this.keyFile,key:this.key,additionalClaims:this.additionalClaims,transporter:this.transporter})),this.gtoken}fromJSON(e){if(!e)throw new Error("Must pass in a JSON object containing the service account auth settings.");if(!e.client_email)throw new Error("The incoming JSON object does not contain a client_email field");if(!e.private_key)throw new Error("The incoming JSON object does not contain a private_key field");this.email=e.client_email,this.key=e.private_key,this.keyId=e.private_key_id,this.projectId=e.project_id,this.quotaProjectId=e.quota_project_id,this.universeDomain=e.universe_domain||this.universeDomain}fromStream(e,n){if(n)this.fromStreamAsync(e).then(()=>n(),n);else return this.fromStreamAsync(e)}fromStreamAsync(e){return new Promise((n,i)=>{if(!e)throw new Error("Must pass in a stream containing the service account auth settings.");let r="";e.setEncoding("utf8").on("error",i).on("data",o=>r+=o).on("end",()=>{try{let o=JSON.parse(r);this.fromJSON(o),n()}catch(o){i(o)}})})}fromAPIKey(e){if(typeof e!="string")throw new Error("Must provide an API Key string.");this.apiKey=e}async getCredentials(){if(this.key)return{private_key:this.key,client_email:this.email};if(this.keyFile){let e=this.createGToken(),n=await(0,b_.getCredentials)(this.keyFile);return{private_key:n.privateKey,client_email:n.clientEmail}}throw new Error("A key or a keyFile must be provided to getCredentials.")}};Fi.JWT=Is});var Ns=F(rn=>{"use strict";Object.defineProperty(rn,"__esModule",{value:!0});rn.UserRefreshClient=rn.USER_REFRESH_ACCOUNT_TYPE=void 0;var F_=bt(),G_=Pe();rn.USER_REFRESH_ACCOUNT_TYPE="authorized_user";var Ps=class t extends F_.OAuth2Client{_refreshToken;constructor(e,n,i,r,o){let l=e&&typeof e=="object"?e:{clientId:e,clientSecret:n,refreshToken:i,eagerRefreshThresholdMillis:r,forceRefreshOnFailure:o};super(l),this._refreshToken=l.refreshToken,this.credentials.refresh_token=l.refreshToken}async refreshTokenNoCache(){return super.refreshTokenNoCache(this._refreshToken)}async fetchIdToken(e){let n={...t.RETRY_CONFIG,url:this.endpoints.oauth2TokenUrl,method:"POST",data:new URLSearchParams({client_id:this._clientId,client_secret:this._clientSecret,grant_type:"refresh_token",refresh_token:this._refreshToken,target_audience:e}),responseType:"json"};return G_.AuthClient.setMethodName(n,"fetchIdToken"),(await this.transporter.request(n)).data.id_token}fromJSON(e){if(!e)throw new Error("Must pass in a JSON object containing the user refresh token");if(e.type!=="authorized_user")throw new Error('The incoming JSON object does not have the "authorized_user" type');if(!e.client_id)throw new Error("The incoming JSON object does not contain a client_id field");if(!e.client_secret)throw new Error("The incoming JSON object does not contain a client_secret field");if(!e.refresh_token)throw new Error("The incoming JSON object does not contain a refresh_token field");this._clientId=e.client_id,this._clientSecret=e.client_secret,this._refreshToken=e.refresh_token,this.credentials.refresh_token=e.refresh_token,this.quotaProjectId=e.quota_project_id,this.universeDomain=e.universe_domain||this.universeDomain}fromStream(e,n){if(n)this.fromStreamAsync(e).then(()=>n(),n);else return this.fromStreamAsync(e)}async fromStreamAsync(e){return new Promise((n,i)=>{if(!e)return i(new Error("Must pass in a stream containing the user refresh token."));let r="";e.setEncoding("utf8").on("error",i).on("data",o=>r+=o).on("end",()=>{try{let o=JSON.parse(r);return this.fromJSON(o),n()}catch(o){return i(o)}})})}static fromJSON(e){let n=new t;return n.fromJSON(e),n}};rn.UserRefreshClient=Ps});var ks=F(on=>{"use strict";Object.defineProperty(on,"__esModule",{value:!0});on.Impersonated=on.IMPERSONATED_ACCOUNT_TYPE=void 0;var ff=bt(),q_=ge(),B_=$e();on.IMPERSONATED_ACCOUNT_TYPE="impersonated_service_account";var xs=class t extends ff.OAuth2Client{sourceClient;targetPrincipal;targetScopes;delegates;lifetime;endpoint;constructor(e={}){if(super(e),this.credentials={expiry_date:1,refresh_token:"impersonated-placeholder"},this.sourceClient=e.sourceClient??new ff.OAuth2Client,this.targetPrincipal=e.targetPrincipal??"",this.delegates=e.delegates??[],this.targetScopes=e.targetScopes??[],this.lifetime=e.lifetime??3600,!!!(0,B_.originalOrCamelOptions)(e).get("universe_domain"))this.universeDomain=this.sourceClient.universeDomain;else if(this.sourceClient.universeDomain!==this.universeDomain)throw new RangeError(`Universe domain ${this.sourceClient.universeDomain} in source credentials does not match ${this.universeDomain} universe domain set for impersonated credentials.`);this.endpoint=e.endpoint??`https://iamcredentials.${this.universeDomain}`}async sign(e){await this.sourceClient.getAccessToken();let n=`projects/-/serviceAccounts/${this.targetPrincipal}`,i=`${this.endpoint}/v1/${n}:signBlob`,r={delegates:this.delegates,payload:Buffer.from(e).toString("base64")};return(await this.sourceClient.request({...t.RETRY_CONFIG,url:i,data:r,method:"POST"})).data}getTargetPrincipal(){return this.targetPrincipal}async refreshToken(){try{await this.sourceClient.getAccessToken();let e="projects/-/serviceAccounts/"+this.targetPrincipal,n=`${this.endpoint}/v1/${e}:generateAccessToken`,i={delegates:this.delegates,scope:this.targetScopes,lifetime:this.lifetime+"s"},r=await this.sourceClient.request({...t.RETRY_CONFIG,url:n,data:i,method:"POST"}),o=r.data;return this.credentials.access_token=o.accessToken,this.credentials.expiry_date=Date.parse(o.expireTime),{tokens:this.credentials,res:r}}catch(e){if(!(e instanceof Error))throw e;let n=0,i="";throw e instanceof q_.GaxiosError&&(n=e?.response?.data?.error?.status,i=e?.response?.data?.error?.message),n&&i?(e.message=`${n}: unable to impersonate: ${i}`,e):(e.message=`unable to impersonate: ${e}`,e)}}async fetchIdToken(e,n){await this.sourceClient.getAccessToken();let i=`projects/-/serviceAccounts/${this.targetPrincipal}`,r=`${this.endpoint}/v1/${i}:generateIdToken`,o={delegates:this.delegates,audience:e,includeEmail:n?.includeEmail??!0,useEmailAzp:n?.includeEmail??!0};return(await this.sourceClient.request({...t.RETRY_CONFIG,url:r,data:o,method:"POST"})).data.token}};on.Impersonated=xs});var Ds=F(qn=>{"use strict";Object.defineProperty(qn,"__esModule",{value:!0});qn.OAuthClientAuthHandler=void 0;qn.getErrorFromOAuthErrorResponse=$_;var sn=ge(),V_=Un(),H_=["PUT","POST","PATCH"],Ms=class{#e=(0,V_.createCrypto)();#t;transporter;constructor(e){e&&"clientId"in e?(this.#t=e,this.transporter=new sn.Gaxios):(this.#t=e?.clientAuthentication,this.transporter=e?.transporter||new sn.Gaxios)}applyClientAuthenticationOptions(e,n){e.headers=sn.Gaxios.mergeHeaders(e.headers),this.injectAuthenticatedHeaders(e,n),n||this.injectAuthenticatedRequestBody(e)}injectAuthenticatedHeaders(e,n){if(n)e.headers=sn.Gaxios.mergeHeaders(e.headers,{authorization:`Bearer ${n}`});else if(this.#t?.confidentialClientType==="basic"){e.headers=sn.Gaxios.mergeHeaders(e.headers);let i=this.#t.clientId,r=this.#t.clientSecret||"",o=this.#e.encodeBase64StringUtf8(`${i}:${r}`);sn.Gaxios.mergeHeaders(e.headers,{authorization:`Basic ${o}`})}}injectAuthenticatedRequestBody(e){if(this.#t?.confidentialClientType==="request-body"){let n=(e.method||"GET").toUpperCase();if(!H_.includes(n))throw new Error(`${n} HTTP method does not support ${this.#t.confidentialClientType} client authentication`);let r=new Headers(e.headers).get("content-type");if(r?.startsWith("application/x-www-form-urlencoded")||e.data instanceof URLSearchParams){let o=new URLSearchParams(e.data??"");o.append("client_id",this.#t.clientId),o.append("client_secret",this.#t.clientSecret||""),e.data=o}else if(r?.startsWith("application/json"))e.data=e.data||{},Object.assign(e.data,{client_id:this.#t.clientId,client_secret:this.#t.clientSecret||""});else throw new Error(`${r} content-types are not supported with ${this.#t.confidentialClientType} client authentication`)}}static get RETRY_CONFIG(){return{retry:!0,retryConfig:{httpMethodsToRetry:["GET","PUT","POST","HEAD","OPTIONS","DELETE"]}}}};qn.OAuthClientAuthHandler=Ms;function $_(t,e){let n=t.error,i=t.error_description,r=t.error_uri,o=`Error code ${n}`;typeof i<"u"&&(o+=`: ${i}`),typeof r<"u"&&(o+=` - ${r}`);let l=new Error(o);if(e){let u=Object.keys(e);e.stack&&u.push("stack"),u.forEach(f=>{f!=="message"&&Object.defineProperty(l,f,{value:e[f],writable:!1,enumerable:!0})})}return l}});var qi=F(Gi=>{"use strict";Object.defineProperty(Gi,"__esModule",{value:!0});Gi.StsCredentials=void 0;var J_=ge(),W_=Pe(),df=Ds(),K_=$e(),Us=class t extends df.OAuthClientAuthHandler{#e;constructor(e={tokenExchangeEndpoint:""},n){(typeof e!="object"||e instanceof URL)&&(e={tokenExchangeEndpoint:e,clientAuthentication:n}),super(e),this.#e=e.tokenExchangeEndpoint}async exchangeToken(e,n,i){let r={grant_type:e.grantType,resource:e.resource,audience:e.audience,scope:e.scope?.join(" "),requested_token_type:e.requestedTokenType,subject_token:e.subjectToken,subject_token_type:e.subjectTokenType,actor_token:e.actingParty?.actorToken,actor_token_type:e.actingParty?.actorTokenType,options:i&&JSON.stringify(i)},o={...t.RETRY_CONFIG,url:this.#e.toString(),method:"POST",headers:n,data:new URLSearchParams((0,K_.removeUndefinedValuesInObject)(r)),responseType:"json"};W_.AuthClient.setMethodName(o,"exchangeToken"),this.applyClientAuthenticationOptions(o);try{let l=await this.transporter.request(o),u=l.data;return u.res=l,u}catch(l){throw l instanceof J_.GaxiosError&&l.response?(0,df.getErrorFromOAuthErrorResponse)(l.response.data,l):l}}};Gi.StsCredentials=Us});var vt=F(Fe=>{"use strict";Object.defineProperty(Fe,"__esModule",{value:!0});Fe.BaseExternalAccountClient=Fe.CLOUD_RESOURCE_MANAGER=Fe.EXTERNAL_ACCOUNT_TYPE=Fe.EXPIRATION_TIME_OFFSET=void 0;var Y_=ge(),z_=H("stream"),bs=Pe(),X_=qi(),hf=$e(),Q_=$o(),Z_="urn:ietf:params:oauth:grant-type:token-exchange",j_="urn:ietf:params:oauth:token-type:access_token",Ls="https://www.googleapis.com/auth/cloud-platform",eE=3600;Fe.EXPIRATION_TIME_OFFSET=5*60*1e3;Fe.EXTERNAL_ACCOUNT_TYPE="external_account";Fe.CLOUD_RESOURCE_MANAGER="https://cloudresourcemanager.googleapis.com/v1/projects/";var tE="//iam\\.googleapis\\.com/locations/[^/]+/workforcePools/[^/]+/providers/.+",nE="https://sts.{universeDomain}/v1/token",Os=class t extends bs.AuthClient{scopes;projectNumber;audience;subjectTokenType;stsCredential;clientAuth;credentialSourceType;cachedAccessToken;serviceAccountImpersonationUrl;serviceAccountImpersonationLifetime;workforcePoolUserProject;configLifetimeRequested;tokenUrl;cloudResourceManagerURL;supplierContext;#e=null;constructor(e){super(e);let n=(0,hf.originalOrCamelOptions)(e),i=n.get("type");if(i&&i!==Fe.EXTERNAL_ACCOUNT_TYPE)throw new Error(`Expected "${Fe.EXTERNAL_ACCOUNT_TYPE}" type but received "${e.type}"`);let r=n.get("client_id"),o=n.get("client_secret");this.tokenUrl=n.get("token_url")??nE.replace("{universeDomain}",this.universeDomain);let l=n.get("subject_token_type"),u=n.get("workforce_pool_user_project"),f=n.get("service_account_impersonation_url"),c=n.get("service_account_impersonation"),d=(0,hf.originalOrCamelOptions)(c).get("token_lifetime_seconds");this.cloudResourceManagerURL=new URL(n.get("cloud_resource_manager_url")||`https://cloudresourcemanager.${this.universeDomain}/v1/projects/`),r&&(this.clientAuth={confidentialClientType:"basic",clientId:r,clientSecret:o}),this.stsCredential=new X_.StsCredentials({tokenExchangeEndpoint:this.tokenUrl,clientAuthentication:this.clientAuth}),this.scopes=n.get("scopes")||[Ls],this.cachedAccessToken=null,this.audience=n.get("audience"),this.subjectTokenType=l,this.workforcePoolUserProject=u;let h=new RegExp(tE);if(this.workforcePoolUserProject&&!this.audience.match(h))throw new Error("workforcePoolUserProject should not be set for non-workforce pool credentials.");this.serviceAccountImpersonationUrl=f,this.serviceAccountImpersonationLifetime=d,this.serviceAccountImpersonationLifetime?this.configLifetimeRequested=!0:(this.configLifetimeRequested=!1,this.serviceAccountImpersonationLifetime=eE),this.projectNumber=this.getProjectNumber(this.audience),this.supplierContext={audience:this.audience,subjectTokenType:this.subjectTokenType,transporter:this.transporter}}getServiceAccountEmail(){if(this.serviceAccountImpersonationUrl){if(this.serviceAccountImpersonationUrl.length>256)throw new RangeError(`URL is too long: ${this.serviceAccountImpersonationUrl}`);return/serviceAccounts\/(?<email>[^:]+):generateAccessToken$/.exec(this.serviceAccountImpersonationUrl)?.groups?.email||null}return null}setCredentials(e){super.setCredentials(e),this.cachedAccessToken=e}async getAccessToken(){return(!this.cachedAccessToken||this.isExpired(this.cachedAccessToken))&&await this.refreshAccessTokenAsync(),{token:this.cachedAccessToken.access_token,res:this.cachedAccessToken.res}}async getRequestHeaders(){let e=await this.getAccessToken(),n=new Headers({authorization:`Bearer ${e.token}`});return this.addSharedMetadataHeaders(n)}request(e,n){if(n)this.requestAsync(e).then(i=>n(null,i),i=>n(i,i.response));else return this.requestAsync(e)}async getProjectId(){let e=this.projectNumber||this.workforcePoolUserProject;if(this.projectId)return this.projectId;if(e){let n=await this.getRequestHeaders(),i={...t.RETRY_CONFIG,headers:n,url:`${this.cloudResourceManagerURL.toString()}${e}`,responseType:"json"};bs.AuthClient.setMethodName(i,"getProjectId");let r=await this.transporter.request(i);return this.projectId=r.data.projectId,this.projectId}return null}async requestAsync(e,n=!1){let i;try{let r=await this.getRequestHeaders();e.headers=Y_.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,r),i=await this.transporter.request(e)}catch(r){let o=r.response;if(o){let l=o.status,u=o.config.data instanceof z_.Readable;if(!n&&(l===401||l===403)&&!u&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(e,!0)}throw r}return i}async refreshAccessTokenAsync(){this.#e=this.#e||this.#t();try{return await this.#e}finally{this.#e=null}}async#t(){let e=await this.retrieveSubjectToken(),n={grantType:Z_,audience:this.audience,requestedTokenType:j_,subjectToken:e,subjectTokenType:this.subjectTokenType,scope:this.serviceAccountImpersonationUrl?[Ls]:this.getScopesArray()},i=!this.clientAuth&&this.workforcePoolUserProject?{userProject:this.workforcePoolUserProject}:void 0,r=new Headers({"x-goog-api-client":this.getMetricsHeaderValue()}),o=await this.stsCredential.exchangeToken(n,r,i);return this.serviceAccountImpersonationUrl?this.cachedAccessToken=await this.getImpersonatedAccessToken(o.access_token):o.expires_in?this.cachedAccessToken={access_token:o.access_token,expiry_date:new Date().getTime()+o.expires_in*1e3,res:o.res}:this.cachedAccessToken={access_token:o.access_token,res:o.res},this.credentials={},Object.assign(this.credentials,this.cachedAccessToken),delete this.credentials.res,this.emit("tokens",{refresh_token:null,expiry_date:this.cachedAccessToken.expiry_date,access_token:this.cachedAccessToken.access_token,token_type:"Bearer",id_token:null}),this.cachedAccessToken}getProjectNumber(e){let n=e.match(/\/projects\/([^/]+)/);return n?n[1]:null}async getImpersonatedAccessToken(e){let n={...t.RETRY_CONFIG,url:this.serviceAccountImpersonationUrl,method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${e}`},data:{scope:this.getScopesArray(),lifetime:this.serviceAccountImpersonationLifetime+"s"},responseType:"json"};bs.AuthClient.setMethodName(n,"getImpersonatedAccessToken");let i=await this.transporter.request(n),r=i.data;return{access_token:r.accessToken,expiry_date:new Date(r.expireTime).getTime(),res:i}}isExpired(e){let n=new Date().getTime();return e.expiry_date?n>=e.expiry_date-this.eagerRefreshThresholdMillis:!1}getScopesArray(){return typeof this.scopes=="string"?[this.scopes]:this.scopes||[Ls]}getMetricsHeaderValue(){let e=process.version.replace(/^v/,""),n=this.serviceAccountImpersonationUrl!==void 0,i=this.credentialSourceType?this.credentialSourceType:"unknown";return`gl-node/${e} auth/${Q_.pkg.version} google-byoid-sdk source/${i} sa-impersonation/${n} config-lifetime/${this.configLifetimeRequested}`}getTokenUrl(){return this.tokenUrl}};Fe.BaseExternalAccountClient=Os});var pf=F(Bi=>{"use strict";Object.defineProperty(Bi,"__esModule",{value:!0});Bi.FileSubjectTokenSupplier=void 0;var Gs=H("util"),qs=H("fs"),iE=(0,Gs.promisify)(qs.readFile??(()=>{})),rE=(0,Gs.promisify)(qs.realpath??(()=>{})),oE=(0,Gs.promisify)(qs.lstat??(()=>{})),Fs=class{filePath;formatType;subjectTokenFieldName;constructor(e){this.filePath=e.filePath,this.formatType=e.formatType,this.subjectTokenFieldName=e.subjectTokenFieldName}async getSubjectToken(){let e=this.filePath;try{if(e=await rE(e),!(await oE(e)).isFile())throw new Error}catch(r){throw r instanceof Error&&(r.message=`The file at ${e} does not exist, or it is not a file. ${r.message}`),r}let n,i=await iE(e,{encoding:"utf8"});if(this.formatType==="text"?n=i:this.formatType==="json"&&this.subjectTokenFieldName&&(n=JSON.parse(i)[this.subjectTokenFieldName]),!n)throw new Error("Unable to parse the subject_token from the credential_source file");return n}};Bi.FileSubjectTokenSupplier=Fs});var mf=F(Vi=>{"use strict";Object.defineProperty(Vi,"__esModule",{value:!0});Vi.UrlSubjectTokenSupplier=void 0;var sE=Pe(),Bs=class{url;headers;formatType;subjectTokenFieldName;additionalGaxiosOptions;constructor(e){this.url=e.url,this.formatType=e.formatType,this.subjectTokenFieldName=e.subjectTokenFieldName,this.headers=e.headers,this.additionalGaxiosOptions=e.additionalGaxiosOptions}async getSubjectToken(e){let n={...this.additionalGaxiosOptions,url:this.url,method:"GET",headers:this.headers,responseType:this.formatType};sE.AuthClient.setMethodName(n,"getSubjectToken");let i;if(this.formatType==="text"?i=(await e.transporter.request(n)).data:this.formatType==="json"&&this.subjectTokenFieldName&&(i=(await e.transporter.request(n)).data[this.subjectTokenFieldName]),!i)throw new Error("Unable to parse the subject_token from the credential_source URL");return i}};Vi.UrlSubjectTokenSupplier=Bs});var gf=F(Ne=>{"use strict";Object.defineProperty(Ne,"__esModule",{value:!0});Ne.CertificateSubjectTokenSupplier=Ne.InvalidConfigurationError=Ne.CertificateSourceUnavailableError=Ne.CERTIFICATE_CONFIGURATION_ENV_VARIABLE=void 0;var Hi=$e(),$i=H("fs"),Ji=H("crypto"),aE=H("https");Ne.CERTIFICATE_CONFIGURATION_ENV_VARIABLE="GOOGLE_API_CERTIFICATE_CONFIG";var ot=class extends Error{constructor(e){super(e),this.name="CertificateSourceUnavailableError"}};Ne.CertificateSourceUnavailableError=ot;var Ge=class extends Error{constructor(e){super(e),this.name="InvalidConfigurationError"}};Ne.InvalidConfigurationError=Ge;var Vs=class{certificateConfigPath;trustChainPath;cert;key;constructor(e){if(!e.useDefaultCertificateConfig&&!e.certificateConfigLocation)throw new Ge("Either `useDefaultCertificateConfig` must be true or a `certificateConfigLocation` must be provided.");if(e.useDefaultCertificateConfig&&e.certificateConfigLocation)throw new Ge("Both `useDefaultCertificateConfig` and `certificateConfigLocation` cannot be provided.");this.trustChainPath=e.trustChainPath,this.certificateConfigPath=e.certificateConfigLocation??""}async createMtlsHttpsAgent(){if(!this.key||!this.cert)throw new Ge("Cannot create mTLS Agent with missing certificate or key");return new aE.Agent({key:this.key,cert:this.cert})}async getSubjectToken(){this.certificateConfigPath=await this.#e();let{certPath:e,keyPath:n}=await this.#t();return{cert:this.cert,key:this.key}=await this.#n(e,n),await this.#i(this.cert)}async#e(){let e=this.certificateConfigPath;if(e){if(await(0,Hi.isValidFile)(e))return e;throw new ot(`Provided certificate config path is invalid: ${e}`)}let n=process.env[Ne.CERTIFICATE_CONFIGURATION_ENV_VARIABLE];if(n){if(await(0,Hi.isValidFile)(n))return n;throw new ot(`Path from environment variable "${Ne.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" is invalid: ${n}`)}let i=(0,Hi.getWellKnownCertificateConfigFileLocation)();if(await(0,Hi.isValidFile)(i))return i;throw new ot(`Could not find certificate configuration file. Searched override path, the "${Ne.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" env var, and the gcloud path (${i}).`)}async#t(){let e=this.certificateConfigPath,n;try{n=await $i.promises.readFile(e,"utf8")}catch{throw new ot(`Failed to read certificate config file at: ${e}`)}try{let i=JSON.parse(n),r=i?.cert_configs?.workload?.cert_path,o=i?.cert_configs?.workload?.key_path;if(!r||!o)throw new Ge(`Certificate config file (${e}) is missing required "cert_path" or "key_path" in the workload config.`);return{certPath:r,keyPath:o}}catch(i){throw i instanceof Ge?i:new Ge(`Failed to parse certificate config from ${e}: ${i.message}`)}}async#n(e,n){let i,r;try{i=await $i.promises.readFile(e),new Ji.X509Certificate(i)}catch(o){let l=o instanceof Error?o.message:String(o);throw new ot(`Failed to read certificate file at ${e}: ${l}`)}try{r=await $i.promises.readFile(n),(0,Ji.createPrivateKey)(r)}catch(o){let l=o instanceof Error?o.message:String(o);throw new ot(`Failed to read private key file at ${n}: ${l}`)}return{cert:i,key:r}}async#i(e){let n=new Ji.X509Certificate(e);if(!this.trustChainPath)return JSON.stringify([n.raw.toString("base64")]);try{let o=((await $i.promises.readFile(this.trustChainPath,"utf8")).match(/-----BEGIN CERTIFICATE-----[^-]+-----END CERTIFICATE-----/g)??[]).map((f,c)=>{try{return new Ji.X509Certificate(f)}catch(d){let h=d instanceof Error?d.message:String(d);throw new Ge(`Failed to parse certificate at index ${c} in trust chain file ${this.trustChainPath}: ${h}`)}}),l=o.findIndex(f=>n.raw.equals(f.raw)),u;if(l===-1)u=[n,...o];else if(l===0)u=o;else throw new Ge(`Leaf certificate exists in the trust chain but is not the first entry (found at index ${l}).`);return JSON.stringify(u.map(f=>f.raw.toString("base64")))}catch(i){if(i instanceof Ge)throw i;let r=i instanceof Error?i.message:String(i);throw new ot(`Failed to process certificate chain from ${this.trustChainPath}: ${r}`)}}};Ne.CertificateSubjectTokenSupplier=Vs});var Js=F(Wi=>{"use strict";Object.defineProperty(Wi,"__esModule",{value:!0});Wi.IdentityPoolClient=void 0;var lE=vt(),Hs=$e(),uE=pf(),cE=mf(),yf=gf(),fE=qi(),_f=ge(),$s=class t extends lE.BaseExternalAccountClient{subjectTokenSupplier;constructor(e){super(e);let n=(0,Hs.originalOrCamelOptions)(e),i=n.get("credential_source"),r=n.get("subject_token_supplier");if(!i&&!r)throw new Error("A credential source or subject token supplier must be specified.");if(i&&r)throw new Error("Only one of credential source or subject token supplier can be specified.");if(r)this.subjectTokenSupplier=r,this.credentialSourceType="programmatic";else{let o=(0,Hs.originalOrCamelOptions)(i),l=(0,Hs.originalOrCamelOptions)(o.get("format")),u=l.get("type")||"text",f=l.get("subject_token_field_name");if(u!=="json"&&u!=="text")throw new Error(`Invalid credential_source format "${u}"`);if(u==="json"&&!f)throw new Error("Missing subject_token_field_name for JSON credential_source format");let c=o.get("file"),d=o.get("url"),h=o.get("certificate"),p=o.get("headers");if(c&&d||d&&h||c&&h)throw new Error('No valid Identity Pool "credential_source" provided, must be either file, url, or certificate.');if(c)this.credentialSourceType="file",this.subjectTokenSupplier=new uE.FileSubjectTokenSupplier({filePath:c,formatType:u,subjectTokenFieldName:f});else if(d)this.credentialSourceType="url",this.subjectTokenSupplier=new cE.UrlSubjectTokenSupplier({url:d,formatType:u,subjectTokenFieldName:f,headers:p,additionalGaxiosOptions:t.RETRY_CONFIG});else if(h){this.credentialSourceType="certificate";let m=new yf.CertificateSubjectTokenSupplier({useDefaultCertificateConfig:h.use_default_certificate_config,certificateConfigLocation:h.certificate_config_location,trustChainPath:h.trust_chain_path});this.subjectTokenSupplier=m}else throw new Error('No valid Identity Pool "credential_source" provided, must be either file, url, or certificate.')}}async retrieveSubjectToken(){let e=await this.subjectTokenSupplier.getSubjectToken(this.supplierContext);if(this.subjectTokenSupplier instanceof yf.CertificateSubjectTokenSupplier){let n=await this.subjectTokenSupplier.createMtlsHttpsAgent();this.stsCredential=new fE.StsCredentials({tokenExchangeEndpoint:this.getTokenUrl(),clientAuthentication:this.clientAuth,transporter:new _f.Gaxios({agent:n})}),this.transporter=new _f.Gaxios({...this.transporter.defaults||{},agent:n})}return e}};Wi.IdentityPoolClient=$s});var Ks=F(Yi=>{"use strict";Object.defineProperty(Yi,"__esModule",{value:!0});Yi.AwsRequestSigner=void 0;var Ki=ge(),Tf=Un(),Ef="AWS4-HMAC-SHA256",dE="aws4_request",Ws=class{getCredentials;region;crypto;constructor(e,n){this.getCredentials=e,this.region=n,this.crypto=(0,Tf.createCrypto)()}async getRequestOptions(e){if(!e.url)throw new RangeError('"url" is required in "amzOptions"');let n=typeof e.data=="object"?JSON.stringify(e.data):e.data,i=e.url,r=e.method||"GET",o=e.body||n,l=e.headers,u=await this.getCredentials(),f=new URL(i);if(typeof o!="string"&&o!==void 0)throw new TypeError(`'requestPayload' is expected to be a string if provided. Got: ${o}`);let c=await pE({crypto:this.crypto,host:f.host,canonicalUri:f.pathname,canonicalQuerystring:f.search.slice(1),method:r,region:this.region,securityCredentials:u,requestPayload:o,additionalAmzHeaders:l}),d=Ki.Gaxios.mergeHeaders(c.amzDate?{"x-amz-date":c.amzDate}:{},{authorization:c.authorizationHeader,host:f.host},l||{});u.token&&Ki.Gaxios.mergeHeaders(d,{"x-amz-security-token":u.token});let h={url:i,method:r,headers:d};return o!==void 0&&(h.body=o),h}};Yi.AwsRequestSigner=Ws;async function Bn(t,e,n){return await t.signWithHmacSha256(e,n)}async function hE(t,e,n,i,r){let o=await Bn(t,`AWS4${e}`,n),l=await Bn(t,o,i),u=await Bn(t,l,r);return await Bn(t,u,"aws4_request")}async function pE(t){let e=Ki.Gaxios.mergeHeaders(t.additionalAmzHeaders),n=t.requestPayload||"",i=t.host.split(".")[0],r=new Date,o=r.toISOString().replace(/[-:]/g,"").replace(/\.[0-9]+/,""),l=r.toISOString().replace(/[-]/g,"").replace(/T.*/,"");t.securityCredentials.token&&e.set("x-amz-security-token",t.securityCredentials.token);let u=Ki.Gaxios.mergeHeaders({host:t.host},e.has("date")?{}:{"x-amz-date":o},e),f="",c=[...u.keys()].sort();c.forEach(L=>{f+=`${L}:${u.get(L)}
17
+ `});let d=c.join(";"),h=await t.crypto.sha256DigestHex(n),p=`${t.method.toUpperCase()}
18
+ ${t.canonicalUri}
19
+ ${t.canonicalQuerystring}
20
+ ${f}
21
+ ${d}
22
+ ${h}`,m=`${l}/${t.region}/${i}/${dE}`,_=`${Ef}
23
+ ${o}
24
+ ${m}
25
+ `+await t.crypto.sha256DigestHex(p),E=await hE(t.crypto,t.securityCredentials.secretAccessKey,l,t.region,i),T=await Bn(t.crypto,E,_),A=`${Ef} Credential=${t.securityCredentials.accessKeyId}/${m}, SignedHeaders=${d}, Signature=${(0,Tf.fromArrayBufferToHex)(T)}`;return{amzDate:e.has("date")?void 0:o,authorizationHeader:A,canonicalQuerystring:t.canonicalQuerystring}}});var Sf=F(Xi=>{"use strict";Object.defineProperty(Xi,"__esModule",{value:!0});Xi.DefaultAwsSecurityCredentialsSupplier=void 0;var zi=Pe(),Ys=class{regionUrl;securityCredentialsUrl;imdsV2SessionTokenUrl;additionalGaxiosOptions;constructor(e){this.regionUrl=e.regionUrl,this.securityCredentialsUrl=e.securityCredentialsUrl,this.imdsV2SessionTokenUrl=e.imdsV2SessionTokenUrl,this.additionalGaxiosOptions=e.additionalGaxiosOptions}async getAwsRegion(e){if(this.#i)return this.#i;let n=new Headers;if(!this.#i&&this.imdsV2SessionTokenUrl&&n.set("x-aws-ec2-metadata-token",await this.#e(e.transporter)),!this.regionUrl)throw new RangeError('Unable to determine AWS region due to missing "options.credential_source.region_url"');let i={...this.additionalGaxiosOptions,url:this.regionUrl,method:"GET",responseType:"text",headers:n};zi.AuthClient.setMethodName(i,"getAwsRegion");let r=await e.transporter.request(i);return r.data.substr(0,r.data.length-1)}async getAwsSecurityCredentials(e){if(this.#r)return this.#r;let n=new Headers;this.imdsV2SessionTokenUrl&&n.set("x-aws-ec2-metadata-token",await this.#e(e.transporter));let i=await this.#t(n,e.transporter),r=await this.#n(i,n,e.transporter);return{accessKeyId:r.AccessKeyId,secretAccessKey:r.SecretAccessKey,token:r.Token}}async#e(e){let n={...this.additionalGaxiosOptions,url:this.imdsV2SessionTokenUrl,method:"PUT",responseType:"text",headers:{"x-aws-ec2-metadata-token-ttl-seconds":"300"}};return zi.AuthClient.setMethodName(n,"#getImdsV2SessionToken"),(await e.request(n)).data}async#t(e,n){if(!this.securityCredentialsUrl)throw new Error('Unable to determine AWS role name due to missing "options.credential_source.url"');let i={...this.additionalGaxiosOptions,url:this.securityCredentialsUrl,method:"GET",responseType:"text",headers:e};return zi.AuthClient.setMethodName(i,"#getAwsRoleName"),(await n.request(i)).data}async#n(e,n,i){let r={...this.additionalGaxiosOptions,url:`${this.securityCredentialsUrl}/${e}`,headers:n,responseType:"json"};return zi.AuthClient.setMethodName(r,"#retrieveAwsSecurityCredentials"),(await i.request(r)).data}get#i(){return process.env.AWS_REGION||process.env.AWS_DEFAULT_REGION||null}get#r(){return process.env.AWS_ACCESS_KEY_ID&&process.env.AWS_SECRET_ACCESS_KEY?{accessKeyId:process.env.AWS_ACCESS_KEY_ID,secretAccessKey:process.env.AWS_SECRET_ACCESS_KEY,token:process.env.AWS_SESSION_TOKEN}:null}};Xi.DefaultAwsSecurityCredentialsSupplier=Ys});var Xs=F(Qi=>{"use strict";Object.defineProperty(Qi,"__esModule",{value:!0});Qi.AwsClient=void 0;var mE=Ks(),gE=vt(),yE=Sf(),Cf=$e(),_E=ge(),zs=class t extends gE.BaseExternalAccountClient{environmentId;awsSecurityCredentialsSupplier;regionalCredVerificationUrl;awsRequestSigner;region;static#e="https://sts.{region}.amazonaws.com?Action=GetCallerIdentity&Version=2011-06-15";static AWS_EC2_METADATA_IPV4_ADDRESS="169.254.169.254";static AWS_EC2_METADATA_IPV6_ADDRESS="fd00:ec2::254";constructor(e){super(e);let n=(0,Cf.originalOrCamelOptions)(e),i=n.get("credential_source"),r=n.get("aws_security_credentials_supplier");if(!i&&!r)throw new Error("A credential source or AWS security credentials supplier must be specified.");if(i&&r)throw new Error("Only one of credential source or AWS security credentials supplier can be specified.");if(r)this.awsSecurityCredentialsSupplier=r,this.regionalCredVerificationUrl=t.#e,this.credentialSourceType="programmatic";else{let o=(0,Cf.originalOrCamelOptions)(i);this.environmentId=o.get("environment_id");let l=o.get("region_url"),u=o.get("url"),f=o.get("imdsv2_session_token_url");this.awsSecurityCredentialsSupplier=new yE.DefaultAwsSecurityCredentialsSupplier({regionUrl:l,securityCredentialsUrl:u,imdsV2SessionTokenUrl:f}),this.regionalCredVerificationUrl=o.get("regional_cred_verification_url"),this.credentialSourceType="aws",this.validateEnvironmentId()}this.awsRequestSigner=null,this.region=""}validateEnvironmentId(){let e=this.environmentId?.match(/^(aws)(\d+)$/);if(!e||!this.regionalCredVerificationUrl)throw new Error('No valid AWS "credential_source" provided');if(parseInt(e[2],10)!==1)throw new Error(`aws version "${e[2]}" is not supported in the current build.`)}async retrieveSubjectToken(){this.awsRequestSigner||(this.region=await this.awsSecurityCredentialsSupplier.getAwsRegion(this.supplierContext),this.awsRequestSigner=new mE.AwsRequestSigner(async()=>this.awsSecurityCredentialsSupplier.getAwsSecurityCredentials(this.supplierContext),this.region));let e=await this.awsRequestSigner.getRequestOptions({...t.RETRY_CONFIG,url:this.regionalCredVerificationUrl.replace("{region}",this.region),method:"POST"}),n=[];return _E.Gaxios.mergeHeaders({"x-goog-cloud-target-resource":this.audience},e.headers).forEach((r,o)=>n.push({key:o,value:r})),encodeURIComponent(JSON.stringify({url:e.url,method:e.method,headers:n}))}};Qi.AwsClient=zs});var ta=F(fe=>{"use strict";Object.defineProperty(fe,"__esModule",{value:!0});fe.InvalidSubjectTokenError=fe.InvalidMessageFieldError=fe.InvalidCodeFieldError=fe.InvalidTokenTypeFieldError=fe.InvalidExpirationTimeFieldError=fe.InvalidSuccessFieldError=fe.InvalidVersionFieldError=fe.ExecutableResponseError=fe.ExecutableResponse=void 0;var Zi="urn:ietf:params:oauth:token-type:saml2",Qs="urn:ietf:params:oauth:token-type:id_token",Zs="urn:ietf:params:oauth:token-type:jwt",js=class{version;success;expirationTime;tokenType;errorCode;errorMessage;subjectToken;constructor(e){if(!e.version)throw new ji("Executable response must contain a 'version' field.");if(e.success===void 0)throw new er("Executable response must contain a 'success' field.");if(this.version=e.version,this.success=e.success,this.success){if(this.expirationTime=e.expiration_time,this.tokenType=e.token_type,this.tokenType!==Zi&&this.tokenType!==Qs&&this.tokenType!==Zs)throw new tr(`Executable response must contain a 'token_type' field when successful and it must be one of ${Qs}, ${Zs}, or ${Zi}.`);if(this.tokenType===Zi){if(!e.saml_response)throw new Vn(`Executable response must contain a 'saml_response' field when token_type=${Zi}.`);this.subjectToken=e.saml_response}else{if(!e.id_token)throw new Vn(`Executable response must contain a 'id_token' field when token_type=${Qs} or ${Zs}.`);this.subjectToken=e.id_token}}else{if(!e.code)throw new nr("Executable response must contain a 'code' field when unsuccessful.");if(!e.message)throw new ir("Executable response must contain a 'message' field when unsuccessful.");this.errorCode=e.code,this.errorMessage=e.message}}isValid(){return!this.isExpired()&&this.success}isExpired(){return this.expirationTime!==void 0&&this.expirationTime<Math.round(Date.now()/1e3)}};fe.ExecutableResponse=js;var st=class extends Error{constructor(e){super(e),Object.setPrototypeOf(this,new.target.prototype)}};fe.ExecutableResponseError=st;var ji=class extends st{};fe.InvalidVersionFieldError=ji;var er=class extends st{};fe.InvalidSuccessFieldError=er;var ea=class extends st{};fe.InvalidExpirationTimeFieldError=ea;var tr=class extends st{};fe.InvalidTokenTypeFieldError=tr;var nr=class extends st{};fe.InvalidCodeFieldError=nr;var ir=class extends st{};fe.InvalidMessageFieldError=ir;var Vn=class extends st{};fe.InvalidSubjectTokenError=Vn});var ra=F(an=>{"use strict";Object.defineProperty(an,"__esModule",{value:!0});an.PluggableAuthHandler=an.ExecutableError=void 0;var Lt=ta(),EE=H("child_process"),na=H("fs"),rr=class extends Error{code;constructor(e,n){super(`The executable failed with exit code: ${n} and error message: ${e}.`),this.code=n,Object.setPrototypeOf(this,new.target.prototype)}};an.ExecutableError=rr;var ia=class t{commandComponents;timeoutMillis;outputFile;constructor(e){if(!e.command)throw new Error("No command provided.");if(this.commandComponents=t.parseCommand(e.command),this.timeoutMillis=e.timeoutMillis,!this.timeoutMillis)throw new Error("No timeoutMillis provided.");this.outputFile=e.outputFile}retrieveResponseFromExecutable(e){return new Promise((n,i)=>{let r=EE.spawn(this.commandComponents[0],this.commandComponents.slice(1),{env:{...process.env,...Object.fromEntries(e)}}),o="";r.stdout.on("data",u=>{o+=u}),r.stderr.on("data",u=>{o+=u});let l=setTimeout(()=>(r.removeAllListeners(),r.kill(),i(new Error("The executable failed to finish within the timeout specified."))),this.timeoutMillis);r.on("close",u=>{if(clearTimeout(l),u===0)try{let f=JSON.parse(o),c=new Lt.ExecutableResponse(f);return n(c)}catch(f){return f instanceof Lt.ExecutableResponseError?i(f):i(new Lt.ExecutableResponseError(`The executable returned an invalid response: ${o}`))}else return i(new rr(o,u.toString()))})})}async retrieveCachedResponse(){if(!this.outputFile||this.outputFile.length===0)return;let e;try{e=await na.promises.realpath(this.outputFile)}catch{return}if(!(await na.promises.lstat(e)).isFile())return;let n=await na.promises.readFile(e,{encoding:"utf8"});if(n!=="")try{let i=JSON.parse(n);return new Lt.ExecutableResponse(i).isValid()?new Lt.ExecutableResponse(i):void 0}catch(i){throw i instanceof Lt.ExecutableResponseError?i:new Lt.ExecutableResponseError(`The output file contained an invalid response: ${n}`)}}static parseCommand(e){let n=e.match(/(?:[^\s"]+|"[^"]*")+/g);if(!n)throw new Error(`Provided command: "${e}" could not be parsed.`);for(let i=0;i<n.length;i++)n[i][0]==='"'&&n[i].slice(-1)==='"'&&(n[i]=n[i].slice(1,-1));return n}};an.PluggableAuthHandler=ia});var sa=F(ln=>{"use strict";Object.defineProperty(ln,"__esModule",{value:!0});ln.PluggableAuthClient=ln.ExecutableError=void 0;var TE=vt(),SE=ta(),vf=ra(),CE=ra();Object.defineProperty(ln,"ExecutableError",{enumerable:!0,get:function(){return CE.ExecutableError}});var vE=30*1e3,Af=5*1e3,wf=120*1e3,AE="GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES",If=1,oa=class extends TE.BaseExternalAccountClient{command;timeoutMillis;outputFile;handler;constructor(e){if(super(e),!e.credential_source.executable)throw new Error('No valid Pluggable Auth "credential_source" provided.');if(this.command=e.credential_source.executable.command,!this.command)throw new Error('No valid Pluggable Auth "credential_source" provided.');if(e.credential_source.executable.timeout_millis===void 0)this.timeoutMillis=vE;else if(this.timeoutMillis=e.credential_source.executable.timeout_millis,this.timeoutMillis<Af||this.timeoutMillis>wf)throw new Error(`Timeout must be between ${Af} and ${wf} milliseconds.`);this.outputFile=e.credential_source.executable.output_file,this.handler=new vf.PluggableAuthHandler({command:this.command,timeoutMillis:this.timeoutMillis,outputFile:this.outputFile}),this.credentialSourceType="executable"}async retrieveSubjectToken(){if(process.env[AE]!=="1")throw new Error("Pluggable Auth executables need to be explicitly allowed to run by setting the GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES environment Variable to 1.");let e;if(this.outputFile&&(e=await this.handler.retrieveCachedResponse()),!e){let n=new Map;n.set("GOOGLE_EXTERNAL_ACCOUNT_AUDIENCE",this.audience),n.set("GOOGLE_EXTERNAL_ACCOUNT_TOKEN_TYPE",this.subjectTokenType),n.set("GOOGLE_EXTERNAL_ACCOUNT_INTERACTIVE","0"),this.outputFile&&n.set("GOOGLE_EXTERNAL_ACCOUNT_OUTPUT_FILE",this.outputFile);let i=this.getServiceAccountEmail();i&&n.set("GOOGLE_EXTERNAL_ACCOUNT_IMPERSONATED_EMAIL",i),e=await this.handler.retrieveResponseFromExecutable(n)}if(e.version>If)throw new Error(`Version of executable is not currently supported, maximum supported version is ${If}.`);if(!e.success)throw new vf.ExecutableError(e.errorMessage,e.errorCode);if(this.outputFile&&!e.expirationTime)throw new SE.InvalidExpirationTimeFieldError("The executable response must contain the `expiration_time` field for successful responses when an output_file has been specified in the configuration.");if(e.isExpired())throw new Error("Executable response is expired.");return e.subjectToken}};ln.PluggableAuthClient=oa});var la=F(or=>{"use strict";Object.defineProperty(or,"__esModule",{value:!0});or.ExternalAccountClient=void 0;var wE=vt(),IE=Js(),RE=Xs(),PE=sa(),aa=class{constructor(){throw new Error("ExternalAccountClients should be initialized via: ExternalAccountClient.fromJSON(), directly via explicit constructors, eg. new AwsClient(options), new IdentityPoolClient(options), newPluggableAuthClientOptions, or via new GoogleAuth(options).getClient()")}static fromJSON(e){return e&&e.type===wE.EXTERNAL_ACCOUNT_TYPE?e.credential_source?.environment_id?new RE.AwsClient(e):e.credential_source?.executable?new PE.PluggableAuthClient(e):new IE.IdentityPoolClient(e):null}};or.ExternalAccountClient=aa});var fa=F(un=>{"use strict";Object.defineProperty(un,"__esModule",{value:!0});un.ExternalAccountAuthorizedUserClient=un.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE=void 0;var Pf=Pe(),Rf=Ds(),Nf=ge(),NE=H("stream"),xE=vt();un.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE="external_account_authorized_user";var kE="https://sts.{universeDomain}/v1/oauthtoken",ua=class t extends Rf.OAuthClientAuthHandler{#e;constructor(e){super(e),this.#e=e.tokenRefreshEndpoint}async refreshToken(e,n){let i={...t.RETRY_CONFIG,url:this.#e,method:"POST",headers:n,data:new URLSearchParams({grant_type:"refresh_token",refresh_token:e}),responseType:"json"};Pf.AuthClient.setMethodName(i,"refreshToken"),this.applyClientAuthenticationOptions(i);try{let r=await this.transporter.request(i),o=r.data;return o.res=r,o}catch(r){throw r instanceof Nf.GaxiosError&&r.response?(0,Rf.getErrorFromOAuthErrorResponse)(r.response.data,r):r}}},ca=class extends Pf.AuthClient{cachedAccessToken;externalAccountAuthorizedUserHandler;refreshToken;constructor(e){super(e),e.universe_domain&&(this.universeDomain=e.universe_domain),this.refreshToken=e.refresh_token;let n={confidentialClientType:"basic",clientId:e.client_id,clientSecret:e.client_secret};this.externalAccountAuthorizedUserHandler=new ua({tokenRefreshEndpoint:e.token_url??kE.replace("{universeDomain}",this.universeDomain),transporter:this.transporter,clientAuthentication:n}),this.cachedAccessToken=null,this.quotaProjectId=e.quota_project_id,typeof e?.eagerRefreshThresholdMillis!="number"?this.eagerRefreshThresholdMillis=xE.EXPIRATION_TIME_OFFSET:this.eagerRefreshThresholdMillis=e.eagerRefreshThresholdMillis,this.forceRefreshOnFailure=!!e?.forceRefreshOnFailure}async getAccessToken(){return(!this.cachedAccessToken||this.isExpired(this.cachedAccessToken))&&await this.refreshAccessTokenAsync(),{token:this.cachedAccessToken.access_token,res:this.cachedAccessToken.res}}async getRequestHeaders(){let e=await this.getAccessToken(),n=new Headers({authorization:`Bearer ${e.token}`});return this.addSharedMetadataHeaders(n)}request(e,n){if(n)this.requestAsync(e).then(i=>n(null,i),i=>n(i,i.response));else return this.requestAsync(e)}async requestAsync(e,n=!1){let i;try{let r=await this.getRequestHeaders();e.headers=Nf.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,r),i=await this.transporter.request(e)}catch(r){let o=r.response;if(o){let l=o.status,u=o.config.data instanceof NE.Readable;if(!n&&(l===401||l===403)&&!u&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(e,!0)}throw r}return i}async refreshAccessTokenAsync(){let e=await this.externalAccountAuthorizedUserHandler.refreshToken(this.refreshToken);return this.cachedAccessToken={access_token:e.access_token,expiry_date:new Date().getTime()+e.expires_in*1e3,res:e.res},e.refresh_token!==void 0&&(this.refreshToken=e.refresh_token),this.cachedAccessToken}isExpired(e){let n=new Date().getTime();return e.expiry_date?n>=e.expiry_date-this.eagerRefreshThresholdMillis:!1}};un.ExternalAccountAuthorizedUserClient=ca});var Df=F(Ke=>{"use strict";Object.defineProperty(Ke,"__esModule",{value:!0});Ke.GoogleAuth=Ke.GoogleAuthExceptionMessages=void 0;var ME=H("child_process"),Hn=H("fs"),DE=ge(),$n=Dn(),UE=H("os"),da=H("path"),bE=Un(),LE=jo(),OE=ts(),FE=ns(),cn=Rs(),xf=Ns(),fn=ks(),GE=la(),Jn=vt(),ha=Pe(),kf=fa(),Mf=$e();Ke.GoogleAuthExceptionMessages={API_KEY_WITH_CREDENTIALS:"API Keys and Credentials are mutually exclusive authentication methods and cannot be used together.",NO_PROJECT_ID_FOUND:`Unable to detect a Project Id in the current environment.
26
+ To learn more about authentication and Google APIs, visit:
27
+ https://cloud.google.com/docs/authentication/getting-started`,NO_CREDENTIALS_FOUND:`Unable to find credentials in current environment.
28
+ To learn more about authentication and Google APIs, visit:
29
+ https://cloud.google.com/docs/authentication/getting-started`,NO_ADC_FOUND:"Could not load the default credentials. Browse to https://cloud.google.com/docs/authentication/getting-started for more information.",NO_UNIVERSE_DOMAIN_FOUND:`Unable to detect a Universe Domain in the current environment.
30
+ To learn more about Universe Domain retrieval, visit:
31
+ https://cloud.google.com/compute/docs/metadata/predefined-metadata-keys`};var pa=class{checkIsGCE=void 0;useJWTAccessWithScope;defaultServicePath;get isGCE(){return this.checkIsGCE}_findProjectIdPromise;_cachedProjectId;jsonContent=null;apiKey;cachedCredential=null;#e=null;defaultScopes;keyFilename;scopes;clientOptions={};constructor(e={}){if(this._cachedProjectId=e.projectId||null,this.cachedCredential=e.authClient||null,this.keyFilename=e.keyFilename||e.keyFile,this.scopes=e.scopes,this.clientOptions=e.clientOptions||{},this.jsonContent=e.credentials||null,this.apiKey=e.apiKey||this.clientOptions.apiKey||null,this.apiKey&&(this.jsonContent||this.clientOptions.credentials))throw new RangeError(Ke.GoogleAuthExceptionMessages.API_KEY_WITH_CREDENTIALS);e.universeDomain&&(this.clientOptions.universeDomain=e.universeDomain)}setGapicJWTValues(e){e.defaultServicePath=this.defaultServicePath,e.useJWTAccessWithScope=this.useJWTAccessWithScope,e.defaultScopes=this.defaultScopes}getProjectId(e){if(e)this.getProjectIdAsync().then(n=>e(null,n),e);else return this.getProjectIdAsync()}async getProjectIdOptional(){try{return await this.getProjectId()}catch(e){if(e instanceof Error&&e.message===Ke.GoogleAuthExceptionMessages.NO_PROJECT_ID_FOUND)return null;throw e}}async findAndCacheProjectId(){let e=null;if(e||=await this.getProductionProjectId(),e||=await this.getFileProjectId(),e||=await this.getDefaultServiceProjectId(),e||=await this.getGCEProjectId(),e||=await this.getExternalAccountClientProjectId(),e)return this._cachedProjectId=e,e;throw new Error(Ke.GoogleAuthExceptionMessages.NO_PROJECT_ID_FOUND)}async getProjectIdAsync(){return this._cachedProjectId?this._cachedProjectId:(this._findProjectIdPromise||(this._findProjectIdPromise=this.findAndCacheProjectId()),this._findProjectIdPromise)}async getUniverseDomainFromMetadataServer(){let e;try{e=await $n.universe("universe-domain"),e||=ha.DEFAULT_UNIVERSE}catch(n){if(n&&n?.response?.status===404)e=ha.DEFAULT_UNIVERSE;else throw n}return e}async getUniverseDomain(){let e=(0,Mf.originalOrCamelOptions)(this.clientOptions).get("universe_domain");try{e??=(await this.getClient()).universeDomain}catch{e??=ha.DEFAULT_UNIVERSE}return e}getAnyScopes(){return this.scopes||this.defaultScopes}getApplicationDefault(e={},n){let i;if(typeof e=="function"?n=e:i=e,n)this.getApplicationDefaultAsync(i).then(r=>n(null,r.credential,r.projectId),n);else return this.getApplicationDefaultAsync(i)}async getApplicationDefaultAsync(e={}){if(this.cachedCredential)return await this.#t(this.cachedCredential,null);let n;if(n=await this._tryGetApplicationCredentialsFromEnvironmentVariable(e),n)return n instanceof cn.JWT?n.scopes=this.scopes:n instanceof Jn.BaseExternalAccountClient&&(n.scopes=this.getAnyScopes()),await this.#t(n);if(n=await this._tryGetApplicationCredentialsFromWellKnownFile(e),n)return n instanceof cn.JWT?n.scopes=this.scopes:n instanceof Jn.BaseExternalAccountClient&&(n.scopes=this.getAnyScopes()),await this.#t(n);if(await this._checkIsGCE())return e.scopes=this.getAnyScopes(),await this.#t(new LE.Compute(e));throw new Error(Ke.GoogleAuthExceptionMessages.NO_ADC_FOUND)}async#t(e,n=process.env.GOOGLE_CLOUD_QUOTA_PROJECT||null){let i=await this.getProjectIdOptional();return n&&(e.quotaProjectId=n),this.cachedCredential=e,{credential:e,projectId:i}}async _checkIsGCE(){return this.checkIsGCE===void 0&&(this.checkIsGCE=$n.getGCPResidency()||await $n.isAvailable()),this.checkIsGCE}async _tryGetApplicationCredentialsFromEnvironmentVariable(e){let n=process.env.GOOGLE_APPLICATION_CREDENTIALS||process.env.google_application_credentials;if(!n||n.length===0)return null;try{return this._getApplicationCredentialsFromFilePath(n,e)}catch(i){throw i instanceof Error&&(i.message=`Unable to read the credential file specified by the GOOGLE_APPLICATION_CREDENTIALS environment variable: ${i.message}`),i}}async _tryGetApplicationCredentialsFromWellKnownFile(e){let n=null;if(this._isWindows())n=process.env.APPDATA;else{let r=process.env.HOME;r&&(n=da.join(r,".config"))}return n&&(n=da.join(n,"gcloud","application_default_credentials.json"),Hn.existsSync(n)||(n=null)),n?await this._getApplicationCredentialsFromFilePath(n,e):null}async _getApplicationCredentialsFromFilePath(e,n={}){if(!e||e.length===0)throw new Error("The file path is invalid.");try{if(e=Hn.realpathSync(e),!Hn.lstatSync(e).isFile())throw new Error}catch(r){throw r instanceof Error&&(r.message=`The file at ${e} does not exist, or it is not a file. ${r.message}`),r}let i=Hn.createReadStream(e);return this.fromStream(i,n)}fromImpersonatedJSON(e){if(!e)throw new Error("Must pass in a JSON object containing an impersonated refresh token");if(e.type!==fn.IMPERSONATED_ACCOUNT_TYPE)throw new Error(`The incoming JSON object does not have the "${fn.IMPERSONATED_ACCOUNT_TYPE}" type`);if(!e.source_credentials)throw new Error("The incoming JSON object does not contain a source_credentials field");if(!e.service_account_impersonation_url)throw new Error("The incoming JSON object does not contain a service_account_impersonation_url field");let n=this.fromJSON(e.source_credentials);if(e.service_account_impersonation_url?.length>256)throw new RangeError(`Target principal is too long: ${e.service_account_impersonation_url}`);let i=/(?<target>[^/]+):(generateAccessToken|generateIdToken)$/.exec(e.service_account_impersonation_url)?.groups?.target;if(!i)throw new RangeError(`Cannot extract target principal from ${e.service_account_impersonation_url}`);let r=(this.scopes||e.scopes||this.defaultScopes)??[];return new fn.Impersonated({...e,sourceClient:n,targetPrincipal:i,targetScopes:Array.isArray(r)?r:[r]})}fromJSON(e,n={}){let i,r=(0,Mf.originalOrCamelOptions)(n).get("universe_domain");return e.type===xf.USER_REFRESH_ACCOUNT_TYPE?(i=new xf.UserRefreshClient(n),i.fromJSON(e)):e.type===fn.IMPERSONATED_ACCOUNT_TYPE?i=this.fromImpersonatedJSON(e):e.type===Jn.EXTERNAL_ACCOUNT_TYPE?(i=GE.ExternalAccountClient.fromJSON({...e,...n}),i.scopes=this.getAnyScopes()):e.type===kf.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE?i=new kf.ExternalAccountAuthorizedUserClient({...e,...n}):(n.scopes=this.scopes,i=new cn.JWT(n),this.setGapicJWTValues(i),i.fromJSON(e)),r&&(i.universeDomain=r),i}_cacheClientFromJSON(e,n){let i=this.fromJSON(e,n);return this.jsonContent=e,this.cachedCredential=i,i}fromStream(e,n={},i){let r={};if(typeof n=="function"?i=n:r=n,i)this.fromStreamAsync(e,r).then(o=>i(null,o),i);else return this.fromStreamAsync(e,r)}fromStreamAsync(e,n){return new Promise((i,r)=>{if(!e)throw new Error("Must pass in a stream containing the Google auth settings.");let o=[];e.setEncoding("utf8").on("error",r).on("data",l=>o.push(l)).on("end",()=>{try{try{let l=JSON.parse(o.join("")),u=this._cacheClientFromJSON(l,n);return i(u)}catch(l){if(!this.keyFilename)throw l;let u=new cn.JWT({...this.clientOptions,keyFile:this.keyFilename});return this.cachedCredential=u,this.setGapicJWTValues(u),i(u)}}catch(l){return r(l)}})})}fromAPIKey(e,n={}){return new cn.JWT({...n,apiKey:e})}_isWindows(){let e=UE.platform();return!!(e&&e.length>=3&&e.substring(0,3).toLowerCase()==="win")}async getDefaultServiceProjectId(){return new Promise(e=>{(0,ME.exec)("gcloud config config-helper --format json",(n,i)=>{if(!n&&i)try{let r=JSON.parse(i).configuration.properties.core.project;e(r);return}catch{}e(null)})})}getProductionProjectId(){return process.env.GCLOUD_PROJECT||process.env.GOOGLE_CLOUD_PROJECT||process.env.gcloud_project||process.env.google_cloud_project}async getFileProjectId(){if(this.cachedCredential)return this.cachedCredential.projectId;if(this.keyFilename){let n=await this.getClient();if(n&&n.projectId)return n.projectId}let e=await this._tryGetApplicationCredentialsFromEnvironmentVariable();return e?e.projectId:null}async getExternalAccountClientProjectId(){return!this.jsonContent||this.jsonContent.type!==Jn.EXTERNAL_ACCOUNT_TYPE?null:await(await this.getClient()).getProjectId()}async getGCEProjectId(){try{return await $n.project("project-id")}catch{return null}}getCredentials(e){if(e)this.getCredentialsAsync().then(n=>e(null,n),e);else return this.getCredentialsAsync()}async getCredentialsAsync(){let e=await this.getClient();if(e instanceof fn.Impersonated)return{client_email:e.getTargetPrincipal()};if(e instanceof Jn.BaseExternalAccountClient){let n=e.getServiceAccountEmail();if(n)return{client_email:n,universe_domain:e.universeDomain}}if(this.jsonContent)return{client_email:this.jsonContent.client_email,private_key:this.jsonContent.private_key,universe_domain:this.jsonContent.universe_domain};if(await this._checkIsGCE()){let[n,i]=await Promise.all([$n.instance("service-accounts/default/email"),this.getUniverseDomain()]);return{client_email:n,universe_domain:i}}throw new Error(Ke.GoogleAuthExceptionMessages.NO_CREDENTIALS_FOUND)}async getClient(){if(this.cachedCredential)return this.cachedCredential;this.#e=this.#e||this.#n();try{return await this.#e}finally{this.#e=null}}async#n(){if(this.jsonContent)return this._cacheClientFromJSON(this.jsonContent,this.clientOptions);if(this.keyFilename){let e=da.resolve(this.keyFilename),n=Hn.createReadStream(e);return await this.fromStreamAsync(n,this.clientOptions)}else if(this.apiKey){let e=await this.fromAPIKey(this.apiKey,this.clientOptions);e.scopes=this.scopes;let{credential:n}=await this.#t(e);return n}else{let{credential:e}=await this.getApplicationDefaultAsync(this.clientOptions);return e}}async getIdTokenClient(e){let n=await this.getClient();if(!("fetchIdToken"in n))throw new Error("Cannot fetch ID token in this environment, use GCE or set the GOOGLE_APPLICATION_CREDENTIALS environment variable to a service account credentials JSON file.");return new OE.IdTokenClient({targetAudience:e,idTokenProvider:n})}async getAccessToken(){return(await(await this.getClient()).getAccessToken()).token}async getRequestHeaders(e){return(await this.getClient()).getRequestHeaders(e)}async authorizeRequest(e={}){let n=e.url,r=await(await this.getClient()).getRequestHeaders(n);return e.headers=DE.Gaxios.mergeHeaders(e.headers,r),e}async fetch(...e){return(await this.getClient()).fetch(...e)}async request(e){return(await this.getClient()).request(e)}getEnv(){return(0,FE.getEnv)()}async sign(e,n){let i=await this.getClient(),r=await this.getUniverseDomain();if(n=n||`https://iamcredentials.${r}/v1/projects/-/serviceAccounts/`,i instanceof fn.Impersonated)return(await i.sign(e)).signedBlob;let o=(0,bE.createCrypto)();if(i instanceof cn.JWT&&i.key)return await o.sign(i.key,e);let l=await this.getCredentials();if(!l.client_email)throw new Error("Cannot sign data without `client_email`.");return this.signBlob(o,l.client_email,e,n)}async signBlob(e,n,i,r){let o=new URL(r+`${n}:signBlob`);return(await this.request({method:"POST",url:o.href,data:{payload:e.encodeBase64StringUtf8(i)},retry:!0,retryConfig:{httpMethodsToRetry:["POST"]}})).data.signedBlob}};Ke.GoogleAuth=pa});var Uf=F(sr=>{"use strict";Object.defineProperty(sr,"__esModule",{value:!0});sr.IAMAuth=void 0;var ma=class{selector;token;constructor(e,n){this.selector=e,this.token=n,this.selector=e,this.token=n}getRequestHeaders(){return{"x-goog-iam-authority-selector":this.selector,"x-goog-iam-authorization-token":this.token}}};sr.IAMAuth=ma});var bf=F(at=>{"use strict";Object.defineProperty(at,"__esModule",{value:!0});at.DownscopedClient=at.EXPIRATION_TIME_OFFSET=at.MAX_ACCESS_BOUNDARY_RULES_COUNT=void 0;var qE=ge(),BE=H("stream"),ga=Pe(),VE=qi(),HE="urn:ietf:params:oauth:grant-type:token-exchange",$E="urn:ietf:params:oauth:token-type:access_token",JE="urn:ietf:params:oauth:token-type:access_token";at.MAX_ACCESS_BOUNDARY_RULES_COUNT=10;at.EXPIRATION_TIME_OFFSET=5*60*1e3;var ya=class extends ga.AuthClient{authClient;credentialAccessBoundary;cachedDownscopedAccessToken;stsCredential;constructor(e,n={accessBoundary:{accessBoundaryRules:[]}}){if(super(e instanceof ga.AuthClient?{}:e),e instanceof ga.AuthClient?(this.authClient=e,this.credentialAccessBoundary=n):(this.authClient=e.authClient,this.credentialAccessBoundary=e.credentialAccessBoundary),this.credentialAccessBoundary.accessBoundary.accessBoundaryRules.length===0)throw new Error("At least one access boundary rule needs to be defined.");if(this.credentialAccessBoundary.accessBoundary.accessBoundaryRules.length>at.MAX_ACCESS_BOUNDARY_RULES_COUNT)throw new Error(`The provided access boundary has more than ${at.MAX_ACCESS_BOUNDARY_RULES_COUNT} access boundary rules.`);for(let i of this.credentialAccessBoundary.accessBoundary.accessBoundaryRules)if(i.availablePermissions.length===0)throw new Error("At least one permission should be defined in access boundary rules.");this.stsCredential=new VE.StsCredentials({tokenExchangeEndpoint:`https://sts.${this.universeDomain}/v1/token`}),this.cachedDownscopedAccessToken=null}setCredentials(e){if(!e.expiry_date)throw new Error("The access token expiry_date field is missing in the provided credentials.");super.setCredentials(e),this.cachedDownscopedAccessToken=e}async getAccessToken(){return(!this.cachedDownscopedAccessToken||this.isExpired(this.cachedDownscopedAccessToken))&&await this.refreshAccessTokenAsync(),{token:this.cachedDownscopedAccessToken.access_token,expirationTime:this.cachedDownscopedAccessToken.expiry_date,res:this.cachedDownscopedAccessToken.res}}async getRequestHeaders(){let e=await this.getAccessToken(),n=new Headers({authorization:`Bearer ${e.token}`});return this.addSharedMetadataHeaders(n)}request(e,n){if(n)this.requestAsync(e).then(i=>n(null,i),i=>n(i,i.response));else return this.requestAsync(e)}async requestAsync(e,n=!1){let i;try{let r=await this.getRequestHeaders();e.headers=qE.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,r),i=await this.transporter.request(e)}catch(r){let o=r.response;if(o){let l=o.status,u=o.config.data instanceof BE.Readable;if(!n&&(l===401||l===403)&&!u&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(e,!0)}throw r}return i}async refreshAccessTokenAsync(){let e=(await this.authClient.getAccessToken()).token,n={grantType:HE,requestedTokenType:$E,subjectToken:e,subjectTokenType:JE},i=await this.stsCredential.exchangeToken(n,void 0,this.credentialAccessBoundary),r=this.authClient.credentials?.expiry_date||null,o=i.expires_in?new Date().getTime()+i.expires_in*1e3:r;return this.cachedDownscopedAccessToken={access_token:i.access_token,expiry_date:o,res:i.res},this.credentials={},Object.assign(this.credentials,this.cachedDownscopedAccessToken),delete this.credentials.res,this.emit("tokens",{refresh_token:null,expiry_date:this.cachedDownscopedAccessToken.expiry_date,access_token:this.cachedDownscopedAccessToken.access_token,token_type:"Bearer",id_token:null}),this.cachedDownscopedAccessToken}isExpired(e){let n=new Date().getTime();return e.expiry_date?n>=e.expiry_date-this.eagerRefreshThresholdMillis:!1}};at.DownscopedClient=ya});var Lf=F(ar=>{"use strict";Object.defineProperty(ar,"__esModule",{value:!0});ar.PassThroughClient=void 0;var WE=Pe(),_a=class extends WE.AuthClient{async request(e){return this.transporter.request(e)}async getAccessToken(){return{}}async getRequestHeaders(){return new Headers}};ar.PassThroughClient=_a});var Bf=F(V=>{"use strict";var KE=V&&V.__createBinding||(Object.create?function(t,e,n,i){i===void 0&&(i=n);var r=Object.getOwnPropertyDescriptor(e,n);(!r||("get"in r?!e.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,i,r)}:function(t,e,n,i){i===void 0&&(i=n),t[i]=e[n]}),YE=V&&V.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&KE(e,t,n)};Object.defineProperty(V,"__esModule",{value:!0});V.GoogleAuth=V.auth=V.PassThroughClient=V.ExternalAccountAuthorizedUserClient=V.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE=V.ExecutableError=V.PluggableAuthClient=V.DownscopedClient=V.BaseExternalAccountClient=V.ExternalAccountClient=V.IdentityPoolClient=V.AwsRequestSigner=V.AwsClient=V.UserRefreshClient=V.LoginTicket=V.ClientAuthentication=V.OAuth2Client=V.CodeChallengeMethod=V.Impersonated=V.JWT=V.JWTAccess=V.IdTokenClient=V.IAMAuth=V.GCPEnv=V.Compute=V.DEFAULT_UNIVERSE=V.AuthClient=V.gaxios=V.gcpMetadata=void 0;var Of=Df();Object.defineProperty(V,"GoogleAuth",{enumerable:!0,get:function(){return Of.GoogleAuth}});V.gcpMetadata=Dn();V.gaxios=ge();var Ff=Pe();Object.defineProperty(V,"AuthClient",{enumerable:!0,get:function(){return Ff.AuthClient}});Object.defineProperty(V,"DEFAULT_UNIVERSE",{enumerable:!0,get:function(){return Ff.DEFAULT_UNIVERSE}});var zE=jo();Object.defineProperty(V,"Compute",{enumerable:!0,get:function(){return zE.Compute}});var XE=ns();Object.defineProperty(V,"GCPEnv",{enumerable:!0,get:function(){return XE.GCPEnv}});var QE=Uf();Object.defineProperty(V,"IAMAuth",{enumerable:!0,get:function(){return QE.IAMAuth}});var ZE=ts();Object.defineProperty(V,"IdTokenClient",{enumerable:!0,get:function(){return ZE.IdTokenClient}});var jE=ws();Object.defineProperty(V,"JWTAccess",{enumerable:!0,get:function(){return jE.JWTAccess}});var eT=Rs();Object.defineProperty(V,"JWT",{enumerable:!0,get:function(){return eT.JWT}});var tT=ks();Object.defineProperty(V,"Impersonated",{enumerable:!0,get:function(){return tT.Impersonated}});var Ea=bt();Object.defineProperty(V,"CodeChallengeMethod",{enumerable:!0,get:function(){return Ea.CodeChallengeMethod}});Object.defineProperty(V,"OAuth2Client",{enumerable:!0,get:function(){return Ea.OAuth2Client}});Object.defineProperty(V,"ClientAuthentication",{enumerable:!0,get:function(){return Ea.ClientAuthentication}});var nT=zo();Object.defineProperty(V,"LoginTicket",{enumerable:!0,get:function(){return nT.LoginTicket}});var iT=Ns();Object.defineProperty(V,"UserRefreshClient",{enumerable:!0,get:function(){return iT.UserRefreshClient}});var rT=Xs();Object.defineProperty(V,"AwsClient",{enumerable:!0,get:function(){return rT.AwsClient}});var oT=Ks();Object.defineProperty(V,"AwsRequestSigner",{enumerable:!0,get:function(){return oT.AwsRequestSigner}});var sT=Js();Object.defineProperty(V,"IdentityPoolClient",{enumerable:!0,get:function(){return sT.IdentityPoolClient}});var aT=la();Object.defineProperty(V,"ExternalAccountClient",{enumerable:!0,get:function(){return aT.ExternalAccountClient}});var lT=vt();Object.defineProperty(V,"BaseExternalAccountClient",{enumerable:!0,get:function(){return lT.BaseExternalAccountClient}});var uT=bf();Object.defineProperty(V,"DownscopedClient",{enumerable:!0,get:function(){return uT.DownscopedClient}});var Gf=sa();Object.defineProperty(V,"PluggableAuthClient",{enumerable:!0,get:function(){return Gf.PluggableAuthClient}});Object.defineProperty(V,"ExecutableError",{enumerable:!0,get:function(){return Gf.ExecutableError}});var qf=fa();Object.defineProperty(V,"EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE",{enumerable:!0,get:function(){return qf.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE}});Object.defineProperty(V,"ExternalAccountAuthorizedUserClient",{enumerable:!0,get:function(){return qf.ExternalAccountAuthorizedUserClient}});var cT=Lf();Object.defineProperty(V,"PassThroughClient",{enumerable:!0,get:function(){return cT.PassThroughClient}});YE(vs(),V);var fT=new Of.GoogleAuth;V.auth=fT});var ht=F((ZP,$f)=>{"use strict";var Vf=["nodebuffer","arraybuffer","fragments"],Hf=typeof Blob<"u";Hf&&Vf.push("blob");$f.exports={BINARY_TYPES:Vf,CLOSE_TIMEOUT:3e4,EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",hasBlob:Hf,kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}});var Wn=F((jP,lr)=>{"use strict";var{EMPTY_BUFFER:dT}=ht(),Ta=Buffer[Symbol.species];function hT(t,e){if(t.length===0)return dT;if(t.length===1)return t[0];let n=Buffer.allocUnsafe(e),i=0;for(let r=0;r<t.length;r++){let o=t[r];n.set(o,i),i+=o.length}return i<e?new Ta(n.buffer,n.byteOffset,i):n}function Jf(t,e,n,i,r){for(let o=0;o<r;o++)n[i+o]=t[o]^e[o&3]}function Wf(t,e){for(let n=0;n<t.length;n++)t[n]^=e[n&3]}function pT(t){return t.length===t.buffer.byteLength?t.buffer:t.buffer.slice(t.byteOffset,t.byteOffset+t.length)}function Sa(t){if(Sa.readOnly=!0,Buffer.isBuffer(t))return t;let e;return t instanceof ArrayBuffer?e=new Ta(t):ArrayBuffer.isView(t)?e=new Ta(t.buffer,t.byteOffset,t.byteLength):(e=Buffer.from(t),Sa.readOnly=!1),e}lr.exports={concat:hT,mask:Jf,toArrayBuffer:pT,toBuffer:Sa,unmask:Wf};if(!process.env.WS_NO_BUFFER_UTIL)try{let t=H("bufferutil");lr.exports.mask=function(e,n,i,r,o){o<48?Jf(e,n,i,r,o):t.mask(e,n,i,r,o)},lr.exports.unmask=function(e,n){e.length<32?Wf(e,n):t.unmask(e,n)}}catch{}});var zf=F((eN,Yf)=>{"use strict";var Kf=Symbol("kDone"),Ca=Symbol("kRun"),va=class{constructor(e){this[Kf]=()=>{this.pending--,this[Ca]()},this.concurrency=e||1/0,this.jobs=[],this.pending=0}add(e){this.jobs.push(e),this[Ca]()}[Ca](){if(this.pending!==this.concurrency&&this.jobs.length){let e=this.jobs.shift();this.pending++,e(this[Kf])}}};Yf.exports=va});var pn=F((tN,jf)=>{"use strict";var Kn=H("zlib"),Xf=Wn(),mT=zf(),{kStatusCode:Qf}=ht(),gT=Buffer[Symbol.species],yT=Buffer.from([0,0,255,255]),cr=Symbol("permessage-deflate"),pt=Symbol("total-length"),dn=Symbol("callback"),At=Symbol("buffers"),hn=Symbol("error"),ur,Aa=class{constructor(e){if(this._options=e||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._maxPayload=this._options.maxPayload|0,this._isServer=!!this._options.isServer,this._deflate=null,this._inflate=null,this.params=null,!ur){let n=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;ur=new mT(n)}}static get extensionName(){return"permessage-deflate"}offer(){let e={};return this._options.serverNoContextTakeover&&(e.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(e.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(e.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?e.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits==null&&(e.client_max_window_bits=!0),e}accept(e){return e=this.normalizeParams(e),this.params=this._isServer?this.acceptAsServer(e):this.acceptAsClient(e),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let e=this._deflate[dn];this._deflate.close(),this._deflate=null,e&&e(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(e){let n=this._options,i=e.find(r=>!(n.serverNoContextTakeover===!1&&r.server_no_context_takeover||r.server_max_window_bits&&(n.serverMaxWindowBits===!1||typeof n.serverMaxWindowBits=="number"&&n.serverMaxWindowBits>r.server_max_window_bits)||typeof n.clientMaxWindowBits=="number"&&!r.client_max_window_bits));if(!i)throw new Error("None of the extension offers can be accepted");return n.serverNoContextTakeover&&(i.server_no_context_takeover=!0),n.clientNoContextTakeover&&(i.client_no_context_takeover=!0),typeof n.serverMaxWindowBits=="number"&&(i.server_max_window_bits=n.serverMaxWindowBits),typeof n.clientMaxWindowBits=="number"?i.client_max_window_bits=n.clientMaxWindowBits:(i.client_max_window_bits===!0||n.clientMaxWindowBits===!1)&&delete i.client_max_window_bits,i}acceptAsClient(e){let n=e[0];if(this._options.clientNoContextTakeover===!1&&n.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(!n.client_max_window_bits)typeof this._options.clientMaxWindowBits=="number"&&(n.client_max_window_bits=this._options.clientMaxWindowBits);else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits=="number"&&n.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"');return n}normalizeParams(e){return e.forEach(n=>{Object.keys(n).forEach(i=>{let r=n[i];if(r.length>1)throw new Error(`Parameter "${i}" must have only a single value`);if(r=r[0],i==="client_max_window_bits"){if(r!==!0){let o=+r;if(!Number.isInteger(o)||o<8||o>15)throw new TypeError(`Invalid value for parameter "${i}": ${r}`);r=o}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${i}": ${r}`)}else if(i==="server_max_window_bits"){let o=+r;if(!Number.isInteger(o)||o<8||o>15)throw new TypeError(`Invalid value for parameter "${i}": ${r}`);r=o}else if(i==="client_no_context_takeover"||i==="server_no_context_takeover"){if(r!==!0)throw new TypeError(`Invalid value for parameter "${i}": ${r}`)}else throw new Error(`Unknown parameter "${i}"`);n[i]=r})}),e}decompress(e,n,i){ur.add(r=>{this._decompress(e,n,(o,l)=>{r(),i(o,l)})})}compress(e,n,i){ur.add(r=>{this._compress(e,n,(o,l)=>{r(),i(o,l)})})}_decompress(e,n,i){let r=this._isServer?"client":"server";if(!this._inflate){let o=`${r}_max_window_bits`,l=typeof this.params[o]!="number"?Kn.Z_DEFAULT_WINDOWBITS:this.params[o];this._inflate=Kn.createInflateRaw({...this._options.zlibInflateOptions,windowBits:l}),this._inflate[cr]=this,this._inflate[pt]=0,this._inflate[At]=[],this._inflate.on("error",ET),this._inflate.on("data",Zf)}this._inflate[dn]=i,this._inflate.write(e),n&&this._inflate.write(yT),this._inflate.flush(()=>{let o=this._inflate[hn];if(o){this._inflate.close(),this._inflate=null,i(o);return}let l=Xf.concat(this._inflate[At],this._inflate[pt]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[pt]=0,this._inflate[At]=[],n&&this.params[`${r}_no_context_takeover`]&&this._inflate.reset()),i(null,l)})}_compress(e,n,i){let r=this._isServer?"server":"client";if(!this._deflate){let o=`${r}_max_window_bits`,l=typeof this.params[o]!="number"?Kn.Z_DEFAULT_WINDOWBITS:this.params[o];this._deflate=Kn.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:l}),this._deflate[pt]=0,this._deflate[At]=[],this._deflate.on("data",_T)}this._deflate[dn]=i,this._deflate.write(e),this._deflate.flush(Kn.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let o=Xf.concat(this._deflate[At],this._deflate[pt]);n&&(o=new gT(o.buffer,o.byteOffset,o.length-4)),this._deflate[dn]=null,this._deflate[pt]=0,this._deflate[At]=[],n&&this.params[`${r}_no_context_takeover`]&&this._deflate.reset(),i(null,o)})}};jf.exports=Aa;function _T(t){this[At].push(t),this[pt]+=t.length}function Zf(t){if(this[pt]+=t.length,this[cr]._maxPayload<1||this[pt]<=this[cr]._maxPayload){this[At].push(t);return}this[hn]=new RangeError("Max payload size exceeded"),this[hn].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[hn][Qf]=1009,this.removeListener("data",Zf),this.reset()}function ET(t){if(this[cr]._inflate=null,this[hn]){this[dn](this[hn]);return}t[Qf]=1007,this[dn](t)}});var mn=F((nN,fr)=>{"use strict";var{isUtf8:ed}=H("buffer"),{hasBlob:TT}=ht(),ST=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function CT(t){return t>=1e3&&t<=1014&&t!==1004&&t!==1005&&t!==1006||t>=3e3&&t<=4999}function wa(t){let e=t.length,n=0;for(;n<e;)if(!(t[n]&128))n++;else if((t[n]&224)===192){if(n+1===e||(t[n+1]&192)!==128||(t[n]&254)===192)return!1;n+=2}else if((t[n]&240)===224){if(n+2>=e||(t[n+1]&192)!==128||(t[n+2]&192)!==128||t[n]===224&&(t[n+1]&224)===128||t[n]===237&&(t[n+1]&224)===160)return!1;n+=3}else if((t[n]&248)===240){if(n+3>=e||(t[n+1]&192)!==128||(t[n+2]&192)!==128||(t[n+3]&192)!==128||t[n]===240&&(t[n+1]&240)===128||t[n]===244&&t[n+1]>143||t[n]>244)return!1;n+=4}else return!1;return!0}function vT(t){return TT&&typeof t=="object"&&typeof t.arrayBuffer=="function"&&typeof t.type=="string"&&typeof t.stream=="function"&&(t[Symbol.toStringTag]==="Blob"||t[Symbol.toStringTag]==="File")}fr.exports={isBlob:vT,isValidStatusCode:CT,isValidUTF8:wa,tokenChars:ST};if(ed)fr.exports.isValidUTF8=function(t){return t.length<24?wa(t):ed(t)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let t=H("utf-8-validate");fr.exports.isValidUTF8=function(e){return e.length<32?wa(e):t(e)}}catch{}});var xa=F((iN,ad)=>{"use strict";var{Writable:AT}=H("stream"),td=pn(),{BINARY_TYPES:wT,EMPTY_BUFFER:nd,kStatusCode:IT,kWebSocket:RT}=ht(),{concat:Ia,toArrayBuffer:PT,unmask:NT}=Wn(),{isValidStatusCode:xT,isValidUTF8:id}=mn(),dr=Buffer[Symbol.species],qe=0,rd=1,od=2,sd=3,Ra=4,Pa=5,hr=6,Na=class extends AT{constructor(e={}){super(),this._allowSynchronousEvents=e.allowSynchronousEvents!==void 0?e.allowSynchronousEvents:!0,this._binaryType=e.binaryType||wT[0],this._extensions=e.extensions||{},this._isServer=!!e.isServer,this._maxPayload=e.maxPayload|0,this._skipUTF8Validation=!!e.skipUTF8Validation,this[RT]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._errored=!1,this._loop=!1,this._state=qe}_write(e,n,i){if(this._opcode===8&&this._state==qe)return i();this._bufferedBytes+=e.length,this._buffers.push(e),this.startLoop(i)}consume(e){if(this._bufferedBytes-=e,e===this._buffers[0].length)return this._buffers.shift();if(e<this._buffers[0].length){let i=this._buffers[0];return this._buffers[0]=new dr(i.buffer,i.byteOffset+e,i.length-e),new dr(i.buffer,i.byteOffset,e)}let n=Buffer.allocUnsafe(e);do{let i=this._buffers[0],r=n.length-e;e>=i.length?n.set(this._buffers.shift(),r):(n.set(new Uint8Array(i.buffer,i.byteOffset,e),r),this._buffers[0]=new dr(i.buffer,i.byteOffset+e,i.length-e)),e-=i.length}while(e>0);return n}startLoop(e){this._loop=!0;do switch(this._state){case qe:this.getInfo(e);break;case rd:this.getPayloadLength16(e);break;case od:this.getPayloadLength64(e);break;case sd:this.getMask();break;case Ra:this.getData(e);break;case Pa:case hr:this._loop=!1;return}while(this._loop);this._errored||e()}getInfo(e){if(this._bufferedBytes<2){this._loop=!1;return}let n=this.consume(2);if(n[0]&48){let r=this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3");e(r);return}let i=(n[0]&64)===64;if(i&&!this._extensions[td.extensionName]){let r=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(r);return}if(this._fin=(n[0]&128)===128,this._opcode=n[0]&15,this._payloadLength=n[1]&127,this._opcode===0){if(i){let r=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(r);return}if(!this._fragmented){let r=this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE");e(r);return}this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented){let r=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(r);return}this._compressed=i}else if(this._opcode>7&&this._opcode<11){if(!this._fin){let r=this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN");e(r);return}if(i){let r=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(r);return}if(this._payloadLength>125||this._opcode===8&&this._payloadLength===1){let r=this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH");e(r);return}}else{let r=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(r);return}if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(n[1]&128)===128,this._isServer){if(!this._masked){let r=this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK");e(r);return}}else if(this._masked){let r=this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK");e(r);return}this._payloadLength===126?this._state=rd:this._payloadLength===127?this._state=od:this.haveLength(e)}getPayloadLength16(e){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(e)}getPayloadLength64(e){if(this._bufferedBytes<8){this._loop=!1;return}let n=this.consume(8),i=n.readUInt32BE(0);if(i>Math.pow(2,21)-1){let r=this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH");e(r);return}this._payloadLength=i*Math.pow(2,32)+n.readUInt32BE(4),this.haveLength(e)}haveLength(e){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0)){let n=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");e(n);return}this._masked?this._state=sd:this._state=Ra}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=Ra}getData(e){let n=nd;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}n=this.consume(this._payloadLength),this._masked&&this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3]&&NT(n,this._mask)}if(this._opcode>7){this.controlMessage(n,e);return}if(this._compressed){this._state=Pa,this.decompress(n,e);return}n.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(n)),this.dataMessage(e)}decompress(e,n){this._extensions[td.extensionName].decompress(e,this._fin,(r,o)=>{if(r)return n(r);if(o.length){if(this._messageLength+=o.length,this._messageLength>this._maxPayload&&this._maxPayload>0){let l=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");n(l);return}this._fragments.push(o)}this.dataMessage(n),this._state===qe&&this.startLoop(n)})}dataMessage(e){if(!this._fin){this._state=qe;return}let n=this._messageLength,i=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let r;this._binaryType==="nodebuffer"?r=Ia(i,n):this._binaryType==="arraybuffer"?r=PT(Ia(i,n)):this._binaryType==="blob"?r=new Blob(i):r=i,this._allowSynchronousEvents?(this.emit("message",r,!0),this._state=qe):(this._state=hr,setImmediate(()=>{this.emit("message",r,!0),this._state=qe,this.startLoop(e)}))}else{let r=Ia(i,n);if(!this._skipUTF8Validation&&!id(r)){let o=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");e(o);return}this._state===Pa||this._allowSynchronousEvents?(this.emit("message",r,!1),this._state=qe):(this._state=hr,setImmediate(()=>{this.emit("message",r,!1),this._state=qe,this.startLoop(e)}))}}controlMessage(e,n){if(this._opcode===8){if(e.length===0)this._loop=!1,this.emit("conclude",1005,nd),this.end();else{let i=e.readUInt16BE(0);if(!xT(i)){let o=this.createError(RangeError,`invalid status code ${i}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE");n(o);return}let r=new dr(e.buffer,e.byteOffset+2,e.length-2);if(!this._skipUTF8Validation&&!id(r)){let o=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");n(o);return}this._loop=!1,this.emit("conclude",i,r),this.end()}this._state=qe;return}this._allowSynchronousEvents?(this.emit(this._opcode===9?"ping":"pong",e),this._state=qe):(this._state=hr,setImmediate(()=>{this.emit(this._opcode===9?"ping":"pong",e),this._state=qe,this.startLoop(n)}))}createError(e,n,i,r,o){this._loop=!1,this._errored=!0;let l=new e(i?`Invalid WebSocket frame: ${n}`:n);return Error.captureStackTrace(l,this.createError),l.code=o,l[IT]=r,l}};ad.exports=Na});var Da=F((oN,cd)=>{"use strict";var{Duplex:rN}=H("stream"),{randomFillSync:kT}=H("crypto"),ld=pn(),{EMPTY_BUFFER:MT,kWebSocket:DT,NOOP:UT}=ht(),{isBlob:gn,isValidStatusCode:bT}=mn(),{mask:ud,toBuffer:Ot}=Wn(),Be=Symbol("kByteLength"),LT=Buffer.alloc(4),pr=8*1024,Ft,yn=pr,Ye=0,OT=1,FT=2,ka=class t{constructor(e,n,i){this._extensions=n||{},i&&(this._generateMask=i,this._maskBuffer=Buffer.alloc(4)),this._socket=e,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._queue=[],this._state=Ye,this.onerror=UT,this[DT]=void 0}static frame(e,n){let i,r=!1,o=2,l=!1;n.mask&&(i=n.maskBuffer||LT,n.generateMask?n.generateMask(i):(yn===pr&&(Ft===void 0&&(Ft=Buffer.alloc(pr)),kT(Ft,0,pr),yn=0),i[0]=Ft[yn++],i[1]=Ft[yn++],i[2]=Ft[yn++],i[3]=Ft[yn++]),l=(i[0]|i[1]|i[2]|i[3])===0,o=6);let u;typeof e=="string"?(!n.mask||l)&&n[Be]!==void 0?u=n[Be]:(e=Buffer.from(e),u=e.length):(u=e.length,r=n.mask&&n.readOnly&&!l);let f=u;u>=65536?(o+=8,f=127):u>125&&(o+=2,f=126);let c=Buffer.allocUnsafe(r?u+o:o);return c[0]=n.fin?n.opcode|128:n.opcode,n.rsv1&&(c[0]|=64),c[1]=f,f===126?c.writeUInt16BE(u,2):f===127&&(c[2]=c[3]=0,c.writeUIntBE(u,4,6)),n.mask?(c[1]|=128,c[o-4]=i[0],c[o-3]=i[1],c[o-2]=i[2],c[o-1]=i[3],l?[c,e]:r?(ud(e,i,c,o,u),[c]):(ud(e,i,e,0,u),[c,e])):[c,e]}close(e,n,i,r){let o;if(e===void 0)o=MT;else{if(typeof e!="number"||!bT(e))throw new TypeError("First argument must be a valid error code number");if(n===void 0||!n.length)o=Buffer.allocUnsafe(2),o.writeUInt16BE(e,0);else{let u=Buffer.byteLength(n);if(u>123)throw new RangeError("The message must not be greater than 123 bytes");o=Buffer.allocUnsafe(2+u),o.writeUInt16BE(e,0),typeof n=="string"?o.write(n,2):o.set(n,2)}}let l={[Be]:o.length,fin:!0,generateMask:this._generateMask,mask:i,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};this._state!==Ye?this.enqueue([this.dispatch,o,!1,l,r]):this.sendFrame(t.frame(o,l),r)}ping(e,n,i){let r,o;if(typeof e=="string"?(r=Buffer.byteLength(e),o=!1):gn(e)?(r=e.size,o=!1):(e=Ot(e),r=e.length,o=Ot.readOnly),r>125)throw new RangeError("The data size must not be greater than 125 bytes");let l={[Be]:r,fin:!0,generateMask:this._generateMask,mask:n,maskBuffer:this._maskBuffer,opcode:9,readOnly:o,rsv1:!1};gn(e)?this._state!==Ye?this.enqueue([this.getBlobData,e,!1,l,i]):this.getBlobData(e,!1,l,i):this._state!==Ye?this.enqueue([this.dispatch,e,!1,l,i]):this.sendFrame(t.frame(e,l),i)}pong(e,n,i){let r,o;if(typeof e=="string"?(r=Buffer.byteLength(e),o=!1):gn(e)?(r=e.size,o=!1):(e=Ot(e),r=e.length,o=Ot.readOnly),r>125)throw new RangeError("The data size must not be greater than 125 bytes");let l={[Be]:r,fin:!0,generateMask:this._generateMask,mask:n,maskBuffer:this._maskBuffer,opcode:10,readOnly:o,rsv1:!1};gn(e)?this._state!==Ye?this.enqueue([this.getBlobData,e,!1,l,i]):this.getBlobData(e,!1,l,i):this._state!==Ye?this.enqueue([this.dispatch,e,!1,l,i]):this.sendFrame(t.frame(e,l),i)}send(e,n,i){let r=this._extensions[ld.extensionName],o=n.binary?2:1,l=n.compress,u,f;typeof e=="string"?(u=Buffer.byteLength(e),f=!1):gn(e)?(u=e.size,f=!1):(e=Ot(e),u=e.length,f=Ot.readOnly),this._firstFragment?(this._firstFragment=!1,l&&r&&r.params[r._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(l=u>=r._threshold),this._compress=l):(l=!1,o=0),n.fin&&(this._firstFragment=!0);let c={[Be]:u,fin:n.fin,generateMask:this._generateMask,mask:n.mask,maskBuffer:this._maskBuffer,opcode:o,readOnly:f,rsv1:l};gn(e)?this._state!==Ye?this.enqueue([this.getBlobData,e,this._compress,c,i]):this.getBlobData(e,this._compress,c,i):this._state!==Ye?this.enqueue([this.dispatch,e,this._compress,c,i]):this.dispatch(e,this._compress,c,i)}getBlobData(e,n,i,r){this._bufferedBytes+=i[Be],this._state=FT,e.arrayBuffer().then(o=>{if(this._socket.destroyed){let u=new Error("The socket was closed while the blob was being read");process.nextTick(Ma,this,u,r);return}this._bufferedBytes-=i[Be];let l=Ot(o);n?this.dispatch(l,n,i,r):(this._state=Ye,this.sendFrame(t.frame(l,i),r),this.dequeue())}).catch(o=>{process.nextTick(GT,this,o,r)})}dispatch(e,n,i,r){if(!n){this.sendFrame(t.frame(e,i),r);return}let o=this._extensions[ld.extensionName];this._bufferedBytes+=i[Be],this._state=OT,o.compress(e,i.fin,(l,u)=>{if(this._socket.destroyed){let f=new Error("The socket was closed while data was being compressed");Ma(this,f,r);return}this._bufferedBytes-=i[Be],this._state=Ye,i.readOnly=!1,this.sendFrame(t.frame(u,i),r),this.dequeue()})}dequeue(){for(;this._state===Ye&&this._queue.length;){let e=this._queue.shift();this._bufferedBytes-=e[3][Be],Reflect.apply(e[0],this,e.slice(1))}}enqueue(e){this._bufferedBytes+=e[3][Be],this._queue.push(e)}sendFrame(e,n){e.length===2?(this._socket.cork(),this._socket.write(e[0]),this._socket.write(e[1],n),this._socket.uncork()):this._socket.write(e[0],n)}};cd.exports=ka;function Ma(t,e,n){typeof n=="function"&&n(e);for(let i=0;i<t._queue.length;i++){let r=t._queue[i],o=r[r.length-1];typeof o=="function"&&o(e)}}function GT(t,e,n){Ma(t,e,n),t.onerror(e)}});var Ed=F((sN,_d)=>{"use strict";var{kForOnEventAttribute:Yn,kListener:Ua}=ht(),fd=Symbol("kCode"),dd=Symbol("kData"),hd=Symbol("kError"),pd=Symbol("kMessage"),md=Symbol("kReason"),_n=Symbol("kTarget"),gd=Symbol("kType"),yd=Symbol("kWasClean"),mt=class{constructor(e){this[_n]=null,this[gd]=e}get target(){return this[_n]}get type(){return this[gd]}};Object.defineProperty(mt.prototype,"target",{enumerable:!0});Object.defineProperty(mt.prototype,"type",{enumerable:!0});var Gt=class extends mt{constructor(e,n={}){super(e),this[fd]=n.code===void 0?0:n.code,this[md]=n.reason===void 0?"":n.reason,this[yd]=n.wasClean===void 0?!1:n.wasClean}get code(){return this[fd]}get reason(){return this[md]}get wasClean(){return this[yd]}};Object.defineProperty(Gt.prototype,"code",{enumerable:!0});Object.defineProperty(Gt.prototype,"reason",{enumerable:!0});Object.defineProperty(Gt.prototype,"wasClean",{enumerable:!0});var En=class extends mt{constructor(e,n={}){super(e),this[hd]=n.error===void 0?null:n.error,this[pd]=n.message===void 0?"":n.message}get error(){return this[hd]}get message(){return this[pd]}};Object.defineProperty(En.prototype,"error",{enumerable:!0});Object.defineProperty(En.prototype,"message",{enumerable:!0});var zn=class extends mt{constructor(e,n={}){super(e),this[dd]=n.data===void 0?null:n.data}get data(){return this[dd]}};Object.defineProperty(zn.prototype,"data",{enumerable:!0});var qT={addEventListener(t,e,n={}){for(let r of this.listeners(t))if(!n[Yn]&&r[Ua]===e&&!r[Yn])return;let i;if(t==="message")i=function(o,l){let u=new zn("message",{data:l?o:o.toString()});u[_n]=this,mr(e,this,u)};else if(t==="close")i=function(o,l){let u=new Gt("close",{code:o,reason:l.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});u[_n]=this,mr(e,this,u)};else if(t==="error")i=function(o){let l=new En("error",{error:o,message:o.message});l[_n]=this,mr(e,this,l)};else if(t==="open")i=function(){let o=new mt("open");o[_n]=this,mr(e,this,o)};else return;i[Yn]=!!n[Yn],i[Ua]=e,n.once?this.once(t,i):this.on(t,i)},removeEventListener(t,e){for(let n of this.listeners(t))if(n[Ua]===e&&!n[Yn]){this.removeListener(t,n);break}}};_d.exports={CloseEvent:Gt,ErrorEvent:En,Event:mt,EventTarget:qT,MessageEvent:zn};function mr(t,e,n){typeof t=="object"&&t.handleEvent?t.handleEvent.call(t,n):t.call(e,n)}});var gr=F((aN,Td)=>{"use strict";var{tokenChars:Xn}=mn();function lt(t,e,n){t[e]===void 0?t[e]=[n]:t[e].push(n)}function BT(t){let e=Object.create(null),n=Object.create(null),i=!1,r=!1,o=!1,l,u,f=-1,c=-1,d=-1,h=0;for(;h<t.length;h++)if(c=t.charCodeAt(h),l===void 0)if(d===-1&&Xn[c]===1)f===-1&&(f=h);else if(h!==0&&(c===32||c===9))d===-1&&f!==-1&&(d=h);else if(c===59||c===44){if(f===-1)throw new SyntaxError(`Unexpected character at index ${h}`);d===-1&&(d=h);let m=t.slice(f,d);c===44?(lt(e,m,n),n=Object.create(null)):l=m,f=d=-1}else throw new SyntaxError(`Unexpected character at index ${h}`);else if(u===void 0)if(d===-1&&Xn[c]===1)f===-1&&(f=h);else if(c===32||c===9)d===-1&&f!==-1&&(d=h);else if(c===59||c===44){if(f===-1)throw new SyntaxError(`Unexpected character at index ${h}`);d===-1&&(d=h),lt(n,t.slice(f,d),!0),c===44&&(lt(e,l,n),n=Object.create(null),l=void 0),f=d=-1}else if(c===61&&f!==-1&&d===-1)u=t.slice(f,h),f=d=-1;else throw new SyntaxError(`Unexpected character at index ${h}`);else if(r){if(Xn[c]!==1)throw new SyntaxError(`Unexpected character at index ${h}`);f===-1?f=h:i||(i=!0),r=!1}else if(o)if(Xn[c]===1)f===-1&&(f=h);else if(c===34&&f!==-1)o=!1,d=h;else if(c===92)r=!0;else throw new SyntaxError(`Unexpected character at index ${h}`);else if(c===34&&t.charCodeAt(h-1)===61)o=!0;else if(d===-1&&Xn[c]===1)f===-1&&(f=h);else if(f!==-1&&(c===32||c===9))d===-1&&(d=h);else if(c===59||c===44){if(f===-1)throw new SyntaxError(`Unexpected character at index ${h}`);d===-1&&(d=h);let m=t.slice(f,d);i&&(m=m.replace(/\\/g,""),i=!1),lt(n,u,m),c===44&&(lt(e,l,n),n=Object.create(null),l=void 0),u=void 0,f=d=-1}else throw new SyntaxError(`Unexpected character at index ${h}`);if(f===-1||o||c===32||c===9)throw new SyntaxError("Unexpected end of input");d===-1&&(d=h);let p=t.slice(f,d);return l===void 0?lt(e,p,n):(u===void 0?lt(n,p,!0):i?lt(n,u,p.replace(/\\/g,"")):lt(n,u,p),lt(e,l,n)),e}function VT(t){return Object.keys(t).map(e=>{let n=t[e];return Array.isArray(n)||(n=[n]),n.map(i=>[e].concat(Object.keys(i).map(r=>{let o=i[r];return Array.isArray(o)||(o=[o]),o.map(l=>l===!0?r:`${r}=${l}`).join("; ")})).join("; ")).join(", ")}).join(", ")}Td.exports={format:VT,parse:BT}});var Tr=F((cN,Md)=>{"use strict";var HT=H("events"),$T=H("https"),JT=H("http"),vd=H("net"),WT=H("tls"),{randomBytes:KT,createHash:YT}=H("crypto"),{Duplex:lN,Readable:uN}=H("stream"),{URL:ba}=H("url"),wt=pn(),zT=xa(),XT=Da(),{isBlob:QT}=mn(),{BINARY_TYPES:Sd,CLOSE_TIMEOUT:ZT,EMPTY_BUFFER:yr,GUID:jT,kForOnEventAttribute:La,kListener:eS,kStatusCode:tS,kWebSocket:pe,NOOP:Ad}=ht(),{EventTarget:{addEventListener:nS,removeEventListener:iS}}=Ed(),{format:rS,parse:oS}=gr(),{toBuffer:sS}=Wn(),wd=Symbol("kAborted"),Oa=[8,13],gt=["CONNECTING","OPEN","CLOSING","CLOSED"],aS=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/,se=class t extends HT{constructor(e,n,i){super(),this._binaryType=Sd[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=yr,this._closeTimer=null,this._errorEmitted=!1,this._extensions={},this._paused=!1,this._protocol="",this._readyState=t.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,e!==null?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,n===void 0?n=[]:Array.isArray(n)||(typeof n=="object"&&n!==null?(i=n,n=[]):n=[n]),Id(this,e,n,i)):(this._autoPong=i.autoPong,this._closeTimeout=i.closeTimeout,this._isServer=!0)}get binaryType(){return this._binaryType}set binaryType(e){Sd.includes(e)&&(this._binaryType=e,this._receiver&&(this._receiver._binaryType=e))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(e,n,i){let r=new zT({allowSynchronousEvents:i.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxPayload:i.maxPayload,skipUTF8Validation:i.skipUTF8Validation}),o=new XT(e,this._extensions,i.generateMask);this._receiver=r,this._sender=o,this._socket=e,r[pe]=this,o[pe]=this,e[pe]=this,r.on("conclude",cS),r.on("drain",fS),r.on("error",dS),r.on("message",hS),r.on("ping",pS),r.on("pong",mS),o.onerror=gS,e.setTimeout&&e.setTimeout(0),e.setNoDelay&&e.setNoDelay(),n.length>0&&e.unshift(n),e.on("close",Nd),e.on("data",Er),e.on("end",xd),e.on("error",kd),this._readyState=t.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=t.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[wt.extensionName]&&this._extensions[wt.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=t.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(e,n){if(this.readyState!==t.CLOSED){if(this.readyState===t.CONNECTING){xe(this,this._req,"WebSocket was closed before the connection was established");return}if(this.readyState===t.CLOSING){this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end();return}this._readyState=t.CLOSING,this._sender.close(e,n,!this._isServer,i=>{i||(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())}),Pd(this)}}pause(){this.readyState===t.CONNECTING||this.readyState===t.CLOSED||(this._paused=!0,this._socket.pause())}ping(e,n,i){if(this.readyState===t.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(i=e,e=n=void 0):typeof n=="function"&&(i=n,n=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==t.OPEN){Fa(this,e,i);return}n===void 0&&(n=!this._isServer),this._sender.ping(e||yr,n,i)}pong(e,n,i){if(this.readyState===t.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(i=e,e=n=void 0):typeof n=="function"&&(i=n,n=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==t.OPEN){Fa(this,e,i);return}n===void 0&&(n=!this._isServer),this._sender.pong(e||yr,n,i)}resume(){this.readyState===t.CONNECTING||this.readyState===t.CLOSED||(this._paused=!1,this._receiver._writableState.needDrain||this._socket.resume())}send(e,n,i){if(this.readyState===t.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof n=="function"&&(i=n,n={}),typeof e=="number"&&(e=e.toString()),this.readyState!==t.OPEN){Fa(this,e,i);return}let r={binary:typeof e!="string",mask:!this._isServer,compress:!0,fin:!0,...n};this._extensions[wt.extensionName]||(r.compress=!1),this._sender.send(e||yr,r,i)}terminate(){if(this.readyState!==t.CLOSED){if(this.readyState===t.CONNECTING){xe(this,this._req,"WebSocket was closed before the connection was established");return}this._socket&&(this._readyState=t.CLOSING,this._socket.destroy())}}};Object.defineProperty(se,"CONNECTING",{enumerable:!0,value:gt.indexOf("CONNECTING")});Object.defineProperty(se.prototype,"CONNECTING",{enumerable:!0,value:gt.indexOf("CONNECTING")});Object.defineProperty(se,"OPEN",{enumerable:!0,value:gt.indexOf("OPEN")});Object.defineProperty(se.prototype,"OPEN",{enumerable:!0,value:gt.indexOf("OPEN")});Object.defineProperty(se,"CLOSING",{enumerable:!0,value:gt.indexOf("CLOSING")});Object.defineProperty(se.prototype,"CLOSING",{enumerable:!0,value:gt.indexOf("CLOSING")});Object.defineProperty(se,"CLOSED",{enumerable:!0,value:gt.indexOf("CLOSED")});Object.defineProperty(se.prototype,"CLOSED",{enumerable:!0,value:gt.indexOf("CLOSED")});["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach(t=>{Object.defineProperty(se.prototype,t,{enumerable:!0})});["open","error","close","message"].forEach(t=>{Object.defineProperty(se.prototype,`on${t}`,{enumerable:!0,get(){for(let e of this.listeners(t))if(e[La])return e[eS];return null},set(e){for(let n of this.listeners(t))if(n[La]){this.removeListener(t,n);break}typeof e=="function"&&this.addEventListener(t,e,{[La]:!0})}})});se.prototype.addEventListener=nS;se.prototype.removeEventListener=iS;Md.exports=se;function Id(t,e,n,i){let r={allowSynchronousEvents:!0,autoPong:!0,closeTimeout:ZT,protocolVersion:Oa[1],maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...i,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};if(t._autoPong=r.autoPong,t._closeTimeout=r.closeTimeout,!Oa.includes(r.protocolVersion))throw new RangeError(`Unsupported protocol version: ${r.protocolVersion} (supported versions: ${Oa.join(", ")})`);let o;if(e instanceof ba)o=e;else try{o=new ba(e)}catch{throw new SyntaxError(`Invalid URL: ${e}`)}o.protocol==="http:"?o.protocol="ws:":o.protocol==="https:"&&(o.protocol="wss:"),t._url=o.href;let l=o.protocol==="wss:",u=o.protocol==="ws+unix:",f;if(o.protocol!=="ws:"&&!l&&!u?f=`The URL's protocol must be one of "ws:", "wss:", "http:", "https:", or "ws+unix:"`:u&&!o.pathname?f="The URL's pathname is empty":o.hash&&(f="The URL contains a fragment identifier"),f){let E=new SyntaxError(f);if(t._redirects===0)throw E;_r(t,E);return}let c=l?443:80,d=KT(16).toString("base64"),h=l?$T.request:JT.request,p=new Set,m;if(r.createConnection=r.createConnection||(l?uS:lS),r.defaultPort=r.defaultPort||c,r.port=o.port||c,r.host=o.hostname.startsWith("[")?o.hostname.slice(1,-1):o.hostname,r.headers={...r.headers,"Sec-WebSocket-Version":r.protocolVersion,"Sec-WebSocket-Key":d,Connection:"Upgrade",Upgrade:"websocket"},r.path=o.pathname+o.search,r.timeout=r.handshakeTimeout,r.perMessageDeflate&&(m=new wt({...r.perMessageDeflate,isServer:!1,maxPayload:r.maxPayload}),r.headers["Sec-WebSocket-Extensions"]=rS({[wt.extensionName]:m.offer()})),n.length){for(let E of n){if(typeof E!="string"||!aS.test(E)||p.has(E))throw new SyntaxError("An invalid or duplicated subprotocol was specified");p.add(E)}r.headers["Sec-WebSocket-Protocol"]=n.join(",")}if(r.origin&&(r.protocolVersion<13?r.headers["Sec-WebSocket-Origin"]=r.origin:r.headers.Origin=r.origin),(o.username||o.password)&&(r.auth=`${o.username}:${o.password}`),u){let E=r.path.split(":");r.socketPath=E[0],r.path=E[1]}let _;if(r.followRedirects){if(t._redirects===0){t._originalIpc=u,t._originalSecure=l,t._originalHostOrSocketPath=u?r.socketPath:o.host;let E=i&&i.headers;if(i={...i,headers:{}},E)for(let[T,A]of Object.entries(E))i.headers[T.toLowerCase()]=A}else if(t.listenerCount("redirect")===0){let E=u?t._originalIpc?r.socketPath===t._originalHostOrSocketPath:!1:t._originalIpc?!1:o.host===t._originalHostOrSocketPath;(!E||t._originalSecure&&!l)&&(delete r.headers.authorization,delete r.headers.cookie,E||delete r.headers.host,r.auth=void 0)}r.auth&&!i.headers.authorization&&(i.headers.authorization="Basic "+Buffer.from(r.auth).toString("base64")),_=t._req=h(r),t._redirects&&t.emit("redirect",t.url,_)}else _=t._req=h(r);r.timeout&&_.on("timeout",()=>{xe(t,_,"Opening handshake has timed out")}),_.on("error",E=>{_===null||_[wd]||(_=t._req=null,_r(t,E))}),_.on("response",E=>{let T=E.headers.location,A=E.statusCode;if(T&&r.followRedirects&&A>=300&&A<400){if(++t._redirects>r.maxRedirects){xe(t,_,"Maximum redirects exceeded");return}_.abort();let L;try{L=new ba(T,e)}catch{let O=new SyntaxError(`Invalid URL: ${T}`);_r(t,O);return}Id(t,L,n,i)}else t.emit("unexpected-response",_,E)||xe(t,_,`Unexpected server response: ${E.statusCode}`)}),_.on("upgrade",(E,T,A)=>{if(t.emit("upgrade",E),t.readyState!==se.CONNECTING)return;_=t._req=null;let L=E.headers.upgrade;if(L===void 0||L.toLowerCase()!=="websocket"){xe(t,T,"Invalid Upgrade header");return}let D=YT("sha1").update(d+jT).digest("base64");if(E.headers["sec-websocket-accept"]!==D){xe(t,T,"Invalid Sec-WebSocket-Accept header");return}let O=E.headers["sec-websocket-protocol"],U;if(O!==void 0?p.size?p.has(O)||(U="Server sent an invalid subprotocol"):U="Server sent a subprotocol but none was requested":p.size&&(U="Server sent no subprotocol"),U){xe(t,T,U);return}O&&(t._protocol=O);let R=E.headers["sec-websocket-extensions"];if(R!==void 0){if(!m){xe(t,T,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");return}let q;try{q=oS(R)}catch{xe(t,T,"Invalid Sec-WebSocket-Extensions header");return}let K=Object.keys(q);if(K.length!==1||K[0]!==wt.extensionName){xe(t,T,"Server indicated an extension that was not requested");return}try{m.accept(q[wt.extensionName])}catch{xe(t,T,"Invalid Sec-WebSocket-Extensions header");return}t._extensions[wt.extensionName]=m}t.setSocket(T,A,{allowSynchronousEvents:r.allowSynchronousEvents,generateMask:r.generateMask,maxPayload:r.maxPayload,skipUTF8Validation:r.skipUTF8Validation})}),r.finishRequest?r.finishRequest(_,t):_.end()}function _r(t,e){t._readyState=se.CLOSING,t._errorEmitted=!0,t.emit("error",e),t.emitClose()}function lS(t){return t.path=t.socketPath,vd.connect(t)}function uS(t){return t.path=void 0,!t.servername&&t.servername!==""&&(t.servername=vd.isIP(t.host)?"":t.host),WT.connect(t)}function xe(t,e,n){t._readyState=se.CLOSING;let i=new Error(n);Error.captureStackTrace(i,xe),e.setHeader?(e[wd]=!0,e.abort(),e.socket&&!e.socket.destroyed&&e.socket.destroy(),process.nextTick(_r,t,i)):(e.destroy(i),e.once("error",t.emit.bind(t,"error")),e.once("close",t.emitClose.bind(t)))}function Fa(t,e,n){if(e){let i=QT(e)?e.size:sS(e).length;t._socket?t._sender._bufferedBytes+=i:t._bufferedAmount+=i}if(n){let i=new Error(`WebSocket is not open: readyState ${t.readyState} (${gt[t.readyState]})`);process.nextTick(n,i)}}function cS(t,e){let n=this[pe];n._closeFrameReceived=!0,n._closeMessage=e,n._closeCode=t,n._socket[pe]!==void 0&&(n._socket.removeListener("data",Er),process.nextTick(Rd,n._socket),t===1005?n.close():n.close(t,e))}function fS(){let t=this[pe];t.isPaused||t._socket.resume()}function dS(t){let e=this[pe];e._socket[pe]!==void 0&&(e._socket.removeListener("data",Er),process.nextTick(Rd,e._socket),e.close(t[tS])),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",t))}function Cd(){this[pe].emitClose()}function hS(t,e){this[pe].emit("message",t,e)}function pS(t){let e=this[pe];e._autoPong&&e.pong(t,!this._isServer,Ad),e.emit("ping",t)}function mS(t){this[pe].emit("pong",t)}function Rd(t){t.resume()}function gS(t){let e=this[pe];e.readyState!==se.CLOSED&&(e.readyState===se.OPEN&&(e._readyState=se.CLOSING,Pd(e)),this._socket.end(),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",t)))}function Pd(t){t._closeTimer=setTimeout(t._socket.destroy.bind(t._socket),t._closeTimeout)}function Nd(){let t=this[pe];if(this.removeListener("close",Nd),this.removeListener("data",Er),this.removeListener("end",xd),t._readyState=se.CLOSING,!this._readableState.endEmitted&&!t._closeFrameReceived&&!t._receiver._writableState.errorEmitted&&this._readableState.length!==0){let e=this.read(this._readableState.length);t._receiver.write(e)}t._receiver.end(),this[pe]=void 0,clearTimeout(t._closeTimer),t._receiver._writableState.finished||t._receiver._writableState.errorEmitted?t.emitClose():(t._receiver.on("error",Cd),t._receiver.on("finish",Cd))}function Er(t){this[pe]._receiver.write(t)||this.pause()}function xd(){let t=this[pe];t._readyState=se.CLOSING,t._receiver.end(),this.end()}function kd(){let t=this[pe];this.removeListener("error",kd),this.on("error",Ad),t&&(t._readyState=se.CLOSING,this.destroy())}});var Ld=F((dN,bd)=>{"use strict";var fN=Tr(),{Duplex:yS}=H("stream");function Dd(t){t.emit("close")}function _S(){!this.destroyed&&this._writableState.finished&&this.destroy()}function Ud(t){this.removeListener("error",Ud),this.destroy(),this.listenerCount("error")===0&&this.emit("error",t)}function ES(t,e){let n=!0,i=new yS({...e,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return t.on("message",function(o,l){let u=!l&&i._readableState.objectMode?o.toString():o;i.push(u)||t.pause()}),t.once("error",function(o){i.destroyed||(n=!1,i.destroy(o))}),t.once("close",function(){i.destroyed||i.push(null)}),i._destroy=function(r,o){if(t.readyState===t.CLOSED){o(r),process.nextTick(Dd,i);return}let l=!1;t.once("error",function(f){l=!0,o(f)}),t.once("close",function(){l||o(r),process.nextTick(Dd,i)}),n&&t.terminate()},i._final=function(r){if(t.readyState===t.CONNECTING){t.once("open",function(){i._final(r)});return}t._socket!==null&&(t._socket._writableState.finished?(r(),i._readableState.endEmitted&&i.destroy()):(t._socket.once("finish",function(){r()}),t.close()))},i._read=function(){t.isPaused&&t.resume()},i._write=function(r,o,l){if(t.readyState===t.CONNECTING){t.once("open",function(){i._write(r,o,l)});return}t.send(r,l)},i.on("end",_S),i.on("error",Ud),i}bd.exports=ES});var Ga=F((hN,Od)=>{"use strict";var{tokenChars:TS}=mn();function SS(t){let e=new Set,n=-1,i=-1,r=0;for(r;r<t.length;r++){let l=t.charCodeAt(r);if(i===-1&&TS[l]===1)n===-1&&(n=r);else if(r!==0&&(l===32||l===9))i===-1&&n!==-1&&(i=r);else if(l===44){if(n===-1)throw new SyntaxError(`Unexpected character at index ${r}`);i===-1&&(i=r);let u=t.slice(n,i);if(e.has(u))throw new SyntaxError(`The "${u}" subprotocol is duplicated`);e.add(u),n=i=-1}else throw new SyntaxError(`Unexpected character at index ${r}`)}if(n===-1||i!==-1)throw new SyntaxError("Unexpected end of input");let o=t.slice(n,r);if(e.has(o))throw new SyntaxError(`The "${o}" subprotocol is duplicated`);return e.add(o),e}Od.exports={parse:SS}});var $d=F((mN,Hd)=>{"use strict";var CS=H("events"),Sr=H("http"),{Duplex:pN}=H("stream"),{createHash:vS}=H("crypto"),Fd=gr(),qt=pn(),AS=Ga(),wS=Tr(),{CLOSE_TIMEOUT:IS,GUID:RS,kWebSocket:PS}=ht(),NS=/^[+/0-9A-Za-z]{22}==$/,Gd=0,qd=1,Vd=2,qa=class extends CS{constructor(e,n){if(super(),e={allowSynchronousEvents:!0,autoPong:!0,maxPayload:100*1024*1024,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,closeTimeout:IS,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:wS,...e},e.port==null&&!e.server&&!e.noServer||e.port!=null&&(e.server||e.noServer)||e.server&&e.noServer)throw new TypeError('One and only one of the "port", "server", or "noServer" options must be specified');if(e.port!=null?(this._server=Sr.createServer((i,r)=>{let o=Sr.STATUS_CODES[426];r.writeHead(426,{"Content-Length":o.length,"Content-Type":"text/plain"}),r.end(o)}),this._server.listen(e.port,e.host,e.backlog,n)):e.server&&(this._server=e.server),this._server){let i=this.emit.bind(this,"connection");this._removeListeners=xS(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(r,o,l)=>{this.handleUpgrade(r,o,l,i)}})}e.perMessageDeflate===!0&&(e.perMessageDeflate={}),e.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=e,this._state=Gd}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(e){if(this._state===Vd){e&&this.once("close",()=>{e(new Error("The server is not running"))}),process.nextTick(Qn,this);return}if(e&&this.once("close",e),this._state!==qd)if(this._state=qd,this.options.noServer||this.options.server)this._server&&(this._removeListeners(),this._removeListeners=this._server=null),this.clients?this.clients.size?this._shouldEmitClose=!0:process.nextTick(Qn,this):process.nextTick(Qn,this);else{let n=this._server;this._removeListeners(),this._removeListeners=this._server=null,n.close(()=>{Qn(this)})}}shouldHandle(e){if(this.options.path){let n=e.url.indexOf("?");if((n!==-1?e.url.slice(0,n):e.url)!==this.options.path)return!1}return!0}handleUpgrade(e,n,i,r){n.on("error",Bd);let o=e.headers["sec-websocket-key"],l=e.headers.upgrade,u=+e.headers["sec-websocket-version"];if(e.method!=="GET"){Bt(this,e,n,405,"Invalid HTTP method");return}if(l===void 0||l.toLowerCase()!=="websocket"){Bt(this,e,n,400,"Invalid Upgrade header");return}if(o===void 0||!NS.test(o)){Bt(this,e,n,400,"Missing or invalid Sec-WebSocket-Key header");return}if(u!==13&&u!==8){Bt(this,e,n,400,"Missing or invalid Sec-WebSocket-Version header",{"Sec-WebSocket-Version":"13, 8"});return}if(!this.shouldHandle(e)){Zn(n,400);return}let f=e.headers["sec-websocket-protocol"],c=new Set;if(f!==void 0)try{c=AS.parse(f)}catch{Bt(this,e,n,400,"Invalid Sec-WebSocket-Protocol header");return}let d=e.headers["sec-websocket-extensions"],h={};if(this.options.perMessageDeflate&&d!==void 0){let p=new qt({...this.options.perMessageDeflate,isServer:!0,maxPayload:this.options.maxPayload});try{let m=Fd.parse(d);m[qt.extensionName]&&(p.accept(m[qt.extensionName]),h[qt.extensionName]=p)}catch{Bt(this,e,n,400,"Invalid or unacceptable Sec-WebSocket-Extensions header");return}}if(this.options.verifyClient){let p={origin:e.headers[`${u===8?"sec-websocket-origin":"origin"}`],secure:!!(e.socket.authorized||e.socket.encrypted),req:e};if(this.options.verifyClient.length===2){this.options.verifyClient(p,(m,_,E,T)=>{if(!m)return Zn(n,_||401,E,T);this.completeUpgrade(h,o,c,e,n,i,r)});return}if(!this.options.verifyClient(p))return Zn(n,401)}this.completeUpgrade(h,o,c,e,n,i,r)}completeUpgrade(e,n,i,r,o,l,u){if(!o.readable||!o.writable)return o.destroy();if(o[PS])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>Gd)return Zn(o,503);let c=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${vS("sha1").update(n+RS).digest("base64")}`],d=new this.options.WebSocket(null,void 0,this.options);if(i.size){let h=this.options.handleProtocols?this.options.handleProtocols(i,r):i.values().next().value;h&&(c.push(`Sec-WebSocket-Protocol: ${h}`),d._protocol=h)}if(e[qt.extensionName]){let h=e[qt.extensionName].params,p=Fd.format({[qt.extensionName]:[h]});c.push(`Sec-WebSocket-Extensions: ${p}`),d._extensions=e}this.emit("headers",c,r),o.write(c.concat(`\r
32
+ `).join(`\r
33
+ `)),o.removeListener("error",Bd),d.setSocket(o,l,{allowSynchronousEvents:this.options.allowSynchronousEvents,maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation}),this.clients&&(this.clients.add(d),d.on("close",()=>{this.clients.delete(d),this._shouldEmitClose&&!this.clients.size&&process.nextTick(Qn,this)})),u(d,r)}};Hd.exports=qa;function xS(t,e){for(let n of Object.keys(e))t.on(n,e[n]);return function(){for(let i of Object.keys(e))t.removeListener(i,e[i])}}function Qn(t){t._state=Vd,t.emit("close")}function Bd(){this.destroy()}function Zn(t,e,n,i){n=n||Sr.STATUS_CODES[e],i={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(n),...i},t.once("finish",t.destroy),t.end(`HTTP/1.1 ${e} ${Sr.STATUS_CODES[e]}\r
34
+ `+Object.keys(i).map(r=>`${r}: ${i[r]}`).join(`\r
35
+ `)+`\r
36
+ \r
37
+ `+n)}function Bt(t,e,n,i,r,o){if(t.listenerCount("wsClientError")){let l=new Error(r);Error.captureStackTrace(l,Bt),t.emit("wsClientError",l,n,e)}else Zn(n,i,r,o)}});var oo=et(ou(),1),Yp=et(Bf(),1);import{createWriteStream as GS}from"fs";import*as so from"fs/promises";import{writeFile as qS}from"fs/promises";import{Readable as BS}from"node:stream";import{finished as VS}from"node:stream/promises";var kS=et(Ld(),1),MS=et(gr(),1),DS=et(pn(),1),US=et(xa(),1),bS=et(Da(),1),LS=et(Ga(),1),Ba=et(Tr(),1),OS=et($d(),1);import*as zp from"path";var Xp,Qp;function TN(t){Xp=t.geminiUrl,Qp=t.vertexUrl}function HS(){return{geminiUrl:Xp,vertexUrl:Qp}}function $S(t,e,n,i){var r,o;if(!t?.baseUrl){let l=HS();return e?(r=l.vertexUrl)!==null&&r!==void 0?r:n:(o=l.geminiUrl)!==null&&o!==void 0?o:i}return t.baseUrl}var Qe=class{};function B(t,e){let n=/\{([^}]+)\}/g;return t.replace(n,(i,r)=>{if(Object.prototype.hasOwnProperty.call(e,r)){let o=e[r];return o!=null?String(o):""}else throw new Error(`Key '${r}' not found in valueMap.`)})}function a(t,e,n){for(let o=0;o<e.length-1;o++){let l=e[o];if(l.endsWith("[]")){let u=l.slice(0,-2);if(!(u in t))if(Array.isArray(n))t[u]=Array.from({length:n.length},()=>({}));else throw new Error(`Value must be a list given an array path ${l}`);if(Array.isArray(t[u])){let f=t[u];if(Array.isArray(n))for(let c=0;c<f.length;c++){let d=f[c];a(d,e.slice(o+1),n[c])}else for(let c of f)a(c,e.slice(o+1),n)}return}else if(l.endsWith("[0]")){let u=l.slice(0,-3);u in t||(t[u]=[{}]);let f=t[u];a(f[0],e.slice(o+1),n);return}(!t[l]||typeof t[l]!="object")&&(t[l]={}),t=t[l]}let i=e[e.length-1],r=t[i];if(r!==void 0){if(!n||typeof n=="object"&&Object.keys(n).length===0||n===r)return;if(typeof r=="object"&&typeof n=="object"&&r!==null&&n!==null)Object.assign(r,n);else throw new Error(`Cannot set value for an existing key. Key: ${i}`)}else i==="_self"&&typeof n=="object"&&n!==null&&!Array.isArray(n)?Object.assign(t,n):t[i]=n}function s(t,e,n=void 0){try{if(e.length===1&&e[0]==="_self")return t;for(let i=0;i<e.length;i++){if(typeof t!="object"||t===null)return n;let r=e[i];if(r.endsWith("[]")){let o=r.slice(0,-2);if(o in t){let l=t[o];return Array.isArray(l)?l.map(u=>s(u,e.slice(i+1),n)):n}else return n}else t=t[r]}return t}catch(i){if(i instanceof TypeError)return n;throw i}}function JS(t,e){for(let[n,i]of Object.entries(e)){let r=n.split("."),o=i.split("."),l=new Set,u=-1;for(let f=0;f<r.length;f++)if(r[f]==="*"){u=f;break}if(u!==-1&&o.length>u)for(let f=u;f<o.length;f++){let c=o[f];c!=="*"&&!c.endsWith("[]")&&!c.endsWith("[0]")&&l.add(c)}Ja(t,r,o,0,l)}}function Ja(t,e,n,i,r){if(i>=e.length||typeof t!="object"||t===null)return;let o=e[i];if(o.endsWith("[]")){let l=o.slice(0,-2),u=t;if(l in u&&Array.isArray(u[l]))for(let f of u[l])Ja(f,e,n,i+1,r)}else if(o==="*"){if(typeof t=="object"&&t!==null&&!Array.isArray(t)){let l=t,u=Object.keys(l).filter(c=>!c.startsWith("_")&&!r.has(c)),f={};for(let c of u)f[c]=l[c];for(let[c,d]of Object.entries(f)){let h=[];for(let p of n.slice(i))p==="*"?h.push(c):h.push(p);a(l,h,d)}for(let c of u)delete l[c]}}else{let l=t;o in l&&Ja(l[o],e,n,i+1,r)}}function $l(t){if(typeof t!="string")throw new Error("fromImageBytes must be a string");return t}function WS(t){let e={},n=s(t,["operationName"]);n!=null&&a(e,["operationName"],n);let i=s(t,["resourceName"]);return i!=null&&a(e,["_url","resourceName"],i),e}function KS(t){let e={},n=s(t,["name"]);n!=null&&a(e,["name"],n);let i=s(t,["metadata"]);i!=null&&a(e,["metadata"],i);let r=s(t,["done"]);r!=null&&a(e,["done"],r);let o=s(t,["error"]);o!=null&&a(e,["error"],o);let l=s(t,["response","generateVideoResponse"]);return l!=null&&a(e,["response"],zS(l)),e}function YS(t){let e={},n=s(t,["name"]);n!=null&&a(e,["name"],n);let i=s(t,["metadata"]);i!=null&&a(e,["metadata"],i);let r=s(t,["done"]);r!=null&&a(e,["done"],r);let o=s(t,["error"]);o!=null&&a(e,["error"],o);let l=s(t,["response"]);return l!=null&&a(e,["response"],XS(l)),e}function zS(t){let e={},n=s(t,["generatedSamples"]);if(n!=null){let o=n;Array.isArray(o)&&(o=o.map(l=>QS(l))),a(e,["generatedVideos"],o)}let i=s(t,["raiMediaFilteredCount"]);i!=null&&a(e,["raiMediaFilteredCount"],i);let r=s(t,["raiMediaFilteredReasons"]);return r!=null&&a(e,["raiMediaFilteredReasons"],r),e}function XS(t){let e={},n=s(t,["videos"]);if(n!=null){let o=n;Array.isArray(o)&&(o=o.map(l=>ZS(l))),a(e,["generatedVideos"],o)}let i=s(t,["raiMediaFilteredCount"]);i!=null&&a(e,["raiMediaFilteredCount"],i);let r=s(t,["raiMediaFilteredReasons"]);return r!=null&&a(e,["raiMediaFilteredReasons"],r),e}function QS(t){let e={},n=s(t,["video"]);return n!=null&&a(e,["video"],rC(n)),e}function ZS(t){let e={},n=s(t,["_self"]);return n!=null&&a(e,["video"],oC(n)),e}function jS(t){let e={},n=s(t,["operationName"]);return n!=null&&a(e,["_url","operationName"],n),e}function eC(t){let e={},n=s(t,["operationName"]);return n!=null&&a(e,["_url","operationName"],n),e}function tC(t){let e={},n=s(t,["name"]);n!=null&&a(e,["name"],n);let i=s(t,["metadata"]);i!=null&&a(e,["metadata"],i);let r=s(t,["done"]);r!=null&&a(e,["done"],r);let o=s(t,["error"]);o!=null&&a(e,["error"],o);let l=s(t,["response"]);return l!=null&&a(e,["response"],nC(l)),e}function nC(t){let e={},n=s(t,["sdkHttpResponse"]);n!=null&&a(e,["sdkHttpResponse"],n);let i=s(t,["parent"]);i!=null&&a(e,["parent"],i);let r=s(t,["documentName"]);return r!=null&&a(e,["documentName"],r),e}function Jl(t){let e={},n=s(t,["name"]);n!=null&&a(e,["name"],n);let i=s(t,["metadata"]);i!=null&&a(e,["metadata"],i);let r=s(t,["done"]);r!=null&&a(e,["done"],r);let o=s(t,["error"]);o!=null&&a(e,["error"],o);let l=s(t,["response"]);return l!=null&&a(e,["response"],iC(l)),e}function iC(t){let e={},n=s(t,["sdkHttpResponse"]);n!=null&&a(e,["sdkHttpResponse"],n);let i=s(t,["parent"]);i!=null&&a(e,["parent"],i);let r=s(t,["documentName"]);return r!=null&&a(e,["documentName"],r),e}function rC(t){let e={},n=s(t,["uri"]);n!=null&&a(e,["uri"],n);let i=s(t,["encodedVideo"]);i!=null&&a(e,["videoBytes"],$l(i));let r=s(t,["encoding"]);return r!=null&&a(e,["mimeType"],r),e}function oC(t){let e={},n=s(t,["gcsUri"]);n!=null&&a(e,["uri"],n);let i=s(t,["bytesBase64Encoded"]);i!=null&&a(e,["videoBytes"],$l(i));let r=s(t,["mimeType"]);return r!=null&&a(e,["mimeType"],r),e}var Jd;(function(t){t.LANGUAGE_UNSPECIFIED="LANGUAGE_UNSPECIFIED",t.PYTHON="PYTHON"})(Jd||(Jd={}));var Wd;(function(t){t.OUTCOME_UNSPECIFIED="OUTCOME_UNSPECIFIED",t.OUTCOME_OK="OUTCOME_OK",t.OUTCOME_FAILED="OUTCOME_FAILED",t.OUTCOME_DEADLINE_EXCEEDED="OUTCOME_DEADLINE_EXCEEDED"})(Wd||(Wd={}));var Kd;(function(t){t.SCHEDULING_UNSPECIFIED="SCHEDULING_UNSPECIFIED",t.SILENT="SILENT",t.WHEN_IDLE="WHEN_IDLE",t.INTERRUPT="INTERRUPT"})(Kd||(Kd={}));var It;(function(t){t.TYPE_UNSPECIFIED="TYPE_UNSPECIFIED",t.STRING="STRING",t.NUMBER="NUMBER",t.INTEGER="INTEGER",t.BOOLEAN="BOOLEAN",t.ARRAY="ARRAY",t.OBJECT="OBJECT",t.NULL="NULL"})(It||(It={}));var Yd;(function(t){t.ENVIRONMENT_UNSPECIFIED="ENVIRONMENT_UNSPECIFIED",t.ENVIRONMENT_BROWSER="ENVIRONMENT_BROWSER"})(Yd||(Yd={}));var zd;(function(t){t.AUTH_TYPE_UNSPECIFIED="AUTH_TYPE_UNSPECIFIED",t.NO_AUTH="NO_AUTH",t.API_KEY_AUTH="API_KEY_AUTH",t.HTTP_BASIC_AUTH="HTTP_BASIC_AUTH",t.GOOGLE_SERVICE_ACCOUNT_AUTH="GOOGLE_SERVICE_ACCOUNT_AUTH",t.OAUTH="OAUTH",t.OIDC_AUTH="OIDC_AUTH"})(zd||(zd={}));var Xd;(function(t){t.HTTP_IN_UNSPECIFIED="HTTP_IN_UNSPECIFIED",t.HTTP_IN_QUERY="HTTP_IN_QUERY",t.HTTP_IN_HEADER="HTTP_IN_HEADER",t.HTTP_IN_PATH="HTTP_IN_PATH",t.HTTP_IN_BODY="HTTP_IN_BODY",t.HTTP_IN_COOKIE="HTTP_IN_COOKIE"})(Xd||(Xd={}));var Qd;(function(t){t.API_SPEC_UNSPECIFIED="API_SPEC_UNSPECIFIED",t.SIMPLE_SEARCH="SIMPLE_SEARCH",t.ELASTIC_SEARCH="ELASTIC_SEARCH"})(Qd||(Qd={}));var Zd;(function(t){t.PHISH_BLOCK_THRESHOLD_UNSPECIFIED="PHISH_BLOCK_THRESHOLD_UNSPECIFIED",t.BLOCK_LOW_AND_ABOVE="BLOCK_LOW_AND_ABOVE",t.BLOCK_MEDIUM_AND_ABOVE="BLOCK_MEDIUM_AND_ABOVE",t.BLOCK_HIGH_AND_ABOVE="BLOCK_HIGH_AND_ABOVE",t.BLOCK_HIGHER_AND_ABOVE="BLOCK_HIGHER_AND_ABOVE",t.BLOCK_VERY_HIGH_AND_ABOVE="BLOCK_VERY_HIGH_AND_ABOVE",t.BLOCK_ONLY_EXTREMELY_HIGH="BLOCK_ONLY_EXTREMELY_HIGH"})(Zd||(Zd={}));var jd;(function(t){t.UNSPECIFIED="UNSPECIFIED",t.BLOCKING="BLOCKING",t.NON_BLOCKING="NON_BLOCKING"})(jd||(jd={}));var eh;(function(t){t.MODE_UNSPECIFIED="MODE_UNSPECIFIED",t.MODE_DYNAMIC="MODE_DYNAMIC"})(eh||(eh={}));var th;(function(t){t.MODE_UNSPECIFIED="MODE_UNSPECIFIED",t.AUTO="AUTO",t.ANY="ANY",t.NONE="NONE",t.VALIDATED="VALIDATED"})(th||(th={}));var nh;(function(t){t.THINKING_LEVEL_UNSPECIFIED="THINKING_LEVEL_UNSPECIFIED",t.MINIMAL="MINIMAL",t.LOW="LOW",t.MEDIUM="MEDIUM",t.HIGH="HIGH"})(nh||(nh={}));var ih;(function(t){t.DONT_ALLOW="DONT_ALLOW",t.ALLOW_ADULT="ALLOW_ADULT",t.ALLOW_ALL="ALLOW_ALL"})(ih||(ih={}));var rh;(function(t){t.PROMINENT_PEOPLE_UNSPECIFIED="PROMINENT_PEOPLE_UNSPECIFIED",t.ALLOW_PROMINENT_PEOPLE="ALLOW_PROMINENT_PEOPLE",t.BLOCK_PROMINENT_PEOPLE="BLOCK_PROMINENT_PEOPLE"})(rh||(rh={}));var oh;(function(t){t.HARM_CATEGORY_UNSPECIFIED="HARM_CATEGORY_UNSPECIFIED",t.HARM_CATEGORY_HARASSMENT="HARM_CATEGORY_HARASSMENT",t.HARM_CATEGORY_HATE_SPEECH="HARM_CATEGORY_HATE_SPEECH",t.HARM_CATEGORY_SEXUALLY_EXPLICIT="HARM_CATEGORY_SEXUALLY_EXPLICIT",t.HARM_CATEGORY_DANGEROUS_CONTENT="HARM_CATEGORY_DANGEROUS_CONTENT",t.HARM_CATEGORY_CIVIC_INTEGRITY="HARM_CATEGORY_CIVIC_INTEGRITY",t.HARM_CATEGORY_IMAGE_HATE="HARM_CATEGORY_IMAGE_HATE",t.HARM_CATEGORY_IMAGE_DANGEROUS_CONTENT="HARM_CATEGORY_IMAGE_DANGEROUS_CONTENT",t.HARM_CATEGORY_IMAGE_HARASSMENT="HARM_CATEGORY_IMAGE_HARASSMENT",t.HARM_CATEGORY_IMAGE_SEXUALLY_EXPLICIT="HARM_CATEGORY_IMAGE_SEXUALLY_EXPLICIT",t.HARM_CATEGORY_JAILBREAK="HARM_CATEGORY_JAILBREAK"})(oh||(oh={}));var sh;(function(t){t.HARM_BLOCK_METHOD_UNSPECIFIED="HARM_BLOCK_METHOD_UNSPECIFIED",t.SEVERITY="SEVERITY",t.PROBABILITY="PROBABILITY"})(sh||(sh={}));var ah;(function(t){t.HARM_BLOCK_THRESHOLD_UNSPECIFIED="HARM_BLOCK_THRESHOLD_UNSPECIFIED",t.BLOCK_LOW_AND_ABOVE="BLOCK_LOW_AND_ABOVE",t.BLOCK_MEDIUM_AND_ABOVE="BLOCK_MEDIUM_AND_ABOVE",t.BLOCK_ONLY_HIGH="BLOCK_ONLY_HIGH",t.BLOCK_NONE="BLOCK_NONE",t.OFF="OFF"})(ah||(ah={}));var lh;(function(t){t.FINISH_REASON_UNSPECIFIED="FINISH_REASON_UNSPECIFIED",t.STOP="STOP",t.MAX_TOKENS="MAX_TOKENS",t.SAFETY="SAFETY",t.RECITATION="RECITATION",t.LANGUAGE="LANGUAGE",t.OTHER="OTHER",t.BLOCKLIST="BLOCKLIST",t.PROHIBITED_CONTENT="PROHIBITED_CONTENT",t.SPII="SPII",t.MALFORMED_FUNCTION_CALL="MALFORMED_FUNCTION_CALL",t.IMAGE_SAFETY="IMAGE_SAFETY",t.UNEXPECTED_TOOL_CALL="UNEXPECTED_TOOL_CALL",t.IMAGE_PROHIBITED_CONTENT="IMAGE_PROHIBITED_CONTENT",t.NO_IMAGE="NO_IMAGE",t.IMAGE_RECITATION="IMAGE_RECITATION",t.IMAGE_OTHER="IMAGE_OTHER"})(lh||(lh={}));var uh;(function(t){t.HARM_PROBABILITY_UNSPECIFIED="HARM_PROBABILITY_UNSPECIFIED",t.NEGLIGIBLE="NEGLIGIBLE",t.LOW="LOW",t.MEDIUM="MEDIUM",t.HIGH="HIGH"})(uh||(uh={}));var ch;(function(t){t.HARM_SEVERITY_UNSPECIFIED="HARM_SEVERITY_UNSPECIFIED",t.HARM_SEVERITY_NEGLIGIBLE="HARM_SEVERITY_NEGLIGIBLE",t.HARM_SEVERITY_LOW="HARM_SEVERITY_LOW",t.HARM_SEVERITY_MEDIUM="HARM_SEVERITY_MEDIUM",t.HARM_SEVERITY_HIGH="HARM_SEVERITY_HIGH"})(ch||(ch={}));var fh;(function(t){t.URL_RETRIEVAL_STATUS_UNSPECIFIED="URL_RETRIEVAL_STATUS_UNSPECIFIED",t.URL_RETRIEVAL_STATUS_SUCCESS="URL_RETRIEVAL_STATUS_SUCCESS",t.URL_RETRIEVAL_STATUS_ERROR="URL_RETRIEVAL_STATUS_ERROR",t.URL_RETRIEVAL_STATUS_PAYWALL="URL_RETRIEVAL_STATUS_PAYWALL",t.URL_RETRIEVAL_STATUS_UNSAFE="URL_RETRIEVAL_STATUS_UNSAFE"})(fh||(fh={}));var dh;(function(t){t.BLOCKED_REASON_UNSPECIFIED="BLOCKED_REASON_UNSPECIFIED",t.SAFETY="SAFETY",t.OTHER="OTHER",t.BLOCKLIST="BLOCKLIST",t.PROHIBITED_CONTENT="PROHIBITED_CONTENT",t.IMAGE_SAFETY="IMAGE_SAFETY",t.MODEL_ARMOR="MODEL_ARMOR",t.JAILBREAK="JAILBREAK"})(dh||(dh={}));var hh;(function(t){t.TRAFFIC_TYPE_UNSPECIFIED="TRAFFIC_TYPE_UNSPECIFIED",t.ON_DEMAND="ON_DEMAND",t.ON_DEMAND_PRIORITY="ON_DEMAND_PRIORITY",t.ON_DEMAND_FLEX="ON_DEMAND_FLEX",t.PROVISIONED_THROUGHPUT="PROVISIONED_THROUGHPUT"})(hh||(hh={}));var Pr;(function(t){t.MODALITY_UNSPECIFIED="MODALITY_UNSPECIFIED",t.TEXT="TEXT",t.IMAGE="IMAGE",t.AUDIO="AUDIO"})(Pr||(Pr={}));var ph;(function(t){t.MODEL_STAGE_UNSPECIFIED="MODEL_STAGE_UNSPECIFIED",t.UNSTABLE_EXPERIMENTAL="UNSTABLE_EXPERIMENTAL",t.EXPERIMENTAL="EXPERIMENTAL",t.PREVIEW="PREVIEW",t.STABLE="STABLE",t.LEGACY="LEGACY",t.DEPRECATED="DEPRECATED",t.RETIRED="RETIRED"})(ph||(ph={}));var mh;(function(t){t.MEDIA_RESOLUTION_UNSPECIFIED="MEDIA_RESOLUTION_UNSPECIFIED",t.MEDIA_RESOLUTION_LOW="MEDIA_RESOLUTION_LOW",t.MEDIA_RESOLUTION_MEDIUM="MEDIA_RESOLUTION_MEDIUM",t.MEDIA_RESOLUTION_HIGH="MEDIA_RESOLUTION_HIGH"})(mh||(mh={}));var gh;(function(t){t.TUNING_MODE_UNSPECIFIED="TUNING_MODE_UNSPECIFIED",t.TUNING_MODE_FULL="TUNING_MODE_FULL",t.TUNING_MODE_PEFT_ADAPTER="TUNING_MODE_PEFT_ADAPTER"})(gh||(gh={}));var yh;(function(t){t.ADAPTER_SIZE_UNSPECIFIED="ADAPTER_SIZE_UNSPECIFIED",t.ADAPTER_SIZE_ONE="ADAPTER_SIZE_ONE",t.ADAPTER_SIZE_TWO="ADAPTER_SIZE_TWO",t.ADAPTER_SIZE_FOUR="ADAPTER_SIZE_FOUR",t.ADAPTER_SIZE_EIGHT="ADAPTER_SIZE_EIGHT",t.ADAPTER_SIZE_SIXTEEN="ADAPTER_SIZE_SIXTEEN",t.ADAPTER_SIZE_THIRTY_TWO="ADAPTER_SIZE_THIRTY_TWO"})(yh||(yh={}));var Wa;(function(t){t.JOB_STATE_UNSPECIFIED="JOB_STATE_UNSPECIFIED",t.JOB_STATE_QUEUED="JOB_STATE_QUEUED",t.JOB_STATE_PENDING="JOB_STATE_PENDING",t.JOB_STATE_RUNNING="JOB_STATE_RUNNING",t.JOB_STATE_SUCCEEDED="JOB_STATE_SUCCEEDED",t.JOB_STATE_FAILED="JOB_STATE_FAILED",t.JOB_STATE_CANCELLING="JOB_STATE_CANCELLING",t.JOB_STATE_CANCELLED="JOB_STATE_CANCELLED",t.JOB_STATE_PAUSED="JOB_STATE_PAUSED",t.JOB_STATE_EXPIRED="JOB_STATE_EXPIRED",t.JOB_STATE_UPDATING="JOB_STATE_UPDATING",t.JOB_STATE_PARTIALLY_SUCCEEDED="JOB_STATE_PARTIALLY_SUCCEEDED"})(Wa||(Wa={}));var _h;(function(t){t.TUNING_JOB_STATE_UNSPECIFIED="TUNING_JOB_STATE_UNSPECIFIED",t.TUNING_JOB_STATE_WAITING_FOR_QUOTA="TUNING_JOB_STATE_WAITING_FOR_QUOTA",t.TUNING_JOB_STATE_PROCESSING_DATASET="TUNING_JOB_STATE_PROCESSING_DATASET",t.TUNING_JOB_STATE_WAITING_FOR_CAPACITY="TUNING_JOB_STATE_WAITING_FOR_CAPACITY",t.TUNING_JOB_STATE_TUNING="TUNING_JOB_STATE_TUNING",t.TUNING_JOB_STATE_POST_PROCESSING="TUNING_JOB_STATE_POST_PROCESSING"})(_h||(_h={}));var Eh;(function(t){t.AGGREGATION_METRIC_UNSPECIFIED="AGGREGATION_METRIC_UNSPECIFIED",t.AVERAGE="AVERAGE",t.MODE="MODE",t.STANDARD_DEVIATION="STANDARD_DEVIATION",t.VARIANCE="VARIANCE",t.MINIMUM="MINIMUM",t.MAXIMUM="MAXIMUM",t.MEDIAN="MEDIAN",t.PERCENTILE_P90="PERCENTILE_P90",t.PERCENTILE_P95="PERCENTILE_P95",t.PERCENTILE_P99="PERCENTILE_P99"})(Eh||(Eh={}));var Th;(function(t){t.PAIRWISE_CHOICE_UNSPECIFIED="PAIRWISE_CHOICE_UNSPECIFIED",t.BASELINE="BASELINE",t.CANDIDATE="CANDIDATE",t.TIE="TIE"})(Th||(Th={}));var Sh;(function(t){t.TUNING_TASK_UNSPECIFIED="TUNING_TASK_UNSPECIFIED",t.TUNING_TASK_I2V="TUNING_TASK_I2V",t.TUNING_TASK_T2V="TUNING_TASK_T2V",t.TUNING_TASK_R2V="TUNING_TASK_R2V"})(Sh||(Sh={}));var Ch;(function(t){t.STATE_UNSPECIFIED="STATE_UNSPECIFIED",t.STATE_PENDING="STATE_PENDING",t.STATE_ACTIVE="STATE_ACTIVE",t.STATE_FAILED="STATE_FAILED"})(Ch||(Ch={}));var vh;(function(t){t.MEDIA_RESOLUTION_UNSPECIFIED="MEDIA_RESOLUTION_UNSPECIFIED",t.MEDIA_RESOLUTION_LOW="MEDIA_RESOLUTION_LOW",t.MEDIA_RESOLUTION_MEDIUM="MEDIA_RESOLUTION_MEDIUM",t.MEDIA_RESOLUTION_HIGH="MEDIA_RESOLUTION_HIGH",t.MEDIA_RESOLUTION_ULTRA_HIGH="MEDIA_RESOLUTION_ULTRA_HIGH"})(vh||(vh={}));var Ah;(function(t){t.TOOL_TYPE_UNSPECIFIED="TOOL_TYPE_UNSPECIFIED",t.GOOGLE_SEARCH_WEB="GOOGLE_SEARCH_WEB",t.GOOGLE_SEARCH_IMAGE="GOOGLE_SEARCH_IMAGE",t.URL_CONTEXT="URL_CONTEXT",t.GOOGLE_MAPS="GOOGLE_MAPS",t.FILE_SEARCH="FILE_SEARCH"})(Ah||(Ah={}));var Ka;(function(t){t.COLLECTION="COLLECTION"})(Ka||(Ka={}));var wh;(function(t){t.SERVICE_TIER_UNSPECIFIED="SERVICE_TIER_UNSPECIFIED",t.SERVICE_TIER_FLEX="SERVICE_TIER_FLEX",t.SERVICE_TIER_STANDARD="SERVICE_TIER_STANDARD",t.SERVICE_TIER_PRIORITY="SERVICE_TIER_PRIORITY"})(wh||(wh={}));var Ih;(function(t){t.FEATURE_SELECTION_PREFERENCE_UNSPECIFIED="FEATURE_SELECTION_PREFERENCE_UNSPECIFIED",t.PRIORITIZE_QUALITY="PRIORITIZE_QUALITY",t.BALANCED="BALANCED",t.PRIORITIZE_COST="PRIORITIZE_COST"})(Ih||(Ih={}));var Nr;(function(t){t.PREDICT="PREDICT",t.EMBED_CONTENT="EMBED_CONTENT"})(Nr||(Nr={}));var Rh;(function(t){t.BLOCK_LOW_AND_ABOVE="BLOCK_LOW_AND_ABOVE",t.BLOCK_MEDIUM_AND_ABOVE="BLOCK_MEDIUM_AND_ABOVE",t.BLOCK_ONLY_HIGH="BLOCK_ONLY_HIGH",t.BLOCK_NONE="BLOCK_NONE"})(Rh||(Rh={}));var Ph;(function(t){t.auto="auto",t.en="en",t.ja="ja",t.ko="ko",t.hi="hi",t.zh="zh",t.pt="pt",t.es="es"})(Ph||(Ph={}));var Nh;(function(t){t.MASK_MODE_DEFAULT="MASK_MODE_DEFAULT",t.MASK_MODE_USER_PROVIDED="MASK_MODE_USER_PROVIDED",t.MASK_MODE_BACKGROUND="MASK_MODE_BACKGROUND",t.MASK_MODE_FOREGROUND="MASK_MODE_FOREGROUND",t.MASK_MODE_SEMANTIC="MASK_MODE_SEMANTIC"})(Nh||(Nh={}));var xh;(function(t){t.CONTROL_TYPE_DEFAULT="CONTROL_TYPE_DEFAULT",t.CONTROL_TYPE_CANNY="CONTROL_TYPE_CANNY",t.CONTROL_TYPE_SCRIBBLE="CONTROL_TYPE_SCRIBBLE",t.CONTROL_TYPE_FACE_MESH="CONTROL_TYPE_FACE_MESH"})(xh||(xh={}));var kh;(function(t){t.SUBJECT_TYPE_DEFAULT="SUBJECT_TYPE_DEFAULT",t.SUBJECT_TYPE_PERSON="SUBJECT_TYPE_PERSON",t.SUBJECT_TYPE_ANIMAL="SUBJECT_TYPE_ANIMAL",t.SUBJECT_TYPE_PRODUCT="SUBJECT_TYPE_PRODUCT"})(kh||(kh={}));var Mh;(function(t){t.EDIT_MODE_DEFAULT="EDIT_MODE_DEFAULT",t.EDIT_MODE_INPAINT_REMOVAL="EDIT_MODE_INPAINT_REMOVAL",t.EDIT_MODE_INPAINT_INSERTION="EDIT_MODE_INPAINT_INSERTION",t.EDIT_MODE_OUTPAINT="EDIT_MODE_OUTPAINT",t.EDIT_MODE_CONTROLLED_EDITING="EDIT_MODE_CONTROLLED_EDITING",t.EDIT_MODE_STYLE="EDIT_MODE_STYLE",t.EDIT_MODE_BGSWAP="EDIT_MODE_BGSWAP",t.EDIT_MODE_PRODUCT_IMAGE="EDIT_MODE_PRODUCT_IMAGE"})(Mh||(Mh={}));var Dh;(function(t){t.FOREGROUND="FOREGROUND",t.BACKGROUND="BACKGROUND",t.PROMPT="PROMPT",t.SEMANTIC="SEMANTIC",t.INTERACTIVE="INTERACTIVE"})(Dh||(Dh={}));var Uh;(function(t){t.ASSET="ASSET",t.STYLE="STYLE"})(Uh||(Uh={}));var bh;(function(t){t.INSERT="INSERT",t.REMOVE="REMOVE",t.REMOVE_STATIC="REMOVE_STATIC",t.OUTPAINT="OUTPAINT"})(bh||(bh={}));var Lh;(function(t){t.OPTIMIZED="OPTIMIZED",t.LOSSLESS="LOSSLESS"})(Lh||(Lh={}));var Oh;(function(t){t.SUPERVISED_FINE_TUNING="SUPERVISED_FINE_TUNING",t.PREFERENCE_TUNING="PREFERENCE_TUNING",t.DISTILLATION="DISTILLATION"})(Oh||(Oh={}));var Fh;(function(t){t.STATE_UNSPECIFIED="STATE_UNSPECIFIED",t.PROCESSING="PROCESSING",t.ACTIVE="ACTIVE",t.FAILED="FAILED"})(Fh||(Fh={}));var Gh;(function(t){t.SOURCE_UNSPECIFIED="SOURCE_UNSPECIFIED",t.UPLOADED="UPLOADED",t.GENERATED="GENERATED",t.REGISTERED="REGISTERED"})(Gh||(Gh={}));var qh;(function(t){t.TURN_COMPLETE_REASON_UNSPECIFIED="TURN_COMPLETE_REASON_UNSPECIFIED",t.MALFORMED_FUNCTION_CALL="MALFORMED_FUNCTION_CALL",t.RESPONSE_REJECTED="RESPONSE_REJECTED",t.NEED_MORE_INPUT="NEED_MORE_INPUT"})(qh||(qh={}));var Bh;(function(t){t.MODALITY_UNSPECIFIED="MODALITY_UNSPECIFIED",t.TEXT="TEXT",t.IMAGE="IMAGE",t.VIDEO="VIDEO",t.AUDIO="AUDIO",t.DOCUMENT="DOCUMENT"})(Bh||(Bh={}));var Vh;(function(t){t.VAD_SIGNAL_TYPE_UNSPECIFIED="VAD_SIGNAL_TYPE_UNSPECIFIED",t.VAD_SIGNAL_TYPE_SOS="VAD_SIGNAL_TYPE_SOS",t.VAD_SIGNAL_TYPE_EOS="VAD_SIGNAL_TYPE_EOS"})(Vh||(Vh={}));var Hh;(function(t){t.TYPE_UNSPECIFIED="TYPE_UNSPECIFIED",t.ACTIVITY_START="ACTIVITY_START",t.ACTIVITY_END="ACTIVITY_END"})(Hh||(Hh={}));var $h;(function(t){t.START_SENSITIVITY_UNSPECIFIED="START_SENSITIVITY_UNSPECIFIED",t.START_SENSITIVITY_HIGH="START_SENSITIVITY_HIGH",t.START_SENSITIVITY_LOW="START_SENSITIVITY_LOW"})($h||($h={}));var Jh;(function(t){t.END_SENSITIVITY_UNSPECIFIED="END_SENSITIVITY_UNSPECIFIED",t.END_SENSITIVITY_HIGH="END_SENSITIVITY_HIGH",t.END_SENSITIVITY_LOW="END_SENSITIVITY_LOW"})(Jh||(Jh={}));var Wh;(function(t){t.ACTIVITY_HANDLING_UNSPECIFIED="ACTIVITY_HANDLING_UNSPECIFIED",t.START_OF_ACTIVITY_INTERRUPTS="START_OF_ACTIVITY_INTERRUPTS",t.NO_INTERRUPTION="NO_INTERRUPTION"})(Wh||(Wh={}));var Kh;(function(t){t.TURN_COVERAGE_UNSPECIFIED="TURN_COVERAGE_UNSPECIFIED",t.TURN_INCLUDES_ONLY_ACTIVITY="TURN_INCLUDES_ONLY_ACTIVITY",t.TURN_INCLUDES_ALL_INPUT="TURN_INCLUDES_ALL_INPUT",t.TURN_INCLUDES_AUDIO_ACTIVITY_AND_ALL_VIDEO="TURN_INCLUDES_AUDIO_ACTIVITY_AND_ALL_VIDEO"})(Kh||(Kh={}));var Yh;(function(t){t.SCALE_UNSPECIFIED="SCALE_UNSPECIFIED",t.C_MAJOR_A_MINOR="C_MAJOR_A_MINOR",t.D_FLAT_MAJOR_B_FLAT_MINOR="D_FLAT_MAJOR_B_FLAT_MINOR",t.D_MAJOR_B_MINOR="D_MAJOR_B_MINOR",t.E_FLAT_MAJOR_C_MINOR="E_FLAT_MAJOR_C_MINOR",t.E_MAJOR_D_FLAT_MINOR="E_MAJOR_D_FLAT_MINOR",t.F_MAJOR_D_MINOR="F_MAJOR_D_MINOR",t.G_FLAT_MAJOR_E_FLAT_MINOR="G_FLAT_MAJOR_E_FLAT_MINOR",t.G_MAJOR_E_MINOR="G_MAJOR_E_MINOR",t.A_FLAT_MAJOR_F_MINOR="A_FLAT_MAJOR_F_MINOR",t.A_MAJOR_G_FLAT_MINOR="A_MAJOR_G_FLAT_MINOR",t.B_FLAT_MAJOR_G_MINOR="B_FLAT_MAJOR_G_MINOR",t.B_MAJOR_A_FLAT_MINOR="B_MAJOR_A_FLAT_MINOR"})(Yh||(Yh={}));var zh;(function(t){t.MUSIC_GENERATION_MODE_UNSPECIFIED="MUSIC_GENERATION_MODE_UNSPECIFIED",t.QUALITY="QUALITY",t.DIVERSITY="DIVERSITY",t.VOCALIZATION="VOCALIZATION"})(zh||(zh={}));var Tn;(function(t){t.PLAYBACK_CONTROL_UNSPECIFIED="PLAYBACK_CONTROL_UNSPECIFIED",t.PLAY="PLAY",t.PAUSE="PAUSE",t.STOP="STOP",t.RESET_CONTEXT="RESET_CONTEXT"})(Tn||(Tn={}));var Xh=class{},Qh=class{},Zh=class{},jh=class{};function SN(t,e){return{inlineData:{data:t,mimeType:e}}}function CN(t,e){return{fileData:{fileUri:t,mimeType:e}}}var ep=class{};function vN(t,e,n){return Object.assign({fileData:{fileUri:t,mimeType:e}},n&&{mediaResolution:{level:n}})}function tp(t){return{text:t}}function AN(t,e){return{functionCall:{name:t,args:e}}}function wN(t,e,n,i=[]){return{functionResponse:Object.assign({id:t,name:e,response:n},i.length>0&&{parts:i})}}function IN(t,e,n){return Object.assign({inlineData:{data:t,mimeType:e}},n&&{mediaResolution:{level:n}})}function RN(t,e){return{codeExecutionResult:{outcome:t,output:e}}}function PN(t,e){return{executableCode:{code:t,language:e}}}function np(t){return typeof t=="object"&&t!==null?"fileData"in t||"text"in t||"functionCall"in t||"functionResponse"in t||"inlineData"in t||"videoMetadata"in t||"codeExecutionResult"in t||"executableCode"in t:!1}function Zp(t){let e=[];if(typeof t=="string")e.push(tp(t));else if(np(t))e.push(t);else if(Array.isArray(t)){if(t.length===0)throw new Error("partOrString cannot be an empty array");for(let n of t)if(typeof n=="string")e.push(tp(n));else if(np(n))e.push(n);else throw new Error("element in PartUnion must be a Part object or string")}else throw new Error("partOrString must be a Part object, string, or array");return e}function NN(t){return{role:"user",parts:Zp(t)}}function xN(t){return{role:"model",parts:Zp(t)}}var Jt=class{constructor(e){let n={};for(let i of e.headers.entries())n[i[0]]=i[1];this.headers=n,this.responseInternal=e}json(){return this.responseInternal.json()}},ip=class{},rp=class{},Ht=class{get text(){var e,n,i,r,o,l,u,f;if(((r=(i=(n=(e=this.candidates)===null||e===void 0?void 0:e[0])===null||n===void 0?void 0:n.content)===null||i===void 0?void 0:i.parts)===null||r===void 0?void 0:r.length)===0)return;this.candidates&&this.candidates.length>1&&console.warn("there are multiple candidates in the response, returning text from the first one.");let c="",d=!1,h=[];for(let p of(f=(u=(l=(o=this.candidates)===null||o===void 0?void 0:o[0])===null||l===void 0?void 0:l.content)===null||u===void 0?void 0:u.parts)!==null&&f!==void 0?f:[]){for(let[m,_]of Object.entries(p))m!=="text"&&m!=="thought"&&m!=="thoughtSignature"&&(_!==null||_!==void 0)&&h.push(m);if(typeof p.text=="string"){if(typeof p.thought=="boolean"&&p.thought)continue;d=!0,c+=p.text}}return h.length>0&&console.warn(`there are non-text parts ${h} in the response, returning concatenation of all text parts. Please refer to the non text parts for a full response from model.`),d?c:void 0}get data(){var e,n,i,r,o,l,u,f;if(((r=(i=(n=(e=this.candidates)===null||e===void 0?void 0:e[0])===null||n===void 0?void 0:n.content)===null||i===void 0?void 0:i.parts)===null||r===void 0?void 0:r.length)===0)return;this.candidates&&this.candidates.length>1&&console.warn("there are multiple candidates in the response, returning data from the first one.");let c="",d=[];for(let h of(f=(u=(l=(o=this.candidates)===null||o===void 0?void 0:o[0])===null||l===void 0?void 0:l.content)===null||u===void 0?void 0:u.parts)!==null&&f!==void 0?f:[]){for(let[p,m]of Object.entries(h))p!=="inlineData"&&(m!==null||m!==void 0)&&d.push(p);h.inlineData&&typeof h.inlineData.data=="string"&&(c+=atob(h.inlineData.data))}return d.length>0&&console.warn(`there are non-data parts ${d} in the response, returning concatenation of all data parts. Please refer to the non data parts for a full response from model.`),c.length>0?btoa(c):void 0}get functionCalls(){var e,n,i,r,o,l,u,f;if(((r=(i=(n=(e=this.candidates)===null||e===void 0?void 0:e[0])===null||n===void 0?void 0:n.content)===null||i===void 0?void 0:i.parts)===null||r===void 0?void 0:r.length)===0)return;this.candidates&&this.candidates.length>1&&console.warn("there are multiple candidates in the response, returning function calls from the first one.");let c=(f=(u=(l=(o=this.candidates)===null||o===void 0?void 0:o[0])===null||l===void 0?void 0:l.content)===null||u===void 0?void 0:u.parts)===null||f===void 0?void 0:f.filter(d=>d.functionCall).map(d=>d.functionCall).filter(d=>d!==void 0);if(c?.length!==0)return c}get executableCode(){var e,n,i,r,o,l,u,f,c;if(((r=(i=(n=(e=this.candidates)===null||e===void 0?void 0:e[0])===null||n===void 0?void 0:n.content)===null||i===void 0?void 0:i.parts)===null||r===void 0?void 0:r.length)===0)return;this.candidates&&this.candidates.length>1&&console.warn("there are multiple candidates in the response, returning executable code from the first one.");let d=(f=(u=(l=(o=this.candidates)===null||o===void 0?void 0:o[0])===null||l===void 0?void 0:l.content)===null||u===void 0?void 0:u.parts)===null||f===void 0?void 0:f.filter(h=>h.executableCode).map(h=>h.executableCode).filter(h=>h!==void 0);if(d?.length!==0)return(c=d?.[0])===null||c===void 0?void 0:c.code}get codeExecutionResult(){var e,n,i,r,o,l,u,f,c;if(((r=(i=(n=(e=this.candidates)===null||e===void 0?void 0:e[0])===null||n===void 0?void 0:n.content)===null||i===void 0?void 0:i.parts)===null||r===void 0?void 0:r.length)===0)return;this.candidates&&this.candidates.length>1&&console.warn("there are multiple candidates in the response, returning code execution result from the first one.");let d=(f=(u=(l=(o=this.candidates)===null||o===void 0?void 0:o[0])===null||l===void 0?void 0:l.content)===null||u===void 0?void 0:u.parts)===null||f===void 0?void 0:f.filter(h=>h.codeExecutionResult).map(h=>h.codeExecutionResult).filter(h=>h!==void 0);if(d?.length!==0)return(c=d?.[0])===null||c===void 0?void 0:c.output}},xr=class{},kr=class{},Ya=class{},za=class{},Xa=class{},Qa=class{},Mr=class{},Dr=class{},Ur=class{},Za=class{},op=class{},br=class t{_fromAPIResponse({apiResponse:e,_isVertexAI:n}){let i=new t,r,o=e;return n?r=YS(o):r=KS(o),Object.assign(i,r),i}},sp=class{},Lr=class{},Or=class{},Fr=class{},Gr=class{},ja=class{},el=class{},tl=class{},ap=class{},nl=class t{_fromAPIResponse({apiResponse:e,_isVertexAI:n}){let i=new t,o=tC(e);return Object.assign(i,o),i}},il=class{},rl=class{},ol=class{},sl=class{},lp=class{},up=class{},cp=class{},qr=class{},fp=class{},dp=class{toReferenceImageAPI(){return{referenceType:"REFERENCE_TYPE_RAW",referenceImage:this.referenceImage,referenceId:this.referenceId}}},hp=class{toReferenceImageAPI(){return{referenceType:"REFERENCE_TYPE_MASK",referenceImage:this.referenceImage,referenceId:this.referenceId,maskImageConfig:this.config}}},pp=class{toReferenceImageAPI(){return{referenceType:"REFERENCE_TYPE_CONTROL",referenceImage:this.referenceImage,referenceId:this.referenceId,controlImageConfig:this.config}}},mp=class{toReferenceImageAPI(){return{referenceType:"REFERENCE_TYPE_STYLE",referenceImage:this.referenceImage,referenceId:this.referenceId,styleImageConfig:this.config}}},gp=class{toReferenceImageAPI(){return{referenceType:"REFERENCE_TYPE_SUBJECT",referenceImage:this.referenceImage,referenceId:this.referenceId,subjectImageConfig:this.config}}},yp=class{toReferenceImageAPI(){return{referenceType:"REFERENCE_TYPE_CONTENT",referenceImage:this.referenceImage,referenceId:this.referenceId}}},al=class{get text(){var e,n,i;let r="",o=!1,l=[];for(let u of(i=(n=(e=this.serverContent)===null||e===void 0?void 0:e.modelTurn)===null||n===void 0?void 0:n.parts)!==null&&i!==void 0?i:[]){for(let[f,c]of Object.entries(u))f!=="text"&&f!=="thought"&&c!==null&&l.push(f);if(typeof u.text=="string"){if(typeof u.thought=="boolean"&&u.thought)continue;o=!0,r+=u.text}}return l.length>0&&console.warn(`there are non-text parts ${l} in the response, returning concatenation of all text parts. Please refer to the non text parts for a full response from model.`),o?r:void 0}get data(){var e,n,i;let r="",o=[];for(let l of(i=(n=(e=this.serverContent)===null||e===void 0?void 0:e.modelTurn)===null||n===void 0?void 0:n.parts)!==null&&i!==void 0?i:[]){for(let[u,f]of Object.entries(l))u!=="inlineData"&&f!==null&&o.push(u);l.inlineData&&typeof l.inlineData.data=="string"&&(r+=atob(l.inlineData.data))}return o.length>0&&console.warn(`there are non-data parts ${o} in the response, returning concatenation of all data parts. Please refer to the non data parts for a full response from model.`),r.length>0?btoa(r):void 0}},_p=class{},Ep=class{constructor(){this.functionResponses=[]}},ll=class{get audioChunk(){if(this.serverContent&&this.serverContent.audioChunks&&this.serverContent.audioChunks.length>0)return this.serverContent.audioChunks[0]}},Tp=class{},Br=class t{_fromAPIResponse({apiResponse:e,_isVertexAI:n}){let i=new t,o=Jl(e);return Object.assign(i,o),i}};function te(t,e){if(!e||typeof e!="string")throw new Error("model is required and must be a string");if(e.includes("..")||e.includes("?")||e.includes("&"))throw new Error("invalid model parameter");if(t.isVertexAI()){if(e.startsWith("publishers/")||e.startsWith("projects/")||e.startsWith("models/"))return e;if(e.indexOf("/")>=0){let n=e.split("/",2);return`publishers/${n[0]}/models/${n[1]}`}else return`publishers/google/models/${e}`}else return e.startsWith("models/")||e.startsWith("tunedModels/")?e:`models/${e}`}function jp(t,e){let n=te(t,e);return n?n.startsWith("publishers/")&&t.isVertexAI()?`projects/${t.getProject()}/locations/${t.getLocation()}/${n}`:n.startsWith("models/")&&t.isVertexAI()?`projects/${t.getProject()}/locations/${t.getLocation()}/publishers/google/${n}`:n:""}function em(t){return Array.isArray(t)?t.map(e=>Vr(e)):[Vr(t)]}function Vr(t){if(typeof t=="object"&&t!==null)return t;throw new Error(`Could not parse input as Blob. Unsupported blob type: ${typeof t}`)}function tm(t){let e=Vr(t);if(e.mimeType&&e.mimeType.startsWith("image/"))return e;throw new Error(`Unsupported mime type: ${e.mimeType}`)}function nm(t){let e=Vr(t);if(e.mimeType&&e.mimeType.startsWith("audio/"))return e;throw new Error(`Unsupported mime type: ${e.mimeType}`)}function Sp(t){if(t==null)throw new Error("PartUnion is required");if(typeof t=="object")return t;if(typeof t=="string")return{text:t};throw new Error(`Unsupported part type: ${typeof t}`)}function im(t){if(t==null||Array.isArray(t)&&t.length===0)throw new Error("PartListUnion is required");return Array.isArray(t)?t.map(e=>Sp(e)):[Sp(t)]}function ul(t){return t!=null&&typeof t=="object"&&"parts"in t&&Array.isArray(t.parts)}function Cp(t){return t!=null&&typeof t=="object"&&"functionCall"in t}function vp(t){return t!=null&&typeof t=="object"&&"functionResponse"in t}function me(t){if(t==null)throw new Error("ContentUnion is required");return ul(t)?t:{role:"user",parts:im(t)}}function Wl(t,e){if(!e)return[];if(t.isVertexAI()&&Array.isArray(e))return e.flatMap(n=>{let i=me(n);return i.parts&&i.parts.length>0&&i.parts[0].text!==void 0?[i.parts[0].text]:[]});if(t.isVertexAI()){let n=me(e);return n.parts&&n.parts.length>0&&n.parts[0].text!==void 0?[n.parts[0].text]:[]}return Array.isArray(e)?e.map(n=>me(n)):[me(e)]}function ke(t){if(t==null||Array.isArray(t)&&t.length===0)throw new Error("contents are required");if(!Array.isArray(t)){if(Cp(t)||vp(t))throw new Error("To specify functionCall or functionResponse parts, please wrap them in a Content object, specifying the role for them");return[me(t)]}let e=[],n=[],i=ul(t[0]);for(let r of t){let o=ul(r);if(o!=i)throw new Error("Mixing Content and Parts is not supported, please group the parts into a the appropriate Content objects and specify the roles for them");if(o)e.push(r);else{if(Cp(r)||vp(r))throw new Error("To specify functionCall or functionResponse parts, please wrap them, and any other parts, in Content objects as appropriate, specifying the role for them");n.push(r)}}return i||e.push({role:"user",parts:im(n)}),e}function sC(t,e){t.includes("null")&&(e.nullable=!0);let n=t.filter(i=>i!=="null");if(n.length===1)e.type=Object.values(It).includes(n[0].toUpperCase())?n[0].toUpperCase():It.TYPE_UNSPECIFIED;else{e.anyOf=[];for(let i of n)e.anyOf.push({type:Object.values(It).includes(i.toUpperCase())?i.toUpperCase():It.TYPE_UNSPECIFIED})}}function Sn(t){let e={},n=["items"],i=["anyOf"],r=["properties"];if(t.type&&t.anyOf)throw new Error("type and anyOf cannot be both populated.");let o=t.anyOf;o!=null&&o.length==2&&(o[0].type==="null"?(e.nullable=!0,t=o[1]):o[1].type==="null"&&(e.nullable=!0,t=o[0])),t.type instanceof Array&&sC(t.type,e);for(let[l,u]of Object.entries(t))if(u!=null)if(l=="type"){if(u==="null")throw new Error("type: null can not be the only possible type for the field.");if(u instanceof Array)continue;e.type=Object.values(It).includes(u.toUpperCase())?u.toUpperCase():It.TYPE_UNSPECIFIED}else if(n.includes(l))e[l]=Sn(u);else if(i.includes(l)){let f=[];for(let c of u){if(c.type=="null"){e.nullable=!0;continue}f.push(Sn(c))}e[l]=f}else if(r.includes(l)){let f={};for(let[c,d]of Object.entries(u))f[c]=Sn(d);e[l]=f}else{if(l==="additionalProperties")continue;e[l]=u}return e}function Kl(t){return Sn(t)}function Yl(t){if(typeof t=="object")return t;if(typeof t=="string")return{voiceConfig:{prebuiltVoiceConfig:{voiceName:t}}};throw new Error(`Unsupported speechConfig type: ${typeof t}`)}function zl(t){if("multiSpeakerVoiceConfig"in t)throw new Error("multiSpeakerVoiceConfig is not supported in the live API.");return t}function wn(t){if(t.functionDeclarations)for(let e of t.functionDeclarations)e.parameters&&(Object.keys(e.parameters).includes("$schema")?e.parametersJsonSchema||(e.parametersJsonSchema=e.parameters,delete e.parameters):e.parameters=Sn(e.parameters)),e.response&&(Object.keys(e.response).includes("$schema")?e.responseJsonSchema||(e.responseJsonSchema=e.response,delete e.response):e.response=Sn(e.response));return t}function In(t){if(t==null)throw new Error("tools is required");if(!Array.isArray(t))throw new Error("tools is required and must be an array of Tools");let e=[];for(let n of t)e.push(n);return e}function aC(t,e,n,i=1){let r=!e.startsWith(`${n}/`)&&e.split("/").length===i;return t.isVertexAI()?e.startsWith("projects/")?e:e.startsWith("locations/")?`projects/${t.getProject()}/${e}`:e.startsWith(`${n}/`)?`projects/${t.getProject()}/locations/${t.getLocation()}/${e}`:r?`projects/${t.getProject()}/locations/${t.getLocation()}/${n}/${e}`:e:r?`${n}/${e}`:e}function Et(t,e){if(typeof e!="string")throw new Error("name must be a string");return aC(t,e,"cachedContents")}function rm(t){switch(t){case"STATE_UNSPECIFIED":return"JOB_STATE_UNSPECIFIED";case"CREATING":return"JOB_STATE_RUNNING";case"ACTIVE":return"JOB_STATE_SUCCEEDED";case"FAILED":return"JOB_STATE_FAILED";default:return t}}function Pt(t){return $l(t)}function lC(t){return t!=null&&typeof t=="object"&&"name"in t}function om(t){return t!=null&&typeof t=="object"&&"video"in t}function sm(t){return t!=null&&typeof t=="object"&&"uri"in t}function Xl(t){var e;let n;if(lC(t)&&(n=t.name),!(sm(t)&&(n=t.uri,n===void 0))&&!(om(t)&&(n=(e=t.video)===null||e===void 0?void 0:e.uri,n===void 0))){if(typeof t=="string"&&(n=t),n===void 0)throw new Error("Could not extract file name from the provided input.");if(n.startsWith("https://")){let r=n.split("files/")[1].match(/[a-z0-9]+/);if(r===null)throw new Error(`Could not extract file name from URI ${n}`);n=r[0]}else n.startsWith("files/")&&(n=n.split("files/")[1]);return n}}function am(t,e){let n;return t.isVertexAI()?n=e?"publishers/google/models":"models":n=e?"models":"tunedModels",n}function lm(t){for(let e of["models","tunedModels","publisherModels"])if(uC(t,e))return t[e];return[]}function uC(t,e){return t!==null&&typeof t=="object"&&e in t}function cC(t,e={}){let n=t,i={name:n.name,description:n.description,parametersJsonSchema:n.inputSchema};return n.outputSchema&&(i.responseJsonSchema=n.outputSchema),e.behavior&&(i.behavior=e.behavior),{functionDeclarations:[i]}}function fC(t,e={}){let n=[],i=new Set;for(let r of t){let o=r.name;if(i.has(o))throw new Error(`Duplicate function name ${o} found in MCP tools. Please ensure function names are unique.`);i.add(o);let l=cC(r,e);l.functionDeclarations&&n.push(...l.functionDeclarations)}return{functionDeclarations:n}}function um(t,e){let n;if(typeof e=="string")if(t.isVertexAI())if(e.startsWith("gs://"))n={format:"jsonl",gcsUri:[e]};else if(e.startsWith("bq://"))n={format:"bigquery",bigqueryUri:e};else throw new Error(`Unsupported string source for Vertex AI: ${e}`);else if(e.startsWith("files/"))n={fileName:e};else throw new Error(`Unsupported string source for Gemini API: ${e}`);else if(Array.isArray(e)){if(t.isVertexAI())throw new Error("InlinedRequest[] is not supported in Vertex AI.");n={inlinedRequests:e}}else n=e;let i=[n.gcsUri,n.bigqueryUri].filter(Boolean).length,r=[n.inlinedRequests,n.fileName].filter(Boolean).length;if(t.isVertexAI()){if(r>0||i!==1)throw new Error("Exactly one of `gcsUri` or `bigqueryUri` must be set for Vertex AI.")}else if(i>0||r!==1)throw new Error("Exactly one of `inlinedRequests`, `fileName`, must be set for Gemini API.");return n}function dC(t){if(typeof t!="string")return t;let e=t;if(e.startsWith("gs://"))return{format:"jsonl",gcsUri:e};if(e.startsWith("bq://"))return{format:"bigquery",bigqueryUri:e};throw new Error(`Unsupported destination: ${e}`)}function cm(t){if(typeof t!="object"||t===null)return{};let e=t,n=e.inlinedResponses;if(typeof n!="object"||n===null)return t;let r=n.inlinedResponses;if(!Array.isArray(r)||r.length===0)return t;let o=!1;for(let l of r){if(typeof l!="object"||l===null)continue;let f=l.response;if(typeof f!="object"||f===null)continue;if(f.embedding!==void 0){o=!0;break}}return o&&(e.inlinedEmbedContentResponses=e.inlinedResponses,delete e.inlinedResponses),t}function Rn(t,e){let n=e;if(!t.isVertexAI()){if(/batches\/[^/]+$/.test(n))return n.split("/").pop();throw new Error(`Invalid batch job name: ${n}.`)}if(/^projects\/[^/]+\/locations\/[^/]+\/batchPredictionJobs\/[^/]+$/.test(n))return n.split("/").pop();if(/^\d+$/.test(n))return n;throw new Error(`Invalid batch job name: ${n}.`)}function fm(t){let e=t;return e==="BATCH_STATE_UNSPECIFIED"?"JOB_STATE_UNSPECIFIED":e==="BATCH_STATE_PENDING"?"JOB_STATE_PENDING":e==="BATCH_STATE_RUNNING"?"JOB_STATE_RUNNING":e==="BATCH_STATE_SUCCEEDED"?"JOB_STATE_SUCCEEDED":e==="BATCH_STATE_FAILED"?"JOB_STATE_FAILED":e==="BATCH_STATE_CANCELLED"?"JOB_STATE_CANCELLED":e==="BATCH_STATE_EXPIRED"?"JOB_STATE_EXPIRED":e}function hC(t){return t.includes("gemini")&&t!=="gemini-embedding-001"||t.includes("maas")}function pC(t){let e={},n=s(t,["apiKey"]);if(n!=null&&a(e,["apiKey"],n),s(t,["apiKeyConfig"])!==void 0)throw new Error("apiKeyConfig parameter is not supported in Gemini API.");if(s(t,["authType"])!==void 0)throw new Error("authType parameter is not supported in Gemini API.");if(s(t,["googleServiceAccountConfig"])!==void 0)throw new Error("googleServiceAccountConfig parameter is not supported in Gemini API.");if(s(t,["httpBasicAuthConfig"])!==void 0)throw new Error("httpBasicAuthConfig parameter is not supported in Gemini API.");if(s(t,["oauthConfig"])!==void 0)throw new Error("oauthConfig parameter is not supported in Gemini API.");if(s(t,["oidcConfig"])!==void 0)throw new Error("oidcConfig parameter is not supported in Gemini API.");return e}function mC(t){let e={},n=s(t,["responsesFile"]);n!=null&&a(e,["fileName"],n);let i=s(t,["inlinedResponses","inlinedResponses"]);if(i!=null){let o=i;Array.isArray(o)&&(o=o.map(l=>zC(l))),a(e,["inlinedResponses"],o)}let r=s(t,["inlinedEmbedContentResponses","inlinedResponses"]);if(r!=null){let o=r;Array.isArray(o)&&(o=o.map(l=>l)),a(e,["inlinedEmbedContentResponses"],o)}return e}function gC(t){let e={},n=s(t,["predictionsFormat"]);n!=null&&a(e,["format"],n);let i=s(t,["gcsDestination","outputUriPrefix"]);i!=null&&a(e,["gcsUri"],i);let r=s(t,["bigqueryDestination","outputUri"]);return r!=null&&a(e,["bigqueryUri"],r),e}function yC(t){let e={},n=s(t,["format"]);n!=null&&a(e,["predictionsFormat"],n);let i=s(t,["gcsUri"]);i!=null&&a(e,["gcsDestination","outputUriPrefix"],i);let r=s(t,["bigqueryUri"]);if(r!=null&&a(e,["bigqueryDestination","outputUri"],r),s(t,["fileName"])!==void 0)throw new Error("fileName parameter is not supported in Vertex AI.");if(s(t,["inlinedResponses"])!==void 0)throw new Error("inlinedResponses parameter is not supported in Vertex AI.");if(s(t,["inlinedEmbedContentResponses"])!==void 0)throw new Error("inlinedEmbedContentResponses parameter is not supported in Vertex AI.");return e}function Ir(t){let e={},n=s(t,["name"]);n!=null&&a(e,["name"],n);let i=s(t,["metadata","displayName"]);i!=null&&a(e,["displayName"],i);let r=s(t,["metadata","state"]);r!=null&&a(e,["state"],fm(r));let o=s(t,["metadata","createTime"]);o!=null&&a(e,["createTime"],o);let l=s(t,["metadata","endTime"]);l!=null&&a(e,["endTime"],l);let u=s(t,["metadata","updateTime"]);u!=null&&a(e,["updateTime"],u);let f=s(t,["metadata","model"]);f!=null&&a(e,["model"],f);let c=s(t,["metadata","output"]);return c!=null&&a(e,["dest"],mC(cm(c))),e}function cl(t){let e={},n=s(t,["name"]);n!=null&&a(e,["name"],n);let i=s(t,["displayName"]);i!=null&&a(e,["displayName"],i);let r=s(t,["state"]);r!=null&&a(e,["state"],fm(r));let o=s(t,["error"]);o!=null&&a(e,["error"],o);let l=s(t,["createTime"]);l!=null&&a(e,["createTime"],l);let u=s(t,["startTime"]);u!=null&&a(e,["startTime"],u);let f=s(t,["endTime"]);f!=null&&a(e,["endTime"],f);let c=s(t,["updateTime"]);c!=null&&a(e,["updateTime"],c);let d=s(t,["model"]);d!=null&&a(e,["model"],d);let h=s(t,["inputConfig"]);h!=null&&a(e,["src"],_C(h));let p=s(t,["outputConfig"]);p!=null&&a(e,["dest"],gC(cm(p)));let m=s(t,["completionStats"]);return m!=null&&a(e,["completionStats"],m),e}function _C(t){let e={},n=s(t,["instancesFormat"]);n!=null&&a(e,["format"],n);let i=s(t,["gcsSource","uris"]);i!=null&&a(e,["gcsUri"],i);let r=s(t,["bigquerySource","inputUri"]);return r!=null&&a(e,["bigqueryUri"],r),e}function EC(t,e){let n={};if(s(e,["format"])!==void 0)throw new Error("format parameter is not supported in Gemini API.");if(s(e,["gcsUri"])!==void 0)throw new Error("gcsUri parameter is not supported in Gemini API.");if(s(e,["bigqueryUri"])!==void 0)throw new Error("bigqueryUri parameter is not supported in Gemini API.");let i=s(e,["fileName"]);i!=null&&a(n,["fileName"],i);let r=s(e,["inlinedRequests"]);if(r!=null){let o=r;Array.isArray(o)&&(o=o.map(l=>YC(t,l))),a(n,["requests","requests"],o)}return n}function TC(t){let e={},n=s(t,["format"]);n!=null&&a(e,["instancesFormat"],n);let i=s(t,["gcsUri"]);i!=null&&a(e,["gcsSource","uris"],i);let r=s(t,["bigqueryUri"]);if(r!=null&&a(e,["bigquerySource","inputUri"],r),s(t,["fileName"])!==void 0)throw new Error("fileName parameter is not supported in Vertex AI.");if(s(t,["inlinedRequests"])!==void 0)throw new Error("inlinedRequests parameter is not supported in Vertex AI.");return e}function SC(t){let e={},n=s(t,["data"]);if(n!=null&&a(e,["data"],n),s(t,["displayName"])!==void 0)throw new Error("displayName parameter is not supported in Gemini API.");let i=s(t,["mimeType"]);return i!=null&&a(e,["mimeType"],i),e}function CC(t,e){let n={},i=s(e,["name"]);return i!=null&&a(n,["_url","name"],Rn(t,i)),n}function vC(t,e){let n={},i=s(e,["name"]);return i!=null&&a(n,["_url","name"],Rn(t,i)),n}function AC(t){let e={},n=s(t,["content"]);n!=null&&a(e,["content"],n);let i=s(t,["citationMetadata"]);i!=null&&a(e,["citationMetadata"],wC(i));let r=s(t,["tokenCount"]);r!=null&&a(e,["tokenCount"],r);let o=s(t,["finishReason"]);o!=null&&a(e,["finishReason"],o);let l=s(t,["groundingMetadata"]);l!=null&&a(e,["groundingMetadata"],l);let u=s(t,["avgLogprobs"]);u!=null&&a(e,["avgLogprobs"],u);let f=s(t,["index"]);f!=null&&a(e,["index"],f);let c=s(t,["logprobsResult"]);c!=null&&a(e,["logprobsResult"],c);let d=s(t,["safetyRatings"]);if(d!=null){let p=d;Array.isArray(p)&&(p=p.map(m=>m)),a(e,["safetyRatings"],p)}let h=s(t,["urlContextMetadata"]);return h!=null&&a(e,["urlContextMetadata"],h),e}function wC(t){let e={},n=s(t,["citationSources"]);if(n!=null){let i=n;Array.isArray(i)&&(i=i.map(r=>r)),a(e,["citations"],i)}return e}function dm(t){let e={},n=s(t,["parts"]);if(n!=null){let r=n;Array.isArray(r)&&(r=r.map(o=>nv(o))),a(e,["parts"],r)}let i=s(t,["role"]);return i!=null&&a(e,["role"],i),e}function IC(t,e){let n={},i=s(t,["displayName"]);if(e!==void 0&&i!=null&&a(e,["batch","displayName"],i),s(t,["dest"])!==void 0)throw new Error("dest parameter is not supported in Gemini API.");return n}function RC(t,e){let n={},i=s(t,["displayName"]);e!==void 0&&i!=null&&a(e,["displayName"],i);let r=s(t,["dest"]);return e!==void 0&&r!=null&&a(e,["outputConfig"],yC(dC(r))),n}function Ap(t,e){let n={},i=s(e,["model"]);i!=null&&a(n,["_url","model"],te(t,i));let r=s(e,["src"]);r!=null&&a(n,["batch","inputConfig"],EC(t,um(t,r)));let o=s(e,["config"]);return o!=null&&IC(o,n),n}function PC(t,e){let n={},i=s(e,["model"]);i!=null&&a(n,["model"],te(t,i));let r=s(e,["src"]);r!=null&&a(n,["inputConfig"],TC(um(t,r)));let o=s(e,["config"]);return o!=null&&RC(o,n),n}function NC(t,e){let n={},i=s(t,["displayName"]);return e!==void 0&&i!=null&&a(e,["batch","displayName"],i),n}function xC(t,e){let n={},i=s(e,["model"]);i!=null&&a(n,["_url","model"],te(t,i));let r=s(e,["src"]);r!=null&&a(n,["batch","inputConfig"],OC(t,r));let o=s(e,["config"]);return o!=null&&NC(o,n),n}function kC(t,e){let n={},i=s(e,["name"]);return i!=null&&a(n,["_url","name"],Rn(t,i)),n}function MC(t,e){let n={},i=s(e,["name"]);return i!=null&&a(n,["_url","name"],Rn(t,i)),n}function DC(t){let e={},n=s(t,["sdkHttpResponse"]);n!=null&&a(e,["sdkHttpResponse"],n);let i=s(t,["name"]);i!=null&&a(e,["name"],i);let r=s(t,["done"]);r!=null&&a(e,["done"],r);let o=s(t,["error"]);return o!=null&&a(e,["error"],o),e}function UC(t){let e={},n=s(t,["sdkHttpResponse"]);n!=null&&a(e,["sdkHttpResponse"],n);let i=s(t,["name"]);i!=null&&a(e,["name"],i);let r=s(t,["done"]);r!=null&&a(e,["done"],r);let o=s(t,["error"]);return o!=null&&a(e,["error"],o),e}function bC(t,e){let n={},i=s(e,["contents"]);if(i!=null){let o=Wl(t,i);Array.isArray(o)&&(o=o.map(l=>l)),a(n,["requests[]","request","content"],o)}let r=s(e,["config"]);return r!=null&&(a(n,["_self"],LC(r,n)),JS(n,{"requests[].*":"requests[].request.*"})),n}function LC(t,e){let n={},i=s(t,["taskType"]);e!==void 0&&i!=null&&a(e,["requests[]","taskType"],i);let r=s(t,["title"]);e!==void 0&&r!=null&&a(e,["requests[]","title"],r);let o=s(t,["outputDimensionality"]);if(e!==void 0&&o!=null&&a(e,["requests[]","outputDimensionality"],o),s(t,["mimeType"])!==void 0)throw new Error("mimeType parameter is not supported in Gemini API.");if(s(t,["autoTruncate"])!==void 0)throw new Error("autoTruncate parameter is not supported in Gemini API.");return n}function OC(t,e){let n={},i=s(e,["fileName"]);i!=null&&a(n,["file_name"],i);let r=s(e,["inlinedRequests"]);return r!=null&&a(n,["requests"],bC(t,r)),n}function FC(t){let e={};if(s(t,["displayName"])!==void 0)throw new Error("displayName parameter is not supported in Gemini API.");let n=s(t,["fileUri"]);n!=null&&a(e,["fileUri"],n);let i=s(t,["mimeType"]);return i!=null&&a(e,["mimeType"],i),e}function GC(t){let e={},n=s(t,["id"]);n!=null&&a(e,["id"],n);let i=s(t,["args"]);i!=null&&a(e,["args"],i);let r=s(t,["name"]);if(r!=null&&a(e,["name"],r),s(t,["partialArgs"])!==void 0)throw new Error("partialArgs parameter is not supported in Gemini API.");if(s(t,["willContinue"])!==void 0)throw new Error("willContinue parameter is not supported in Gemini API.");return e}function qC(t){let e={},n=s(t,["allowedFunctionNames"]);n!=null&&a(e,["allowedFunctionNames"],n);let i=s(t,["mode"]);if(i!=null&&a(e,["mode"],i),s(t,["streamFunctionCallArguments"])!==void 0)throw new Error("streamFunctionCallArguments parameter is not supported in Gemini API.");return e}function BC(t,e,n){let i={},r=s(e,["systemInstruction"]);n!==void 0&&r!=null&&a(n,["systemInstruction"],dm(me(r)));let o=s(e,["temperature"]);o!=null&&a(i,["temperature"],o);let l=s(e,["topP"]);l!=null&&a(i,["topP"],l);let u=s(e,["topK"]);u!=null&&a(i,["topK"],u);let f=s(e,["candidateCount"]);f!=null&&a(i,["candidateCount"],f);let c=s(e,["maxOutputTokens"]);c!=null&&a(i,["maxOutputTokens"],c);let d=s(e,["stopSequences"]);d!=null&&a(i,["stopSequences"],d);let h=s(e,["responseLogprobs"]);h!=null&&a(i,["responseLogprobs"],h);let p=s(e,["logprobs"]);p!=null&&a(i,["logprobs"],p);let m=s(e,["presencePenalty"]);m!=null&&a(i,["presencePenalty"],m);let _=s(e,["frequencyPenalty"]);_!=null&&a(i,["frequencyPenalty"],_);let E=s(e,["seed"]);E!=null&&a(i,["seed"],E);let T=s(e,["responseMimeType"]);T!=null&&a(i,["responseMimeType"],T);let A=s(e,["responseSchema"]);A!=null&&a(i,["responseSchema"],Kl(A));let L=s(e,["responseJsonSchema"]);if(L!=null&&a(i,["responseJsonSchema"],L),s(e,["routingConfig"])!==void 0)throw new Error("routingConfig parameter is not supported in Gemini API.");if(s(e,["modelSelectionConfig"])!==void 0)throw new Error("modelSelectionConfig parameter is not supported in Gemini API.");let D=s(e,["safetySettings"]);if(n!==void 0&&D!=null){let j=D;Array.isArray(j)&&(j=j.map(re=>iv(re))),a(n,["safetySettings"],j)}let O=s(e,["tools"]);if(n!==void 0&&O!=null){let j=In(O);Array.isArray(j)&&(j=j.map(re=>ov(wn(re)))),a(n,["tools"],j)}let U=s(e,["toolConfig"]);if(n!==void 0&&U!=null&&a(n,["toolConfig"],rv(U)),s(e,["labels"])!==void 0)throw new Error("labels parameter is not supported in Gemini API.");let R=s(e,["cachedContent"]);n!==void 0&&R!=null&&a(n,["cachedContent"],Et(t,R));let q=s(e,["responseModalities"]);q!=null&&a(i,["responseModalities"],q);let K=s(e,["mediaResolution"]);K!=null&&a(i,["mediaResolution"],K);let M=s(e,["speechConfig"]);if(M!=null&&a(i,["speechConfig"],Yl(M)),s(e,["audioTimestamp"])!==void 0)throw new Error("audioTimestamp parameter is not supported in Gemini API.");let J=s(e,["thinkingConfig"]);J!=null&&a(i,["thinkingConfig"],J);let z=s(e,["imageConfig"]);z!=null&&a(i,["imageConfig"],KC(z));let Q=s(e,["enableEnhancedCivicAnswers"]);if(Q!=null&&a(i,["enableEnhancedCivicAnswers"],Q),s(e,["modelArmorConfig"])!==void 0)throw new Error("modelArmorConfig parameter is not supported in Gemini API.");let oe=s(e,["serviceTier"]);return n!==void 0&&oe!=null&&a(n,["serviceTier"],oe),i}function VC(t){let e={},n=s(t,["sdkHttpResponse"]);n!=null&&a(e,["sdkHttpResponse"],n);let i=s(t,["candidates"]);if(i!=null){let c=i;Array.isArray(c)&&(c=c.map(d=>AC(d))),a(e,["candidates"],c)}let r=s(t,["modelVersion"]);r!=null&&a(e,["modelVersion"],r);let o=s(t,["promptFeedback"]);o!=null&&a(e,["promptFeedback"],o);let l=s(t,["responseId"]);l!=null&&a(e,["responseId"],l);let u=s(t,["usageMetadata"]);u!=null&&a(e,["usageMetadata"],u);let f=s(t,["modelStatus"]);return f!=null&&a(e,["modelStatus"],f),e}function HC(t,e){let n={},i=s(e,["name"]);return i!=null&&a(n,["_url","name"],Rn(t,i)),n}function $C(t,e){let n={},i=s(e,["name"]);return i!=null&&a(n,["_url","name"],Rn(t,i)),n}function JC(t){let e={},n=s(t,["authConfig"]);n!=null&&a(e,["authConfig"],pC(n));let i=s(t,["enableWidget"]);return i!=null&&a(e,["enableWidget"],i),e}function WC(t){let e={},n=s(t,["searchTypes"]);if(n!=null&&a(e,["searchTypes"],n),s(t,["blockingConfidence"])!==void 0)throw new Error("blockingConfidence parameter is not supported in Gemini API.");if(s(t,["excludeDomains"])!==void 0)throw new Error("excludeDomains parameter is not supported in Gemini API.");let i=s(t,["timeRangeFilter"]);return i!=null&&a(e,["timeRangeFilter"],i),e}function KC(t){let e={},n=s(t,["aspectRatio"]);n!=null&&a(e,["aspectRatio"],n);let i=s(t,["imageSize"]);if(i!=null&&a(e,["imageSize"],i),s(t,["personGeneration"])!==void 0)throw new Error("personGeneration parameter is not supported in Gemini API.");if(s(t,["prominentPeople"])!==void 0)throw new Error("prominentPeople parameter is not supported in Gemini API.");if(s(t,["outputMimeType"])!==void 0)throw new Error("outputMimeType parameter is not supported in Gemini API.");if(s(t,["outputCompressionQuality"])!==void 0)throw new Error("outputCompressionQuality parameter is not supported in Gemini API.");if(s(t,["imageOutputOptions"])!==void 0)throw new Error("imageOutputOptions parameter is not supported in Gemini API.");return e}function YC(t,e){let n={},i=s(e,["model"]);i!=null&&a(n,["request","model"],te(t,i));let r=s(e,["contents"]);if(r!=null){let u=ke(r);Array.isArray(u)&&(u=u.map(f=>dm(f))),a(n,["request","contents"],u)}let o=s(e,["metadata"]);o!=null&&a(n,["metadata"],o);let l=s(e,["config"]);return l!=null&&a(n,["request","generationConfig"],BC(t,l,s(n,["request"],{}))),n}function zC(t){let e={},n=s(t,["response"]);n!=null&&a(e,["response"],VC(n));let i=s(t,["metadata"]);i!=null&&a(e,["metadata"],i);let r=s(t,["error"]);return r!=null&&a(e,["error"],r),e}function XC(t,e){let n={},i=s(t,["pageSize"]);e!==void 0&&i!=null&&a(e,["_query","pageSize"],i);let r=s(t,["pageToken"]);if(e!==void 0&&r!=null&&a(e,["_query","pageToken"],r),s(t,["filter"])!==void 0)throw new Error("filter parameter is not supported in Gemini API.");return n}function QC(t,e){let n={},i=s(t,["pageSize"]);e!==void 0&&i!=null&&a(e,["_query","pageSize"],i);let r=s(t,["pageToken"]);e!==void 0&&r!=null&&a(e,["_query","pageToken"],r);let o=s(t,["filter"]);return e!==void 0&&o!=null&&a(e,["_query","filter"],o),n}function ZC(t){let e={},n=s(t,["config"]);return n!=null&&XC(n,e),e}function jC(t){let e={},n=s(t,["config"]);return n!=null&&QC(n,e),e}function ev(t){let e={},n=s(t,["sdkHttpResponse"]);n!=null&&a(e,["sdkHttpResponse"],n);let i=s(t,["nextPageToken"]);i!=null&&a(e,["nextPageToken"],i);let r=s(t,["operations"]);if(r!=null){let o=r;Array.isArray(o)&&(o=o.map(l=>Ir(l))),a(e,["batchJobs"],o)}return e}function tv(t){let e={},n=s(t,["sdkHttpResponse"]);n!=null&&a(e,["sdkHttpResponse"],n);let i=s(t,["nextPageToken"]);i!=null&&a(e,["nextPageToken"],i);let r=s(t,["batchPredictionJobs"]);if(r!=null){let o=r;Array.isArray(o)&&(o=o.map(l=>cl(l))),a(e,["batchJobs"],o)}return e}function nv(t){let e={},n=s(t,["mediaResolution"]);n!=null&&a(e,["mediaResolution"],n);let i=s(t,["codeExecutionResult"]);i!=null&&a(e,["codeExecutionResult"],i);let r=s(t,["executableCode"]);r!=null&&a(e,["executableCode"],r);let o=s(t,["fileData"]);o!=null&&a(e,["fileData"],FC(o));let l=s(t,["functionCall"]);l!=null&&a(e,["functionCall"],GC(l));let u=s(t,["functionResponse"]);u!=null&&a(e,["functionResponse"],u);let f=s(t,["inlineData"]);f!=null&&a(e,["inlineData"],SC(f));let c=s(t,["text"]);c!=null&&a(e,["text"],c);let d=s(t,["thought"]);d!=null&&a(e,["thought"],d);let h=s(t,["thoughtSignature"]);h!=null&&a(e,["thoughtSignature"],h);let p=s(t,["videoMetadata"]);p!=null&&a(e,["videoMetadata"],p);let m=s(t,["toolCall"]);m!=null&&a(e,["toolCall"],m);let _=s(t,["toolResponse"]);_!=null&&a(e,["toolResponse"],_);let E=s(t,["partMetadata"]);return E!=null&&a(e,["partMetadata"],E),e}function iv(t){let e={},n=s(t,["category"]);if(n!=null&&a(e,["category"],n),s(t,["method"])!==void 0)throw new Error("method parameter is not supported in Gemini API.");let i=s(t,["threshold"]);return i!=null&&a(e,["threshold"],i),e}function rv(t){let e={},n=s(t,["retrievalConfig"]);n!=null&&a(e,["retrievalConfig"],n);let i=s(t,["functionCallingConfig"]);i!=null&&a(e,["functionCallingConfig"],qC(i));let r=s(t,["includeServerSideToolInvocations"]);return r!=null&&a(e,["includeServerSideToolInvocations"],r),e}function ov(t){let e={};if(s(t,["retrieval"])!==void 0)throw new Error("retrieval parameter is not supported in Gemini API.");let n=s(t,["computerUse"]);n!=null&&a(e,["computerUse"],n);let i=s(t,["fileSearch"]);i!=null&&a(e,["fileSearch"],i);let r=s(t,["googleSearch"]);r!=null&&a(e,["googleSearch"],WC(r));let o=s(t,["googleMaps"]);o!=null&&a(e,["googleMaps"],JC(o));let l=s(t,["codeExecution"]);if(l!=null&&a(e,["codeExecution"],l),s(t,["enterpriseWebSearch"])!==void 0)throw new Error("enterpriseWebSearch parameter is not supported in Gemini API.");let u=s(t,["functionDeclarations"]);if(u!=null){let h=u;Array.isArray(h)&&(h=h.map(p=>p)),a(e,["functionDeclarations"],h)}let f=s(t,["googleSearchRetrieval"]);if(f!=null&&a(e,["googleSearchRetrieval"],f),s(t,["parallelAiSearch"])!==void 0)throw new Error("parallelAiSearch parameter is not supported in Gemini API.");let c=s(t,["urlContext"]);c!=null&&a(e,["urlContext"],c);let d=s(t,["mcpServers"]);if(d!=null){let h=d;Array.isArray(h)&&(h=h.map(p=>p)),a(e,["mcpServers"],h)}return e}var yt;(function(t){t.PAGED_ITEM_BATCH_JOBS="batchJobs",t.PAGED_ITEM_MODELS="models",t.PAGED_ITEM_TUNING_JOBS="tuningJobs",t.PAGED_ITEM_FILES="files",t.PAGED_ITEM_CACHED_CONTENTS="cachedContents",t.PAGED_ITEM_FILE_SEARCH_STORES="fileSearchStores",t.PAGED_ITEM_DOCUMENTS="documents"})(yt||(yt={}));var _t=class{constructor(e,n,i,r){this.pageInternal=[],this.paramsInternal={},this.requestInternal=n,this.init(e,i,r)}init(e,n,i){var r,o;this.nameInternal=e,this.pageInternal=n[this.nameInternal]||[],this.sdkHttpResponseInternal=n?.sdkHttpResponse,this.idxInternal=0;let l={config:{}};!i||Object.keys(i).length===0?l={config:{}}:typeof i=="object"?l=Object.assign({},i):l=i,l.config&&(l.config.pageToken=n.nextPageToken),this.paramsInternal=l,this.pageInternalSize=(o=(r=l.config)===null||r===void 0?void 0:r.pageSize)!==null&&o!==void 0?o:this.pageInternal.length}initNextPage(e){this.init(this.nameInternal,e,this.paramsInternal)}get page(){return this.pageInternal}get name(){return this.nameInternal}get pageSize(){return this.pageInternalSize}get sdkHttpResponse(){return this.sdkHttpResponseInternal}get params(){return this.paramsInternal}get pageLength(){return this.pageInternal.length}getItem(e){return this.pageInternal[e]}[Symbol.asyncIterator](){return{next:async()=>{if(this.idxInternal>=this.pageLength)if(this.hasNextPage())await this.nextPage();else return{value:void 0,done:!0};let e=this.getItem(this.idxInternal);return this.idxInternal+=1,{value:e,done:!1}},return:async()=>({value:void 0,done:!0})}}async nextPage(){if(!this.hasNextPage())throw new Error("No more pages to fetch.");let e=await this.requestInternal(this.params);return this.initNextPage(e),this.page}hasNextPage(){var e;return((e=this.params.config)===null||e===void 0?void 0:e.pageToken)!==void 0}};var fl=class extends Qe{constructor(e){super(),this.apiClient=e,this.list=async(n={})=>new _t(yt.PAGED_ITEM_BATCH_JOBS,i=>this.listInternal(i),await this.listInternal(n),n),this.create=async n=>(this.apiClient.isVertexAI()&&(n.config=this.formatDestination(n.src,n.config)),this.createInternal(n)),this.createEmbeddings=async n=>{if(console.warn("batches.createEmbeddings() is experimental and may change without notice."),this.apiClient.isVertexAI())throw new Error("Vertex AI does not support batches.createEmbeddings.");return this.createEmbeddingsInternal(n)}}createInlinedGenerateContentRequest(e){let n=Ap(this.apiClient,e),i=n._url,r=B("{model}:batchGenerateContent",i),u=n.batch.inputConfig.requests,f=u.requests,c=[];for(let d of f){let h=Object.assign({},d);if(h.systemInstruction){let p=h.systemInstruction;delete h.systemInstruction;let m=h.request;m.systemInstruction=p,h.request=m}c.push(h)}return u.requests=c,delete n.config,delete n._url,delete n._query,{path:r,body:n}}getGcsUri(e){if(typeof e=="string")return e.startsWith("gs://")?e:void 0;if(!Array.isArray(e)&&e.gcsUri&&e.gcsUri.length>0)return e.gcsUri[0]}getBigqueryUri(e){if(typeof e=="string")return e.startsWith("bq://")?e:void 0;if(!Array.isArray(e))return e.bigqueryUri}formatDestination(e,n){let i=n?Object.assign({},n):{},r=Date.now().toString();if(i.displayName||(i.displayName=`genaiBatchJob_${r}`),i.dest===void 0){let o=this.getGcsUri(e),l=this.getBigqueryUri(e);if(o)o.endsWith(".jsonl")?i.dest=`${o.slice(0,-6)}/dest`:i.dest=`${o}_dest_${r}`;else if(l)i.dest=`${l}_dest_${r}`;else throw new Error("Unsupported source for Vertex AI: No GCS or BigQuery URI found.")}return i}async createInternal(e){var n,i,r,o;let l,u="",f={};if(this.apiClient.isVertexAI()){let c=PC(this.apiClient,e);return u=B("batchPredictionJobs",c._url),f=c._query,delete c._url,delete c._query,l=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(c),httpMethod:"POST",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json()),l.then(d=>cl(d))}else{let c=Ap(this.apiClient,e);return u=B("{model}:batchGenerateContent",c._url),f=c._query,delete c._url,delete c._query,l=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(c),httpMethod:"POST",httpOptions:(r=e.config)===null||r===void 0?void 0:r.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(d=>d.json()),l.then(d=>Ir(d))}}async createEmbeddingsInternal(e){var n,i;let r,o="",l={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{let u=xC(this.apiClient,e);return o=B("{model}:asyncBatchEmbedContent",u._url),l=u._query,delete u._url,delete u._query,r=this.apiClient.request({path:o,queryParams:l,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json()),r.then(f=>Ir(f))}}async get(e){var n,i,r,o;let l,u="",f={};if(this.apiClient.isVertexAI()){let c=$C(this.apiClient,e);return u=B("batchPredictionJobs/{name}",c._url),f=c._query,delete c._url,delete c._query,l=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(c),httpMethod:"GET",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json()),l.then(d=>cl(d))}else{let c=HC(this.apiClient,e);return u=B("batches/{name}",c._url),f=c._query,delete c._url,delete c._query,l=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(c),httpMethod:"GET",httpOptions:(r=e.config)===null||r===void 0?void 0:r.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(d=>d.json()),l.then(d=>Ir(d))}}async cancel(e){var n,i,r,o;let l="",u={};if(this.apiClient.isVertexAI()){let f=vC(this.apiClient,e);l=B("batchPredictionJobs/{name}:cancel",f._url),u=f._query,delete f._url,delete f._query,await this.apiClient.request({path:l,queryParams:u,body:JSON.stringify(f),httpMethod:"POST",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal})}else{let f=CC(this.apiClient,e);l=B("batches/{name}:cancel",f._url),u=f._query,delete f._url,delete f._query,await this.apiClient.request({path:l,queryParams:u,body:JSON.stringify(f),httpMethod:"POST",httpOptions:(r=e.config)===null||r===void 0?void 0:r.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal})}}async listInternal(e){var n,i,r,o;let l,u="",f={};if(this.apiClient.isVertexAI()){let c=jC(e);return u=B("batchPredictionJobs",c._url),f=c._query,delete c._url,delete c._query,l=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(c),httpMethod:"GET",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json().then(h=>{let p=h;return p.sdkHttpResponse={headers:d.headers},p})),l.then(d=>{let h=tv(d),p=new qr;return Object.assign(p,h),p})}else{let c=ZC(e);return u=B("batches",c._url),f=c._query,delete c._url,delete c._query,l=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(c),httpMethod:"GET",httpOptions:(r=e.config)===null||r===void 0?void 0:r.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(d=>d.json().then(h=>{let p=h;return p.sdkHttpResponse={headers:d.headers},p})),l.then(d=>{let h=ev(d),p=new qr;return Object.assign(p,h),p})}}async delete(e){var n,i,r,o;let l,u="",f={};if(this.apiClient.isVertexAI()){let c=MC(this.apiClient,e);return u=B("batchPredictionJobs/{name}",c._url),f=c._query,delete c._url,delete c._query,l=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(c),httpMethod:"DELETE",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json().then(h=>{let p=h;return p.sdkHttpResponse={headers:d.headers},p})),l.then(d=>UC(d))}else{let c=kC(this.apiClient,e);return u=B("batches/{name}",c._url),f=c._query,delete c._url,delete c._query,l=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(c),httpMethod:"DELETE",httpOptions:(r=e.config)===null||r===void 0?void 0:r.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(d=>d.json().then(h=>{let p=h;return p.sdkHttpResponse={headers:d.headers},p})),l.then(d=>DC(d))}}};function sv(t){let e={},n=s(t,["apiKey"]);if(n!=null&&a(e,["apiKey"],n),s(t,["apiKeyConfig"])!==void 0)throw new Error("apiKeyConfig parameter is not supported in Gemini API.");if(s(t,["authType"])!==void 0)throw new Error("authType parameter is not supported in Gemini API.");if(s(t,["googleServiceAccountConfig"])!==void 0)throw new Error("googleServiceAccountConfig parameter is not supported in Gemini API.");if(s(t,["httpBasicAuthConfig"])!==void 0)throw new Error("httpBasicAuthConfig parameter is not supported in Gemini API.");if(s(t,["oauthConfig"])!==void 0)throw new Error("oauthConfig parameter is not supported in Gemini API.");if(s(t,["oidcConfig"])!==void 0)throw new Error("oidcConfig parameter is not supported in Gemini API.");return e}function av(t){let e={},n=s(t,["data"]);if(n!=null&&a(e,["data"],n),s(t,["displayName"])!==void 0)throw new Error("displayName parameter is not supported in Gemini API.");let i=s(t,["mimeType"]);return i!=null&&a(e,["mimeType"],i),e}function wp(t){let e={},n=s(t,["parts"]);if(n!=null){let r=n;Array.isArray(r)&&(r=r.map(o=>xv(o))),a(e,["parts"],r)}let i=s(t,["role"]);return i!=null&&a(e,["role"],i),e}function Ip(t){let e={},n=s(t,["parts"]);if(n!=null){let r=n;Array.isArray(r)&&(r=r.map(o=>kv(o))),a(e,["parts"],r)}let i=s(t,["role"]);return i!=null&&a(e,["role"],i),e}function lv(t,e){let n={},i=s(t,["ttl"]);e!==void 0&&i!=null&&a(e,["ttl"],i);let r=s(t,["expireTime"]);e!==void 0&&r!=null&&a(e,["expireTime"],r);let o=s(t,["displayName"]);e!==void 0&&o!=null&&a(e,["displayName"],o);let l=s(t,["contents"]);if(e!==void 0&&l!=null){let d=ke(l);Array.isArray(d)&&(d=d.map(h=>wp(h))),a(e,["contents"],d)}let u=s(t,["systemInstruction"]);e!==void 0&&u!=null&&a(e,["systemInstruction"],wp(me(u)));let f=s(t,["tools"]);if(e!==void 0&&f!=null){let d=f;Array.isArray(d)&&(d=d.map(h=>Uv(h))),a(e,["tools"],d)}let c=s(t,["toolConfig"]);if(e!==void 0&&c!=null&&a(e,["toolConfig"],Mv(c)),s(t,["kmsKeyName"])!==void 0)throw new Error("kmsKeyName parameter is not supported in Gemini API.");return n}function uv(t,e){let n={},i=s(t,["ttl"]);e!==void 0&&i!=null&&a(e,["ttl"],i);let r=s(t,["expireTime"]);e!==void 0&&r!=null&&a(e,["expireTime"],r);let o=s(t,["displayName"]);e!==void 0&&o!=null&&a(e,["displayName"],o);let l=s(t,["contents"]);if(e!==void 0&&l!=null){let h=ke(l);Array.isArray(h)&&(h=h.map(p=>Ip(p))),a(e,["contents"],h)}let u=s(t,["systemInstruction"]);e!==void 0&&u!=null&&a(e,["systemInstruction"],Ip(me(u)));let f=s(t,["tools"]);if(e!==void 0&&f!=null){let h=f;Array.isArray(h)&&(h=h.map(p=>bv(p))),a(e,["tools"],h)}let c=s(t,["toolConfig"]);e!==void 0&&c!=null&&a(e,["toolConfig"],Dv(c));let d=s(t,["kmsKeyName"]);return e!==void 0&&d!=null&&a(e,["encryption_spec","kmsKeyName"],d),n}function cv(t,e){let n={},i=s(e,["model"]);i!=null&&a(n,["model"],jp(t,i));let r=s(e,["config"]);return r!=null&&lv(r,n),n}function fv(t,e){let n={},i=s(e,["model"]);i!=null&&a(n,["model"],jp(t,i));let r=s(e,["config"]);return r!=null&&uv(r,n),n}function dv(t,e){let n={},i=s(e,["name"]);return i!=null&&a(n,["_url","name"],Et(t,i)),n}function hv(t,e){let n={},i=s(e,["name"]);return i!=null&&a(n,["_url","name"],Et(t,i)),n}function pv(t){let e={},n=s(t,["sdkHttpResponse"]);return n!=null&&a(e,["sdkHttpResponse"],n),e}function mv(t){let e={},n=s(t,["sdkHttpResponse"]);return n!=null&&a(e,["sdkHttpResponse"],n),e}function gv(t){let e={};if(s(t,["displayName"])!==void 0)throw new Error("displayName parameter is not supported in Gemini API.");let n=s(t,["fileUri"]);n!=null&&a(e,["fileUri"],n);let i=s(t,["mimeType"]);return i!=null&&a(e,["mimeType"],i),e}function yv(t){let e={},n=s(t,["id"]);n!=null&&a(e,["id"],n);let i=s(t,["args"]);i!=null&&a(e,["args"],i);let r=s(t,["name"]);if(r!=null&&a(e,["name"],r),s(t,["partialArgs"])!==void 0)throw new Error("partialArgs parameter is not supported in Gemini API.");if(s(t,["willContinue"])!==void 0)throw new Error("willContinue parameter is not supported in Gemini API.");return e}function _v(t){let e={},n=s(t,["allowedFunctionNames"]);n!=null&&a(e,["allowedFunctionNames"],n);let i=s(t,["mode"]);if(i!=null&&a(e,["mode"],i),s(t,["streamFunctionCallArguments"])!==void 0)throw new Error("streamFunctionCallArguments parameter is not supported in Gemini API.");return e}function Ev(t){let e={},n=s(t,["description"]);n!=null&&a(e,["description"],n);let i=s(t,["name"]);i!=null&&a(e,["name"],i);let r=s(t,["parameters"]);r!=null&&a(e,["parameters"],r);let o=s(t,["parametersJsonSchema"]);o!=null&&a(e,["parametersJsonSchema"],o);let l=s(t,["response"]);l!=null&&a(e,["response"],l);let u=s(t,["responseJsonSchema"]);if(u!=null&&a(e,["responseJsonSchema"],u),s(t,["behavior"])!==void 0)throw new Error("behavior parameter is not supported in Vertex AI.");return e}function Tv(t,e){let n={},i=s(e,["name"]);return i!=null&&a(n,["_url","name"],Et(t,i)),n}function Sv(t,e){let n={},i=s(e,["name"]);return i!=null&&a(n,["_url","name"],Et(t,i)),n}function Cv(t){let e={},n=s(t,["authConfig"]);n!=null&&a(e,["authConfig"],sv(n));let i=s(t,["enableWidget"]);return i!=null&&a(e,["enableWidget"],i),e}function vv(t){let e={},n=s(t,["searchTypes"]);if(n!=null&&a(e,["searchTypes"],n),s(t,["blockingConfidence"])!==void 0)throw new Error("blockingConfidence parameter is not supported in Gemini API.");if(s(t,["excludeDomains"])!==void 0)throw new Error("excludeDomains parameter is not supported in Gemini API.");let i=s(t,["timeRangeFilter"]);return i!=null&&a(e,["timeRangeFilter"],i),e}function Av(t,e){let n={},i=s(t,["pageSize"]);e!==void 0&&i!=null&&a(e,["_query","pageSize"],i);let r=s(t,["pageToken"]);return e!==void 0&&r!=null&&a(e,["_query","pageToken"],r),n}function wv(t,e){let n={},i=s(t,["pageSize"]);e!==void 0&&i!=null&&a(e,["_query","pageSize"],i);let r=s(t,["pageToken"]);return e!==void 0&&r!=null&&a(e,["_query","pageToken"],r),n}function Iv(t){let e={},n=s(t,["config"]);return n!=null&&Av(n,e),e}function Rv(t){let e={},n=s(t,["config"]);return n!=null&&wv(n,e),e}function Pv(t){let e={},n=s(t,["sdkHttpResponse"]);n!=null&&a(e,["sdkHttpResponse"],n);let i=s(t,["nextPageToken"]);i!=null&&a(e,["nextPageToken"],i);let r=s(t,["cachedContents"]);if(r!=null){let o=r;Array.isArray(o)&&(o=o.map(l=>l)),a(e,["cachedContents"],o)}return e}function Nv(t){let e={},n=s(t,["sdkHttpResponse"]);n!=null&&a(e,["sdkHttpResponse"],n);let i=s(t,["nextPageToken"]);i!=null&&a(e,["nextPageToken"],i);let r=s(t,["cachedContents"]);if(r!=null){let o=r;Array.isArray(o)&&(o=o.map(l=>l)),a(e,["cachedContents"],o)}return e}function xv(t){let e={},n=s(t,["mediaResolution"]);n!=null&&a(e,["mediaResolution"],n);let i=s(t,["codeExecutionResult"]);i!=null&&a(e,["codeExecutionResult"],i);let r=s(t,["executableCode"]);r!=null&&a(e,["executableCode"],r);let o=s(t,["fileData"]);o!=null&&a(e,["fileData"],gv(o));let l=s(t,["functionCall"]);l!=null&&a(e,["functionCall"],yv(l));let u=s(t,["functionResponse"]);u!=null&&a(e,["functionResponse"],u);let f=s(t,["inlineData"]);f!=null&&a(e,["inlineData"],av(f));let c=s(t,["text"]);c!=null&&a(e,["text"],c);let d=s(t,["thought"]);d!=null&&a(e,["thought"],d);let h=s(t,["thoughtSignature"]);h!=null&&a(e,["thoughtSignature"],h);let p=s(t,["videoMetadata"]);p!=null&&a(e,["videoMetadata"],p);let m=s(t,["toolCall"]);m!=null&&a(e,["toolCall"],m);let _=s(t,["toolResponse"]);_!=null&&a(e,["toolResponse"],_);let E=s(t,["partMetadata"]);return E!=null&&a(e,["partMetadata"],E),e}function kv(t){let e={},n=s(t,["mediaResolution"]);n!=null&&a(e,["mediaResolution"],n);let i=s(t,["codeExecutionResult"]);i!=null&&a(e,["codeExecutionResult"],i);let r=s(t,["executableCode"]);r!=null&&a(e,["executableCode"],r);let o=s(t,["fileData"]);o!=null&&a(e,["fileData"],o);let l=s(t,["functionCall"]);l!=null&&a(e,["functionCall"],l);let u=s(t,["functionResponse"]);u!=null&&a(e,["functionResponse"],u);let f=s(t,["inlineData"]);f!=null&&a(e,["inlineData"],f);let c=s(t,["text"]);c!=null&&a(e,["text"],c);let d=s(t,["thought"]);d!=null&&a(e,["thought"],d);let h=s(t,["thoughtSignature"]);h!=null&&a(e,["thoughtSignature"],h);let p=s(t,["videoMetadata"]);if(p!=null&&a(e,["videoMetadata"],p),s(t,["toolCall"])!==void 0)throw new Error("toolCall parameter is not supported in Vertex AI.");if(s(t,["toolResponse"])!==void 0)throw new Error("toolResponse parameter is not supported in Vertex AI.");if(s(t,["partMetadata"])!==void 0)throw new Error("partMetadata parameter is not supported in Vertex AI.");return e}function Mv(t){let e={},n=s(t,["retrievalConfig"]);n!=null&&a(e,["retrievalConfig"],n);let i=s(t,["functionCallingConfig"]);i!=null&&a(e,["functionCallingConfig"],_v(i));let r=s(t,["includeServerSideToolInvocations"]);return r!=null&&a(e,["includeServerSideToolInvocations"],r),e}function Dv(t){let e={},n=s(t,["retrievalConfig"]);n!=null&&a(e,["retrievalConfig"],n);let i=s(t,["functionCallingConfig"]);if(i!=null&&a(e,["functionCallingConfig"],i),s(t,["includeServerSideToolInvocations"])!==void 0)throw new Error("includeServerSideToolInvocations parameter is not supported in Vertex AI.");return e}function Uv(t){let e={};if(s(t,["retrieval"])!==void 0)throw new Error("retrieval parameter is not supported in Gemini API.");let n=s(t,["computerUse"]);n!=null&&a(e,["computerUse"],n);let i=s(t,["fileSearch"]);i!=null&&a(e,["fileSearch"],i);let r=s(t,["googleSearch"]);r!=null&&a(e,["googleSearch"],vv(r));let o=s(t,["googleMaps"]);o!=null&&a(e,["googleMaps"],Cv(o));let l=s(t,["codeExecution"]);if(l!=null&&a(e,["codeExecution"],l),s(t,["enterpriseWebSearch"])!==void 0)throw new Error("enterpriseWebSearch parameter is not supported in Gemini API.");let u=s(t,["functionDeclarations"]);if(u!=null){let h=u;Array.isArray(h)&&(h=h.map(p=>p)),a(e,["functionDeclarations"],h)}let f=s(t,["googleSearchRetrieval"]);if(f!=null&&a(e,["googleSearchRetrieval"],f),s(t,["parallelAiSearch"])!==void 0)throw new Error("parallelAiSearch parameter is not supported in Gemini API.");let c=s(t,["urlContext"]);c!=null&&a(e,["urlContext"],c);let d=s(t,["mcpServers"]);if(d!=null){let h=d;Array.isArray(h)&&(h=h.map(p=>p)),a(e,["mcpServers"],h)}return e}function bv(t){let e={},n=s(t,["retrieval"]);n!=null&&a(e,["retrieval"],n);let i=s(t,["computerUse"]);if(i!=null&&a(e,["computerUse"],i),s(t,["fileSearch"])!==void 0)throw new Error("fileSearch parameter is not supported in Vertex AI.");let r=s(t,["googleSearch"]);r!=null&&a(e,["googleSearch"],r);let o=s(t,["googleMaps"]);o!=null&&a(e,["googleMaps"],o);let l=s(t,["codeExecution"]);l!=null&&a(e,["codeExecution"],l);let u=s(t,["enterpriseWebSearch"]);u!=null&&a(e,["enterpriseWebSearch"],u);let f=s(t,["functionDeclarations"]);if(f!=null){let p=f;Array.isArray(p)&&(p=p.map(m=>Ev(m))),a(e,["functionDeclarations"],p)}let c=s(t,["googleSearchRetrieval"]);c!=null&&a(e,["googleSearchRetrieval"],c);let d=s(t,["parallelAiSearch"]);d!=null&&a(e,["parallelAiSearch"],d);let h=s(t,["urlContext"]);if(h!=null&&a(e,["urlContext"],h),s(t,["mcpServers"])!==void 0)throw new Error("mcpServers parameter is not supported in Vertex AI.");return e}function Lv(t,e){let n={},i=s(t,["ttl"]);e!==void 0&&i!=null&&a(e,["ttl"],i);let r=s(t,["expireTime"]);return e!==void 0&&r!=null&&a(e,["expireTime"],r),n}function Ov(t,e){let n={},i=s(t,["ttl"]);e!==void 0&&i!=null&&a(e,["ttl"],i);let r=s(t,["expireTime"]);return e!==void 0&&r!=null&&a(e,["expireTime"],r),n}function Fv(t,e){let n={},i=s(e,["name"]);i!=null&&a(n,["_url","name"],Et(t,i));let r=s(e,["config"]);return r!=null&&Lv(r,n),n}function Gv(t,e){let n={},i=s(e,["name"]);i!=null&&a(n,["_url","name"],Et(t,i));let r=s(e,["config"]);return r!=null&&Ov(r,n),n}var dl=class extends Qe{constructor(e){super(),this.apiClient=e,this.list=async(n={})=>new _t(yt.PAGED_ITEM_CACHED_CONTENTS,i=>this.listInternal(i),await this.listInternal(n),n)}async create(e){var n,i,r,o;let l,u="",f={};if(this.apiClient.isVertexAI()){let c=fv(this.apiClient,e);return u=B("cachedContents",c._url),f=c._query,delete c._url,delete c._query,l=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(c),httpMethod:"POST",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json()),l.then(d=>d)}else{let c=cv(this.apiClient,e);return u=B("cachedContents",c._url),f=c._query,delete c._url,delete c._query,l=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(c),httpMethod:"POST",httpOptions:(r=e.config)===null||r===void 0?void 0:r.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(d=>d.json()),l.then(d=>d)}}async get(e){var n,i,r,o;let l,u="",f={};if(this.apiClient.isVertexAI()){let c=Sv(this.apiClient,e);return u=B("{name}",c._url),f=c._query,delete c._url,delete c._query,l=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(c),httpMethod:"GET",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json()),l.then(d=>d)}else{let c=Tv(this.apiClient,e);return u=B("{name}",c._url),f=c._query,delete c._url,delete c._query,l=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(c),httpMethod:"GET",httpOptions:(r=e.config)===null||r===void 0?void 0:r.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(d=>d.json()),l.then(d=>d)}}async delete(e){var n,i,r,o;let l,u="",f={};if(this.apiClient.isVertexAI()){let c=hv(this.apiClient,e);return u=B("{name}",c._url),f=c._query,delete c._url,delete c._query,l=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(c),httpMethod:"DELETE",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json().then(h=>{let p=h;return p.sdkHttpResponse={headers:d.headers},p})),l.then(d=>{let h=mv(d),p=new Fr;return Object.assign(p,h),p})}else{let c=dv(this.apiClient,e);return u=B("{name}",c._url),f=c._query,delete c._url,delete c._query,l=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(c),httpMethod:"DELETE",httpOptions:(r=e.config)===null||r===void 0?void 0:r.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(d=>d.json().then(h=>{let p=h;return p.sdkHttpResponse={headers:d.headers},p})),l.then(d=>{let h=pv(d),p=new Fr;return Object.assign(p,h),p})}}async update(e){var n,i,r,o;let l,u="",f={};if(this.apiClient.isVertexAI()){let c=Gv(this.apiClient,e);return u=B("{name}",c._url),f=c._query,delete c._url,delete c._query,l=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(c),httpMethod:"PATCH",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json()),l.then(d=>d)}else{let c=Fv(this.apiClient,e);return u=B("{name}",c._url),f=c._query,delete c._url,delete c._query,l=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(c),httpMethod:"PATCH",httpOptions:(r=e.config)===null||r===void 0?void 0:r.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(d=>d.json()),l.then(d=>d)}}async listInternal(e){var n,i,r,o;let l,u="",f={};if(this.apiClient.isVertexAI()){let c=Rv(e);return u=B("cachedContents",c._url),f=c._query,delete c._url,delete c._query,l=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(c),httpMethod:"GET",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json().then(h=>{let p=h;return p.sdkHttpResponse={headers:d.headers},p})),l.then(d=>{let h=Nv(d),p=new Gr;return Object.assign(p,h),p})}else{let c=Iv(e);return u=B("cachedContents",c._url),f=c._query,delete c._url,delete c._query,l=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(c),httpMethod:"GET",httpOptions:(r=e.config)===null||r===void 0?void 0:r.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(d=>d.json().then(h=>{let p=h;return p.sdkHttpResponse={headers:d.headers},p})),l.then(d=>{let h=Pv(d),p=new Gr;return Object.assign(p,h),p})}}};function Hr(t,e){var n={};for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&e.indexOf(i)<0&&(n[i]=t[i]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,i=Object.getOwnPropertySymbols(t);r<i.length;r++)e.indexOf(i[r])<0&&Object.prototype.propertyIsEnumerable.call(t,i[r])&&(n[i[r]]=t[i[r]]);return n}function Rp(t){var e=typeof Symbol=="function"&&Symbol.iterator,n=e&&t[e],i=0;if(n)return n.call(t);if(t&&typeof t.length=="number")return{next:function(){return t&&i>=t.length&&(t=void 0),{value:t&&t[i++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function X(t){return this instanceof X?(this.v=t,this):new X(t)}function ze(t,e,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=n.apply(t,e||[]),r,o=[];return r=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),u("next"),u("throw"),u("return",l),r[Symbol.asyncIterator]=function(){return this},r;function l(m){return function(_){return Promise.resolve(_).then(m,h)}}function u(m,_){i[m]&&(r[m]=function(E){return new Promise(function(T,A){o.push([m,E,T,A])>1||f(m,E)})},_&&(r[m]=_(r[m])))}function f(m,_){try{c(i[m](_))}catch(E){p(o[0][3],E)}}function c(m){m.value instanceof X?Promise.resolve(m.value.v).then(d,h):p(o[0][2],m)}function d(m){f("next",m)}function h(m){f("throw",m)}function p(m,_){m(_),o.shift(),o.length&&f(o[0][0],o[0][1])}}function Xe(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],n;return e?e.call(t):(t=typeof Rp=="function"?Rp(t):t[Symbol.iterator](),n={},i("next"),i("throw"),i("return"),n[Symbol.asyncIterator]=function(){return this},n);function i(o){n[o]=t[o]&&function(l){return new Promise(function(u,f){l=t[o](l),r(u,f,l.done,l.value)})}}function r(o,l,u,f){Promise.resolve(f).then(function(c){o({value:c,done:u})},l)}}function qv(t){var e;if(t.candidates==null||t.candidates.length===0)return!1;let n=(e=t.candidates[0])===null||e===void 0?void 0:e.content;return n===void 0?!1:hm(n)}function hm(t){if(t.parts===void 0||t.parts.length===0)return!1;for(let e of t.parts)if(e===void 0||Object.keys(e).length===0)return!1;return!0}function Bv(t){if(t.length!==0){for(let e of t)if(e.role!=="user"&&e.role!=="model")throw new Error(`Role must be user or model, but got ${e.role}.`)}}function Pp(t){if(t===void 0||t.length===0)return[];let e=[],n=t.length,i=0;for(;i<n;)if(t[i].role==="user")e.push(t[i]),i++;else{let r=[],o=!0;for(;i<n&&t[i].role==="model";)r.push(t[i]),o&&!hm(t[i])&&(o=!1),i++;o?e.push(...r):e.pop()}return e}var hl=class{constructor(e,n){this.modelsModule=e,this.apiClient=n}create(e){return new pl(this.apiClient,this.modelsModule,e.model,e.config,structuredClone(e.history))}},pl=class{constructor(e,n,i,r={},o=[]){this.apiClient=e,this.modelsModule=n,this.model=i,this.config=r,this.history=o,this.sendPromise=Promise.resolve(),Bv(o)}async sendMessage(e){var n;await this.sendPromise;let i=me(e.message),r=this.modelsModule.generateContent({model:this.model,contents:this.getHistory(!0).concat(i),config:(n=e.config)!==null&&n!==void 0?n:this.config});return this.sendPromise=(async()=>{var o,l,u;let f=await r,c=(l=(o=f.candidates)===null||o===void 0?void 0:o[0])===null||l===void 0?void 0:l.content,d=f.automaticFunctionCallingHistory,h=this.getHistory(!0).length,p=[];d!=null&&(p=(u=d.slice(h))!==null&&u!==void 0?u:[]);let m=c?[c]:[];this.recordHistory(i,m,p)})(),await this.sendPromise.catch(()=>{this.sendPromise=Promise.resolve()}),r}async sendMessageStream(e){var n;await this.sendPromise;let i=me(e.message),r=this.modelsModule.generateContentStream({model:this.model,contents:this.getHistory(!0).concat(i),config:(n=e.config)!==null&&n!==void 0?n:this.config});this.sendPromise=r.then(()=>{}).catch(()=>{});let o=await r;return this.processStreamResponse(o,i)}getHistory(e=!1){let n=e?Pp(this.history):this.history;return structuredClone(n)}processStreamResponse(e,n){return ze(this,arguments,function*(){var r,o,l,u,f,c;let d=[];try{for(var h=!0,p=Xe(e),m;m=yield X(p.next()),r=m.done,!r;h=!0){u=m.value,h=!1;let _=u;if(qv(_)){let E=(c=(f=_.candidates)===null||f===void 0?void 0:f[0])===null||c===void 0?void 0:c.content;E!==void 0&&d.push(E)}yield yield X(_)}}catch(_){o={error:_}}finally{try{!h&&!r&&(l=p.return)&&(yield X(l.call(p)))}finally{if(o)throw o.error}}this.recordHistory(n,d)})}recordHistory(e,n,i){let r=[];n.length>0&&n.every(o=>o.role!==void 0)?r=n:r.push({role:"model",parts:[]}),i&&i.length>0?this.history.push(...Pp(i)):this.history.push(e),this.history.push(...r)}};var $r=class t extends Error{constructor(e){super(e.message),this.name="ApiError",this.status=e.status,Object.setPrototypeOf(this,t.prototype)}};function Vv(t){let e={},n=s(t,["file"]);return n!=null&&a(e,["file"],n),e}function Hv(t){let e={},n=s(t,["sdkHttpResponse"]);return n!=null&&a(e,["sdkHttpResponse"],n),e}function $v(t){let e={},n=s(t,["name"]);return n!=null&&a(e,["_url","file"],Xl(n)),e}function Jv(t){let e={},n=s(t,["sdkHttpResponse"]);return n!=null&&a(e,["sdkHttpResponse"],n),e}function Wv(t){let e={},n=s(t,["name"]);return n!=null&&a(e,["_url","file"],Xl(n)),e}function Kv(t){let e={},n=s(t,["uris"]);return n!=null&&a(e,["uris"],n),e}function Yv(t,e){let n={},i=s(t,["pageSize"]);e!==void 0&&i!=null&&a(e,["_query","pageSize"],i);let r=s(t,["pageToken"]);return e!==void 0&&r!=null&&a(e,["_query","pageToken"],r),n}function zv(t){let e={},n=s(t,["config"]);return n!=null&&Yv(n,e),e}function Xv(t){let e={},n=s(t,["sdkHttpResponse"]);n!=null&&a(e,["sdkHttpResponse"],n);let i=s(t,["nextPageToken"]);i!=null&&a(e,["nextPageToken"],i);let r=s(t,["files"]);if(r!=null){let o=r;Array.isArray(o)&&(o=o.map(l=>l)),a(e,["files"],o)}return e}function Qv(t){let e={},n=s(t,["sdkHttpResponse"]);n!=null&&a(e,["sdkHttpResponse"],n);let i=s(t,["files"]);if(i!=null){let r=i;Array.isArray(r)&&(r=r.map(o=>o)),a(e,["files"],r)}return e}var ml=class extends Qe{constructor(e){super(),this.apiClient=e,this.list=async(n={})=>new _t(yt.PAGED_ITEM_FILES,i=>this.listInternal(i),await this.listInternal(n),n)}async upload(e){if(this.apiClient.isVertexAI())throw new Error("Vertex AI does not support uploading files. You can share files through a GCS bucket.");return this.apiClient.uploadFile(e.file,e.config).then(n=>n)}async download(e){await this.apiClient.downloadFile(e)}async registerFiles(e){throw new Error("registerFiles is only supported in Node.js environments.")}async _registerFiles(e){return this.registerFilesInternal(e)}async listInternal(e){var n,i;let r,o="",l={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{let u=zv(e);return o=B("files",u._url),l=u._query,delete u._url,delete u._query,r=this.apiClient.request({path:o,queryParams:l,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json().then(c=>{let d=c;return d.sdkHttpResponse={headers:f.headers},d})),r.then(f=>{let c=Xv(f),d=new il;return Object.assign(d,c),d})}}async createInternal(e){var n,i;let r,o="",l={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{let u=Vv(e);return o=B("upload/v1beta/files",u._url),l=u._query,delete u._url,delete u._query,r=this.apiClient.request({path:o,queryParams:l,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json()),r.then(f=>{let c=Hv(f),d=new rl;return Object.assign(d,c),d})}}async get(e){var n,i;let r,o="",l={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{let u=Wv(e);return o=B("files/{file}",u._url),l=u._query,delete u._url,delete u._query,r=this.apiClient.request({path:o,queryParams:l,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json()),r.then(f=>f)}}async delete(e){var n,i;let r,o="",l={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{let u=$v(e);return o=B("files/{file}",u._url),l=u._query,delete u._url,delete u._query,r=this.apiClient.request({path:o,queryParams:l,body:JSON.stringify(u),httpMethod:"DELETE",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json().then(c=>{let d=c;return d.sdkHttpResponse={headers:f.headers},d})),r.then(f=>{let c=Jv(f),d=new ol;return Object.assign(d,c),d})}}async registerFilesInternal(e){var n,i;let r,o="",l={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{let u=Kv(e);return o=B("files:register",u._url),l=u._query,delete u._url,delete u._query,r=this.apiClient.request({path:o,queryParams:l,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json()),r.then(f=>{let c=Qv(f),d=new sl;return Object.assign(d,c),d})}}};function Np(t){let e={};if(s(t,["languageCodes"])!==void 0)throw new Error("languageCodes parameter is not supported in Gemini API.");return e}function Zv(t){let e={},n=s(t,["apiKey"]);if(n!=null&&a(e,["apiKey"],n),s(t,["apiKeyConfig"])!==void 0)throw new Error("apiKeyConfig parameter is not supported in Gemini API.");if(s(t,["authType"])!==void 0)throw new Error("authType parameter is not supported in Gemini API.");if(s(t,["googleServiceAccountConfig"])!==void 0)throw new Error("googleServiceAccountConfig parameter is not supported in Gemini API.");if(s(t,["httpBasicAuthConfig"])!==void 0)throw new Error("httpBasicAuthConfig parameter is not supported in Gemini API.");if(s(t,["oauthConfig"])!==void 0)throw new Error("oauthConfig parameter is not supported in Gemini API.");if(s(t,["oidcConfig"])!==void 0)throw new Error("oidcConfig parameter is not supported in Gemini API.");return e}function Rr(t){let e={},n=s(t,["data"]);if(n!=null&&a(e,["data"],n),s(t,["displayName"])!==void 0)throw new Error("displayName parameter is not supported in Gemini API.");let i=s(t,["mimeType"]);return i!=null&&a(e,["mimeType"],i),e}function jv(t){let e={},n=s(t,["parts"]);if(n!=null){let r=n;Array.isArray(r)&&(r=r.map(o=>yA(o))),a(e,["parts"],r)}let i=s(t,["role"]);return i!=null&&a(e,["role"],i),e}function eA(t){let e={},n=s(t,["parts"]);if(n!=null){let r=n;Array.isArray(r)&&(r=r.map(o=>_A(o))),a(e,["parts"],r)}let i=s(t,["role"]);return i!=null&&a(e,["role"],i),e}function tA(t){let e={};if(s(t,["displayName"])!==void 0)throw new Error("displayName parameter is not supported in Gemini API.");let n=s(t,["fileUri"]);n!=null&&a(e,["fileUri"],n);let i=s(t,["mimeType"]);return i!=null&&a(e,["mimeType"],i),e}function nA(t){let e={},n=s(t,["id"]);n!=null&&a(e,["id"],n);let i=s(t,["args"]);i!=null&&a(e,["args"],i);let r=s(t,["name"]);if(r!=null&&a(e,["name"],r),s(t,["partialArgs"])!==void 0)throw new Error("partialArgs parameter is not supported in Gemini API.");if(s(t,["willContinue"])!==void 0)throw new Error("willContinue parameter is not supported in Gemini API.");return e}function iA(t){let e={},n=s(t,["description"]);n!=null&&a(e,["description"],n);let i=s(t,["name"]);i!=null&&a(e,["name"],i);let r=s(t,["parameters"]);r!=null&&a(e,["parameters"],r);let o=s(t,["parametersJsonSchema"]);o!=null&&a(e,["parametersJsonSchema"],o);let l=s(t,["response"]);l!=null&&a(e,["response"],l);let u=s(t,["responseJsonSchema"]);if(u!=null&&a(e,["responseJsonSchema"],u),s(t,["behavior"])!==void 0)throw new Error("behavior parameter is not supported in Vertex AI.");return e}function rA(t){let e={},n=s(t,["modelSelectionConfig"]);n!=null&&a(e,["modelConfig"],n);let i=s(t,["responseJsonSchema"]);i!=null&&a(e,["responseJsonSchema"],i);let r=s(t,["audioTimestamp"]);r!=null&&a(e,["audioTimestamp"],r);let o=s(t,["candidateCount"]);o!=null&&a(e,["candidateCount"],o);let l=s(t,["enableAffectiveDialog"]);l!=null&&a(e,["enableAffectiveDialog"],l);let u=s(t,["frequencyPenalty"]);u!=null&&a(e,["frequencyPenalty"],u);let f=s(t,["logprobs"]);f!=null&&a(e,["logprobs"],f);let c=s(t,["maxOutputTokens"]);c!=null&&a(e,["maxOutputTokens"],c);let d=s(t,["mediaResolution"]);d!=null&&a(e,["mediaResolution"],d);let h=s(t,["presencePenalty"]);h!=null&&a(e,["presencePenalty"],h);let p=s(t,["responseLogprobs"]);p!=null&&a(e,["responseLogprobs"],p);let m=s(t,["responseMimeType"]);m!=null&&a(e,["responseMimeType"],m);let _=s(t,["responseModalities"]);_!=null&&a(e,["responseModalities"],_);let E=s(t,["responseSchema"]);E!=null&&a(e,["responseSchema"],E);let T=s(t,["routingConfig"]);T!=null&&a(e,["routingConfig"],T);let A=s(t,["seed"]);A!=null&&a(e,["seed"],A);let L=s(t,["speechConfig"]);L!=null&&a(e,["speechConfig"],pm(L));let D=s(t,["stopSequences"]);D!=null&&a(e,["stopSequences"],D);let O=s(t,["temperature"]);O!=null&&a(e,["temperature"],O);let U=s(t,["thinkingConfig"]);U!=null&&a(e,["thinkingConfig"],U);let R=s(t,["topK"]);R!=null&&a(e,["topK"],R);let q=s(t,["topP"]);if(q!=null&&a(e,["topP"],q),s(t,["enableEnhancedCivicAnswers"])!==void 0)throw new Error("enableEnhancedCivicAnswers parameter is not supported in Vertex AI.");return e}function oA(t){let e={},n=s(t,["authConfig"]);n!=null&&a(e,["authConfig"],Zv(n));let i=s(t,["enableWidget"]);return i!=null&&a(e,["enableWidget"],i),e}function sA(t){let e={},n=s(t,["searchTypes"]);if(n!=null&&a(e,["searchTypes"],n),s(t,["blockingConfidence"])!==void 0)throw new Error("blockingConfidence parameter is not supported in Gemini API.");if(s(t,["excludeDomains"])!==void 0)throw new Error("excludeDomains parameter is not supported in Gemini API.");let i=s(t,["timeRangeFilter"]);return i!=null&&a(e,["timeRangeFilter"],i),e}function aA(t,e){let n={},i=s(t,["generationConfig"]);e!==void 0&&i!=null&&a(e,["setup","generationConfig"],i);let r=s(t,["responseModalities"]);e!==void 0&&r!=null&&a(e,["setup","generationConfig","responseModalities"],r);let o=s(t,["temperature"]);e!==void 0&&o!=null&&a(e,["setup","generationConfig","temperature"],o);let l=s(t,["topP"]);e!==void 0&&l!=null&&a(e,["setup","generationConfig","topP"],l);let u=s(t,["topK"]);e!==void 0&&u!=null&&a(e,["setup","generationConfig","topK"],u);let f=s(t,["maxOutputTokens"]);e!==void 0&&f!=null&&a(e,["setup","generationConfig","maxOutputTokens"],f);let c=s(t,["mediaResolution"]);e!==void 0&&c!=null&&a(e,["setup","generationConfig","mediaResolution"],c);let d=s(t,["seed"]);e!==void 0&&d!=null&&a(e,["setup","generationConfig","seed"],d);let h=s(t,["speechConfig"]);e!==void 0&&h!=null&&a(e,["setup","generationConfig","speechConfig"],zl(h));let p=s(t,["thinkingConfig"]);e!==void 0&&p!=null&&a(e,["setup","generationConfig","thinkingConfig"],p);let m=s(t,["enableAffectiveDialog"]);e!==void 0&&m!=null&&a(e,["setup","generationConfig","enableAffectiveDialog"],m);let _=s(t,["systemInstruction"]);e!==void 0&&_!=null&&a(e,["setup","systemInstruction"],jv(me(_)));let E=s(t,["tools"]);if(e!==void 0&&E!=null){let R=In(E);Array.isArray(R)&&(R=R.map(q=>CA(wn(q)))),a(e,["setup","tools"],R)}let T=s(t,["sessionResumption"]);e!==void 0&&T!=null&&a(e,["setup","sessionResumption"],TA(T));let A=s(t,["inputAudioTranscription"]);e!==void 0&&A!=null&&a(e,["setup","inputAudioTranscription"],Np(A));let L=s(t,["outputAudioTranscription"]);e!==void 0&&L!=null&&a(e,["setup","outputAudioTranscription"],Np(L));let D=s(t,["realtimeInputConfig"]);e!==void 0&&D!=null&&a(e,["setup","realtimeInputConfig"],D);let O=s(t,["contextWindowCompression"]);e!==void 0&&O!=null&&a(e,["setup","contextWindowCompression"],O);let U=s(t,["proactivity"]);if(e!==void 0&&U!=null&&a(e,["setup","proactivity"],U),s(t,["explicitVadSignal"])!==void 0)throw new Error("explicitVadSignal parameter is not supported in Gemini API.");return n}function lA(t,e){let n={},i=s(t,["generationConfig"]);e!==void 0&&i!=null&&a(e,["setup","generationConfig"],rA(i));let r=s(t,["responseModalities"]);e!==void 0&&r!=null&&a(e,["setup","generationConfig","responseModalities"],r);let o=s(t,["temperature"]);e!==void 0&&o!=null&&a(e,["setup","generationConfig","temperature"],o);let l=s(t,["topP"]);e!==void 0&&l!=null&&a(e,["setup","generationConfig","topP"],l);let u=s(t,["topK"]);e!==void 0&&u!=null&&a(e,["setup","generationConfig","topK"],u);let f=s(t,["maxOutputTokens"]);e!==void 0&&f!=null&&a(e,["setup","generationConfig","maxOutputTokens"],f);let c=s(t,["mediaResolution"]);e!==void 0&&c!=null&&a(e,["setup","generationConfig","mediaResolution"],c);let d=s(t,["seed"]);e!==void 0&&d!=null&&a(e,["setup","generationConfig","seed"],d);let h=s(t,["speechConfig"]);e!==void 0&&h!=null&&a(e,["setup","generationConfig","speechConfig"],pm(zl(h)));let p=s(t,["thinkingConfig"]);e!==void 0&&p!=null&&a(e,["setup","generationConfig","thinkingConfig"],p);let m=s(t,["enableAffectiveDialog"]);e!==void 0&&m!=null&&a(e,["setup","generationConfig","enableAffectiveDialog"],m);let _=s(t,["systemInstruction"]);e!==void 0&&_!=null&&a(e,["setup","systemInstruction"],eA(me(_)));let E=s(t,["tools"]);if(e!==void 0&&E!=null){let q=In(E);Array.isArray(q)&&(q=q.map(K=>vA(wn(K)))),a(e,["setup","tools"],q)}let T=s(t,["sessionResumption"]);e!==void 0&&T!=null&&a(e,["setup","sessionResumption"],T);let A=s(t,["inputAudioTranscription"]);e!==void 0&&A!=null&&a(e,["setup","inputAudioTranscription"],A);let L=s(t,["outputAudioTranscription"]);e!==void 0&&L!=null&&a(e,["setup","outputAudioTranscription"],L);let D=s(t,["realtimeInputConfig"]);e!==void 0&&D!=null&&a(e,["setup","realtimeInputConfig"],D);let O=s(t,["contextWindowCompression"]);e!==void 0&&O!=null&&a(e,["setup","contextWindowCompression"],O);let U=s(t,["proactivity"]);e!==void 0&&U!=null&&a(e,["setup","proactivity"],U);let R=s(t,["explicitVadSignal"]);return e!==void 0&&R!=null&&a(e,["setup","explicitVadSignal"],R),n}function uA(t,e){let n={},i=s(e,["model"]);i!=null&&a(n,["setup","model"],te(t,i));let r=s(e,["config"]);return r!=null&&a(n,["config"],aA(r,n)),n}function cA(t,e){let n={},i=s(e,["model"]);i!=null&&a(n,["setup","model"],te(t,i));let r=s(e,["config"]);return r!=null&&a(n,["config"],lA(r,n)),n}function fA(t){let e={},n=s(t,["musicGenerationConfig"]);return n!=null&&a(e,["musicGenerationConfig"],n),e}function dA(t){let e={},n=s(t,["weightedPrompts"]);if(n!=null){let i=n;Array.isArray(i)&&(i=i.map(r=>r)),a(e,["weightedPrompts"],i)}return e}function hA(t){let e={},n=s(t,["media"]);if(n!=null){let c=em(n);Array.isArray(c)&&(c=c.map(d=>Rr(d))),a(e,["mediaChunks"],c)}let i=s(t,["audio"]);i!=null&&a(e,["audio"],Rr(nm(i)));let r=s(t,["audioStreamEnd"]);r!=null&&a(e,["audioStreamEnd"],r);let o=s(t,["video"]);o!=null&&a(e,["video"],Rr(tm(o)));let l=s(t,["text"]);l!=null&&a(e,["text"],l);let u=s(t,["activityStart"]);u!=null&&a(e,["activityStart"],u);let f=s(t,["activityEnd"]);return f!=null&&a(e,["activityEnd"],f),e}function pA(t){let e={},n=s(t,["media"]);if(n!=null){let c=em(n);Array.isArray(c)&&(c=c.map(d=>d)),a(e,["mediaChunks"],c)}let i=s(t,["audio"]);i!=null&&a(e,["audio"],nm(i));let r=s(t,["audioStreamEnd"]);r!=null&&a(e,["audioStreamEnd"],r);let o=s(t,["video"]);o!=null&&a(e,["video"],tm(o));let l=s(t,["text"]);l!=null&&a(e,["text"],l);let u=s(t,["activityStart"]);u!=null&&a(e,["activityStart"],u);let f=s(t,["activityEnd"]);return f!=null&&a(e,["activityEnd"],f),e}function mA(t){let e={},n=s(t,["setupComplete"]);n!=null&&a(e,["setupComplete"],n);let i=s(t,["serverContent"]);i!=null&&a(e,["serverContent"],i);let r=s(t,["toolCall"]);r!=null&&a(e,["toolCall"],r);let o=s(t,["toolCallCancellation"]);o!=null&&a(e,["toolCallCancellation"],o);let l=s(t,["usageMetadata"]);l!=null&&a(e,["usageMetadata"],AA(l));let u=s(t,["goAway"]);u!=null&&a(e,["goAway"],u);let f=s(t,["sessionResumptionUpdate"]);f!=null&&a(e,["sessionResumptionUpdate"],f);let c=s(t,["voiceActivityDetectionSignal"]);c!=null&&a(e,["voiceActivityDetectionSignal"],c);let d=s(t,["voiceActivity"]);return d!=null&&a(e,["voiceActivity"],wA(d)),e}function gA(t){let e={},n=s(t,["speakerVoiceConfigs"]);if(n!=null){let i=n;Array.isArray(i)&&(i=i.map(r=>SA(r))),a(e,["speakerVoiceConfigs"],i)}return e}function yA(t){let e={},n=s(t,["mediaResolution"]);n!=null&&a(e,["mediaResolution"],n);let i=s(t,["codeExecutionResult"]);i!=null&&a(e,["codeExecutionResult"],i);let r=s(t,["executableCode"]);r!=null&&a(e,["executableCode"],r);let o=s(t,["fileData"]);o!=null&&a(e,["fileData"],tA(o));let l=s(t,["functionCall"]);l!=null&&a(e,["functionCall"],nA(l));let u=s(t,["functionResponse"]);u!=null&&a(e,["functionResponse"],u);let f=s(t,["inlineData"]);f!=null&&a(e,["inlineData"],Rr(f));let c=s(t,["text"]);c!=null&&a(e,["text"],c);let d=s(t,["thought"]);d!=null&&a(e,["thought"],d);let h=s(t,["thoughtSignature"]);h!=null&&a(e,["thoughtSignature"],h);let p=s(t,["videoMetadata"]);p!=null&&a(e,["videoMetadata"],p);let m=s(t,["toolCall"]);m!=null&&a(e,["toolCall"],m);let _=s(t,["toolResponse"]);_!=null&&a(e,["toolResponse"],_);let E=s(t,["partMetadata"]);return E!=null&&a(e,["partMetadata"],E),e}function _A(t){let e={},n=s(t,["mediaResolution"]);n!=null&&a(e,["mediaResolution"],n);let i=s(t,["codeExecutionResult"]);i!=null&&a(e,["codeExecutionResult"],i);let r=s(t,["executableCode"]);r!=null&&a(e,["executableCode"],r);let o=s(t,["fileData"]);o!=null&&a(e,["fileData"],o);let l=s(t,["functionCall"]);l!=null&&a(e,["functionCall"],l);let u=s(t,["functionResponse"]);u!=null&&a(e,["functionResponse"],u);let f=s(t,["inlineData"]);f!=null&&a(e,["inlineData"],f);let c=s(t,["text"]);c!=null&&a(e,["text"],c);let d=s(t,["thought"]);d!=null&&a(e,["thought"],d);let h=s(t,["thoughtSignature"]);h!=null&&a(e,["thoughtSignature"],h);let p=s(t,["videoMetadata"]);if(p!=null&&a(e,["videoMetadata"],p),s(t,["toolCall"])!==void 0)throw new Error("toolCall parameter is not supported in Vertex AI.");if(s(t,["toolResponse"])!==void 0)throw new Error("toolResponse parameter is not supported in Vertex AI.");if(s(t,["partMetadata"])!==void 0)throw new Error("partMetadata parameter is not supported in Vertex AI.");return e}function EA(t){let e={},n=s(t,["mimeType"]);n!=null&&a(e,["mimeType"],n);let i=s(t,["voiceSampleAudio"]);return i!=null&&a(e,["voiceSampleAudio"],i),e}function TA(t){let e={},n=s(t,["handle"]);if(n!=null&&a(e,["handle"],n),s(t,["transparent"])!==void 0)throw new Error("transparent parameter is not supported in Gemini API.");return e}function SA(t){let e={},n=s(t,["speaker"]);n!=null&&a(e,["speaker"],n);let i=s(t,["voiceConfig"]);return i!=null&&a(e,["voiceConfig"],mm(i)),e}function pm(t){let e={},n=s(t,["voiceConfig"]);n!=null&&a(e,["voiceConfig"],mm(n));let i=s(t,["languageCode"]);i!=null&&a(e,["languageCode"],i);let r=s(t,["multiSpeakerVoiceConfig"]);return r!=null&&a(e,["multiSpeakerVoiceConfig"],gA(r)),e}function CA(t){let e={};if(s(t,["retrieval"])!==void 0)throw new Error("retrieval parameter is not supported in Gemini API.");let n=s(t,["computerUse"]);n!=null&&a(e,["computerUse"],n);let i=s(t,["fileSearch"]);i!=null&&a(e,["fileSearch"],i);let r=s(t,["googleSearch"]);r!=null&&a(e,["googleSearch"],sA(r));let o=s(t,["googleMaps"]);o!=null&&a(e,["googleMaps"],oA(o));let l=s(t,["codeExecution"]);if(l!=null&&a(e,["codeExecution"],l),s(t,["enterpriseWebSearch"])!==void 0)throw new Error("enterpriseWebSearch parameter is not supported in Gemini API.");let u=s(t,["functionDeclarations"]);if(u!=null){let h=u;Array.isArray(h)&&(h=h.map(p=>p)),a(e,["functionDeclarations"],h)}let f=s(t,["googleSearchRetrieval"]);if(f!=null&&a(e,["googleSearchRetrieval"],f),s(t,["parallelAiSearch"])!==void 0)throw new Error("parallelAiSearch parameter is not supported in Gemini API.");let c=s(t,["urlContext"]);c!=null&&a(e,["urlContext"],c);let d=s(t,["mcpServers"]);if(d!=null){let h=d;Array.isArray(h)&&(h=h.map(p=>p)),a(e,["mcpServers"],h)}return e}function vA(t){let e={},n=s(t,["retrieval"]);n!=null&&a(e,["retrieval"],n);let i=s(t,["computerUse"]);if(i!=null&&a(e,["computerUse"],i),s(t,["fileSearch"])!==void 0)throw new Error("fileSearch parameter is not supported in Vertex AI.");let r=s(t,["googleSearch"]);r!=null&&a(e,["googleSearch"],r);let o=s(t,["googleMaps"]);o!=null&&a(e,["googleMaps"],o);let l=s(t,["codeExecution"]);l!=null&&a(e,["codeExecution"],l);let u=s(t,["enterpriseWebSearch"]);u!=null&&a(e,["enterpriseWebSearch"],u);let f=s(t,["functionDeclarations"]);if(f!=null){let p=f;Array.isArray(p)&&(p=p.map(m=>iA(m))),a(e,["functionDeclarations"],p)}let c=s(t,["googleSearchRetrieval"]);c!=null&&a(e,["googleSearchRetrieval"],c);let d=s(t,["parallelAiSearch"]);d!=null&&a(e,["parallelAiSearch"],d);let h=s(t,["urlContext"]);if(h!=null&&a(e,["urlContext"],h),s(t,["mcpServers"])!==void 0)throw new Error("mcpServers parameter is not supported in Vertex AI.");return e}function AA(t){let e={},n=s(t,["promptTokenCount"]);n!=null&&a(e,["promptTokenCount"],n);let i=s(t,["cachedContentTokenCount"]);i!=null&&a(e,["cachedContentTokenCount"],i);let r=s(t,["candidatesTokenCount"]);r!=null&&a(e,["responseTokenCount"],r);let o=s(t,["toolUsePromptTokenCount"]);o!=null&&a(e,["toolUsePromptTokenCount"],o);let l=s(t,["thoughtsTokenCount"]);l!=null&&a(e,["thoughtsTokenCount"],l);let u=s(t,["totalTokenCount"]);u!=null&&a(e,["totalTokenCount"],u);let f=s(t,["promptTokensDetails"]);if(f!=null){let m=f;Array.isArray(m)&&(m=m.map(_=>_)),a(e,["promptTokensDetails"],m)}let c=s(t,["cacheTokensDetails"]);if(c!=null){let m=c;Array.isArray(m)&&(m=m.map(_=>_)),a(e,["cacheTokensDetails"],m)}let d=s(t,["candidatesTokensDetails"]);if(d!=null){let m=d;Array.isArray(m)&&(m=m.map(_=>_)),a(e,["responseTokensDetails"],m)}let h=s(t,["toolUsePromptTokensDetails"]);if(h!=null){let m=h;Array.isArray(m)&&(m=m.map(_=>_)),a(e,["toolUsePromptTokensDetails"],m)}let p=s(t,["trafficType"]);return p!=null&&a(e,["trafficType"],p),e}function wA(t){let e={},n=s(t,["type"]);return n!=null&&a(e,["voiceActivityType"],n),e}function mm(t){let e={},n=s(t,["replicatedVoiceConfig"]);n!=null&&a(e,["replicatedVoiceConfig"],EA(n));let i=s(t,["prebuiltVoiceConfig"]);return i!=null&&a(e,["prebuiltVoiceConfig"],i),e}function IA(t,e){let n={},i=s(t,["apiKey"]);if(i!=null&&a(n,["apiKey"],i),s(t,["apiKeyConfig"])!==void 0)throw new Error("apiKeyConfig parameter is not supported in Gemini API.");if(s(t,["authType"])!==void 0)throw new Error("authType parameter is not supported in Gemini API.");if(s(t,["googleServiceAccountConfig"])!==void 0)throw new Error("googleServiceAccountConfig parameter is not supported in Gemini API.");if(s(t,["httpBasicAuthConfig"])!==void 0)throw new Error("httpBasicAuthConfig parameter is not supported in Gemini API.");if(s(t,["oauthConfig"])!==void 0)throw new Error("oauthConfig parameter is not supported in Gemini API.");if(s(t,["oidcConfig"])!==void 0)throw new Error("oidcConfig parameter is not supported in Gemini API.");return n}function RA(t,e){let n={},i=s(t,["data"]);if(i!=null&&a(n,["data"],i),s(t,["displayName"])!==void 0)throw new Error("displayName parameter is not supported in Gemini API.");let r=s(t,["mimeType"]);return r!=null&&a(n,["mimeType"],r),n}function PA(t,e){let n={},i=s(t,["content"]);i!=null&&a(n,["content"],i);let r=s(t,["citationMetadata"]);r!=null&&a(n,["citationMetadata"],NA(r));let o=s(t,["tokenCount"]);o!=null&&a(n,["tokenCount"],o);let l=s(t,["finishReason"]);l!=null&&a(n,["finishReason"],l);let u=s(t,["groundingMetadata"]);u!=null&&a(n,["groundingMetadata"],u);let f=s(t,["avgLogprobs"]);f!=null&&a(n,["avgLogprobs"],f);let c=s(t,["index"]);c!=null&&a(n,["index"],c);let d=s(t,["logprobsResult"]);d!=null&&a(n,["logprobsResult"],d);let h=s(t,["safetyRatings"]);if(h!=null){let m=h;Array.isArray(m)&&(m=m.map(_=>_)),a(n,["safetyRatings"],m)}let p=s(t,["urlContextMetadata"]);return p!=null&&a(n,["urlContextMetadata"],p),n}function NA(t,e){let n={},i=s(t,["citationSources"]);if(i!=null){let r=i;Array.isArray(r)&&(r=r.map(o=>o)),a(n,["citations"],r)}return n}function xA(t,e,n){let i={},r=s(e,["model"]);r!=null&&a(i,["_url","model"],te(t,r));let o=s(e,["contents"]);if(o!=null){let l=ke(o);Array.isArray(l)&&(l=l.map(u=>Pn(u))),a(i,["contents"],l)}return i}function kA(t,e){let n={},i=s(t,["sdkHttpResponse"]);i!=null&&a(n,["sdkHttpResponse"],i);let r=s(t,["tokensInfo"]);if(r!=null){let o=r;Array.isArray(o)&&(o=o.map(l=>l)),a(n,["tokensInfo"],o)}return n}function MA(t,e){let n={},i=s(t,["values"]);i!=null&&a(n,["values"],i);let r=s(t,["statistics"]);return r!=null&&a(n,["statistics"],DA(r)),n}function DA(t,e){let n={},i=s(t,["truncated"]);i!=null&&a(n,["truncated"],i);let r=s(t,["token_count"]);return r!=null&&a(n,["tokenCount"],r),n}function ri(t,e){let n={},i=s(t,["parts"]);if(i!=null){let o=i;Array.isArray(o)&&(o=o.map(l=>Hw(l))),a(n,["parts"],o)}let r=s(t,["role"]);return r!=null&&a(n,["role"],r),n}function Pn(t,e){let n={},i=s(t,["parts"]);if(i!=null){let o=i;Array.isArray(o)&&(o=o.map(l=>$w(l))),a(n,["parts"],o)}let r=s(t,["role"]);return r!=null&&a(n,["role"],r),n}function UA(t,e){let n={},i=s(t,["controlType"]);i!=null&&a(n,["controlType"],i);let r=s(t,["enableControlImageComputation"]);return r!=null&&a(n,["computeControl"],r),n}function bA(t,e){let n={};if(s(t,["systemInstruction"])!==void 0)throw new Error("systemInstruction parameter is not supported in Gemini API.");if(s(t,["tools"])!==void 0)throw new Error("tools parameter is not supported in Gemini API.");if(s(t,["generationConfig"])!==void 0)throw new Error("generationConfig parameter is not supported in Gemini API.");return n}function LA(t,e,n){let i={},r=s(t,["systemInstruction"]);e!==void 0&&r!=null&&a(e,["systemInstruction"],Pn(me(r)));let o=s(t,["tools"]);if(e!==void 0&&o!=null){let u=o;Array.isArray(u)&&(u=u.map(f=>Tm(f))),a(e,["tools"],u)}let l=s(t,["generationConfig"]);return e!==void 0&&l!=null&&a(e,["generationConfig"],Rw(l)),i}function OA(t,e,n){let i={},r=s(e,["model"]);r!=null&&a(i,["_url","model"],te(t,r));let o=s(e,["contents"]);if(o!=null){let u=ke(o);Array.isArray(u)&&(u=u.map(f=>ri(f))),a(i,["contents"],u)}let l=s(e,["config"]);return l!=null&&bA(l),i}function FA(t,e,n){let i={},r=s(e,["model"]);r!=null&&a(i,["_url","model"],te(t,r));let o=s(e,["contents"]);if(o!=null){let u=ke(o);Array.isArray(u)&&(u=u.map(f=>Pn(f))),a(i,["contents"],u)}let l=s(e,["config"]);return l!=null&&LA(l,i),i}function GA(t,e){let n={},i=s(t,["sdkHttpResponse"]);i!=null&&a(n,["sdkHttpResponse"],i);let r=s(t,["totalTokens"]);r!=null&&a(n,["totalTokens"],r);let o=s(t,["cachedContentTokenCount"]);return o!=null&&a(n,["cachedContentTokenCount"],o),n}function qA(t,e){let n={},i=s(t,["sdkHttpResponse"]);i!=null&&a(n,["sdkHttpResponse"],i);let r=s(t,["totalTokens"]);return r!=null&&a(n,["totalTokens"],r),n}function BA(t,e,n){let i={},r=s(e,["model"]);return r!=null&&a(i,["_url","name"],te(t,r)),i}function VA(t,e,n){let i={},r=s(e,["model"]);return r!=null&&a(i,["_url","name"],te(t,r)),i}function HA(t,e){let n={},i=s(t,["sdkHttpResponse"]);return i!=null&&a(n,["sdkHttpResponse"],i),n}function $A(t,e){let n={},i=s(t,["sdkHttpResponse"]);return i!=null&&a(n,["sdkHttpResponse"],i),n}function JA(t,e,n){let i={},r=s(t,["outputGcsUri"]);e!==void 0&&r!=null&&a(e,["parameters","storageUri"],r);let o=s(t,["negativePrompt"]);e!==void 0&&o!=null&&a(e,["parameters","negativePrompt"],o);let l=s(t,["numberOfImages"]);e!==void 0&&l!=null&&a(e,["parameters","sampleCount"],l);let u=s(t,["aspectRatio"]);e!==void 0&&u!=null&&a(e,["parameters","aspectRatio"],u);let f=s(t,["guidanceScale"]);e!==void 0&&f!=null&&a(e,["parameters","guidanceScale"],f);let c=s(t,["seed"]);e!==void 0&&c!=null&&a(e,["parameters","seed"],c);let d=s(t,["safetyFilterLevel"]);e!==void 0&&d!=null&&a(e,["parameters","safetySetting"],d);let h=s(t,["personGeneration"]);e!==void 0&&h!=null&&a(e,["parameters","personGeneration"],h);let p=s(t,["includeSafetyAttributes"]);e!==void 0&&p!=null&&a(e,["parameters","includeSafetyAttributes"],p);let m=s(t,["includeRaiReason"]);e!==void 0&&m!=null&&a(e,["parameters","includeRaiReason"],m);let _=s(t,["language"]);e!==void 0&&_!=null&&a(e,["parameters","language"],_);let E=s(t,["outputMimeType"]);e!==void 0&&E!=null&&a(e,["parameters","outputOptions","mimeType"],E);let T=s(t,["outputCompressionQuality"]);e!==void 0&&T!=null&&a(e,["parameters","outputOptions","compressionQuality"],T);let A=s(t,["addWatermark"]);e!==void 0&&A!=null&&a(e,["parameters","addWatermark"],A);let L=s(t,["labels"]);e!==void 0&&L!=null&&a(e,["labels"],L);let D=s(t,["editMode"]);e!==void 0&&D!=null&&a(e,["parameters","editMode"],D);let O=s(t,["baseSteps"]);return e!==void 0&&O!=null&&a(e,["parameters","editConfig","baseSteps"],O),i}function WA(t,e,n){let i={},r=s(e,["model"]);r!=null&&a(i,["_url","model"],te(t,r));let o=s(e,["prompt"]);o!=null&&a(i,["instances[0]","prompt"],o);let l=s(e,["referenceImages"]);if(l!=null){let f=l;Array.isArray(f)&&(f=f.map(c=>Xw(c))),a(i,["instances[0]","referenceImages"],f)}let u=s(e,["config"]);return u!=null&&JA(u,i),i}function KA(t,e){let n={},i=s(t,["sdkHttpResponse"]);i!=null&&a(n,["sdkHttpResponse"],i);let r=s(t,["predictions"]);if(r!=null){let o=r;Array.isArray(o)&&(o=o.map(l=>ao(l))),a(n,["generatedImages"],o)}return n}function YA(t,e,n){let i={},r=s(t,["taskType"]);e!==void 0&&r!=null&&a(e,["requests[]","taskType"],r);let o=s(t,["title"]);e!==void 0&&o!=null&&a(e,["requests[]","title"],o);let l=s(t,["outputDimensionality"]);if(e!==void 0&&l!=null&&a(e,["requests[]","outputDimensionality"],l),s(t,["mimeType"])!==void 0)throw new Error("mimeType parameter is not supported in Gemini API.");if(s(t,["autoTruncate"])!==void 0)throw new Error("autoTruncate parameter is not supported in Gemini API.");return i}function zA(t,e,n){let i={},r=s(n,["embeddingApiType"]);if(r===void 0&&(r="PREDICT"),r==="PREDICT"){let c=s(t,["taskType"]);e!==void 0&&c!=null&&a(e,["instances[]","task_type"],c)}else if(r==="EMBED_CONTENT"){let c=s(t,["taskType"]);e!==void 0&&c!=null&&a(e,["taskType"],c)}let o=s(n,["embeddingApiType"]);if(o===void 0&&(o="PREDICT"),o==="PREDICT"){let c=s(t,["title"]);e!==void 0&&c!=null&&a(e,["instances[]","title"],c)}else if(o==="EMBED_CONTENT"){let c=s(t,["title"]);e!==void 0&&c!=null&&a(e,["title"],c)}let l=s(n,["embeddingApiType"]);if(l===void 0&&(l="PREDICT"),l==="PREDICT"){let c=s(t,["outputDimensionality"]);e!==void 0&&c!=null&&a(e,["parameters","outputDimensionality"],c)}else if(l==="EMBED_CONTENT"){let c=s(t,["outputDimensionality"]);e!==void 0&&c!=null&&a(e,["outputDimensionality"],c)}let u=s(n,["embeddingApiType"]);if(u===void 0&&(u="PREDICT"),u==="PREDICT"){let c=s(t,["mimeType"]);e!==void 0&&c!=null&&a(e,["instances[]","mimeType"],c)}let f=s(n,["embeddingApiType"]);if(f===void 0&&(f="PREDICT"),f==="PREDICT"){let c=s(t,["autoTruncate"]);e!==void 0&&c!=null&&a(e,["parameters","autoTruncate"],c)}else if(f==="EMBED_CONTENT"){let c=s(t,["autoTruncate"]);e!==void 0&&c!=null&&a(e,["autoTruncate"],c)}return i}function XA(t,e,n){let i={},r=s(e,["model"]);r!=null&&a(i,["_url","model"],te(t,r));let o=s(e,["contents"]);if(o!=null){let c=Wl(t,o);Array.isArray(c)&&(c=c.map(d=>d)),a(i,["requests[]","content"],c)}let l=s(e,["content"]);l!=null&&ri(me(l));let u=s(e,["config"]);u!=null&&YA(u,i);let f=s(e,["model"]);return f!==void 0&&a(i,["requests[]","model"],te(t,f)),i}function QA(t,e,n){let i={},r=s(e,["model"]);r!=null&&a(i,["_url","model"],te(t,r));let o=s(n,["embeddingApiType"]);if(o===void 0&&(o="PREDICT"),o==="PREDICT"){let f=s(e,["contents"]);if(f!=null){let c=Wl(t,f);Array.isArray(c)&&(c=c.map(d=>d)),a(i,["instances[]","content"],c)}}let l=s(n,["embeddingApiType"]);if(l===void 0&&(l="PREDICT"),l==="EMBED_CONTENT"){let f=s(e,["content"]);f!=null&&a(i,["content"],Pn(me(f)))}let u=s(e,["config"]);return u!=null&&zA(u,i,n),i}function ZA(t,e){let n={},i=s(t,["sdkHttpResponse"]);i!=null&&a(n,["sdkHttpResponse"],i);let r=s(t,["embeddings"]);if(r!=null){let l=r;Array.isArray(l)&&(l=l.map(u=>u)),a(n,["embeddings"],l)}let o=s(t,["metadata"]);return o!=null&&a(n,["metadata"],o),n}function jA(t,e){let n={},i=s(t,["sdkHttpResponse"]);i!=null&&a(n,["sdkHttpResponse"],i);let r=s(t,["predictions[]","embeddings"]);if(r!=null){let l=r;Array.isArray(l)&&(l=l.map(u=>MA(u))),a(n,["embeddings"],l)}let o=s(t,["metadata"]);if(o!=null&&a(n,["metadata"],o),e&&s(e,["embeddingApiType"])==="EMBED_CONTENT"){let l=s(t,["embedding"]),u=s(t,["usageMetadata"]),f=s(t,["truncated"]);if(l){let c={};u&&u.promptTokenCount&&(c.tokenCount=u.promptTokenCount),f&&(c.truncated=f),l.statistics=c,a(n,["embeddings"],[l])}}return n}function ew(t,e){let n={},i=s(t,["endpoint"]);i!=null&&a(n,["name"],i);let r=s(t,["deployedModelId"]);return r!=null&&a(n,["deployedModelId"],r),n}function tw(t,e){let n={};if(s(t,["displayName"])!==void 0)throw new Error("displayName parameter is not supported in Gemini API.");let i=s(t,["fileUri"]);i!=null&&a(n,["fileUri"],i);let r=s(t,["mimeType"]);return r!=null&&a(n,["mimeType"],r),n}function nw(t,e){let n={},i=s(t,["id"]);i!=null&&a(n,["id"],i);let r=s(t,["args"]);r!=null&&a(n,["args"],r);let o=s(t,["name"]);if(o!=null&&a(n,["name"],o),s(t,["partialArgs"])!==void 0)throw new Error("partialArgs parameter is not supported in Gemini API.");if(s(t,["willContinue"])!==void 0)throw new Error("willContinue parameter is not supported in Gemini API.");return n}function iw(t,e){let n={},i=s(t,["allowedFunctionNames"]);i!=null&&a(n,["allowedFunctionNames"],i);let r=s(t,["mode"]);if(r!=null&&a(n,["mode"],r),s(t,["streamFunctionCallArguments"])!==void 0)throw new Error("streamFunctionCallArguments parameter is not supported in Gemini API.");return n}function rw(t,e){let n={},i=s(t,["description"]);i!=null&&a(n,["description"],i);let r=s(t,["name"]);r!=null&&a(n,["name"],r);let o=s(t,["parameters"]);o!=null&&a(n,["parameters"],o);let l=s(t,["parametersJsonSchema"]);l!=null&&a(n,["parametersJsonSchema"],l);let u=s(t,["response"]);u!=null&&a(n,["response"],u);let f=s(t,["responseJsonSchema"]);if(f!=null&&a(n,["responseJsonSchema"],f),s(t,["behavior"])!==void 0)throw new Error("behavior parameter is not supported in Vertex AI.");return n}function ow(t,e,n,i){let r={},o=s(e,["systemInstruction"]);n!==void 0&&o!=null&&a(n,["systemInstruction"],ri(me(o)));let l=s(e,["temperature"]);l!=null&&a(r,["temperature"],l);let u=s(e,["topP"]);u!=null&&a(r,["topP"],u);let f=s(e,["topK"]);f!=null&&a(r,["topK"],f);let c=s(e,["candidateCount"]);c!=null&&a(r,["candidateCount"],c);let d=s(e,["maxOutputTokens"]);d!=null&&a(r,["maxOutputTokens"],d);let h=s(e,["stopSequences"]);h!=null&&a(r,["stopSequences"],h);let p=s(e,["responseLogprobs"]);p!=null&&a(r,["responseLogprobs"],p);let m=s(e,["logprobs"]);m!=null&&a(r,["logprobs"],m);let _=s(e,["presencePenalty"]);_!=null&&a(r,["presencePenalty"],_);let E=s(e,["frequencyPenalty"]);E!=null&&a(r,["frequencyPenalty"],E);let T=s(e,["seed"]);T!=null&&a(r,["seed"],T);let A=s(e,["responseMimeType"]);A!=null&&a(r,["responseMimeType"],A);let L=s(e,["responseSchema"]);L!=null&&a(r,["responseSchema"],Kl(L));let D=s(e,["responseJsonSchema"]);if(D!=null&&a(r,["responseJsonSchema"],D),s(e,["routingConfig"])!==void 0)throw new Error("routingConfig parameter is not supported in Gemini API.");if(s(e,["modelSelectionConfig"])!==void 0)throw new Error("modelSelectionConfig parameter is not supported in Gemini API.");let O=s(e,["safetySettings"]);if(n!==void 0&&O!=null){let re=O;Array.isArray(re)&&(re=re.map(ue=>Zw(ue))),a(n,["safetySettings"],re)}let U=s(e,["tools"]);if(n!==void 0&&U!=null){let re=In(U);Array.isArray(re)&&(re=re.map(ue=>aI(wn(ue)))),a(n,["tools"],re)}let R=s(e,["toolConfig"]);if(n!==void 0&&R!=null&&a(n,["toolConfig"],oI(R)),s(e,["labels"])!==void 0)throw new Error("labels parameter is not supported in Gemini API.");let q=s(e,["cachedContent"]);n!==void 0&&q!=null&&a(n,["cachedContent"],Et(t,q));let K=s(e,["responseModalities"]);K!=null&&a(r,["responseModalities"],K);let M=s(e,["mediaResolution"]);M!=null&&a(r,["mediaResolution"],M);let J=s(e,["speechConfig"]);if(J!=null&&a(r,["speechConfig"],Yl(J)),s(e,["audioTimestamp"])!==void 0)throw new Error("audioTimestamp parameter is not supported in Gemini API.");let z=s(e,["thinkingConfig"]);z!=null&&a(r,["thinkingConfig"],z);let Q=s(e,["imageConfig"]);Q!=null&&a(r,["imageConfig"],Mw(Q));let oe=s(e,["enableEnhancedCivicAnswers"]);if(oe!=null&&a(r,["enableEnhancedCivicAnswers"],oe),s(e,["modelArmorConfig"])!==void 0)throw new Error("modelArmorConfig parameter is not supported in Gemini API.");let j=s(e,["serviceTier"]);return n!==void 0&&j!=null&&a(n,["serviceTier"],j),r}function sw(t,e,n,i){let r={},o=s(e,["systemInstruction"]);n!==void 0&&o!=null&&a(n,["systemInstruction"],Pn(me(o)));let l=s(e,["temperature"]);l!=null&&a(r,["temperature"],l);let u=s(e,["topP"]);u!=null&&a(r,["topP"],u);let f=s(e,["topK"]);f!=null&&a(r,["topK"],f);let c=s(e,["candidateCount"]);c!=null&&a(r,["candidateCount"],c);let d=s(e,["maxOutputTokens"]);d!=null&&a(r,["maxOutputTokens"],d);let h=s(e,["stopSequences"]);h!=null&&a(r,["stopSequences"],h);let p=s(e,["responseLogprobs"]);p!=null&&a(r,["responseLogprobs"],p);let m=s(e,["logprobs"]);m!=null&&a(r,["logprobs"],m);let _=s(e,["presencePenalty"]);_!=null&&a(r,["presencePenalty"],_);let E=s(e,["frequencyPenalty"]);E!=null&&a(r,["frequencyPenalty"],E);let T=s(e,["seed"]);T!=null&&a(r,["seed"],T);let A=s(e,["responseMimeType"]);A!=null&&a(r,["responseMimeType"],A);let L=s(e,["responseSchema"]);L!=null&&a(r,["responseSchema"],Kl(L));let D=s(e,["responseJsonSchema"]);D!=null&&a(r,["responseJsonSchema"],D);let O=s(e,["routingConfig"]);O!=null&&a(r,["routingConfig"],O);let U=s(e,["modelSelectionConfig"]);U!=null&&a(r,["modelConfig"],U);let R=s(e,["safetySettings"]);if(n!==void 0&&R!=null){let ce=R;Array.isArray(ce)&&(ce=ce.map(Ce=>Ce)),a(n,["safetySettings"],ce)}let q=s(e,["tools"]);if(n!==void 0&&q!=null){let ce=In(q);Array.isArray(ce)&&(ce=ce.map(Ce=>Tm(wn(Ce)))),a(n,["tools"],ce)}let K=s(e,["toolConfig"]);n!==void 0&&K!=null&&a(n,["toolConfig"],sI(K));let M=s(e,["labels"]);n!==void 0&&M!=null&&a(n,["labels"],M);let J=s(e,["cachedContent"]);n!==void 0&&J!=null&&a(n,["cachedContent"],Et(t,J));let z=s(e,["responseModalities"]);z!=null&&a(r,["responseModalities"],z);let Q=s(e,["mediaResolution"]);Q!=null&&a(r,["mediaResolution"],Q);let oe=s(e,["speechConfig"]);oe!=null&&a(r,["speechConfig"],Em(Yl(oe)));let j=s(e,["audioTimestamp"]);j!=null&&a(r,["audioTimestamp"],j);let re=s(e,["thinkingConfig"]);re!=null&&a(r,["thinkingConfig"],re);let ue=s(e,["imageConfig"]);if(ue!=null&&a(r,["imageConfig"],Dw(ue)),s(e,["enableEnhancedCivicAnswers"])!==void 0)throw new Error("enableEnhancedCivicAnswers parameter is not supported in Vertex AI.");let we=s(e,["modelArmorConfig"]);if(n!==void 0&&we!=null&&a(n,["modelArmorConfig"],we),s(e,["serviceTier"])!==void 0)throw new Error("serviceTier parameter is not supported in Vertex AI.");return r}function xp(t,e,n){let i={},r=s(e,["model"]);r!=null&&a(i,["_url","model"],te(t,r));let o=s(e,["contents"]);if(o!=null){let u=ke(o);Array.isArray(u)&&(u=u.map(f=>ri(f))),a(i,["contents"],u)}let l=s(e,["config"]);return l!=null&&a(i,["generationConfig"],ow(t,l,i)),i}function kp(t,e,n){let i={},r=s(e,["model"]);r!=null&&a(i,["_url","model"],te(t,r));let o=s(e,["contents"]);if(o!=null){let u=ke(o);Array.isArray(u)&&(u=u.map(f=>Pn(f))),a(i,["contents"],u)}let l=s(e,["config"]);return l!=null&&a(i,["generationConfig"],sw(t,l,i)),i}function Mp(t,e){let n={},i=s(t,["sdkHttpResponse"]);i!=null&&a(n,["sdkHttpResponse"],i);let r=s(t,["candidates"]);if(r!=null){let d=r;Array.isArray(d)&&(d=d.map(h=>PA(h))),a(n,["candidates"],d)}let o=s(t,["modelVersion"]);o!=null&&a(n,["modelVersion"],o);let l=s(t,["promptFeedback"]);l!=null&&a(n,["promptFeedback"],l);let u=s(t,["responseId"]);u!=null&&a(n,["responseId"],u);let f=s(t,["usageMetadata"]);f!=null&&a(n,["usageMetadata"],f);let c=s(t,["modelStatus"]);return c!=null&&a(n,["modelStatus"],c),n}function Dp(t,e){let n={},i=s(t,["sdkHttpResponse"]);i!=null&&a(n,["sdkHttpResponse"],i);let r=s(t,["candidates"]);if(r!=null){let d=r;Array.isArray(d)&&(d=d.map(h=>h)),a(n,["candidates"],d)}let o=s(t,["createTime"]);o!=null&&a(n,["createTime"],o);let l=s(t,["modelVersion"]);l!=null&&a(n,["modelVersion"],l);let u=s(t,["promptFeedback"]);u!=null&&a(n,["promptFeedback"],u);let f=s(t,["responseId"]);f!=null&&a(n,["responseId"],f);let c=s(t,["usageMetadata"]);return c!=null&&a(n,["usageMetadata"],c),n}function aw(t,e,n){let i={};if(s(t,["outputGcsUri"])!==void 0)throw new Error("outputGcsUri parameter is not supported in Gemini API.");if(s(t,["negativePrompt"])!==void 0)throw new Error("negativePrompt parameter is not supported in Gemini API.");let r=s(t,["numberOfImages"]);e!==void 0&&r!=null&&a(e,["parameters","sampleCount"],r);let o=s(t,["aspectRatio"]);e!==void 0&&o!=null&&a(e,["parameters","aspectRatio"],o);let l=s(t,["guidanceScale"]);if(e!==void 0&&l!=null&&a(e,["parameters","guidanceScale"],l),s(t,["seed"])!==void 0)throw new Error("seed parameter is not supported in Gemini API.");let u=s(t,["safetyFilterLevel"]);e!==void 0&&u!=null&&a(e,["parameters","safetySetting"],u);let f=s(t,["personGeneration"]);e!==void 0&&f!=null&&a(e,["parameters","personGeneration"],f);let c=s(t,["includeSafetyAttributes"]);e!==void 0&&c!=null&&a(e,["parameters","includeSafetyAttributes"],c);let d=s(t,["includeRaiReason"]);e!==void 0&&d!=null&&a(e,["parameters","includeRaiReason"],d);let h=s(t,["language"]);e!==void 0&&h!=null&&a(e,["parameters","language"],h);let p=s(t,["outputMimeType"]);e!==void 0&&p!=null&&a(e,["parameters","outputOptions","mimeType"],p);let m=s(t,["outputCompressionQuality"]);if(e!==void 0&&m!=null&&a(e,["parameters","outputOptions","compressionQuality"],m),s(t,["addWatermark"])!==void 0)throw new Error("addWatermark parameter is not supported in Gemini API.");if(s(t,["labels"])!==void 0)throw new Error("labels parameter is not supported in Gemini API.");let _=s(t,["imageSize"]);if(e!==void 0&&_!=null&&a(e,["parameters","sampleImageSize"],_),s(t,["enhancePrompt"])!==void 0)throw new Error("enhancePrompt parameter is not supported in Gemini API.");return i}function lw(t,e,n){let i={},r=s(t,["outputGcsUri"]);e!==void 0&&r!=null&&a(e,["parameters","storageUri"],r);let o=s(t,["negativePrompt"]);e!==void 0&&o!=null&&a(e,["parameters","negativePrompt"],o);let l=s(t,["numberOfImages"]);e!==void 0&&l!=null&&a(e,["parameters","sampleCount"],l);let u=s(t,["aspectRatio"]);e!==void 0&&u!=null&&a(e,["parameters","aspectRatio"],u);let f=s(t,["guidanceScale"]);e!==void 0&&f!=null&&a(e,["parameters","guidanceScale"],f);let c=s(t,["seed"]);e!==void 0&&c!=null&&a(e,["parameters","seed"],c);let d=s(t,["safetyFilterLevel"]);e!==void 0&&d!=null&&a(e,["parameters","safetySetting"],d);let h=s(t,["personGeneration"]);e!==void 0&&h!=null&&a(e,["parameters","personGeneration"],h);let p=s(t,["includeSafetyAttributes"]);e!==void 0&&p!=null&&a(e,["parameters","includeSafetyAttributes"],p);let m=s(t,["includeRaiReason"]);e!==void 0&&m!=null&&a(e,["parameters","includeRaiReason"],m);let _=s(t,["language"]);e!==void 0&&_!=null&&a(e,["parameters","language"],_);let E=s(t,["outputMimeType"]);e!==void 0&&E!=null&&a(e,["parameters","outputOptions","mimeType"],E);let T=s(t,["outputCompressionQuality"]);e!==void 0&&T!=null&&a(e,["parameters","outputOptions","compressionQuality"],T);let A=s(t,["addWatermark"]);e!==void 0&&A!=null&&a(e,["parameters","addWatermark"],A);let L=s(t,["labels"]);e!==void 0&&L!=null&&a(e,["labels"],L);let D=s(t,["imageSize"]);e!==void 0&&D!=null&&a(e,["parameters","sampleImageSize"],D);let O=s(t,["enhancePrompt"]);return e!==void 0&&O!=null&&a(e,["parameters","enhancePrompt"],O),i}function uw(t,e,n){let i={},r=s(e,["model"]);r!=null&&a(i,["_url","model"],te(t,r));let o=s(e,["prompt"]);o!=null&&a(i,["instances[0]","prompt"],o);let l=s(e,["config"]);return l!=null&&aw(l,i),i}function cw(t,e,n){let i={},r=s(e,["model"]);r!=null&&a(i,["_url","model"],te(t,r));let o=s(e,["prompt"]);o!=null&&a(i,["instances[0]","prompt"],o);let l=s(e,["config"]);return l!=null&&lw(l,i),i}function fw(t,e){let n={},i=s(t,["sdkHttpResponse"]);i!=null&&a(n,["sdkHttpResponse"],i);let r=s(t,["predictions"]);if(r!=null){let l=r;Array.isArray(l)&&(l=l.map(u=>vw(u))),a(n,["generatedImages"],l)}let o=s(t,["positivePromptSafetyAttributes"]);return o!=null&&a(n,["positivePromptSafetyAttributes"],ym(o)),n}function dw(t,e){let n={},i=s(t,["sdkHttpResponse"]);i!=null&&a(n,["sdkHttpResponse"],i);let r=s(t,["predictions"]);if(r!=null){let l=r;Array.isArray(l)&&(l=l.map(u=>ao(u))),a(n,["generatedImages"],l)}let o=s(t,["positivePromptSafetyAttributes"]);return o!=null&&a(n,["positivePromptSafetyAttributes"],_m(o)),n}function hw(t,e,n){let i={},r=s(t,["numberOfVideos"]);if(e!==void 0&&r!=null&&a(e,["parameters","sampleCount"],r),s(t,["outputGcsUri"])!==void 0)throw new Error("outputGcsUri parameter is not supported in Gemini API.");if(s(t,["fps"])!==void 0)throw new Error("fps parameter is not supported in Gemini API.");let o=s(t,["durationSeconds"]);if(e!==void 0&&o!=null&&a(e,["parameters","durationSeconds"],o),s(t,["seed"])!==void 0)throw new Error("seed parameter is not supported in Gemini API.");let l=s(t,["aspectRatio"]);e!==void 0&&l!=null&&a(e,["parameters","aspectRatio"],l);let u=s(t,["resolution"]);e!==void 0&&u!=null&&a(e,["parameters","resolution"],u);let f=s(t,["personGeneration"]);if(e!==void 0&&f!=null&&a(e,["parameters","personGeneration"],f),s(t,["pubsubTopic"])!==void 0)throw new Error("pubsubTopic parameter is not supported in Gemini API.");let c=s(t,["negativePrompt"]);e!==void 0&&c!=null&&a(e,["parameters","negativePrompt"],c);let d=s(t,["enhancePrompt"]);if(e!==void 0&&d!=null&&a(e,["parameters","enhancePrompt"],d),s(t,["generateAudio"])!==void 0)throw new Error("generateAudio parameter is not supported in Gemini API.");let h=s(t,["lastFrame"]);e!==void 0&&h!=null&&a(e,["instances[0]","lastFrame"],lo(h));let p=s(t,["referenceImages"]);if(e!==void 0&&p!=null){let m=p;Array.isArray(m)&&(m=m.map(_=>TI(_))),a(e,["instances[0]","referenceImages"],m)}if(s(t,["mask"])!==void 0)throw new Error("mask parameter is not supported in Gemini API.");if(s(t,["compressionQuality"])!==void 0)throw new Error("compressionQuality parameter is not supported in Gemini API.");if(s(t,["labels"])!==void 0)throw new Error("labels parameter is not supported in Gemini API.");return i}function pw(t,e,n){let i={},r=s(t,["numberOfVideos"]);e!==void 0&&r!=null&&a(e,["parameters","sampleCount"],r);let o=s(t,["outputGcsUri"]);e!==void 0&&o!=null&&a(e,["parameters","storageUri"],o);let l=s(t,["fps"]);e!==void 0&&l!=null&&a(e,["parameters","fps"],l);let u=s(t,["durationSeconds"]);e!==void 0&&u!=null&&a(e,["parameters","durationSeconds"],u);let f=s(t,["seed"]);e!==void 0&&f!=null&&a(e,["parameters","seed"],f);let c=s(t,["aspectRatio"]);e!==void 0&&c!=null&&a(e,["parameters","aspectRatio"],c);let d=s(t,["resolution"]);e!==void 0&&d!=null&&a(e,["parameters","resolution"],d);let h=s(t,["personGeneration"]);e!==void 0&&h!=null&&a(e,["parameters","personGeneration"],h);let p=s(t,["pubsubTopic"]);e!==void 0&&p!=null&&a(e,["parameters","pubsubTopic"],p);let m=s(t,["negativePrompt"]);e!==void 0&&m!=null&&a(e,["parameters","negativePrompt"],m);let _=s(t,["enhancePrompt"]);e!==void 0&&_!=null&&a(e,["parameters","enhancePrompt"],_);let E=s(t,["generateAudio"]);e!==void 0&&E!=null&&a(e,["parameters","generateAudio"],E);let T=s(t,["lastFrame"]);e!==void 0&&T!=null&&a(e,["instances[0]","lastFrame"],Ze(T));let A=s(t,["referenceImages"]);if(e!==void 0&&A!=null){let U=A;Array.isArray(U)&&(U=U.map(R=>SI(R))),a(e,["instances[0]","referenceImages"],U)}let L=s(t,["mask"]);e!==void 0&&L!=null&&a(e,["instances[0]","mask"],EI(L));let D=s(t,["compressionQuality"]);e!==void 0&&D!=null&&a(e,["parameters","compressionQuality"],D);let O=s(t,["labels"]);return e!==void 0&&O!=null&&a(e,["labels"],O),i}function mw(t,e){let n={},i=s(t,["name"]);i!=null&&a(n,["name"],i);let r=s(t,["metadata"]);r!=null&&a(n,["metadata"],r);let o=s(t,["done"]);o!=null&&a(n,["done"],o);let l=s(t,["error"]);l!=null&&a(n,["error"],l);let u=s(t,["response","generateVideoResponse"]);return u!=null&&a(n,["response"],Ew(u)),n}function gw(t,e){let n={},i=s(t,["name"]);i!=null&&a(n,["name"],i);let r=s(t,["metadata"]);r!=null&&a(n,["metadata"],r);let o=s(t,["done"]);o!=null&&a(n,["done"],o);let l=s(t,["error"]);l!=null&&a(n,["error"],l);let u=s(t,["response"]);return u!=null&&a(n,["response"],Tw(u)),n}function yw(t,e,n){let i={},r=s(e,["model"]);r!=null&&a(i,["_url","model"],te(t,r));let o=s(e,["prompt"]);o!=null&&a(i,["instances[0]","prompt"],o);let l=s(e,["image"]);l!=null&&a(i,["instances[0]","image"],lo(l));let u=s(e,["video"]);u!=null&&a(i,["instances[0]","video"],Sm(u));let f=s(e,["source"]);f!=null&&Sw(f,i);let c=s(e,["config"]);return c!=null&&hw(c,i),i}function _w(t,e,n){let i={},r=s(e,["model"]);r!=null&&a(i,["_url","model"],te(t,r));let o=s(e,["prompt"]);o!=null&&a(i,["instances[0]","prompt"],o);let l=s(e,["image"]);l!=null&&a(i,["instances[0]","image"],Ze(l));let u=s(e,["video"]);u!=null&&a(i,["instances[0]","video"],Cm(u));let f=s(e,["source"]);f!=null&&Cw(f,i);let c=s(e,["config"]);return c!=null&&pw(c,i),i}function Ew(t,e){let n={},i=s(t,["generatedSamples"]);if(i!=null){let l=i;Array.isArray(l)&&(l=l.map(u=>ww(u))),a(n,["generatedVideos"],l)}let r=s(t,["raiMediaFilteredCount"]);r!=null&&a(n,["raiMediaFilteredCount"],r);let o=s(t,["raiMediaFilteredReasons"]);return o!=null&&a(n,["raiMediaFilteredReasons"],o),n}function Tw(t,e){let n={},i=s(t,["videos"]);if(i!=null){let l=i;Array.isArray(l)&&(l=l.map(u=>Iw(u))),a(n,["generatedVideos"],l)}let r=s(t,["raiMediaFilteredCount"]);r!=null&&a(n,["raiMediaFilteredCount"],r);let o=s(t,["raiMediaFilteredReasons"]);return o!=null&&a(n,["raiMediaFilteredReasons"],o),n}function Sw(t,e,n){let i={},r=s(t,["prompt"]);e!==void 0&&r!=null&&a(e,["instances[0]","prompt"],r);let o=s(t,["image"]);e!==void 0&&o!=null&&a(e,["instances[0]","image"],lo(o));let l=s(t,["video"]);return e!==void 0&&l!=null&&a(e,["instances[0]","video"],Sm(l)),i}function Cw(t,e,n){let i={},r=s(t,["prompt"]);e!==void 0&&r!=null&&a(e,["instances[0]","prompt"],r);let o=s(t,["image"]);e!==void 0&&o!=null&&a(e,["instances[0]","image"],Ze(o));let l=s(t,["video"]);return e!==void 0&&l!=null&&a(e,["instances[0]","video"],Cm(l)),i}function vw(t,e){let n={},i=s(t,["_self"]);i!=null&&a(n,["image"],Uw(i));let r=s(t,["raiFilteredReason"]);r!=null&&a(n,["raiFilteredReason"],r);let o=s(t,["_self"]);return o!=null&&a(n,["safetyAttributes"],ym(o)),n}function ao(t,e){let n={},i=s(t,["_self"]);i!=null&&a(n,["image"],gm(i));let r=s(t,["raiFilteredReason"]);r!=null&&a(n,["raiFilteredReason"],r);let o=s(t,["_self"]);o!=null&&a(n,["safetyAttributes"],_m(o));let l=s(t,["prompt"]);return l!=null&&a(n,["enhancedPrompt"],l),n}function Aw(t,e){let n={},i=s(t,["_self"]);i!=null&&a(n,["mask"],gm(i));let r=s(t,["labels"]);if(r!=null){let o=r;Array.isArray(o)&&(o=o.map(l=>l)),a(n,["labels"],o)}return n}function ww(t,e){let n={},i=s(t,["video"]);return i!=null&&a(n,["video"],yI(i)),n}function Iw(t,e){let n={},i=s(t,["_self"]);return i!=null&&a(n,["video"],_I(i)),n}function Rw(t,e){let n={},i=s(t,["modelSelectionConfig"]);i!=null&&a(n,["modelConfig"],i);let r=s(t,["responseJsonSchema"]);r!=null&&a(n,["responseJsonSchema"],r);let o=s(t,["audioTimestamp"]);o!=null&&a(n,["audioTimestamp"],o);let l=s(t,["candidateCount"]);l!=null&&a(n,["candidateCount"],l);let u=s(t,["enableAffectiveDialog"]);u!=null&&a(n,["enableAffectiveDialog"],u);let f=s(t,["frequencyPenalty"]);f!=null&&a(n,["frequencyPenalty"],f);let c=s(t,["logprobs"]);c!=null&&a(n,["logprobs"],c);let d=s(t,["maxOutputTokens"]);d!=null&&a(n,["maxOutputTokens"],d);let h=s(t,["mediaResolution"]);h!=null&&a(n,["mediaResolution"],h);let p=s(t,["presencePenalty"]);p!=null&&a(n,["presencePenalty"],p);let m=s(t,["responseLogprobs"]);m!=null&&a(n,["responseLogprobs"],m);let _=s(t,["responseMimeType"]);_!=null&&a(n,["responseMimeType"],_);let E=s(t,["responseModalities"]);E!=null&&a(n,["responseModalities"],E);let T=s(t,["responseSchema"]);T!=null&&a(n,["responseSchema"],T);let A=s(t,["routingConfig"]);A!=null&&a(n,["routingConfig"],A);let L=s(t,["seed"]);L!=null&&a(n,["seed"],L);let D=s(t,["speechConfig"]);D!=null&&a(n,["speechConfig"],Em(D));let O=s(t,["stopSequences"]);O!=null&&a(n,["stopSequences"],O);let U=s(t,["temperature"]);U!=null&&a(n,["temperature"],U);let R=s(t,["thinkingConfig"]);R!=null&&a(n,["thinkingConfig"],R);let q=s(t,["topK"]);q!=null&&a(n,["topK"],q);let K=s(t,["topP"]);if(K!=null&&a(n,["topP"],K),s(t,["enableEnhancedCivicAnswers"])!==void 0)throw new Error("enableEnhancedCivicAnswers parameter is not supported in Vertex AI.");return n}function Pw(t,e,n){let i={},r=s(e,["model"]);return r!=null&&a(i,["_url","name"],te(t,r)),i}function Nw(t,e,n){let i={},r=s(e,["model"]);return r!=null&&a(i,["_url","name"],te(t,r)),i}function xw(t,e){let n={},i=s(t,["authConfig"]);i!=null&&a(n,["authConfig"],IA(i));let r=s(t,["enableWidget"]);return r!=null&&a(n,["enableWidget"],r),n}function kw(t,e){let n={},i=s(t,["searchTypes"]);if(i!=null&&a(n,["searchTypes"],i),s(t,["blockingConfidence"])!==void 0)throw new Error("blockingConfidence parameter is not supported in Gemini API.");if(s(t,["excludeDomains"])!==void 0)throw new Error("excludeDomains parameter is not supported in Gemini API.");let r=s(t,["timeRangeFilter"]);return r!=null&&a(n,["timeRangeFilter"],r),n}function Mw(t,e){let n={},i=s(t,["aspectRatio"]);i!=null&&a(n,["aspectRatio"],i);let r=s(t,["imageSize"]);if(r!=null&&a(n,["imageSize"],r),s(t,["personGeneration"])!==void 0)throw new Error("personGeneration parameter is not supported in Gemini API.");if(s(t,["prominentPeople"])!==void 0)throw new Error("prominentPeople parameter is not supported in Gemini API.");if(s(t,["outputMimeType"])!==void 0)throw new Error("outputMimeType parameter is not supported in Gemini API.");if(s(t,["outputCompressionQuality"])!==void 0)throw new Error("outputCompressionQuality parameter is not supported in Gemini API.");if(s(t,["imageOutputOptions"])!==void 0)throw new Error("imageOutputOptions parameter is not supported in Gemini API.");return n}function Dw(t,e){let n={},i=s(t,["aspectRatio"]);i!=null&&a(n,["aspectRatio"],i);let r=s(t,["imageSize"]);r!=null&&a(n,["imageSize"],r);let o=s(t,["personGeneration"]);o!=null&&a(n,["personGeneration"],o);let l=s(t,["prominentPeople"]);l!=null&&a(n,["prominentPeople"],l);let u=s(t,["outputMimeType"]);u!=null&&a(n,["imageOutputOptions","mimeType"],u);let f=s(t,["outputCompressionQuality"]);f!=null&&a(n,["imageOutputOptions","compressionQuality"],f);let c=s(t,["imageOutputOptions"]);return c!=null&&a(n,["imageOutputOptions"],c),n}function Uw(t,e){let n={},i=s(t,["bytesBase64Encoded"]);i!=null&&a(n,["imageBytes"],Pt(i));let r=s(t,["mimeType"]);return r!=null&&a(n,["mimeType"],r),n}function gm(t,e){let n={},i=s(t,["gcsUri"]);i!=null&&a(n,["gcsUri"],i);let r=s(t,["bytesBase64Encoded"]);r!=null&&a(n,["imageBytes"],Pt(r));let o=s(t,["mimeType"]);return o!=null&&a(n,["mimeType"],o),n}function lo(t,e){let n={};if(s(t,["gcsUri"])!==void 0)throw new Error("gcsUri parameter is not supported in Gemini API.");let i=s(t,["imageBytes"]);i!=null&&a(n,["bytesBase64Encoded"],Pt(i));let r=s(t,["mimeType"]);return r!=null&&a(n,["mimeType"],r),n}function Ze(t,e){let n={},i=s(t,["gcsUri"]);i!=null&&a(n,["gcsUri"],i);let r=s(t,["imageBytes"]);r!=null&&a(n,["bytesBase64Encoded"],Pt(r));let o=s(t,["mimeType"]);return o!=null&&a(n,["mimeType"],o),n}function bw(t,e,n,i){let r={},o=s(e,["pageSize"]);n!==void 0&&o!=null&&a(n,["_query","pageSize"],o);let l=s(e,["pageToken"]);n!==void 0&&l!=null&&a(n,["_query","pageToken"],l);let u=s(e,["filter"]);n!==void 0&&u!=null&&a(n,["_query","filter"],u);let f=s(e,["queryBase"]);return n!==void 0&&f!=null&&a(n,["_url","models_url"],am(t,f)),r}function Lw(t,e,n,i){let r={},o=s(e,["pageSize"]);n!==void 0&&o!=null&&a(n,["_query","pageSize"],o);let l=s(e,["pageToken"]);n!==void 0&&l!=null&&a(n,["_query","pageToken"],l);let u=s(e,["filter"]);n!==void 0&&u!=null&&a(n,["_query","filter"],u);let f=s(e,["queryBase"]);return n!==void 0&&f!=null&&a(n,["_url","models_url"],am(t,f)),r}function Ow(t,e,n){let i={},r=s(e,["config"]);return r!=null&&bw(t,r,i),i}function Fw(t,e,n){let i={},r=s(e,["config"]);return r!=null&&Lw(t,r,i),i}function Gw(t,e){let n={},i=s(t,["sdkHttpResponse"]);i!=null&&a(n,["sdkHttpResponse"],i);let r=s(t,["nextPageToken"]);r!=null&&a(n,["nextPageToken"],r);let o=s(t,["_self"]);if(o!=null){let l=lm(o);Array.isArray(l)&&(l=l.map(u=>gl(u))),a(n,["models"],l)}return n}function qw(t,e){let n={},i=s(t,["sdkHttpResponse"]);i!=null&&a(n,["sdkHttpResponse"],i);let r=s(t,["nextPageToken"]);r!=null&&a(n,["nextPageToken"],r);let o=s(t,["_self"]);if(o!=null){let l=lm(o);Array.isArray(l)&&(l=l.map(u=>yl(u))),a(n,["models"],l)}return n}function Bw(t,e){let n={},i=s(t,["maskMode"]);i!=null&&a(n,["maskMode"],i);let r=s(t,["segmentationClasses"]);r!=null&&a(n,["maskClasses"],r);let o=s(t,["maskDilation"]);return o!=null&&a(n,["dilation"],o),n}function gl(t,e){let n={},i=s(t,["name"]);i!=null&&a(n,["name"],i);let r=s(t,["displayName"]);r!=null&&a(n,["displayName"],r);let o=s(t,["description"]);o!=null&&a(n,["description"],o);let l=s(t,["version"]);l!=null&&a(n,["version"],l);let u=s(t,["_self"]);u!=null&&a(n,["tunedModelInfo"],lI(u));let f=s(t,["inputTokenLimit"]);f!=null&&a(n,["inputTokenLimit"],f);let c=s(t,["outputTokenLimit"]);c!=null&&a(n,["outputTokenLimit"],c);let d=s(t,["supportedGenerationMethods"]);d!=null&&a(n,["supportedActions"],d);let h=s(t,["temperature"]);h!=null&&a(n,["temperature"],h);let p=s(t,["maxTemperature"]);p!=null&&a(n,["maxTemperature"],p);let m=s(t,["topP"]);m!=null&&a(n,["topP"],m);let _=s(t,["topK"]);_!=null&&a(n,["topK"],_);let E=s(t,["thinking"]);return E!=null&&a(n,["thinking"],E),n}function yl(t,e){let n={},i=s(t,["name"]);i!=null&&a(n,["name"],i);let r=s(t,["displayName"]);r!=null&&a(n,["displayName"],r);let o=s(t,["description"]);o!=null&&a(n,["description"],o);let l=s(t,["versionId"]);l!=null&&a(n,["version"],l);let u=s(t,["deployedModels"]);if(u!=null){let p=u;Array.isArray(p)&&(p=p.map(m=>ew(m))),a(n,["endpoints"],p)}let f=s(t,["labels"]);f!=null&&a(n,["labels"],f);let c=s(t,["_self"]);c!=null&&a(n,["tunedModelInfo"],uI(c));let d=s(t,["defaultCheckpointId"]);d!=null&&a(n,["defaultCheckpointId"],d);let h=s(t,["checkpoints"]);if(h!=null){let p=h;Array.isArray(p)&&(p=p.map(m=>m)),a(n,["checkpoints"],p)}return n}function Vw(t,e){let n={},i=s(t,["speakerVoiceConfigs"]);if(i!=null){let r=i;Array.isArray(r)&&(r=r.map(o=>rI(o))),a(n,["speakerVoiceConfigs"],r)}return n}function Hw(t,e){let n={},i=s(t,["mediaResolution"]);i!=null&&a(n,["mediaResolution"],i);let r=s(t,["codeExecutionResult"]);r!=null&&a(n,["codeExecutionResult"],r);let o=s(t,["executableCode"]);o!=null&&a(n,["executableCode"],o);let l=s(t,["fileData"]);l!=null&&a(n,["fileData"],tw(l));let u=s(t,["functionCall"]);u!=null&&a(n,["functionCall"],nw(u));let f=s(t,["functionResponse"]);f!=null&&a(n,["functionResponse"],f);let c=s(t,["inlineData"]);c!=null&&a(n,["inlineData"],RA(c));let d=s(t,["text"]);d!=null&&a(n,["text"],d);let h=s(t,["thought"]);h!=null&&a(n,["thought"],h);let p=s(t,["thoughtSignature"]);p!=null&&a(n,["thoughtSignature"],p);let m=s(t,["videoMetadata"]);m!=null&&a(n,["videoMetadata"],m);let _=s(t,["toolCall"]);_!=null&&a(n,["toolCall"],_);let E=s(t,["toolResponse"]);E!=null&&a(n,["toolResponse"],E);let T=s(t,["partMetadata"]);return T!=null&&a(n,["partMetadata"],T),n}function $w(t,e){let n={},i=s(t,["mediaResolution"]);i!=null&&a(n,["mediaResolution"],i);let r=s(t,["codeExecutionResult"]);r!=null&&a(n,["codeExecutionResult"],r);let o=s(t,["executableCode"]);o!=null&&a(n,["executableCode"],o);let l=s(t,["fileData"]);l!=null&&a(n,["fileData"],l);let u=s(t,["functionCall"]);u!=null&&a(n,["functionCall"],u);let f=s(t,["functionResponse"]);f!=null&&a(n,["functionResponse"],f);let c=s(t,["inlineData"]);c!=null&&a(n,["inlineData"],c);let d=s(t,["text"]);d!=null&&a(n,["text"],d);let h=s(t,["thought"]);h!=null&&a(n,["thought"],h);let p=s(t,["thoughtSignature"]);p!=null&&a(n,["thoughtSignature"],p);let m=s(t,["videoMetadata"]);if(m!=null&&a(n,["videoMetadata"],m),s(t,["toolCall"])!==void 0)throw new Error("toolCall parameter is not supported in Vertex AI.");if(s(t,["toolResponse"])!==void 0)throw new Error("toolResponse parameter is not supported in Vertex AI.");if(s(t,["partMetadata"])!==void 0)throw new Error("partMetadata parameter is not supported in Vertex AI.");return n}function Jw(t,e){let n={},i=s(t,["productImage"]);return i!=null&&a(n,["image"],Ze(i)),n}function Ww(t,e,n){let i={},r=s(t,["numberOfImages"]);e!==void 0&&r!=null&&a(e,["parameters","sampleCount"],r);let o=s(t,["baseSteps"]);e!==void 0&&o!=null&&a(e,["parameters","baseSteps"],o);let l=s(t,["outputGcsUri"]);e!==void 0&&l!=null&&a(e,["parameters","storageUri"],l);let u=s(t,["seed"]);e!==void 0&&u!=null&&a(e,["parameters","seed"],u);let f=s(t,["safetyFilterLevel"]);e!==void 0&&f!=null&&a(e,["parameters","safetySetting"],f);let c=s(t,["personGeneration"]);e!==void 0&&c!=null&&a(e,["parameters","personGeneration"],c);let d=s(t,["addWatermark"]);e!==void 0&&d!=null&&a(e,["parameters","addWatermark"],d);let h=s(t,["outputMimeType"]);e!==void 0&&h!=null&&a(e,["parameters","outputOptions","mimeType"],h);let p=s(t,["outputCompressionQuality"]);e!==void 0&&p!=null&&a(e,["parameters","outputOptions","compressionQuality"],p);let m=s(t,["enhancePrompt"]);e!==void 0&&m!=null&&a(e,["parameters","enhancePrompt"],m);let _=s(t,["labels"]);return e!==void 0&&_!=null&&a(e,["labels"],_),i}function Kw(t,e,n){let i={},r=s(e,["model"]);r!=null&&a(i,["_url","model"],te(t,r));let o=s(e,["source"]);o!=null&&zw(o,i);let l=s(e,["config"]);return l!=null&&Ww(l,i),i}function Yw(t,e){let n={},i=s(t,["predictions"]);if(i!=null){let r=i;Array.isArray(r)&&(r=r.map(o=>ao(o))),a(n,["generatedImages"],r)}return n}function zw(t,e,n){let i={},r=s(t,["prompt"]);e!==void 0&&r!=null&&a(e,["instances[0]","prompt"],r);let o=s(t,["personImage"]);e!==void 0&&o!=null&&a(e,["instances[0]","personImage","image"],Ze(o));let l=s(t,["productImages"]);if(e!==void 0&&l!=null){let u=l;Array.isArray(u)&&(u=u.map(f=>Jw(f))),a(e,["instances[0]","productImages"],u)}return i}function Xw(t,e){let n={},i=s(t,["referenceImage"]);i!=null&&a(n,["referenceImage"],Ze(i));let r=s(t,["referenceId"]);r!=null&&a(n,["referenceId"],r);let o=s(t,["referenceType"]);o!=null&&a(n,["referenceType"],o);let l=s(t,["maskImageConfig"]);l!=null&&a(n,["maskImageConfig"],Bw(l));let u=s(t,["controlImageConfig"]);u!=null&&a(n,["controlImageConfig"],UA(u));let f=s(t,["styleImageConfig"]);f!=null&&a(n,["styleImageConfig"],f);let c=s(t,["subjectImageConfig"]);return c!=null&&a(n,["subjectImageConfig"],c),n}function Qw(t,e){let n={},i=s(t,["mimeType"]);i!=null&&a(n,["mimeType"],i);let r=s(t,["voiceSampleAudio"]);return r!=null&&a(n,["voiceSampleAudio"],r),n}function ym(t,e){let n={},i=s(t,["safetyAttributes","categories"]);i!=null&&a(n,["categories"],i);let r=s(t,["safetyAttributes","scores"]);r!=null&&a(n,["scores"],r);let o=s(t,["contentType"]);return o!=null&&a(n,["contentType"],o),n}function _m(t,e){let n={},i=s(t,["safetyAttributes","categories"]);i!=null&&a(n,["categories"],i);let r=s(t,["safetyAttributes","scores"]);r!=null&&a(n,["scores"],r);let o=s(t,["contentType"]);return o!=null&&a(n,["contentType"],o),n}function Zw(t,e){let n={},i=s(t,["category"]);if(i!=null&&a(n,["category"],i),s(t,["method"])!==void 0)throw new Error("method parameter is not supported in Gemini API.");let r=s(t,["threshold"]);return r!=null&&a(n,["threshold"],r),n}function jw(t,e){let n={},i=s(t,["image"]);return i!=null&&a(n,["image"],Ze(i)),n}function eI(t,e,n){let i={},r=s(t,["mode"]);e!==void 0&&r!=null&&a(e,["parameters","mode"],r);let o=s(t,["maxPredictions"]);e!==void 0&&o!=null&&a(e,["parameters","maxPredictions"],o);let l=s(t,["confidenceThreshold"]);e!==void 0&&l!=null&&a(e,["parameters","confidenceThreshold"],l);let u=s(t,["maskDilation"]);e!==void 0&&u!=null&&a(e,["parameters","maskDilation"],u);let f=s(t,["binaryColorThreshold"]);e!==void 0&&f!=null&&a(e,["parameters","binaryColorThreshold"],f);let c=s(t,["labels"]);return e!==void 0&&c!=null&&a(e,["labels"],c),i}function tI(t,e,n){let i={},r=s(e,["model"]);r!=null&&a(i,["_url","model"],te(t,r));let o=s(e,["source"]);o!=null&&iI(o,i);let l=s(e,["config"]);return l!=null&&eI(l,i),i}function nI(t,e){let n={},i=s(t,["predictions"]);if(i!=null){let r=i;Array.isArray(r)&&(r=r.map(o=>Aw(o))),a(n,["generatedMasks"],r)}return n}function iI(t,e,n){let i={},r=s(t,["prompt"]);e!==void 0&&r!=null&&a(e,["instances[0]","prompt"],r);let o=s(t,["image"]);e!==void 0&&o!=null&&a(e,["instances[0]","image"],Ze(o));let l=s(t,["scribbleImage"]);return e!==void 0&&l!=null&&a(e,["instances[0]","scribble"],jw(l)),i}function rI(t,e){let n={},i=s(t,["speaker"]);i!=null&&a(n,["speaker"],i);let r=s(t,["voiceConfig"]);return r!=null&&a(n,["voiceConfig"],vm(r)),n}function Em(t,e){let n={},i=s(t,["voiceConfig"]);i!=null&&a(n,["voiceConfig"],vm(i));let r=s(t,["languageCode"]);r!=null&&a(n,["languageCode"],r);let o=s(t,["multiSpeakerVoiceConfig"]);return o!=null&&a(n,["multiSpeakerVoiceConfig"],Vw(o)),n}function oI(t,e){let n={},i=s(t,["retrievalConfig"]);i!=null&&a(n,["retrievalConfig"],i);let r=s(t,["functionCallingConfig"]);r!=null&&a(n,["functionCallingConfig"],iw(r));let o=s(t,["includeServerSideToolInvocations"]);return o!=null&&a(n,["includeServerSideToolInvocations"],o),n}function sI(t,e){let n={},i=s(t,["retrievalConfig"]);i!=null&&a(n,["retrievalConfig"],i);let r=s(t,["functionCallingConfig"]);if(r!=null&&a(n,["functionCallingConfig"],r),s(t,["includeServerSideToolInvocations"])!==void 0)throw new Error("includeServerSideToolInvocations parameter is not supported in Vertex AI.");return n}function aI(t,e){let n={};if(s(t,["retrieval"])!==void 0)throw new Error("retrieval parameter is not supported in Gemini API.");let i=s(t,["computerUse"]);i!=null&&a(n,["computerUse"],i);let r=s(t,["fileSearch"]);r!=null&&a(n,["fileSearch"],r);let o=s(t,["googleSearch"]);o!=null&&a(n,["googleSearch"],kw(o));let l=s(t,["googleMaps"]);l!=null&&a(n,["googleMaps"],xw(l));let u=s(t,["codeExecution"]);if(u!=null&&a(n,["codeExecution"],u),s(t,["enterpriseWebSearch"])!==void 0)throw new Error("enterpriseWebSearch parameter is not supported in Gemini API.");let f=s(t,["functionDeclarations"]);if(f!=null){let p=f;Array.isArray(p)&&(p=p.map(m=>m)),a(n,["functionDeclarations"],p)}let c=s(t,["googleSearchRetrieval"]);if(c!=null&&a(n,["googleSearchRetrieval"],c),s(t,["parallelAiSearch"])!==void 0)throw new Error("parallelAiSearch parameter is not supported in Gemini API.");let d=s(t,["urlContext"]);d!=null&&a(n,["urlContext"],d);let h=s(t,["mcpServers"]);if(h!=null){let p=h;Array.isArray(p)&&(p=p.map(m=>m)),a(n,["mcpServers"],p)}return n}function Tm(t,e){let n={},i=s(t,["retrieval"]);i!=null&&a(n,["retrieval"],i);let r=s(t,["computerUse"]);if(r!=null&&a(n,["computerUse"],r),s(t,["fileSearch"])!==void 0)throw new Error("fileSearch parameter is not supported in Vertex AI.");let o=s(t,["googleSearch"]);o!=null&&a(n,["googleSearch"],o);let l=s(t,["googleMaps"]);l!=null&&a(n,["googleMaps"],l);let u=s(t,["codeExecution"]);u!=null&&a(n,["codeExecution"],u);let f=s(t,["enterpriseWebSearch"]);f!=null&&a(n,["enterpriseWebSearch"],f);let c=s(t,["functionDeclarations"]);if(c!=null){let m=c;Array.isArray(m)&&(m=m.map(_=>rw(_))),a(n,["functionDeclarations"],m)}let d=s(t,["googleSearchRetrieval"]);d!=null&&a(n,["googleSearchRetrieval"],d);let h=s(t,["parallelAiSearch"]);h!=null&&a(n,["parallelAiSearch"],h);let p=s(t,["urlContext"]);if(p!=null&&a(n,["urlContext"],p),s(t,["mcpServers"])!==void 0)throw new Error("mcpServers parameter is not supported in Vertex AI.");return n}function lI(t,e){let n={},i=s(t,["baseModel"]);i!=null&&a(n,["baseModel"],i);let r=s(t,["createTime"]);r!=null&&a(n,["createTime"],r);let o=s(t,["updateTime"]);return o!=null&&a(n,["updateTime"],o),n}function uI(t,e){let n={},i=s(t,["labels","google-vertex-llm-tuning-base-model-id"]);i!=null&&a(n,["baseModel"],i);let r=s(t,["createTime"]);r!=null&&a(n,["createTime"],r);let o=s(t,["updateTime"]);return o!=null&&a(n,["updateTime"],o),n}function cI(t,e,n){let i={},r=s(t,["displayName"]);e!==void 0&&r!=null&&a(e,["displayName"],r);let o=s(t,["description"]);e!==void 0&&o!=null&&a(e,["description"],o);let l=s(t,["defaultCheckpointId"]);return e!==void 0&&l!=null&&a(e,["defaultCheckpointId"],l),i}function fI(t,e,n){let i={},r=s(t,["displayName"]);e!==void 0&&r!=null&&a(e,["displayName"],r);let o=s(t,["description"]);e!==void 0&&o!=null&&a(e,["description"],o);let l=s(t,["defaultCheckpointId"]);return e!==void 0&&l!=null&&a(e,["defaultCheckpointId"],l),i}function dI(t,e,n){let i={},r=s(e,["model"]);r!=null&&a(i,["_url","name"],te(t,r));let o=s(e,["config"]);return o!=null&&cI(o,i),i}function hI(t,e,n){let i={},r=s(e,["model"]);r!=null&&a(i,["_url","model"],te(t,r));let o=s(e,["config"]);return o!=null&&fI(o,i),i}function pI(t,e,n){let i={},r=s(t,["outputGcsUri"]);e!==void 0&&r!=null&&a(e,["parameters","storageUri"],r);let o=s(t,["safetyFilterLevel"]);e!==void 0&&o!=null&&a(e,["parameters","safetySetting"],o);let l=s(t,["personGeneration"]);e!==void 0&&l!=null&&a(e,["parameters","personGeneration"],l);let u=s(t,["includeRaiReason"]);e!==void 0&&u!=null&&a(e,["parameters","includeRaiReason"],u);let f=s(t,["outputMimeType"]);e!==void 0&&f!=null&&a(e,["parameters","outputOptions","mimeType"],f);let c=s(t,["outputCompressionQuality"]);e!==void 0&&c!=null&&a(e,["parameters","outputOptions","compressionQuality"],c);let d=s(t,["enhanceInputImage"]);e!==void 0&&d!=null&&a(e,["parameters","upscaleConfig","enhanceInputImage"],d);let h=s(t,["imagePreservationFactor"]);e!==void 0&&h!=null&&a(e,["parameters","upscaleConfig","imagePreservationFactor"],h);let p=s(t,["labels"]);e!==void 0&&p!=null&&a(e,["labels"],p);let m=s(t,["numberOfImages"]);e!==void 0&&m!=null&&a(e,["parameters","sampleCount"],m);let _=s(t,["mode"]);return e!==void 0&&_!=null&&a(e,["parameters","mode"],_),i}function mI(t,e,n){let i={},r=s(e,["model"]);r!=null&&a(i,["_url","model"],te(t,r));let o=s(e,["image"]);o!=null&&a(i,["instances[0]","image"],Ze(o));let l=s(e,["upscaleFactor"]);l!=null&&a(i,["parameters","upscaleConfig","upscaleFactor"],l);let u=s(e,["config"]);return u!=null&&pI(u,i),i}function gI(t,e){let n={},i=s(t,["sdkHttpResponse"]);i!=null&&a(n,["sdkHttpResponse"],i);let r=s(t,["predictions"]);if(r!=null){let o=r;Array.isArray(o)&&(o=o.map(l=>ao(l))),a(n,["generatedImages"],o)}return n}function yI(t,e){let n={},i=s(t,["uri"]);i!=null&&a(n,["uri"],i);let r=s(t,["encodedVideo"]);r!=null&&a(n,["videoBytes"],Pt(r));let o=s(t,["encoding"]);return o!=null&&a(n,["mimeType"],o),n}function _I(t,e){let n={},i=s(t,["gcsUri"]);i!=null&&a(n,["uri"],i);let r=s(t,["bytesBase64Encoded"]);r!=null&&a(n,["videoBytes"],Pt(r));let o=s(t,["mimeType"]);return o!=null&&a(n,["mimeType"],o),n}function EI(t,e){let n={},i=s(t,["image"]);i!=null&&a(n,["_self"],Ze(i));let r=s(t,["maskMode"]);return r!=null&&a(n,["maskMode"],r),n}function TI(t,e){let n={},i=s(t,["image"]);i!=null&&a(n,["image"],lo(i));let r=s(t,["referenceType"]);return r!=null&&a(n,["referenceType"],r),n}function SI(t,e){let n={},i=s(t,["image"]);i!=null&&a(n,["image"],Ze(i));let r=s(t,["referenceType"]);return r!=null&&a(n,["referenceType"],r),n}function Sm(t,e){let n={},i=s(t,["uri"]);i!=null&&a(n,["uri"],i);let r=s(t,["videoBytes"]);r!=null&&a(n,["encodedVideo"],Pt(r));let o=s(t,["mimeType"]);return o!=null&&a(n,["encoding"],o),n}function Cm(t,e){let n={},i=s(t,["uri"]);i!=null&&a(n,["gcsUri"],i);let r=s(t,["videoBytes"]);r!=null&&a(n,["bytesBase64Encoded"],Pt(r));let o=s(t,["mimeType"]);return o!=null&&a(n,["mimeType"],o),n}function vm(t,e){let n={},i=s(t,["replicatedVoiceConfig"]);i!=null&&a(n,["replicatedVoiceConfig"],Qw(i));let r=s(t,["prebuiltVoiceConfig"]);return r!=null&&a(n,["prebuiltVoiceConfig"],r),n}function CI(t,e){let n={},i=s(t,["displayName"]);return e!==void 0&&i!=null&&a(e,["displayName"],i),n}function vI(t){let e={},n=s(t,["config"]);return n!=null&&CI(n,e),e}function AI(t,e){let n={},i=s(t,["force"]);return e!==void 0&&i!=null&&a(e,["_query","force"],i),n}function wI(t){let e={},n=s(t,["name"]);n!=null&&a(e,["_url","name"],n);let i=s(t,["config"]);return i!=null&&AI(i,e),e}function II(t){let e={},n=s(t,["name"]);return n!=null&&a(e,["_url","name"],n),e}function RI(t,e){let n={},i=s(t,["customMetadata"]);if(e!==void 0&&i!=null){let o=i;Array.isArray(o)&&(o=o.map(l=>l)),a(e,["customMetadata"],o)}let r=s(t,["chunkingConfig"]);return e!==void 0&&r!=null&&a(e,["chunkingConfig"],r),n}function PI(t){let e={},n=s(t,["name"]);n!=null&&a(e,["name"],n);let i=s(t,["metadata"]);i!=null&&a(e,["metadata"],i);let r=s(t,["done"]);r!=null&&a(e,["done"],r);let o=s(t,["error"]);o!=null&&a(e,["error"],o);let l=s(t,["response"]);return l!=null&&a(e,["response"],xI(l)),e}function NI(t){let e={},n=s(t,["fileSearchStoreName"]);n!=null&&a(e,["_url","file_search_store_name"],n);let i=s(t,["fileName"]);i!=null&&a(e,["fileName"],i);let r=s(t,["config"]);return r!=null&&RI(r,e),e}function xI(t){let e={},n=s(t,["sdkHttpResponse"]);n!=null&&a(e,["sdkHttpResponse"],n);let i=s(t,["parent"]);i!=null&&a(e,["parent"],i);let r=s(t,["documentName"]);return r!=null&&a(e,["documentName"],r),e}function kI(t,e){let n={},i=s(t,["pageSize"]);e!==void 0&&i!=null&&a(e,["_query","pageSize"],i);let r=s(t,["pageToken"]);return e!==void 0&&r!=null&&a(e,["_query","pageToken"],r),n}function MI(t){let e={},n=s(t,["config"]);return n!=null&&kI(n,e),e}function DI(t){let e={},n=s(t,["sdkHttpResponse"]);n!=null&&a(e,["sdkHttpResponse"],n);let i=s(t,["nextPageToken"]);i!=null&&a(e,["nextPageToken"],i);let r=s(t,["fileSearchStores"]);if(r!=null){let o=r;Array.isArray(o)&&(o=o.map(l=>l)),a(e,["fileSearchStores"],o)}return e}function Am(t,e){let n={},i=s(t,["mimeType"]);e!==void 0&&i!=null&&a(e,["mimeType"],i);let r=s(t,["displayName"]);e!==void 0&&r!=null&&a(e,["displayName"],r);let o=s(t,["customMetadata"]);if(e!==void 0&&o!=null){let u=o;Array.isArray(u)&&(u=u.map(f=>f)),a(e,["customMetadata"],u)}let l=s(t,["chunkingConfig"]);return e!==void 0&&l!=null&&a(e,["chunkingConfig"],l),n}function UI(t){let e={},n=s(t,["fileSearchStoreName"]);n!=null&&a(e,["_url","file_search_store_name"],n);let i=s(t,["config"]);return i!=null&&Am(i,e),e}function bI(t){let e={},n=s(t,["sdkHttpResponse"]);return n!=null&&a(e,["sdkHttpResponse"],n),e}var LI="Content-Type",OI="X-Server-Timeout",FI="User-Agent",_l="x-goog-api-client",GI="1.47.0",qI=`google-genai-sdk/${GI}`,BI="v1beta1",VI="v1beta",HI=5,$I=[408,429,500,502,503,504],El=class{constructor(e){var n,i,r;this.clientOptions=Object.assign({},e),this.customBaseUrl=(n=e.httpOptions)===null||n===void 0?void 0:n.baseUrl,this.clientOptions.vertexai&&(this.clientOptions.project&&this.clientOptions.location?this.clientOptions.apiKey=void 0:this.clientOptions.apiKey&&(this.clientOptions.project=void 0,this.clientOptions.location=void 0));let o={};if(this.clientOptions.vertexai){if(!this.clientOptions.location&&!this.clientOptions.apiKey&&!this.customBaseUrl&&(this.clientOptions.location="global"),!(this.clientOptions.project&&this.clientOptions.location||this.clientOptions.apiKey)&&!this.customBaseUrl)throw new Error("Authentication is not set up. Please provide either a project and location, or an API key, or a custom base URL.");let u=e.project&&e.location||!!e.apiKey;this.customBaseUrl&&!u?(o.baseUrl=this.customBaseUrl,this.clientOptions.project=void 0,this.clientOptions.location=void 0):this.clientOptions.apiKey||this.clientOptions.location==="global"?o.baseUrl="https://aiplatform.googleapis.com/":this.clientOptions.project&&this.clientOptions.location&&this.clientOptions.location==="us"?o.baseUrl=`https://aiplatform.${this.clientOptions.location}.rep.googleapis.com/`:this.clientOptions.project&&this.clientOptions.location&&(o.baseUrl=`https://${this.clientOptions.location}-aiplatform.googleapis.com/`),o.apiVersion=(i=this.clientOptions.apiVersion)!==null&&i!==void 0?i:BI}else this.clientOptions.apiKey||console.warn("API key should be set when using the Gemini API."),o.apiVersion=(r=this.clientOptions.apiVersion)!==null&&r!==void 0?r:VI,o.baseUrl="https://generativelanguage.googleapis.com/";o.headers=this.getDefaultHeaders(),this.clientOptions.httpOptions=o,e.httpOptions&&(this.clientOptions.httpOptions=this.patchHttpOptions(o,e.httpOptions))}isVertexAI(){var e;return(e=this.clientOptions.vertexai)!==null&&e!==void 0?e:!1}getProject(){return this.clientOptions.project}getLocation(){return this.clientOptions.location}getCustomBaseUrl(){return this.customBaseUrl}async getAuthHeaders(){let e=new Headers;return await this.clientOptions.auth.addAuthHeaders(e),e}getApiVersion(){if(this.clientOptions.httpOptions&&this.clientOptions.httpOptions.apiVersion!==void 0)return this.clientOptions.httpOptions.apiVersion;throw new Error("API version is not set.")}getBaseUrl(){if(this.clientOptions.httpOptions&&this.clientOptions.httpOptions.baseUrl!==void 0)return this.clientOptions.httpOptions.baseUrl;throw new Error("Base URL is not set.")}getRequestUrl(){return this.getRequestUrlInternal(this.clientOptions.httpOptions)}getHeaders(){if(this.clientOptions.httpOptions&&this.clientOptions.httpOptions.headers!==void 0)return this.clientOptions.httpOptions.headers;throw new Error("Headers are not set.")}getRequestUrlInternal(e){if(!e||e.baseUrl===void 0||e.apiVersion===void 0)throw new Error("HTTP options are not correctly set.");let i=[e.baseUrl.endsWith("/")?e.baseUrl.slice(0,-1):e.baseUrl];return e.apiVersion&&e.apiVersion!==""&&i.push(e.apiVersion),i.join("/")}getBaseResourcePath(){return`projects/${this.clientOptions.project}/locations/${this.clientOptions.location}`}getApiKey(){return this.clientOptions.apiKey}getWebsocketBaseUrl(){let e=this.getBaseUrl(),n=new URL(e);return n.protocol=n.protocol=="http:"?"ws":"wss",n.toString()}setBaseUrl(e){if(this.clientOptions.httpOptions)this.clientOptions.httpOptions.baseUrl=e;else throw new Error("HTTP options are not correctly set.")}constructUrl(e,n,i){let r=[this.getRequestUrlInternal(n)];return i&&r.push(this.getBaseResourcePath()),e!==""&&r.push(e),new URL(`${r.join("/")}`)}shouldPrependVertexProjectPath(e,n){return!(n.baseUrl&&n.baseUrlResourceScope===Ka.COLLECTION||this.clientOptions.apiKey||!this.clientOptions.vertexai||e.path.startsWith("projects/")||e.httpMethod==="GET"&&e.path.startsWith("publishers/google/models"))}async request(e){let n=this.clientOptions.httpOptions;e.httpOptions&&(n=this.patchHttpOptions(this.clientOptions.httpOptions,e.httpOptions));let i=this.shouldPrependVertexProjectPath(e,n),r=this.constructUrl(e.path,n,i);if(e.queryParams)for(let[l,u]of Object.entries(e.queryParams))r.searchParams.append(l,String(u));let o={};if(e.httpMethod==="GET"){if(e.body&&e.body!=="{}")throw new Error("Request body should be empty for GET request, but got non empty request body")}else o.body=e.body;return o=await this.includeExtraHttpOptionsToRequestInit(o,n,r.toString(),e.abortSignal),this.unaryApiCall(r,o,e.httpMethod)}patchHttpOptions(e,n){let i=JSON.parse(JSON.stringify(e));for(let[r,o]of Object.entries(n))typeof o=="object"?i[r]=Object.assign(Object.assign({},i[r]),o):o!==void 0&&(i[r]=o);return i}async requestStream(e){let n=this.clientOptions.httpOptions;e.httpOptions&&(n=this.patchHttpOptions(this.clientOptions.httpOptions,e.httpOptions));let i=this.shouldPrependVertexProjectPath(e,n),r=this.constructUrl(e.path,n,i);(!r.searchParams.has("alt")||r.searchParams.get("alt")!=="sse")&&r.searchParams.set("alt","sse");let o={};return o.body=e.body,o=await this.includeExtraHttpOptionsToRequestInit(o,n,r.toString(),e.abortSignal),this.streamApiCall(r,o,e.httpMethod)}async includeExtraHttpOptionsToRequestInit(e,n,i,r){if(n&&n.timeout||r){let o=new AbortController,l=o.signal;if(n.timeout&&n?.timeout>0){let u=setTimeout(()=>o.abort(),n.timeout);u&&typeof u.unref=="function"&&u.unref()}r&&r.addEventListener("abort",()=>{o.abort()}),e.signal=l}return n&&n.extraBody!==null&&JI(e,n.extraBody),e.headers=await this.getHeadersInternal(n,i),e}async unaryApiCall(e,n,i){return this.apiCall(e.toString(),Object.assign(Object.assign({},n),{method:i})).then(async r=>(await Up(r),new Jt(r))).catch(r=>{throw r instanceof Error?r:new Error(JSON.stringify(r))})}async streamApiCall(e,n,i){return this.apiCall(e.toString(),Object.assign(Object.assign({},n),{method:i})).then(async r=>(await Up(r),this.processStreamResponse(r))).catch(r=>{throw r instanceof Error?r:new Error(JSON.stringify(r))})}processStreamResponse(e){return ze(this,arguments,function*(){var i;let r=(i=e?.body)===null||i===void 0?void 0:i.getReader(),o=new TextDecoder("utf-8");if(!r)throw new Error("Response body is empty");try{let l="",u="data:",f=[`
38
+
39
+ `,"\r\r",`\r
40
+ \r
41
+ `];for(;;){let{done:c,value:d}=yield X(r.read());if(c){if(l.trim().length>0)throw new Error("Incomplete JSON segment at the end");break}let h=o.decode(d,{stream:!0});try{let _=JSON.parse(h);if("error"in _){let E=JSON.parse(JSON.stringify(_.error)),T=E.status,A=E.code,L=`got status: ${T}. ${JSON.stringify(_)}`;if(A>=400&&A<600)throw new $r({message:L,status:A})}}catch(_){if(_.name==="ApiError")throw _}l+=h;let p=-1,m=0;for(;;){p=-1,m=0;for(let T of f){let A=l.indexOf(T);A!==-1&&(p===-1||A<p)&&(p=A,m=T.length)}if(p===-1)break;let _=l.substring(0,p);l=l.substring(p+m);let E=_.trim();if(E.startsWith(u)){let T=E.substring(u.length).trim();try{let A=new Response(T,{headers:e?.headers,status:e?.status,statusText:e?.statusText});yield yield X(new Jt(A))}catch(A){throw new Error(`exception parsing stream chunk ${T}. ${A}`)}}}}}finally{r.releaseLock()}})}async apiCall(e,n){var i;if(!this.clientOptions.httpOptions||!this.clientOptions.httpOptions.retryOptions)return fetch(e,n);let r=this.clientOptions.httpOptions.retryOptions;return(0,oo.default)(async()=>{let l=await fetch(e,n);if(l.ok)return l;throw $I.includes(l.status)?new Error(`Retryable HTTP Error: ${l.statusText}`):new oo.AbortError(`Non-retryable exception ${l.statusText} sending request`)},{retries:((i=r.attempts)!==null&&i!==void 0?i:HI)-1})}getDefaultHeaders(){let e={},n=qI+" "+this.clientOptions.userAgentExtra;return e[FI]=n,e[_l]=n,e[LI]="application/json",e}async getHeadersInternal(e,n){let i=new Headers;if(e&&e.headers){for(let[r,o]of Object.entries(e.headers))i.append(r,o);e.timeout&&e.timeout>0&&i.append(OI,String(Math.ceil(e.timeout/1e3)))}return await this.clientOptions.auth.addAuthHeaders(i,n),i}getFileName(e){var n;let i="";return typeof e=="string"&&(i=e.replace(/[/\\]+$/,""),i=(n=i.split(/[/\\]/).pop())!==null&&n!==void 0?n:""),i}async uploadFile(e,n){var i;let r={};n!=null&&(r.mimeType=n.mimeType,r.name=n.name,r.displayName=n.displayName),r.name&&!r.name.startsWith("files/")&&(r.name=`files/${r.name}`);let o=this.clientOptions.uploader,l=await o.stat(e);r.sizeBytes=String(l.size);let u=(i=n?.mimeType)!==null&&i!==void 0?i:l.type;if(u===void 0||u==="")throw new Error("Can not determine mimeType. Please provide mimeType in the config.");r.mimeType=u;let f={file:r},c=this.getFileName(e),d=B("upload/v1beta/files",f._url),h=await this.fetchUploadUrl(d,r.sizeBytes,r.mimeType,c,f,n?.httpOptions);return o.upload(e,h,this)}async uploadFileToFileSearchStore(e,n,i){var r;let o=this.clientOptions.uploader,l=await o.stat(n),u=String(l.size),f=(r=i?.mimeType)!==null&&r!==void 0?r:l.type;if(f===void 0||f==="")throw new Error("Can not determine mimeType. Please provide mimeType in the config.");let c=`upload/v1beta/${e}:uploadToFileSearchStore`,d=this.getFileName(n),h={};i!=null&&Am(i,h);let p=await this.fetchUploadUrl(c,u,f,d,h,i?.httpOptions);return o.uploadToFileSearchStore(n,p,this)}async downloadFile(e){await this.clientOptions.downloader.download(e,this)}async fetchUploadUrl(e,n,i,r,o,l){var u;let f={};l?f=l:f={apiVersion:"",headers:Object.assign({"Content-Type":"application/json","X-Goog-Upload-Protocol":"resumable","X-Goog-Upload-Command":"start","X-Goog-Upload-Header-Content-Length":`${n}`,"X-Goog-Upload-Header-Content-Type":`${i}`},r?{"X-Goog-Upload-File-Name":r}:{})};let c=await this.request({path:e,body:JSON.stringify(o),httpMethod:"POST",httpOptions:f});if(!c||!c?.headers)throw new Error("Server did not return an HttpResponse or the returned HttpResponse did not have headers.");let d=(u=c?.headers)===null||u===void 0?void 0:u["x-goog-upload-url"];if(d===void 0)throw new Error("Failed to get upload url. Server did not return the x-google-upload-url in the headers");return d}};async function Up(t){var e;if(t===void 0)throw new Error("response is undefined");if(!t.ok){let n=t.status,i;!((e=t.headers.get("content-type"))===null||e===void 0)&&e.includes("application/json")?i=await t.json():i={error:{message:await t.text(),code:t.status,status:t.statusText}};let r=JSON.stringify(i);throw n>=400&&n<600?new $r({message:r,status:n}):new Error(r)}}function JI(t,e){if(!e||Object.keys(e).length===0)return;if(t.body instanceof Blob){console.warn("includeExtraBodyToRequestInit: extraBody provided but current request body is a Blob. extraBody will be ignored as merging is not supported for Blob bodies.");return}let n={};if(typeof t.body=="string"&&t.body.length>0)try{let o=JSON.parse(t.body);if(typeof o=="object"&&o!==null&&!Array.isArray(o))n=o;else{console.warn("includeExtraBodyToRequestInit: Original request body is valid JSON but not a non-array object. Skip applying extraBody to the request body.");return}}catch{console.warn("includeExtraBodyToRequestInit: Original request body is not valid JSON. Skip applying extraBody to the request body.");return}function i(o,l){let u=Object.assign({},o);for(let f in l)if(Object.prototype.hasOwnProperty.call(l,f)){let c=l[f],d=u[f];c&&typeof c=="object"&&!Array.isArray(c)&&d&&typeof d=="object"&&!Array.isArray(d)?u[f]=i(d,c):(d&&c&&typeof d!=typeof c&&console.warn(`includeExtraBodyToRequestInit:deepMerge: Type mismatch for key "${f}". Original type: ${typeof d}, New type: ${typeof c}. Overwriting.`),u[f]=c)}return u}let r=i(n,e);t.body=JSON.stringify(r)}var WI="mcp_used/unknown",wm=!1;function Im(t){for(let e of t)if(KI(e)||typeof e=="object"&&"inputSchema"in e)return!0;return wm}function Rm(t){var e;let n=(e=t[_l])!==null&&e!==void 0?e:"";t[_l]=(n+` ${WI}`).trimStart()}function KI(t){return t!==null&&typeof t=="object"&&t instanceof ni}function YI(t){return ze(this,arguments,function*(n,i=100){let r,o=0;for(;o<i;){let l=yield X(n.listTools({cursor:r}));for(let u of l.tools)yield yield X(u),o++;if(!l.nextCursor)break;r=l.nextCursor}})}var ni=class t{constructor(e=[],n){this.mcpTools=[],this.functionNameToMcpClient={},this.mcpClients=e,this.config=n}static create(e,n){return new t(e,n)}async initialize(){var e,n,i,r;if(this.mcpTools.length>0)return;let o={},l=[];for(let d of this.mcpClients)try{for(var u=!0,f=(n=void 0,Xe(YI(d))),c;c=await f.next(),e=c.done,!e;u=!0){r=c.value,u=!1;let h=r;l.push(h);let p=h.name;if(o[p])throw new Error(`Duplicate function name ${p} found in MCP tools. Please ensure function names are unique.`);o[p]=d}}catch(h){n={error:h}}finally{try{!u&&!e&&(i=f.return)&&await i.call(f)}finally{if(n)throw n.error}}this.mcpTools=l,this.functionNameToMcpClient=o}async tool(){return await this.initialize(),fC(this.mcpTools,this.config)}async callTool(e){await this.initialize();let n=[];for(let i of e)if(i.name in this.functionNameToMcpClient){let r=this.functionNameToMcpClient[i.name],o;this.config.timeout&&(o={timeout:this.config.timeout});let l=await r.callTool({name:i.name,arguments:i.args},void 0,o);n.push({functionResponse:{name:i.name,response:l.isError?{error:l}:l}})}return n}};function zI(t){return t!==null&&typeof t=="object"&&"listTools"in t&&typeof t.listTools=="function"}function kN(...t){if(wm=!0,t.length===0)throw new Error("No MCP clients provided");let e=t[t.length-1];return zI(e)?ni.create(t,{}):ni.create(t.slice(0,t.length-1),e)}async function XI(t,e,n){let i=new ll,r;n.data instanceof Blob?r=JSON.parse(await n.data.text()):r=JSON.parse(n.data),Object.assign(i,r),e(i)}var Tl=class{constructor(e,n,i){this.apiClient=e,this.auth=n,this.webSocketFactory=i}async connect(e){var n,i;if(this.apiClient.isVertexAI())throw new Error("Live music is not supported for Vertex AI.");console.warn("Live music generation is experimental and may change in future versions.");let r=this.apiClient.getWebsocketBaseUrl(),o=this.apiClient.getApiVersion(),l=ZI(this.apiClient.getDefaultHeaders()),u=this.apiClient.getApiKey(),f=`${r}/ws/google.ai.generativelanguage.${o}.GenerativeService.BidiGenerateMusic?key=${u}`,c=()=>{},d=new Promise(D=>{c=D}),h=e.callbacks,p=function(){c({})},m=this.apiClient,_={onopen:p,onmessage:D=>{XI(m,h.onmessage,D)},onerror:(n=h?.onerror)!==null&&n!==void 0?n:function(D){},onclose:(i=h?.onclose)!==null&&i!==void 0?i:function(D){}},E=this.webSocketFactory.create(f,QI(l),_);E.connect(),await d;let L={setup:{model:te(this.apiClient,e.model)}};return E.send(JSON.stringify(L)),new Sl(E,this.apiClient)}},Sl=class{constructor(e,n){this.conn=e,this.apiClient=n}async setWeightedPrompts(e){if(!e.weightedPrompts||Object.keys(e.weightedPrompts).length===0)throw new Error("Weighted prompts must be set and contain at least one entry.");let n=dA(e);this.conn.send(JSON.stringify({clientContent:n}))}async setMusicGenerationConfig(e){e.musicGenerationConfig||(e.musicGenerationConfig={});let n=fA(e);this.conn.send(JSON.stringify(n))}sendPlaybackControl(e){let n={playbackControl:e};this.conn.send(JSON.stringify(n))}play(){this.sendPlaybackControl(Tn.PLAY)}pause(){this.sendPlaybackControl(Tn.PAUSE)}stop(){this.sendPlaybackControl(Tn.STOP)}resetContext(){this.sendPlaybackControl(Tn.RESET_CONTEXT)}close(){this.conn.close()}};function QI(t){let e={};return t.forEach((n,i)=>{e[i]=n}),e}function ZI(t){let e=new Headers;for(let[n,i]of Object.entries(t))e.append(n,i);return e}var jI="FunctionResponse request must have an `id` field from the response of a ToolCall.FunctionalCalls in Google AI.";async function e0(t,e,n){let i=new al,r;n.data instanceof Blob?r=await n.data.text():n.data instanceof ArrayBuffer?r=new TextDecoder().decode(n.data):r=n.data;let o=JSON.parse(r);if(t.isVertexAI()){let l=mA(o);Object.assign(i,l)}else Object.assign(i,o);e(i)}var Cl=class{constructor(e,n,i){this.apiClient=e,this.auth=n,this.webSocketFactory=i,this.music=new Tl(this.apiClient,this.auth,this.webSocketFactory)}async connect(e){var n,i,r,o,l,u;if(e.config&&e.config.httpOptions)throw new Error("The Live module does not support httpOptions at request-level in LiveConnectConfig yet. Please use the client-level httpOptions configuration instead.");let f=this.apiClient.getWebsocketBaseUrl(),c=this.apiClient.getApiVersion(),d,h=this.apiClient.getHeaders();e.config&&e.config.tools&&Im(e.config.tools)&&Rm(h);let p=i0(h);if(this.apiClient.isVertexAI()){let M=this.apiClient.getProject(),J=this.apiClient.getLocation(),z=this.apiClient.getApiKey(),Q=!!M&&!!J||!!z;this.apiClient.getCustomBaseUrl()&&!Q?d=f:(d=`${f}/ws/google.cloud.aiplatform.${c}.LlmBidiService/BidiGenerateContent`,await this.auth.addAuthHeaders(p,d))}else{let M=this.apiClient.getApiKey(),J="BidiGenerateContent",z="key";M?.startsWith("auth_tokens/")&&(console.warn("Warning: Ephemeral token support is experimental and may change in future versions."),c!=="v1alpha"&&console.warn("Warning: The SDK's ephemeral token support is in v1alpha only. Please use const ai = new GoogleGenAI({apiKey: token.name, httpOptions: { apiVersion: 'v1alpha' }}); before session connection."),J="BidiGenerateContentConstrained",z="access_token"),d=`${f}/ws/google.ai.generativelanguage.${c}.GenerativeService.${J}?${z}=${M}`}let m=()=>{},_=new Promise(M=>{m=M}),E=e.callbacks,T=function(){var M;(M=E?.onopen)===null||M===void 0||M.call(E),m({})},A=this.apiClient,L={onopen:T,onmessage:M=>{e0(A,E.onmessage,M)},onerror:(n=E?.onerror)!==null&&n!==void 0?n:function(M){},onclose:(i=E?.onclose)!==null&&i!==void 0?i:function(M){}},D=this.webSocketFactory.create(d,n0(p),L);D.connect(),await _;let O=te(this.apiClient,e.model);if(this.apiClient.isVertexAI()&&O.startsWith("publishers/")){let M=this.apiClient.getProject(),J=this.apiClient.getLocation();M&&J&&(O=`projects/${M}/locations/${J}/`+O)}let U={};this.apiClient.isVertexAI()&&((r=e.config)===null||r===void 0?void 0:r.responseModalities)===void 0&&(e.config===void 0?e.config={responseModalities:[Pr.AUDIO]}:e.config.responseModalities=[Pr.AUDIO]),!((o=e.config)===null||o===void 0)&&o.generationConfig&&console.warn("Setting `LiveConnectConfig.generation_config` is deprecated, please set the fields on `LiveConnectConfig` directly. This will become an error in a future version (not before Q3 2025).");let R=(u=(l=e.config)===null||l===void 0?void 0:l.tools)!==null&&u!==void 0?u:[],q=[];for(let M of R)if(this.isCallableTool(M)){let J=M;q.push(await J.tool())}else q.push(M);q.length>0&&(e.config.tools=q);let K={model:O,config:e.config,callbacks:e.callbacks};return this.apiClient.isVertexAI()?U=cA(this.apiClient,K):U=uA(this.apiClient,K),delete U.config,D.send(JSON.stringify(U)),new vl(D,this.apiClient)}isCallableTool(e){return"callTool"in e&&typeof e.callTool=="function"}},t0={turnComplete:!0},vl=class{constructor(e,n){this.conn=e,this.apiClient=n}tLiveClientContent(e,n){if(n.turns!==null&&n.turns!==void 0){let i=[];try{i=ke(n.turns),e.isVertexAI()||(i=i.map(r=>ri(r)))}catch{throw new Error(`Failed to parse client content "turns", type: '${typeof n.turns}'`)}return{clientContent:{turns:i,turnComplete:n.turnComplete}}}return{clientContent:{turnComplete:n.turnComplete}}}tLiveClienttToolResponse(e,n){let i=[];if(n.functionResponses==null)throw new Error("functionResponses is required.");if(Array.isArray(n.functionResponses)?i=n.functionResponses:i=[n.functionResponses],i.length===0)throw new Error("functionResponses is required.");for(let o of i){if(typeof o!="object"||o===null||!("name"in o)||!("response"in o))throw new Error(`Could not parse function response, type '${typeof o}'.`);if(!e.isVertexAI()&&!("id"in o))throw new Error(jI)}return{toolResponse:{functionResponses:i}}}sendClientContent(e){e=Object.assign(Object.assign({},t0),e);let n=this.tLiveClientContent(this.apiClient,e);this.conn.send(JSON.stringify(n))}sendRealtimeInput(e){let n={};this.apiClient.isVertexAI()?n={realtimeInput:pA(e)}:n={realtimeInput:hA(e)},this.conn.send(JSON.stringify(n))}sendToolResponse(e){if(e.functionResponses==null)throw new Error("Tool response parameters are required.");let n=this.tLiveClienttToolResponse(this.apiClient,e);this.conn.send(JSON.stringify(n))}close(){this.conn.close()}};function n0(t){let e={};return t.forEach((n,i)=>{e[i]=n}),e}function i0(t){let e=new Headers;for(let[n,i]of Object.entries(t))e.append(n,i);return e}var bp=10;function Lp(t){var e,n,i;if(!((e=t?.automaticFunctionCalling)===null||e===void 0)&&e.disable)return!0;let r=!1;for(let l of(n=t?.tools)!==null&&n!==void 0?n:[])if(Cn(l)){r=!0;break}if(!r)return!0;let o=(i=t?.automaticFunctionCalling)===null||i===void 0?void 0:i.maximumRemoteCalls;return o&&(o<0||!Number.isInteger(o))||o==0?(console.warn("Invalid maximumRemoteCalls value provided for automatic function calling. Disabled automatic function calling. Please provide a valid integer value greater than 0. maximumRemoteCalls provided:",o),!0):!1}function Cn(t){return"callTool"in t&&typeof t.callTool=="function"}function r0(t){var e,n,i;return(i=(n=(e=t.config)===null||e===void 0?void 0:e.tools)===null||n===void 0?void 0:n.some(r=>Cn(r)))!==null&&i!==void 0?i:!1}function Op(t){var e;let n=[];return!((e=t?.config)===null||e===void 0)&&e.tools&&t.config.tools.forEach((i,r)=>{if(Cn(i))return;let o=i;o.functionDeclarations&&o.functionDeclarations.length>0&&n.push(r)}),n}function Fp(t){var e;return!(!((e=t?.automaticFunctionCalling)===null||e===void 0)&&e.ignoreCallHistory)}var Al=class extends Qe{constructor(e){super(),this.apiClient=e,this.embedContent=async n=>{if(!this.apiClient.isVertexAI())return await this.embedContentInternal(n);if(n.model.includes("gemini")&&n.model!=="gemini-embedding-001"||n.model.includes("maas")){let r=ke(n.contents);if(r.length>1)throw new Error("The embedContent API for this model only supports one content at a time.");let o=Object.assign(Object.assign({},n),{content:r[0],embeddingApiType:Nr.EMBED_CONTENT});return await this.embedContentInternal(o)}else{let r=Object.assign(Object.assign({},n),{embeddingApiType:Nr.PREDICT});return await this.embedContentInternal(r)}},this.generateContent=async n=>{var i,r,o,l,u;let f=await this.processParamsMaybeAddMcpUsage(n);if(this.maybeMoveToResponseJsonSchem(n),!r0(n)||Lp(n.config))return await this.generateContentInternal(f);let c=Op(n);if(c.length>0){let E=c.map(T=>`tools[${T}]`).join(", ");throw new Error(`Automatic function calling with CallableTools (or MCP objects) and basic FunctionDeclarations is not yet supported. Incompatible tools found at ${E}.`)}let d,h,p=ke(f.contents),m=(o=(r=(i=f.config)===null||i===void 0?void 0:i.automaticFunctionCalling)===null||r===void 0?void 0:r.maximumRemoteCalls)!==null&&o!==void 0?o:bp,_=0;for(;_<m&&(d=await this.generateContentInternal(f),!(!d.functionCalls||d.functionCalls.length===0));){let E=d.candidates[0].content,T=[];for(let A of(u=(l=n.config)===null||l===void 0?void 0:l.tools)!==null&&u!==void 0?u:[])if(Cn(A)){let D=await A.callTool(d.functionCalls);T.push(...D)}_++,h={role:"user",parts:T},f.contents=ke(f.contents),f.contents.push(E),f.contents.push(h),Fp(f.config)&&(p.push(E),p.push(h))}return Fp(f.config)&&(d.automaticFunctionCallingHistory=p),d},this.generateContentStream=async n=>{var i,r,o,l,u;if(this.maybeMoveToResponseJsonSchem(n),Lp(n.config)){let h=await this.processParamsMaybeAddMcpUsage(n);return await this.generateContentStreamInternal(h)}let f=Op(n);if(f.length>0){let h=f.map(p=>`tools[${p}]`).join(", ");throw new Error(`Incompatible tools found at ${h}. Automatic function calling with CallableTools (or MCP objects) and basic FunctionDeclarations" is not yet supported.`)}let c=(o=(r=(i=n?.config)===null||i===void 0?void 0:i.toolConfig)===null||r===void 0?void 0:r.functionCallingConfig)===null||o===void 0?void 0:o.streamFunctionCallArguments,d=(u=(l=n?.config)===null||l===void 0?void 0:l.automaticFunctionCalling)===null||u===void 0?void 0:u.disable;if(c&&!d)throw new Error("Running in streaming mode with 'streamFunctionCallArguments' enabled, this feature is not compatible with automatic function calling (AFC). Please set 'config.automaticFunctionCalling.disable' to true to disable AFC or leave 'config.toolConfig.functionCallingConfig.streamFunctionCallArguments' to be undefined or set to false to disable streaming function call arguments feature.");return await this.processAfcStream(n)},this.generateImages=async n=>await this.generateImagesInternal(n).then(i=>{var r;let o,l=[];if(i?.generatedImages)for(let f of i.generatedImages)f&&f?.safetyAttributes&&((r=f?.safetyAttributes)===null||r===void 0?void 0:r.contentType)==="Positive Prompt"?o=f?.safetyAttributes:l.push(f);let u;return o?u={generatedImages:l,positivePromptSafetyAttributes:o,sdkHttpResponse:i.sdkHttpResponse}:u={generatedImages:l,sdkHttpResponse:i.sdkHttpResponse},u}),this.list=async n=>{var i;let l={config:Object.assign(Object.assign({},{queryBase:!0}),n?.config)};if(this.apiClient.isVertexAI()&&!l.config.queryBase){if(!((i=l.config)===null||i===void 0)&&i.filter)throw new Error("Filtering tuned models list for Vertex AI is not currently supported");l.config.filter="labels.tune-type:*"}return new _t(yt.PAGED_ITEM_MODELS,u=>this.listInternal(u),await this.listInternal(l),l)},this.editImage=async n=>{let i={model:n.model,prompt:n.prompt,referenceImages:[],config:n.config};return n.referenceImages&&n.referenceImages&&(i.referenceImages=n.referenceImages.map(r=>r.toReferenceImageAPI())),await this.editImageInternal(i)},this.upscaleImage=async n=>{let i={numberOfImages:1,mode:"upscale"};n.config&&(i=Object.assign(Object.assign({},i),n.config));let r={model:n.model,image:n.image,upscaleFactor:n.upscaleFactor,config:i};return await this.upscaleImageInternal(r)},this.generateVideos=async n=>{var i,r,o,l,u,f;if((n.prompt||n.image||n.video)&&n.source)throw new Error("Source and prompt/image/video are mutually exclusive. Please only use source.");return this.apiClient.isVertexAI()||(!((i=n.video)===null||i===void 0)&&i.uri&&(!((r=n.video)===null||r===void 0)&&r.videoBytes)?n.video={uri:n.video.uri,mimeType:n.video.mimeType}:!((l=(o=n.source)===null||o===void 0?void 0:o.video)===null||l===void 0)&&l.uri&&(!((f=(u=n.source)===null||u===void 0?void 0:u.video)===null||f===void 0)&&f.videoBytes)&&(n.source.video={uri:n.source.video.uri,mimeType:n.source.video.mimeType})),await this.generateVideosInternal(n)}}maybeMoveToResponseJsonSchem(e){e.config&&e.config.responseSchema&&(e.config.responseJsonSchema||Object.keys(e.config.responseSchema).includes("$schema")&&(e.config.responseJsonSchema=e.config.responseSchema,delete e.config.responseSchema))}async processParamsMaybeAddMcpUsage(e){var n,i,r;let o=(n=e.config)===null||n===void 0?void 0:n.tools;if(!o)return e;let l=await Promise.all(o.map(async f=>Cn(f)?await f.tool():f)),u={model:e.model,contents:e.contents,config:Object.assign(Object.assign({},e.config),{tools:l})};if(u.config.tools=l,e.config&&e.config.tools&&Im(e.config.tools)){let f=(r=(i=e.config.httpOptions)===null||i===void 0?void 0:i.headers)!==null&&r!==void 0?r:{},c=Object.assign({},f);Object.keys(c).length===0&&(c=this.apiClient.getDefaultHeaders()),Rm(c),u.config.httpOptions=Object.assign(Object.assign({},e.config.httpOptions),{headers:c})}return u}async initAfcToolsMap(e){var n,i,r;let o=new Map;for(let l of(i=(n=e.config)===null||n===void 0?void 0:n.tools)!==null&&i!==void 0?i:[])if(Cn(l)){let u=l,f=await u.tool();for(let c of(r=f.functionDeclarations)!==null&&r!==void 0?r:[]){if(!c.name)throw new Error("Function declaration name is required.");if(o.has(c.name))throw new Error(`Duplicate tool declaration name: ${c.name}`);o.set(c.name,u)}}return o}async processAfcStream(e){var n,i,r;let o=(r=(i=(n=e.config)===null||n===void 0?void 0:n.automaticFunctionCalling)===null||i===void 0?void 0:i.maximumRemoteCalls)!==null&&r!==void 0?r:bp,l=!1,u=0,f=await this.initAfcToolsMap(e);return function(c,d,h){return ze(this,arguments,function*(){for(var p,m,_,E,T,A;u<o;){l&&(u++,l=!1);let U=yield X(c.processParamsMaybeAddMcpUsage(h)),R=yield X(c.generateContentStreamInternal(U)),q=[],K=[];try{for(var L=!0,D=(m=void 0,Xe(R)),O;O=yield X(D.next()),p=O.done,!p;L=!0){E=O.value,L=!1;let M=E;if(yield yield X(M),M.candidates&&(!((T=M.candidates[0])===null||T===void 0)&&T.content)){K.push(M.candidates[0].content);for(let J of(A=M.candidates[0].content.parts)!==null&&A!==void 0?A:[])if(u<o&&J.functionCall){if(!J.functionCall.name)throw new Error("Function call name was not returned by the model.");if(d.has(J.functionCall.name)){let z=yield X(d.get(J.functionCall.name).callTool([J.functionCall]));q.push(...z)}else throw new Error(`Automatic function calling was requested, but not all the tools the model used implement the CallableTool interface. Available tools: ${d.keys()}, mising tool: ${J.functionCall.name}`)}}}}catch(M){m={error:M}}finally{try{!L&&!p&&(_=D.return)&&(yield X(_.call(D)))}finally{if(m)throw m.error}}if(q.length>0){l=!0;let M=new Ht;M.candidates=[{content:{role:"user",parts:q}}],yield yield X(M);let J=[];J.push(...K),J.push({role:"user",parts:q});let z=ke(h.contents).concat(J);h.contents=z}else break}})}(this,f,e)}async generateContentInternal(e){var n,i,r,o;let l,u="",f={};if(this.apiClient.isVertexAI()){let c=kp(this.apiClient,e);return u=B("{model}:generateContent",c._url),f=c._query,delete c._url,delete c._query,l=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(c),httpMethod:"POST",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json().then(h=>{let p=h;return p.sdkHttpResponse={headers:d.headers},p})),l.then(d=>{let h=Dp(d),p=new Ht;return Object.assign(p,h),p})}else{let c=xp(this.apiClient,e);return u=B("{model}:generateContent",c._url),f=c._query,delete c._url,delete c._query,l=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(c),httpMethod:"POST",httpOptions:(r=e.config)===null||r===void 0?void 0:r.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(d=>d.json().then(h=>{let p=h;return p.sdkHttpResponse={headers:d.headers},p})),l.then(d=>{let h=Mp(d),p=new Ht;return Object.assign(p,h),p})}}async generateContentStreamInternal(e){var n,i,r,o;let l,u="",f={};if(this.apiClient.isVertexAI()){let c=kp(this.apiClient,e);return u=B("{model}:streamGenerateContent?alt=sse",c._url),f=c._query,delete c._url,delete c._query,l=this.apiClient.requestStream({path:u,queryParams:f,body:JSON.stringify(c),httpMethod:"POST",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}),l.then(function(h){return ze(this,arguments,function*(){var p,m,_,E;try{for(var T=!0,A=Xe(h),L;L=yield X(A.next()),p=L.done,!p;T=!0){E=L.value,T=!1;let D=E,O=Dp(yield X(D.json()),e);O.sdkHttpResponse={headers:D.headers};let U=new Ht;Object.assign(U,O),yield yield X(U)}}catch(D){m={error:D}}finally{try{!T&&!p&&(_=A.return)&&(yield X(_.call(A)))}finally{if(m)throw m.error}}})})}else{let c=xp(this.apiClient,e);return u=B("{model}:streamGenerateContent?alt=sse",c._url),f=c._query,delete c._url,delete c._query,l=this.apiClient.requestStream({path:u,queryParams:f,body:JSON.stringify(c),httpMethod:"POST",httpOptions:(r=e.config)===null||r===void 0?void 0:r.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}),l.then(function(h){return ze(this,arguments,function*(){var p,m,_,E;try{for(var T=!0,A=Xe(h),L;L=yield X(A.next()),p=L.done,!p;T=!0){E=L.value,T=!1;let D=E,O=Mp(yield X(D.json()),e);O.sdkHttpResponse={headers:D.headers};let U=new Ht;Object.assign(U,O),yield yield X(U)}}catch(D){m={error:D}}finally{try{!T&&!p&&(_=A.return)&&(yield X(_.call(A)))}finally{if(m)throw m.error}}})})}}async embedContentInternal(e){var n,i,r,o;let l,u="",f={};if(this.apiClient.isVertexAI()){let c=QA(this.apiClient,e,e),d=hC(e.model)?"{model}:embedContent":"{model}:predict";return u=B(d,c._url),f=c._query,delete c._url,delete c._query,l=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(c),httpMethod:"POST",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(h=>h.json().then(p=>{let m=p;return m.sdkHttpResponse={headers:h.headers},m})),l.then(h=>{let p=jA(h,e),m=new xr;return Object.assign(m,p),m})}else{let c=XA(this.apiClient,e);return u=B("{model}:batchEmbedContents",c._url),f=c._query,delete c._url,delete c._query,l=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(c),httpMethod:"POST",httpOptions:(r=e.config)===null||r===void 0?void 0:r.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(d=>d.json().then(h=>{let p=h;return p.sdkHttpResponse={headers:d.headers},p})),l.then(d=>{let h=ZA(d),p=new xr;return Object.assign(p,h),p})}}async generateImagesInternal(e){var n,i,r,o;let l,u="",f={};if(this.apiClient.isVertexAI()){let c=cw(this.apiClient,e);return u=B("{model}:predict",c._url),f=c._query,delete c._url,delete c._query,l=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(c),httpMethod:"POST",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json().then(h=>{let p=h;return p.sdkHttpResponse={headers:d.headers},p})),l.then(d=>{let h=dw(d),p=new kr;return Object.assign(p,h),p})}else{let c=uw(this.apiClient,e);return u=B("{model}:predict",c._url),f=c._query,delete c._url,delete c._query,l=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(c),httpMethod:"POST",httpOptions:(r=e.config)===null||r===void 0?void 0:r.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(d=>d.json().then(h=>{let p=h;return p.sdkHttpResponse={headers:d.headers},p})),l.then(d=>{let h=fw(d),p=new kr;return Object.assign(p,h),p})}}async editImageInternal(e){var n,i;let r,o="",l={};if(this.apiClient.isVertexAI()){let u=WA(this.apiClient,e);return o=B("{model}:predict",u._url),l=u._query,delete u._url,delete u._query,r=this.apiClient.request({path:o,queryParams:l,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json().then(c=>{let d=c;return d.sdkHttpResponse={headers:f.headers},d})),r.then(f=>{let c=KA(f),d=new Ya;return Object.assign(d,c),d})}else throw new Error("This method is only supported by the Vertex AI.")}async upscaleImageInternal(e){var n,i;let r,o="",l={};if(this.apiClient.isVertexAI()){let u=mI(this.apiClient,e);return o=B("{model}:predict",u._url),l=u._query,delete u._url,delete u._query,r=this.apiClient.request({path:o,queryParams:l,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json().then(c=>{let d=c;return d.sdkHttpResponse={headers:f.headers},d})),r.then(f=>{let c=gI(f),d=new za;return Object.assign(d,c),d})}else throw new Error("This method is only supported by the Vertex AI.")}async recontextImage(e){var n,i;let r,o="",l={};if(this.apiClient.isVertexAI()){let u=Kw(this.apiClient,e);return o=B("{model}:predict",u._url),l=u._query,delete u._url,delete u._query,r=this.apiClient.request({path:o,queryParams:l,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json()),r.then(f=>{let c=Yw(f),d=new Xa;return Object.assign(d,c),d})}else throw new Error("This method is only supported by the Vertex AI.")}async segmentImage(e){var n,i;let r,o="",l={};if(this.apiClient.isVertexAI()){let u=tI(this.apiClient,e);return o=B("{model}:predict",u._url),l=u._query,delete u._url,delete u._query,r=this.apiClient.request({path:o,queryParams:l,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json()),r.then(f=>{let c=nI(f),d=new Qa;return Object.assign(d,c),d})}else throw new Error("This method is only supported by the Vertex AI.")}async get(e){var n,i,r,o;let l,u="",f={};if(this.apiClient.isVertexAI()){let c=Nw(this.apiClient,e);return u=B("{name}",c._url),f=c._query,delete c._url,delete c._query,l=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(c),httpMethod:"GET",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json()),l.then(d=>yl(d))}else{let c=Pw(this.apiClient,e);return u=B("{name}",c._url),f=c._query,delete c._url,delete c._query,l=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(c),httpMethod:"GET",httpOptions:(r=e.config)===null||r===void 0?void 0:r.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(d=>d.json()),l.then(d=>gl(d))}}async listInternal(e){var n,i,r,o;let l,u="",f={};if(this.apiClient.isVertexAI()){let c=Fw(this.apiClient,e);return u=B("{models_url}",c._url),f=c._query,delete c._url,delete c._query,l=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(c),httpMethod:"GET",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json().then(h=>{let p=h;return p.sdkHttpResponse={headers:d.headers},p})),l.then(d=>{let h=qw(d),p=new Mr;return Object.assign(p,h),p})}else{let c=Ow(this.apiClient,e);return u=B("{models_url}",c._url),f=c._query,delete c._url,delete c._query,l=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(c),httpMethod:"GET",httpOptions:(r=e.config)===null||r===void 0?void 0:r.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(d=>d.json().then(h=>{let p=h;return p.sdkHttpResponse={headers:d.headers},p})),l.then(d=>{let h=Gw(d),p=new Mr;return Object.assign(p,h),p})}}async update(e){var n,i,r,o;let l,u="",f={};if(this.apiClient.isVertexAI()){let c=hI(this.apiClient,e);return u=B("{model}",c._url),f=c._query,delete c._url,delete c._query,l=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(c),httpMethod:"PATCH",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json()),l.then(d=>yl(d))}else{let c=dI(this.apiClient,e);return u=B("{name}",c._url),f=c._query,delete c._url,delete c._query,l=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(c),httpMethod:"PATCH",httpOptions:(r=e.config)===null||r===void 0?void 0:r.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(d=>d.json()),l.then(d=>gl(d))}}async delete(e){var n,i,r,o;let l,u="",f={};if(this.apiClient.isVertexAI()){let c=VA(this.apiClient,e);return u=B("{name}",c._url),f=c._query,delete c._url,delete c._query,l=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(c),httpMethod:"DELETE",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json().then(h=>{let p=h;return p.sdkHttpResponse={headers:d.headers},p})),l.then(d=>{let h=$A(d),p=new Dr;return Object.assign(p,h),p})}else{let c=BA(this.apiClient,e);return u=B("{name}",c._url),f=c._query,delete c._url,delete c._query,l=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(c),httpMethod:"DELETE",httpOptions:(r=e.config)===null||r===void 0?void 0:r.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(d=>d.json().then(h=>{let p=h;return p.sdkHttpResponse={headers:d.headers},p})),l.then(d=>{let h=HA(d),p=new Dr;return Object.assign(p,h),p})}}async countTokens(e){var n,i,r,o;let l,u="",f={};if(this.apiClient.isVertexAI()){let c=FA(this.apiClient,e);return u=B("{model}:countTokens",c._url),f=c._query,delete c._url,delete c._query,l=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(c),httpMethod:"POST",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json().then(h=>{let p=h;return p.sdkHttpResponse={headers:d.headers},p})),l.then(d=>{let h=qA(d),p=new Ur;return Object.assign(p,h),p})}else{let c=OA(this.apiClient,e);return u=B("{model}:countTokens",c._url),f=c._query,delete c._url,delete c._query,l=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(c),httpMethod:"POST",httpOptions:(r=e.config)===null||r===void 0?void 0:r.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(d=>d.json().then(h=>{let p=h;return p.sdkHttpResponse={headers:d.headers},p})),l.then(d=>{let h=GA(d),p=new Ur;return Object.assign(p,h),p})}}async computeTokens(e){var n,i;let r,o="",l={};if(this.apiClient.isVertexAI()){let u=xA(this.apiClient,e);return o=B("{model}:computeTokens",u._url),l=u._query,delete u._url,delete u._query,r=this.apiClient.request({path:o,queryParams:l,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json().then(c=>{let d=c;return d.sdkHttpResponse={headers:f.headers},d})),r.then(f=>{let c=kA(f),d=new Za;return Object.assign(d,c),d})}else throw new Error("This method is only supported by the Vertex AI.")}async generateVideosInternal(e){var n,i,r,o;let l,u="",f={};if(this.apiClient.isVertexAI()){let c=_w(this.apiClient,e);return u=B("{model}:predictLongRunning",c._url),f=c._query,delete c._url,delete c._query,l=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(c),httpMethod:"POST",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json()),l.then(d=>{let h=gw(d),p=new br;return Object.assign(p,h),p})}else{let c=yw(this.apiClient,e);return u=B("{model}:predictLongRunning",c._url),f=c._query,delete c._url,delete c._query,l=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(c),httpMethod:"POST",httpOptions:(r=e.config)===null||r===void 0?void 0:r.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(d=>d.json()),l.then(d=>{let h=mw(d),p=new br;return Object.assign(p,h),p})}}};var wl=class extends Qe{constructor(e){super(),this.apiClient=e}async getVideosOperation(e){let n=e.operation,i=e.config;if(n.name===void 0||n.name==="")throw new Error("Operation name is required.");if(this.apiClient.isVertexAI()){let r=n.name.split("/operations/")[0],o;i&&"httpOptions"in i&&(o=i.httpOptions);let l=await this.fetchPredictVideosOperationInternal({operationName:n.name,resourceName:r,config:{httpOptions:o}});return n._fromAPIResponse({apiResponse:l,_isVertexAI:!0})}else{let r=await this.getVideosOperationInternal({operationName:n.name,config:i});return n._fromAPIResponse({apiResponse:r,_isVertexAI:!1})}}async get(e){let n=e.operation,i=e.config;if(n.name===void 0||n.name==="")throw new Error("Operation name is required.");if(this.apiClient.isVertexAI()){let r=n.name.split("/operations/")[0],o;i&&"httpOptions"in i&&(o=i.httpOptions);let l=await this.fetchPredictVideosOperationInternal({operationName:n.name,resourceName:r,config:{httpOptions:o}});return n._fromAPIResponse({apiResponse:l,_isVertexAI:!0})}else{let r=await this.getVideosOperationInternal({operationName:n.name,config:i});return n._fromAPIResponse({apiResponse:r,_isVertexAI:!1})}}async getVideosOperationInternal(e){var n,i,r,o;let l,u="",f={};if(this.apiClient.isVertexAI()){let c=eC(e);return u=B("{operationName}",c._url),f=c._query,delete c._url,delete c._query,l=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(c),httpMethod:"GET",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json()),l}else{let c=jS(e);return u=B("{operationName}",c._url),f=c._query,delete c._url,delete c._query,l=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(c),httpMethod:"GET",httpOptions:(r=e.config)===null||r===void 0?void 0:r.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(d=>d.json()),l}}async fetchPredictVideosOperationInternal(e){var n,i;let r,o="",l={};if(this.apiClient.isVertexAI()){let u=WS(e);return o=B("{resourceName}:fetchPredictOperation",u._url),l=u._query,delete u._url,delete u._query,r=this.apiClient.request({path:o,queryParams:l,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json()),r}else throw new Error("This method is only supported by the Vertex AI.")}};function Gp(t){let e={};if(s(t,["languageCodes"])!==void 0)throw new Error("languageCodes parameter is not supported in Gemini API.");return e}function o0(t){let e={},n=s(t,["apiKey"]);if(n!=null&&a(e,["apiKey"],n),s(t,["apiKeyConfig"])!==void 0)throw new Error("apiKeyConfig parameter is not supported in Gemini API.");if(s(t,["authType"])!==void 0)throw new Error("authType parameter is not supported in Gemini API.");if(s(t,["googleServiceAccountConfig"])!==void 0)throw new Error("googleServiceAccountConfig parameter is not supported in Gemini API.");if(s(t,["httpBasicAuthConfig"])!==void 0)throw new Error("httpBasicAuthConfig parameter is not supported in Gemini API.");if(s(t,["oauthConfig"])!==void 0)throw new Error("oauthConfig parameter is not supported in Gemini API.");if(s(t,["oidcConfig"])!==void 0)throw new Error("oidcConfig parameter is not supported in Gemini API.");return e}function s0(t){let e={},n=s(t,["data"]);if(n!=null&&a(e,["data"],n),s(t,["displayName"])!==void 0)throw new Error("displayName parameter is not supported in Gemini API.");let i=s(t,["mimeType"]);return i!=null&&a(e,["mimeType"],i),e}function a0(t){let e={},n=s(t,["parts"]);if(n!=null){let r=n;Array.isArray(r)&&(r=r.map(o=>g0(o))),a(e,["parts"],r)}let i=s(t,["role"]);return i!=null&&a(e,["role"],i),e}function l0(t,e,n){let i={},r=s(e,["expireTime"]);n!==void 0&&r!=null&&a(n,["expireTime"],r);let o=s(e,["newSessionExpireTime"]);n!==void 0&&o!=null&&a(n,["newSessionExpireTime"],o);let l=s(e,["uses"]);n!==void 0&&l!=null&&a(n,["uses"],l);let u=s(e,["liveConnectConstraints"]);n!==void 0&&u!=null&&a(n,["bidiGenerateContentSetup"],m0(t,u));let f=s(e,["lockAdditionalFields"]);return n!==void 0&&f!=null&&a(n,["fieldMask"],f),i}function u0(t,e){let n={},i=s(e,["config"]);return i!=null&&a(n,["config"],l0(t,i,n)),n}function c0(t){let e={};if(s(t,["displayName"])!==void 0)throw new Error("displayName parameter is not supported in Gemini API.");let n=s(t,["fileUri"]);n!=null&&a(e,["fileUri"],n);let i=s(t,["mimeType"]);return i!=null&&a(e,["mimeType"],i),e}function f0(t){let e={},n=s(t,["id"]);n!=null&&a(e,["id"],n);let i=s(t,["args"]);i!=null&&a(e,["args"],i);let r=s(t,["name"]);if(r!=null&&a(e,["name"],r),s(t,["partialArgs"])!==void 0)throw new Error("partialArgs parameter is not supported in Gemini API.");if(s(t,["willContinue"])!==void 0)throw new Error("willContinue parameter is not supported in Gemini API.");return e}function d0(t){let e={},n=s(t,["authConfig"]);n!=null&&a(e,["authConfig"],o0(n));let i=s(t,["enableWidget"]);return i!=null&&a(e,["enableWidget"],i),e}function h0(t){let e={},n=s(t,["searchTypes"]);if(n!=null&&a(e,["searchTypes"],n),s(t,["blockingConfidence"])!==void 0)throw new Error("blockingConfidence parameter is not supported in Gemini API.");if(s(t,["excludeDomains"])!==void 0)throw new Error("excludeDomains parameter is not supported in Gemini API.");let i=s(t,["timeRangeFilter"]);return i!=null&&a(e,["timeRangeFilter"],i),e}function p0(t,e){let n={},i=s(t,["generationConfig"]);e!==void 0&&i!=null&&a(e,["setup","generationConfig"],i);let r=s(t,["responseModalities"]);e!==void 0&&r!=null&&a(e,["setup","generationConfig","responseModalities"],r);let o=s(t,["temperature"]);e!==void 0&&o!=null&&a(e,["setup","generationConfig","temperature"],o);let l=s(t,["topP"]);e!==void 0&&l!=null&&a(e,["setup","generationConfig","topP"],l);let u=s(t,["topK"]);e!==void 0&&u!=null&&a(e,["setup","generationConfig","topK"],u);let f=s(t,["maxOutputTokens"]);e!==void 0&&f!=null&&a(e,["setup","generationConfig","maxOutputTokens"],f);let c=s(t,["mediaResolution"]);e!==void 0&&c!=null&&a(e,["setup","generationConfig","mediaResolution"],c);let d=s(t,["seed"]);e!==void 0&&d!=null&&a(e,["setup","generationConfig","seed"],d);let h=s(t,["speechConfig"]);e!==void 0&&h!=null&&a(e,["setup","generationConfig","speechConfig"],zl(h));let p=s(t,["thinkingConfig"]);e!==void 0&&p!=null&&a(e,["setup","generationConfig","thinkingConfig"],p);let m=s(t,["enableAffectiveDialog"]);e!==void 0&&m!=null&&a(e,["setup","generationConfig","enableAffectiveDialog"],m);let _=s(t,["systemInstruction"]);e!==void 0&&_!=null&&a(e,["setup","systemInstruction"],a0(me(_)));let E=s(t,["tools"]);if(e!==void 0&&E!=null){let R=In(E);Array.isArray(R)&&(R=R.map(q=>_0(wn(q)))),a(e,["setup","tools"],R)}let T=s(t,["sessionResumption"]);e!==void 0&&T!=null&&a(e,["setup","sessionResumption"],y0(T));let A=s(t,["inputAudioTranscription"]);e!==void 0&&A!=null&&a(e,["setup","inputAudioTranscription"],Gp(A));let L=s(t,["outputAudioTranscription"]);e!==void 0&&L!=null&&a(e,["setup","outputAudioTranscription"],Gp(L));let D=s(t,["realtimeInputConfig"]);e!==void 0&&D!=null&&a(e,["setup","realtimeInputConfig"],D);let O=s(t,["contextWindowCompression"]);e!==void 0&&O!=null&&a(e,["setup","contextWindowCompression"],O);let U=s(t,["proactivity"]);if(e!==void 0&&U!=null&&a(e,["setup","proactivity"],U),s(t,["explicitVadSignal"])!==void 0)throw new Error("explicitVadSignal parameter is not supported in Gemini API.");return n}function m0(t,e){let n={},i=s(e,["model"]);i!=null&&a(n,["setup","model"],te(t,i));let r=s(e,["config"]);return r!=null&&a(n,["config"],p0(r,n)),n}function g0(t){let e={},n=s(t,["mediaResolution"]);n!=null&&a(e,["mediaResolution"],n);let i=s(t,["codeExecutionResult"]);i!=null&&a(e,["codeExecutionResult"],i);let r=s(t,["executableCode"]);r!=null&&a(e,["executableCode"],r);let o=s(t,["fileData"]);o!=null&&a(e,["fileData"],c0(o));let l=s(t,["functionCall"]);l!=null&&a(e,["functionCall"],f0(l));let u=s(t,["functionResponse"]);u!=null&&a(e,["functionResponse"],u);let f=s(t,["inlineData"]);f!=null&&a(e,["inlineData"],s0(f));let c=s(t,["text"]);c!=null&&a(e,["text"],c);let d=s(t,["thought"]);d!=null&&a(e,["thought"],d);let h=s(t,["thoughtSignature"]);h!=null&&a(e,["thoughtSignature"],h);let p=s(t,["videoMetadata"]);p!=null&&a(e,["videoMetadata"],p);let m=s(t,["toolCall"]);m!=null&&a(e,["toolCall"],m);let _=s(t,["toolResponse"]);_!=null&&a(e,["toolResponse"],_);let E=s(t,["partMetadata"]);return E!=null&&a(e,["partMetadata"],E),e}function y0(t){let e={},n=s(t,["handle"]);if(n!=null&&a(e,["handle"],n),s(t,["transparent"])!==void 0)throw new Error("transparent parameter is not supported in Gemini API.");return e}function _0(t){let e={};if(s(t,["retrieval"])!==void 0)throw new Error("retrieval parameter is not supported in Gemini API.");let n=s(t,["computerUse"]);n!=null&&a(e,["computerUse"],n);let i=s(t,["fileSearch"]);i!=null&&a(e,["fileSearch"],i);let r=s(t,["googleSearch"]);r!=null&&a(e,["googleSearch"],h0(r));let o=s(t,["googleMaps"]);o!=null&&a(e,["googleMaps"],d0(o));let l=s(t,["codeExecution"]);if(l!=null&&a(e,["codeExecution"],l),s(t,["enterpriseWebSearch"])!==void 0)throw new Error("enterpriseWebSearch parameter is not supported in Gemini API.");let u=s(t,["functionDeclarations"]);if(u!=null){let h=u;Array.isArray(h)&&(h=h.map(p=>p)),a(e,["functionDeclarations"],h)}let f=s(t,["googleSearchRetrieval"]);if(f!=null&&a(e,["googleSearchRetrieval"],f),s(t,["parallelAiSearch"])!==void 0)throw new Error("parallelAiSearch parameter is not supported in Gemini API.");let c=s(t,["urlContext"]);c!=null&&a(e,["urlContext"],c);let d=s(t,["mcpServers"]);if(d!=null){let h=d;Array.isArray(h)&&(h=h.map(p=>p)),a(e,["mcpServers"],h)}return e}function E0(t){let e=[];for(let n in t)if(Object.prototype.hasOwnProperty.call(t,n)){let i=t[n];if(typeof i=="object"&&i!=null&&Object.keys(i).length>0){let r=Object.keys(i).map(o=>`${n}.${o}`);e.push(...r)}else e.push(n)}return e.join(",")}function T0(t,e){let n=null,i=t.bidiGenerateContentSetup;if(typeof i=="object"&&i!==null&&"setup"in i){let o=i.setup;typeof o=="object"&&o!==null?(t.bidiGenerateContentSetup=o,n=o):delete t.bidiGenerateContentSetup}else i!==void 0&&delete t.bidiGenerateContentSetup;let r=t.fieldMask;if(n){let o=E0(n);if(Array.isArray(e?.lockAdditionalFields)&&e?.lockAdditionalFields.length===0)o?t.fieldMask=o:delete t.fieldMask;else if(e?.lockAdditionalFields&&e.lockAdditionalFields.length>0&&r!==null&&Array.isArray(r)&&r.length>0){let l=["temperature","topK","topP","maxOutputTokens","responseModalities","seed","speechConfig"],u=[];r.length>0&&(u=r.map(c=>l.includes(c)?`generationConfig.${c}`:c));let f=[];o&&f.push(o),u.length>0&&f.push(...u),f.length>0?t.fieldMask=f.join(","):delete t.fieldMask}else delete t.fieldMask}else r!==null&&Array.isArray(r)&&r.length>0?t.fieldMask=r.join(","):delete t.fieldMask;return t}var Il=class extends Qe{constructor(e){super(),this.apiClient=e}async create(e){var n,i;let r,o="",l={};if(this.apiClient.isVertexAI())throw new Error("The client.tokens.create method is only supported by the Gemini Developer API.");{let u=u0(this.apiClient,e);o=B("auth_tokens",u._url),l=u._query,delete u.config,delete u._url,delete u._query;let f=T0(u,e.config);return r=this.apiClient.request({path:o,queryParams:l,body:JSON.stringify(f),httpMethod:"POST",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(c=>c.json()),r.then(c=>c)}}};function S0(t,e){let n={},i=s(t,["force"]);return e!==void 0&&i!=null&&a(e,["_query","force"],i),n}function C0(t){let e={},n=s(t,["name"]);n!=null&&a(e,["_url","name"],n);let i=s(t,["config"]);return i!=null&&S0(i,e),e}function v0(t){let e={},n=s(t,["name"]);return n!=null&&a(e,["_url","name"],n),e}function A0(t,e){let n={},i=s(t,["pageSize"]);e!==void 0&&i!=null&&a(e,["_query","pageSize"],i);let r=s(t,["pageToken"]);return e!==void 0&&r!=null&&a(e,["_query","pageToken"],r),n}function w0(t){let e={},n=s(t,["parent"]);n!=null&&a(e,["_url","parent"],n);let i=s(t,["config"]);return i!=null&&A0(i,e),e}function I0(t){let e={},n=s(t,["sdkHttpResponse"]);n!=null&&a(e,["sdkHttpResponse"],n);let i=s(t,["nextPageToken"]);i!=null&&a(e,["nextPageToken"],i);let r=s(t,["documents"]);if(r!=null){let o=r;Array.isArray(o)&&(o=o.map(l=>l)),a(e,["documents"],o)}return e}var Rl=class extends Qe{constructor(e){super(),this.apiClient=e,this.list=async n=>new _t(yt.PAGED_ITEM_DOCUMENTS,i=>this.listInternal({parent:n.parent,config:i.config}),await this.listInternal(n),n)}async get(e){var n,i;let r,o="",l={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{let u=v0(e);return o=B("{name}",u._url),l=u._query,delete u._url,delete u._query,r=this.apiClient.request({path:o,queryParams:l,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json()),r.then(f=>f)}}async delete(e){var n,i;let r="",o={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{let l=C0(e);r=B("{name}",l._url),o=l._query,delete l._url,delete l._query,await this.apiClient.request({path:r,queryParams:o,body:JSON.stringify(l),httpMethod:"DELETE",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal})}}async listInternal(e){var n,i;let r,o="",l={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{let u=w0(e);return o=B("{parent}/documents",u._url),l=u._query,delete u._url,delete u._query,r=this.apiClient.request({path:o,queryParams:l,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json()),r.then(f=>{let c=I0(f),d=new ja;return Object.assign(d,c),d})}}};var Pl=class extends Qe{constructor(e,n=new Rl(e)){super(),this.apiClient=e,this.documents=n,this.list=async(i={})=>new _t(yt.PAGED_ITEM_FILE_SEARCH_STORES,r=>this.listInternal(r),await this.listInternal(i),i)}async uploadToFileSearchStore(e){if(this.apiClient.isVertexAI())throw new Error("Vertex AI does not support uploading files to a file search store.");return this.apiClient.uploadFileToFileSearchStore(e.fileSearchStoreName,e.file,e.config)}async create(e){var n,i;let r,o="",l={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{let u=vI(e);return o=B("fileSearchStores",u._url),l=u._query,delete u._url,delete u._query,r=this.apiClient.request({path:o,queryParams:l,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json()),r.then(f=>f)}}async get(e){var n,i;let r,o="",l={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{let u=II(e);return o=B("{name}",u._url),l=u._query,delete u._url,delete u._query,r=this.apiClient.request({path:o,queryParams:l,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json()),r.then(f=>f)}}async delete(e){var n,i;let r="",o={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{let l=wI(e);r=B("{name}",l._url),o=l._query,delete l._url,delete l._query,await this.apiClient.request({path:r,queryParams:o,body:JSON.stringify(l),httpMethod:"DELETE",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal})}}async listInternal(e){var n,i;let r,o="",l={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{let u=MI(e);return o=B("fileSearchStores",u._url),l=u._query,delete u._url,delete u._query,r=this.apiClient.request({path:o,queryParams:l,body:JSON.stringify(u),httpMethod:"GET",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json()),r.then(f=>{let c=DI(f),d=new el;return Object.assign(d,c),d})}}async uploadToFileSearchStoreInternal(e){var n,i;let r,o="",l={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{let u=UI(e);return o=B("upload/v1beta/{file_search_store_name}:uploadToFileSearchStore",u._url),l=u._query,delete u._url,delete u._query,r=this.apiClient.request({path:o,queryParams:l,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json()),r.then(f=>{let c=bI(f),d=new tl;return Object.assign(d,c),d})}}async importFile(e){var n,i;let r,o="",l={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{let u=NI(e);return o=B("{file_search_store_name}:importFile",u._url),l=u._query,delete u._url,delete u._query,r=this.apiClient.request({path:o,queryParams:l,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json()),r.then(f=>{let c=PI(f),d=new nl;return Object.assign(d,c),d})}}};var Pm=function(){let{crypto:t}=globalThis;if(t?.randomUUID)return Pm=t.randomUUID.bind(t),t.randomUUID();let e=new Uint8Array(1),n=t?()=>t.getRandomValues(e)[0]:()=>Math.random()*255&255;return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,i=>(+i^n()&15>>+i/4).toString(16))},R0=()=>Pm();function Nl(t){return typeof t=="object"&&t!==null&&("name"in t&&t.name==="AbortError"||"message"in t&&String(t.message).includes("FetchRequestCanceledException"))}var xl=t=>{if(t instanceof Error)return t;if(typeof t=="object"&&t!==null){try{if(Object.prototype.toString.call(t)==="[object Error]"){let e=new Error(t.message,t.cause?{cause:t.cause}:{});return t.stack&&(e.stack=t.stack),t.cause&&!e.cause&&(e.cause=t.cause),t.name&&(e.name=t.name),e}}catch{}try{return new Error(JSON.stringify(t))}catch{}}return new Error(t)};var ve=class extends Error{},Ae=class t extends ve{constructor(e,n,i,r){super(`${t.makeMessage(e,n,i)}`),this.status=e,this.headers=r,this.error=n}static makeMessage(e,n,i){let r=n?.message?typeof n.message=="string"?n.message:JSON.stringify(n.message):n?JSON.stringify(n):i;return e&&r?`${e} ${r}`:e?`${e} status code (no body)`:r||"(no status code or body)"}static generate(e,n,i,r){if(!e||!r)return new vn({message:i,cause:xl(n)});let o=n;return e===400?new Wr(e,o,i,r):e===401?new Kr(e,o,i,r):e===403?new Yr(e,o,i,r):e===404?new zr(e,o,i,r):e===409?new Xr(e,o,i,r):e===422?new Qr(e,o,i,r):e===429?new Zr(e,o,i,r):e>=500?new jr(e,o,i,r):new t(e,o,i,r)}},ii=class extends Ae{constructor({message:e}={}){super(void 0,void 0,e||"Request was aborted.",void 0)}},vn=class extends Ae{constructor({message:e,cause:n}){super(void 0,void 0,e||"Connection error.",void 0),n&&(this.cause=n)}},Jr=class extends vn{constructor({message:e}={}){super({message:e??"Request timed out."})}},Wr=class extends Ae{},Kr=class extends Ae{},Yr=class extends Ae{},zr=class extends Ae{},Xr=class extends Ae{},Qr=class extends Ae{},Zr=class extends Ae{},jr=class extends Ae{};var P0=/^[a-z][a-z0-9+.-]*:/i,N0=t=>P0.test(t),kl=t=>(kl=Array.isArray,kl(t)),x0=kl,k0=x0,qp=k0;function Bp(t){if(!t)return!0;for(let e in t)return!1;return!0}function M0(t,e){return Object.prototype.hasOwnProperty.call(t,e)}var D0=(t,e)=>{if(typeof e!="number"||!Number.isInteger(e))throw new ve(`${t} must be an integer`);if(e<0)throw new ve(`${t} must be a positive integer`);return e},U0=t=>{try{return JSON.parse(t)}catch{return}};var b0=t=>new Promise(e=>setTimeout(e,t));function L0(){if(typeof fetch<"u")return fetch;throw new Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new GeminiNextGenAPIClient({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function Nm(...t){let e=globalThis.ReadableStream;if(typeof e>"u")throw new Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new e(...t)}function O0(t){let e=Symbol.asyncIterator in t?t[Symbol.asyncIterator]():t[Symbol.iterator]();return Nm({start(){},async pull(n){let{done:i,value:r}=await e.next();i?n.close():n.enqueue(r)},async cancel(){var n;await((n=e.return)===null||n===void 0?void 0:n.call(e))}})}function xm(t){if(t[Symbol.asyncIterator])return t;let e=t.getReader();return{async next(){try{let n=await e.read();return n?.done&&e.releaseLock(),n}catch(n){throw e.releaseLock(),n}},async return(){let n=e.cancel();return e.releaseLock(),await n,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function F0(t){var e,n;if(t===null||typeof t!="object")return;if(t[Symbol.asyncIterator]){await((n=(e=t[Symbol.asyncIterator]()).return)===null||n===void 0?void 0:n.call(e));return}let i=t.getReader(),r=i.cancel();i.releaseLock(),await r}var G0=({headers:t,body:e})=>({bodyHeaders:{"content-type":"application/json"},body:JSON.stringify(e)});function q0(t){return Object.entries(t).filter(([e,n])=>typeof n<"u").map(([e,n])=>{if(typeof n=="string"||typeof n=="number"||typeof n=="boolean")return`${encodeURIComponent(e)}=${encodeURIComponent(n)}`;if(n===null)return`${encodeURIComponent(e)}=`;throw new ve(`Cannot stringify type ${typeof n}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`)}).join("&")}var B0="0.0.1";var km=()=>{var t;if(typeof File>"u"){let{process:e}=globalThis,n=typeof((t=e?.versions)===null||t===void 0?void 0:t.node)=="string"&&parseInt(e.versions.node.split("."))<20;throw new Error("`File` is not defined as a global, which is required for file uploads."+(n?" Update to Node 20 LTS or newer, or set `globalThis.File` to `import('node:buffer').File`.":""))}};function Va(t,e,n){return km(),new File(t,e??"unknown_file",n)}function V0(t){return(typeof t=="object"&&t!==null&&("name"in t&&t.name&&String(t.name)||"url"in t&&t.url&&String(t.url)||"filename"in t&&t.filename&&String(t.filename)||"path"in t&&t.path&&String(t.path))||"").split(/[\\/]/).pop()||void 0}var H0=t=>t!=null&&typeof t=="object"&&typeof t[Symbol.asyncIterator]=="function";var Mm=t=>t!=null&&typeof t=="object"&&typeof t.size=="number"&&typeof t.type=="string"&&typeof t.text=="function"&&typeof t.slice=="function"&&typeof t.arrayBuffer=="function",$0=t=>t!=null&&typeof t=="object"&&typeof t.name=="string"&&typeof t.lastModified=="number"&&Mm(t),J0=t=>t!=null&&typeof t=="object"&&typeof t.url=="string"&&typeof t.blob=="function";async function W0(t,e,n){if(km(),t=await t,$0(t))return t instanceof File?t:Va([await t.arrayBuffer()],t.name);if(J0(t)){let r=await t.blob();return e||(e=new URL(t.url).pathname.split(/[\\/]/).pop()),Va(await Ml(r),e,n)}let i=await Ml(t);if(e||(e=V0(t)),!n?.type){let r=i.find(o=>typeof o=="object"&&"type"in o&&o.type);typeof r=="string"&&(n=Object.assign(Object.assign({},n),{type:r}))}return Va(i,e,n)}async function Ml(t){var e,n,i,r,o;let l=[];if(typeof t=="string"||ArrayBuffer.isView(t)||t instanceof ArrayBuffer)l.push(t);else if(Mm(t))l.push(t instanceof Blob?t:await t.arrayBuffer());else if(H0(t))try{for(var u=!0,f=Xe(t),c;c=await f.next(),e=c.done,!e;u=!0){r=c.value,u=!1;let d=r;l.push(...await Ml(d))}}catch(d){n={error:d}}finally{try{!u&&!e&&(i=f.return)&&await i.call(f)}finally{if(n)throw n.error}}else{let d=(o=t?.constructor)===null||o===void 0?void 0:o.name;throw new Error(`Unexpected data type: ${typeof t}${d?`; constructor: ${d}`:""}${K0(t)}`)}return l}function K0(t){return typeof t!="object"||t===null?"":`; props: [${Object.getOwnPropertyNames(t).map(n=>`"${n}"`).join(", ")}]`}var eo=class{constructor(e){this._client=e}};eo._key=[];function Dm(t){return t.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g,encodeURIComponent)}var Vp=Object.freeze(Object.create(null)),Y0=(t=Dm)=>function(n,...i){if(n.length===1)return n[0];let r=!1,o=[],l=n.reduce((d,h,p)=>{var m,_,E;/[?#]/.test(h)&&(r=!0);let T=i[p],A=(r?encodeURIComponent:t)(""+T);return p!==i.length&&(T==null||typeof T=="object"&&T.toString===((E=Object.getPrototypeOf((_=Object.getPrototypeOf((m=T.hasOwnProperty)!==null&&m!==void 0?m:Vp))!==null&&_!==void 0?_:Vp))===null||E===void 0?void 0:E.toString))&&(A=T+"",o.push({start:d.length+h.length,length:A.length,error:`Value of type ${Object.prototype.toString.call(T).slice(8,-1)} is not a valid path parameter`})),d+h+(p===i.length?"":A)},""),u=l.split(/[?#]/,1)[0],f=/(^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi,c;for(;(c=f.exec(u))!==null;){let d=c[0].startsWith("/"),h=d?1:0,p=d?c[0].slice(1):c[0];o.push({start:c.index+h,length:p.length,error:`Value "${p}" can't be safely passed as a path parameter`})}if(o.sort((d,h)=>d.start-h.start),o.length>0){let d=0,h=o.reduce((p,m)=>{let _=" ".repeat(m.start-d),E="^".repeat(m.length);return d=m.start+m.length,p+_+E},"");throw new ve(`Path parameters result in path with invalid segments:
42
+ ${o.map(p=>p.error).join(`
43
+ `)}
44
+ ${l}
45
+ ${h}`)}return l},Cr=Y0(Dm);var to=class extends eo{create(e,n){var i;let{api_version:r=this._client.apiVersion}=e,o=Hr(e,["api_version"]);if("model"in o&&"agent_config"in o)throw new ve("Invalid request: specified `model` and `agent_config`. If specifying `model`, use `generation_config`.");if("agent"in o&&"generation_config"in o)throw new ve("Invalid request: specified `agent` and `generation_config`. If specifying `agent`, use `agent_config`.");return this._client.post(Cr`/${r}/interactions`,Object.assign(Object.assign({body:o},n),{stream:(i=e.stream)!==null&&i!==void 0?i:!1}))}delete(e,n={},i){let{api_version:r=this._client.apiVersion}=n??{};return this._client.delete(Cr`/${r}/interactions/${e}`,i)}cancel(e,n={},i){let{api_version:r=this._client.apiVersion}=n??{};return this._client.post(Cr`/${r}/interactions/${e}/cancel`,i)}get(e,n={},i){var r;let o=n??{},{api_version:l=this._client.apiVersion}=o,u=Hr(o,["api_version"]);return this._client.get(Cr`/${l}/interactions/${e}`,Object.assign(Object.assign({query:u},i),{stream:(r=n?.stream)!==null&&r!==void 0?r:!1}))}};to._key=Object.freeze(["interactions"]);var no=class extends to{};function z0(t){let e=0;for(let r of t)e+=r.length;let n=new Uint8Array(e),i=0;for(let r of t)n.set(r,i),i+=r.length;return n}var vr;function Ql(t){let e;return(vr??(e=new globalThis.TextEncoder,vr=e.encode.bind(e)))(t)}var Ar;function Hp(t){let e;return(Ar??(e=new globalThis.TextDecoder,Ar=e.decode.bind(e)))(t)}var An=class{constructor(){this.buffer=new Uint8Array,this.carriageReturnIndex=null,this.searchIndex=0}decode(e){var n;if(e==null)return[];let i=e instanceof ArrayBuffer?new Uint8Array(e):typeof e=="string"?Ql(e):e;this.buffer=z0([this.buffer,i]);let r=[],o;for(;(o=X0(this.buffer,(n=this.carriageReturnIndex)!==null&&n!==void 0?n:this.searchIndex))!=null;){if(o.carriage&&this.carriageReturnIndex==null){this.carriageReturnIndex=o.index;continue}if(this.carriageReturnIndex!=null&&(o.index!==this.carriageReturnIndex+1||o.carriage)){r.push(Hp(this.buffer.subarray(0,this.carriageReturnIndex-1))),this.buffer=this.buffer.subarray(this.carriageReturnIndex),this.carriageReturnIndex=null,this.searchIndex=0;continue}let l=this.carriageReturnIndex!==null?o.preceding-1:o.preceding,u=Hp(this.buffer.subarray(0,l));r.push(u),this.buffer=this.buffer.subarray(o.index),this.carriageReturnIndex=null,this.searchIndex=0}return this.searchIndex=Math.max(0,this.buffer.length-1),r}flush(){return this.buffer.length?this.decode(`
46
+ `):[]}};An.NEWLINE_CHARS=new Set([`
47
+ `,"\r"]);An.NEWLINE_REGEXP=/\r\n|[\n\r]/g;function X0(t,e){let r=e??0,o=t.indexOf(10,r),l=t.indexOf(13,r);if(o===-1&&l===-1)return null;let u;return o!==-1&&l!==-1?u=Math.min(o,l):u=o!==-1?o:l,t[u]===10?{preceding:u,index:u+1,carriage:!1}:{preceding:u,index:u+1,carriage:!0}}var io={off:0,error:200,warn:300,info:400,debug:500},$p=(t,e,n)=>{if(t){if(M0(io,t))return t;Se(n).warn(`${e} was set to ${JSON.stringify(t)}, expected one of ${JSON.stringify(Object.keys(io))}`)}};function ti(){}function wr(t,e,n){return!e||io[t]>io[n]?ti:e[t].bind(e)}var Q0={error:ti,warn:ti,info:ti,debug:ti},Jp=new WeakMap;function Se(t){var e;let n=t.logger,i=(e=t.logLevel)!==null&&e!==void 0?e:"off";if(!n)return Q0;let r=Jp.get(n);if(r&&r[0]===i)return r[1];let o={error:wr("error",n,i),warn:wr("warn",n,i),info:wr("info",n,i),debug:wr("debug",n,i)};return Jp.set(n,[i,o]),o}var Vt=t=>(t.options&&(t.options=Object.assign({},t.options),delete t.options.headers),t.headers&&(t.headers=Object.fromEntries((t.headers instanceof Headers?[...t.headers]:Object.entries(t.headers)).map(([e,n])=>[e,e.toLowerCase()==="x-goog-api-key"||e.toLowerCase()==="authorization"||e.toLowerCase()==="cookie"||e.toLowerCase()==="set-cookie"?"***":n]))),"retryOfRequestLogID"in t&&(t.retryOfRequestLogID&&(t.retryOf=t.retryOfRequestLogID),delete t.retryOfRequestLogID),t);var Dl=class t{constructor(e,n,i){this.iterator=e,this.controller=n,this.client=i}static fromSSEResponse(e,n,i){let r=!1,o=i?Se(i):console;function l(){return ze(this,arguments,function*(){var f,c,d,h;if(r)throw new ve("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");r=!0;let p=!1;try{try{for(var m=!0,_=Xe(Z0(e,n)),E;E=yield X(_.next()),f=E.done,!f;m=!0){h=E.value,m=!1;let T=h;if(!p)if(T.data.startsWith("[DONE]")){p=!0;continue}else try{yield yield X(JSON.parse(T.data))}catch(A){throw o.error("Could not parse message into JSON:",T.data),o.error("From chunk:",T.raw),A}}}catch(T){c={error:T}}finally{try{!m&&!f&&(d=_.return)&&(yield X(d.call(_)))}finally{if(c)throw c.error}}p=!0}catch(T){if(Nl(T))return yield X(void 0);throw T}finally{p||n.abort()}})}return new t(l,n,i)}static fromReadableStream(e,n,i){let r=!1;function o(){return ze(this,arguments,function*(){var f,c,d,h;let p=new An,m=xm(e);try{for(var _=!0,E=Xe(m),T;T=yield X(E.next()),f=T.done,!f;_=!0){h=T.value,_=!1;let A=h;for(let L of p.decode(A))yield yield X(L)}}catch(A){c={error:A}}finally{try{!_&&!f&&(d=E.return)&&(yield X(d.call(E)))}finally{if(c)throw c.error}}for(let A of p.flush())yield yield X(A)})}function l(){return ze(this,arguments,function*(){var f,c,d,h;if(r)throw new ve("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");r=!0;let p=!1;try{try{for(var m=!0,_=Xe(o()),E;E=yield X(_.next()),f=E.done,!f;m=!0){h=E.value,m=!1;let T=h;p||T&&(yield yield X(JSON.parse(T)))}}catch(T){c={error:T}}finally{try{!m&&!f&&(d=_.return)&&(yield X(d.call(_)))}finally{if(c)throw c.error}}p=!0}catch(T){if(Nl(T))return yield X(void 0);throw T}finally{p||n.abort()}})}return new t(l,n,i)}[Symbol.asyncIterator](){return this.iterator()}tee(){let e=[],n=[],i=this.iterator(),r=o=>({next:()=>{if(o.length===0){let l=i.next();e.push(l),n.push(l)}return o.shift()}});return[new t(()=>r(e),this.controller,this.client),new t(()=>r(n),this.controller,this.client)]}toReadableStream(){let e=this,n;return Nm({async start(){n=e[Symbol.asyncIterator]()},async pull(i){try{let{value:r,done:o}=await n.next();if(o)return i.close();let l=Ql(JSON.stringify(r)+`
48
+ `);i.enqueue(l)}catch(r){i.error(r)}},async cancel(){var i;await((i=n.return)===null||i===void 0?void 0:i.call(n))}})}};function Z0(t,e){return ze(this,arguments,function*(){var i,r,o,l;if(!t.body)throw e.abort(),typeof globalThis.navigator<"u"&&globalThis.navigator.product==="ReactNative"?new ve("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 ve("Attempted to iterate over a response with no body");let u=new Ul,f=new An,c=xm(t.body);try{for(var d=!0,h=Xe(j0(c)),p;p=yield X(h.next()),i=p.done,!i;d=!0){l=p.value,d=!1;let m=l;for(let _ of f.decode(m)){let E=u.decode(_);E&&(yield yield X(E))}}}catch(m){r={error:m}}finally{try{!d&&!i&&(o=h.return)&&(yield X(o.call(h)))}finally{if(r)throw r.error}}for(let m of f.flush()){let _=u.decode(m);_&&(yield yield X(_))}})}function j0(t){return ze(this,arguments,function*(){var n,i,r,o;try{for(var l=!0,u=Xe(t),f;f=yield X(u.next()),n=f.done,!n;l=!0){o=f.value,l=!1;let c=o;if(c==null)continue;let d=c instanceof ArrayBuffer?new Uint8Array(c):typeof c=="string"?Ql(c):c;yield yield X(d)}}catch(c){i={error:c}}finally{try{!l&&!n&&(r=u.return)&&(yield X(r.call(u)))}finally{if(i)throw i.error}}})}var Ul=class{constructor(){this.event=null,this.data=[],this.chunks=[]}decode(e){if(e.endsWith("\r")&&(e=e.substring(0,e.length-1)),!e){if(!this.event&&!this.data.length)return null;let o={event:this.event,data:this.data.join(`
49
+ `),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],o}if(this.chunks.push(e),e.startsWith(":"))return null;let[n,i,r]=eR(e,":");return r.startsWith(" ")&&(r=r.substring(1)),n==="event"?this.event=r:n==="data"&&this.data.push(r),null}};function eR(t,e){let n=t.indexOf(e);return n!==-1?[t.substring(0,n),e,t.substring(n+e.length)]:[t,"",""]}async function tR(t,e){let{response:n,requestLogID:i,retryOfRequestLogID:r,startTime:o}=e,l=await(async()=>{var u;if(e.options.stream)return Se(t).debug("response",n.status,n.url,n.headers,n.body),e.options.__streamClass?e.options.__streamClass.fromSSEResponse(n,e.controller,t):Dl.fromSSEResponse(n,e.controller,t);if(n.status===204)return null;if(e.options.__binaryResponse)return n;let f=n.headers.get("content-type"),c=(u=f?.split(";")[0])===null||u===void 0?void 0:u.trim();return c?.includes("application/json")||c?.endsWith("+json")?n.headers.get("content-length")==="0"?void 0:await n.json():await n.text()})();return Se(t).debug(`[${i}] response parsed`,Vt({retryOfRequestLogID:r,url:n.url,status:n.status,body:l,durationMs:Date.now()-o})),l}var bl=class t extends Promise{constructor(e,n,i=tR){super(r=>{r(null)}),this.responsePromise=n,this.parseResponse=i,this.client=e}_thenUnwrap(e){return new t(this.client,this.responsePromise,async(n,i)=>e(await this.parseResponse(n,i),i))}asResponse(){return this.responsePromise.then(e=>e.response)}async withResponse(){let[e,n]=await Promise.all([this.parse(),this.asResponse()]);return{data:e,response:n}}parse(){return this.parsedPromise||(this.parsedPromise=this.responsePromise.then(e=>this.parseResponse(this.client,e))),this.parsedPromise}then(e,n){return this.parse().then(e,n)}catch(e){return this.parse().catch(e)}finally(e){return this.parse().finally(e)}};var Um=Symbol("brand.privateNullableHeaders");function*nR(t){if(!t)return;if(Um in t){let{values:i,nulls:r}=t;yield*i.entries();for(let o of r)yield[o,null];return}let e=!1,n;t instanceof Headers?n=t.entries():qp(t)?n=t:(e=!0,n=Object.entries(t??{}));for(let i of n){let r=i[0];if(typeof r!="string")throw new TypeError("expected header name to be a string");let o=qp(i[1])?i[1]:[i[1]],l=!1;for(let u of o)u!==void 0&&(e&&!l&&(l=!0,yield[r,null]),yield[r,u])}}var jn=t=>{let e=new Headers,n=new Set;for(let i of t){let r=new Set;for(let[o,l]of nR(i)){let u=o.toLowerCase();r.has(u)||(e.delete(o),r.add(u)),l===null?(e.delete(o),n.add(u)):(e.append(o,l),n.delete(u))}}return{[Um]:!0,values:e,nulls:n}};var Ha=t=>{var e,n,i,r,o,l;if(typeof globalThis.process<"u")return(i=(n=(e=globalThis.process.env)===null||e===void 0?void 0:e[t])===null||n===void 0?void 0:n.trim())!==null&&i!==void 0?i:void 0;if(typeof globalThis.Deno<"u")return(l=(o=(r=globalThis.Deno.env)===null||r===void 0?void 0:r.get)===null||o===void 0?void 0:o.call(r,t))===null||l===void 0?void 0:l.trim()};var bm,ro=class t{constructor(e){var n,i,r,o,l,u,f,{baseURL:c=Ha("GEMINI_NEXT_GEN_API_BASE_URL"),apiKey:d=(n=Ha("GEMINI_API_KEY"))!==null&&n!==void 0?n:null,apiVersion:h="v1beta"}=e,p=Hr(e,["baseURL","apiKey","apiVersion"]);let m=Object.assign(Object.assign({apiKey:d,apiVersion:h},p),{baseURL:c||"https://generativelanguage.googleapis.com"});this.baseURL=m.baseURL,this.timeout=(i=m.timeout)!==null&&i!==void 0?i:t.DEFAULT_TIMEOUT,this.logger=(r=m.logger)!==null&&r!==void 0?r:console;let _="warn";this.logLevel=_,this.logLevel=(l=(o=$p(m.logLevel,"ClientOptions.logLevel",this))!==null&&o!==void 0?o:$p(Ha("GEMINI_NEXT_GEN_API_LOG"),"process.env['GEMINI_NEXT_GEN_API_LOG']",this))!==null&&l!==void 0?l:_,this.fetchOptions=m.fetchOptions,this.maxRetries=(u=m.maxRetries)!==null&&u!==void 0?u:2,this.fetch=(f=m.fetch)!==null&&f!==void 0?f:L0(),this.encoder=G0,this._options=m,this.apiKey=d,this.apiVersion=h,this.clientAdapter=m.clientAdapter}withOptions(e){return new this.constructor(Object.assign(Object.assign(Object.assign({},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,apiVersion:this.apiVersion}),e))}baseURLOverridden(){return this.baseURL!=="https://generativelanguage.googleapis.com"}defaultQuery(){return this._options.defaultQuery}validateHeaders({values:e,nulls:n}){if(!(e.has("authorization")||e.has("x-goog-api-key"))&&!(this.apiKey&&e.get("x-goog-api-key"))&&!n.has("x-goog-api-key"))throw new Error('Could not resolve authentication method. Expected the apiKey to be set. Or for the "x-goog-api-key" headers to be explicitly omitted')}async authHeaders(e){let n=jn([e.headers]);if(!(n.values.has("authorization")||n.values.has("x-goog-api-key"))){if(this.apiKey)return jn([{"x-goog-api-key":this.apiKey}]);if(this.clientAdapter.isVertexAI())return jn([await this.clientAdapter.getAuthHeaders()])}}stringifyQuery(e){return q0(e)}getUserAgent(){return`${this.constructor.name}/JS ${B0}`}defaultIdempotencyKey(){return`stainless-node-retry-${R0()}`}makeStatusError(e,n,i,r){return Ae.generate(e,n,i,r)}buildURL(e,n,i){let r=!this.baseURLOverridden()&&i||this.baseURL,o=N0(e)?new URL(e):new URL(r+(r.endsWith("/")&&e.startsWith("/")?e.slice(1):e)),l=this.defaultQuery(),u=Object.fromEntries(o.searchParams);return(!Bp(l)||!Bp(u))&&(n=Object.assign(Object.assign(Object.assign({},u),l),n)),typeof n=="object"&&n&&!Array.isArray(n)&&(o.search=this.stringifyQuery(n)),o.toString()}async prepareOptions(e){if(this.clientAdapter&&this.clientAdapter.isVertexAI()&&!e.path.startsWith(`/${this.apiVersion}/projects/`)){let n=e.path.slice(this.apiVersion.length+1);e.path=`/${this.apiVersion}/projects/${this.clientAdapter.getProject()}/locations/${this.clientAdapter.getLocation()}${n}`}}async prepareRequest(e,{url:n,options:i}){}get(e,n){return this.methodRequest("get",e,n)}post(e,n){return this.methodRequest("post",e,n)}patch(e,n){return this.methodRequest("patch",e,n)}put(e,n){return this.methodRequest("put",e,n)}delete(e,n){return this.methodRequest("delete",e,n)}methodRequest(e,n,i){return this.request(Promise.resolve(i).then(r=>Object.assign({method:e,path:n},r)))}request(e,n=null){return new bl(this,this.makeRequest(e,n,void 0))}async makeRequest(e,n,i){var r,o,l;let u=await e,f=(r=u.maxRetries)!==null&&r!==void 0?r:this.maxRetries;n==null&&(n=f),await this.prepareOptions(u);let{req:c,url:d,timeout:h}=await this.buildRequest(u,{retryCount:f-n});await this.prepareRequest(c,{url:d,options:u});let p="log_"+(Math.random()*(1<<24)|0).toString(16).padStart(6,"0"),m=i===void 0?"":`, retryOf: ${i}`,_=Date.now();if(Se(this).debug(`[${p}] sending request`,Vt({retryOfRequestLogID:i,method:u.method,url:d,options:u,headers:c.headers})),!((o=u.signal)===null||o===void 0)&&o.aborted)throw new ii;let E=new AbortController,T=await this.fetchWithTimeout(d,c,h,E).catch(xl),A=Date.now();if(T instanceof globalThis.Error){let D=`retrying, ${n} attempts remaining`;if(!((l=u.signal)===null||l===void 0)&&l.aborted)throw new ii;let O=Nl(T)||/timed? ?out/i.test(String(T)+("cause"in T?String(T.cause):""));if(n)return Se(this).info(`[${p}] connection ${O?"timed out":"failed"} - ${D}`),Se(this).debug(`[${p}] connection ${O?"timed out":"failed"} (${D})`,Vt({retryOfRequestLogID:i,url:d,durationMs:A-_,message:T.message})),this.retryRequest(u,n,i??p);throw Se(this).info(`[${p}] connection ${O?"timed out":"failed"} - error; no more retries left`),Se(this).debug(`[${p}] connection ${O?"timed out":"failed"} (error; no more retries left)`,Vt({retryOfRequestLogID:i,url:d,durationMs:A-_,message:T.message})),O?new Jr:new vn({cause:T})}let L=`[${p}${m}] ${c.method} ${d} ${T.ok?"succeeded":"failed"} with status ${T.status} in ${A-_}ms`;if(!T.ok){let D=await this.shouldRetry(T);if(n&&D){let M=`retrying, ${n} attempts remaining`;return await F0(T.body),Se(this).info(`${L} - ${M}`),Se(this).debug(`[${p}] response error (${M})`,Vt({retryOfRequestLogID:i,url:T.url,status:T.status,headers:T.headers,durationMs:A-_})),this.retryRequest(u,n,i??p,T.headers)}let O=D?"error; no more retries left":"error; not retryable";Se(this).info(`${L} - ${O}`);let U=await T.text().catch(M=>xl(M).message),R=U0(U),q=R?void 0:U;throw Se(this).debug(`[${p}] response error (${O})`,Vt({retryOfRequestLogID:i,url:T.url,status:T.status,headers:T.headers,message:q,durationMs:Date.now()-_})),this.makeStatusError(T.status,R,q,T.headers)}return Se(this).info(L),Se(this).debug(`[${p}] response start`,Vt({retryOfRequestLogID:i,url:T.url,status:T.status,headers:T.headers,durationMs:A-_})),{response:T,options:u,controller:E,requestLogID:p,retryOfRequestLogID:i,startTime:_}}async fetchWithTimeout(e,n,i,r){let o=n||{},{signal:l,method:u}=o,f=Hr(o,["signal","method"]),c=this._makeAbort(r);l&&l.addEventListener("abort",c,{once:!0});let d=setTimeout(c,i),h=globalThis.ReadableStream&&f.body instanceof globalThis.ReadableStream||typeof f.body=="object"&&f.body!==null&&Symbol.asyncIterator in f.body,p=Object.assign(Object.assign(Object.assign({signal:r.signal},h?{duplex:"half"}:{}),{method:"GET"}),f);u&&(p.method=u.toUpperCase());try{return await this.fetch.call(void 0,e,p)}finally{clearTimeout(d)}}async shouldRetry(e){let n=e.headers.get("x-should-retry");return n==="true"?!0:n==="false"?!1:e.status===408||e.status===409||e.status===429||e.status>=500}async retryRequest(e,n,i,r){var o;let l,u=r?.get("retry-after-ms");if(u){let c=parseFloat(u);Number.isNaN(c)||(l=c)}let f=r?.get("retry-after");if(f&&!l){let c=parseFloat(f);Number.isNaN(c)?l=Date.parse(f)-Date.now():l=c*1e3}if(l===void 0){let c=(o=e.maxRetries)!==null&&o!==void 0?o:this.maxRetries;l=this.calculateDefaultRetryTimeoutMillis(n,c)}return await b0(l),this.makeRequest(e,n-1,i)}calculateDefaultRetryTimeoutMillis(e,n){let o=n-e,l=Math.min(.5*Math.pow(2,o),8),u=1-Math.random()*.25;return l*u*1e3}async buildRequest(e,{retryCount:n=0}={}){var i,r,o;let l=Object.assign({},e),{method:u,path:f,query:c,defaultBaseURL:d}=l,h=this.buildURL(f,c,d);"timeout"in l&&D0("timeout",l.timeout),l.timeout=(i=l.timeout)!==null&&i!==void 0?i:this.timeout;let{bodyHeaders:p,body:m}=this.buildBody({options:l}),_=await this.buildHeaders({options:e,method:u,bodyHeaders:p,retryCount:n});return{req:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({method:u,headers:_},l.signal&&{signal:l.signal}),globalThis.ReadableStream&&m instanceof globalThis.ReadableStream&&{duplex:"half"}),m&&{body:m}),(r=this.fetchOptions)!==null&&r!==void 0?r:{}),(o=l.fetchOptions)!==null&&o!==void 0?o:{}),url:h,timeout:l.timeout}}async buildHeaders({options:e,method:n,bodyHeaders:i,retryCount:r}){let o={};this.idempotencyHeader&&n!=="get"&&(e.idempotencyKey||(e.idempotencyKey=this.defaultIdempotencyKey()),o[this.idempotencyHeader]=e.idempotencyKey);let l=await this.authHeaders(e),u=jn([o,{Accept:"application/json","User-Agent":this.getUserAgent()},this._options.defaultHeaders,i,e.headers,l]);return this.validateHeaders(u),u.values}_makeAbort(e){return()=>e.abort()}buildBody({options:{body:e,headers:n}}){if(!e)return{bodyHeaders:void 0,body:void 0};let i=jn([n]);return ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof DataView||typeof e=="string"&&i.values.has("content-type")||globalThis.Blob&&e instanceof globalThis.Blob||e instanceof FormData||e instanceof URLSearchParams||globalThis.ReadableStream&&e instanceof globalThis.ReadableStream?{bodyHeaders:void 0,body:e}:typeof e=="object"&&(Symbol.asyncIterator in e||Symbol.iterator in e&&"next"in e&&typeof e.next=="function")?{bodyHeaders:void 0,body:O0(e)}:typeof e=="object"&&i.values.get("content-type")==="application/x-www-form-urlencoded"?{bodyHeaders:{"content-type":"application/x-www-form-urlencoded"},body:this.stringifyQuery(e)}:this.encoder({body:e,headers:i})}};ro.DEFAULT_TIMEOUT=6e4;var de=class extends ro{constructor(){super(...arguments),this.interactions=new no(this)}};bm=de;de.GeminiNextGenAPIClient=bm;de.GeminiNextGenAPIClientError=ve;de.APIError=Ae;de.APIConnectionError=vn;de.APIConnectionTimeoutError=Jr;de.APIUserAbortError=ii;de.NotFoundError=zr;de.ConflictError=Xr;de.RateLimitError=Zr;de.BadRequestError=Wr;de.AuthenticationError=Kr;de.InternalServerError=jr;de.PermissionDeniedError=Yr;de.UnprocessableEntityError=Qr;de.toFile=W0;de.Interactions=no;var Wp="x-goog-api-key",ei="https://www.googleapis.com/auth/cloud-platform",Ll=class{constructor(e){if(e.apiKey!==void 0){this.apiKey=e.apiKey;return}let n=iR(e.googleAuthOptions);this.googleAuth=new Yp.GoogleAuth(n)}async addAuthHeaders(e,n){if(this.apiKey!==void 0){if(this.apiKey.startsWith("auth_tokens/"))throw new Error("Ephemeral tokens are only supported by the live API.");this.addKeyHeader(e);return}return this.addGoogleAuthHeaders(e,n)}addKeyHeader(e){if(e.get(Wp)===null){if(this.apiKey===void 0)throw new Error("Trying to set API key header but apiKey is not set");e.append(Wp,this.apiKey)}}async addGoogleAuthHeaders(e,n){if(this.googleAuth===void 0)throw new Error("Trying to set google-auth headers but googleAuth is unset");let i=await this.googleAuth.getRequestHeaders(n);for(let[r,o]of i)e.get(r)===null&&e.append(r,o)}};function iR(t){let e;if(t){if(e=t,e.scopes){if(typeof e.scopes=="string"&&e.scopes!==ei||Array.isArray(e.scopes)&&e.scopes.indexOf(ei)<0)throw new Error(`Invalid auth scopes. Scopes must include: ${ei}`)}else return e.scopes=[ei],e;return e}else return e={scopes:[ei]},e}var Ol=class{async download(e,n){if(e.downloadPath){let i=await rR(e,n);if(i instanceof Jt){let r=GS(e.downloadPath);BS.fromWeb(i.responseInternal.body).pipe(r),await VS(r)}else try{await qS(e.downloadPath,i,{encoding:"base64"})}catch(r){throw new Error(`Failed to write file to ${e.downloadPath}: ${r}`)}}}};async function rR(t,e){var n,i,r;let o=Xl(t.file);if(o!==void 0)return await e.request({path:`files/${o}:download`,httpMethod:"GET",queryParams:{alt:"media"},httpOptions:(n=t.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(i=t.config)===null||i===void 0?void 0:i.abortSignal});if(om(t.file)){let l=(r=t.file.video)===null||r===void 0?void 0:r.videoBytes;if(typeof l=="string")return l;throw new Error("Failed to download generated video, Uri or videoBytes not found.")}else if(sm(t.file)){let l=t.file.videoBytes;if(typeof l=="string")return l;throw new Error("Failed to download video, Uri or videoBytes not found.")}else throw new Error("Unsupported file type")}var Fl=class{create(e,n,i){return new Gl(e,n,i)}},Gl=class{constructor(e,n,i){this.url=e,this.headers=n,this.callbacks=i}connect(){this.ws=new Ba.default(this.url,{headers:this.headers}),this.ws.onopen=this.callbacks.onopen,this.ws.onerror=this.callbacks.onerror,this.ws.onclose=this.callbacks.onclose,this.ws.onmessage=this.callbacks.onmessage}send(e){if(this.ws===void 0)throw new Error("WebSocket is not connected");this.ws.send(e)}close(){if(this.ws===void 0)throw new Error("WebSocket is not connected");this.ws.close()}};function oR(t,e){let n={},i=s(t,["name"]);return i!=null&&a(n,["_url","name"],i),n}function sR(t,e){let n={},i=s(t,["name"]);return i!=null&&a(n,["_url","name"],i),n}function aR(t,e){let n={},i=s(t,["sdkHttpResponse"]);return i!=null&&a(n,["sdkHttpResponse"],i),n}function lR(t,e){let n={},i=s(t,["sdkHttpResponse"]);return i!=null&&a(n,["sdkHttpResponse"],i),n}function uR(t,e,n){let i={};if(s(t,["validationDataset"])!==void 0)throw new Error("validationDataset parameter is not supported in Gemini API.");let r=s(t,["tunedModelDisplayName"]);if(e!==void 0&&r!=null&&a(e,["displayName"],r),s(t,["description"])!==void 0)throw new Error("description parameter is not supported in Gemini API.");let o=s(t,["epochCount"]);e!==void 0&&o!=null&&a(e,["tuningTask","hyperparameters","epochCount"],o);let l=s(t,["learningRateMultiplier"]);if(l!=null&&a(i,["tuningTask","hyperparameters","learningRateMultiplier"],l),s(t,["exportLastCheckpointOnly"])!==void 0)throw new Error("exportLastCheckpointOnly parameter is not supported in Gemini API.");if(s(t,["preTunedModelCheckpointId"])!==void 0)throw new Error("preTunedModelCheckpointId parameter is not supported in Gemini API.");if(s(t,["adapterSize"])!==void 0)throw new Error("adapterSize parameter is not supported in Gemini API.");if(s(t,["tuningMode"])!==void 0)throw new Error("tuningMode parameter is not supported in Gemini API.");if(s(t,["customBaseModel"])!==void 0)throw new Error("customBaseModel parameter is not supported in Gemini API.");let u=s(t,["batchSize"]);e!==void 0&&u!=null&&a(e,["tuningTask","hyperparameters","batchSize"],u);let f=s(t,["learningRate"]);if(e!==void 0&&f!=null&&a(e,["tuningTask","hyperparameters","learningRate"],f),s(t,["labels"])!==void 0)throw new Error("labels parameter is not supported in Gemini API.");if(s(t,["beta"])!==void 0)throw new Error("beta parameter is not supported in Gemini API.");if(s(t,["baseTeacherModel"])!==void 0)throw new Error("baseTeacherModel parameter is not supported in Gemini API.");if(s(t,["tunedTeacherModelSource"])!==void 0)throw new Error("tunedTeacherModelSource parameter is not supported in Gemini API.");if(s(t,["sftLossWeightMultiplier"])!==void 0)throw new Error("sftLossWeightMultiplier parameter is not supported in Gemini API.");if(s(t,["outputUri"])!==void 0)throw new Error("outputUri parameter is not supported in Gemini API.");if(s(t,["encryptionSpec"])!==void 0)throw new Error("encryptionSpec parameter is not supported in Gemini API.");return i}function cR(t,e,n){let i={},r=s(n,["config","method"]);if(r===void 0&&(r="SUPERVISED_FINE_TUNING"),r==="SUPERVISED_FINE_TUNING"){let R=s(t,["validationDataset"]);e!==void 0&&R!=null&&a(e,["supervisedTuningSpec"],$a(R))}else if(r==="PREFERENCE_TUNING"){let R=s(t,["validationDataset"]);e!==void 0&&R!=null&&a(e,["preferenceOptimizationSpec"],$a(R))}else if(r==="DISTILLATION"){let R=s(t,["validationDataset"]);e!==void 0&&R!=null&&a(e,["distillationSpec"],$a(R))}let o=s(t,["tunedModelDisplayName"]);e!==void 0&&o!=null&&a(e,["tunedModelDisplayName"],o);let l=s(t,["description"]);e!==void 0&&l!=null&&a(e,["description"],l);let u=s(n,["config","method"]);if(u===void 0&&(u="SUPERVISED_FINE_TUNING"),u==="SUPERVISED_FINE_TUNING"){let R=s(t,["epochCount"]);e!==void 0&&R!=null&&a(e,["supervisedTuningSpec","hyperParameters","epochCount"],R)}else if(u==="PREFERENCE_TUNING"){let R=s(t,["epochCount"]);e!==void 0&&R!=null&&a(e,["preferenceOptimizationSpec","hyperParameters","epochCount"],R)}else if(u==="DISTILLATION"){let R=s(t,["epochCount"]);e!==void 0&&R!=null&&a(e,["distillationSpec","hyperParameters","epochCount"],R)}let f=s(n,["config","method"]);if(f===void 0&&(f="SUPERVISED_FINE_TUNING"),f==="SUPERVISED_FINE_TUNING"){let R=s(t,["learningRateMultiplier"]);e!==void 0&&R!=null&&a(e,["supervisedTuningSpec","hyperParameters","learningRateMultiplier"],R)}else if(f==="PREFERENCE_TUNING"){let R=s(t,["learningRateMultiplier"]);e!==void 0&&R!=null&&a(e,["preferenceOptimizationSpec","hyperParameters","learningRateMultiplier"],R)}else if(f==="DISTILLATION"){let R=s(t,["learningRateMultiplier"]);e!==void 0&&R!=null&&a(e,["distillationSpec","hyperParameters","learningRateMultiplier"],R)}let c=s(n,["config","method"]);if(c===void 0&&(c="SUPERVISED_FINE_TUNING"),c==="SUPERVISED_FINE_TUNING"){let R=s(t,["exportLastCheckpointOnly"]);e!==void 0&&R!=null&&a(e,["supervisedTuningSpec","exportLastCheckpointOnly"],R)}else if(c==="PREFERENCE_TUNING"){let R=s(t,["exportLastCheckpointOnly"]);e!==void 0&&R!=null&&a(e,["preferenceOptimizationSpec","exportLastCheckpointOnly"],R)}else if(c==="DISTILLATION"){let R=s(t,["exportLastCheckpointOnly"]);e!==void 0&&R!=null&&a(e,["distillationSpec","exportLastCheckpointOnly"],R)}let d=s(n,["config","method"]);if(d===void 0&&(d="SUPERVISED_FINE_TUNING"),d==="SUPERVISED_FINE_TUNING"){let R=s(t,["adapterSize"]);e!==void 0&&R!=null&&a(e,["supervisedTuningSpec","hyperParameters","adapterSize"],R)}else if(d==="PREFERENCE_TUNING"){let R=s(t,["adapterSize"]);e!==void 0&&R!=null&&a(e,["preferenceOptimizationSpec","hyperParameters","adapterSize"],R)}else if(d==="DISTILLATION"){let R=s(t,["adapterSize"]);e!==void 0&&R!=null&&a(e,["distillationSpec","hyperParameters","adapterSize"],R)}let h=s(n,["config","method"]);if(h===void 0&&(h="SUPERVISED_FINE_TUNING"),h==="SUPERVISED_FINE_TUNING"){let R=s(t,["tuningMode"]);e!==void 0&&R!=null&&a(e,["supervisedTuningSpec","tuningMode"],R)}else if(h==="DISTILLATION"){let R=s(t,["tuningMode"]);e!==void 0&&R!=null&&a(e,["distillationSpec","tuningMode"],R)}let p=s(t,["customBaseModel"]);e!==void 0&&p!=null&&a(e,["customBaseModel"],p);let m=s(n,["config","method"]);if(m===void 0&&(m="SUPERVISED_FINE_TUNING"),m==="SUPERVISED_FINE_TUNING"){let R=s(t,["batchSize"]);e!==void 0&&R!=null&&a(e,["supervisedTuningSpec","hyperParameters","batchSize"],R)}else if(m==="DISTILLATION"){let R=s(t,["batchSize"]);e!==void 0&&R!=null&&a(e,["distillationSpec","hyperParameters","batchSize"],R)}let _=s(n,["config","method"]);if(_===void 0&&(_="SUPERVISED_FINE_TUNING"),_==="SUPERVISED_FINE_TUNING"){let R=s(t,["learningRate"]);e!==void 0&&R!=null&&a(e,["supervisedTuningSpec","hyperParameters","learningRate"],R)}else if(_==="DISTILLATION"){let R=s(t,["learningRate"]);e!==void 0&&R!=null&&a(e,["distillationSpec","hyperParameters","learningRate"],R)}let E=s(t,["labels"]);e!==void 0&&E!=null&&a(e,["labels"],E);let T=s(t,["beta"]);e!==void 0&&T!=null&&a(e,["preferenceOptimizationSpec","hyperParameters","beta"],T);let A=s(t,["baseTeacherModel"]);e!==void 0&&A!=null&&a(e,["distillationSpec","baseTeacherModel"],A);let L=s(t,["tunedTeacherModelSource"]);e!==void 0&&L!=null&&a(e,["distillationSpec","tunedTeacherModelSource"],L);let D=s(t,["sftLossWeightMultiplier"]);e!==void 0&&D!=null&&a(e,["distillationSpec","hyperParameters","sftLossWeightMultiplier"],D);let O=s(t,["outputUri"]);e!==void 0&&O!=null&&a(e,["outputUri"],O);let U=s(t,["encryptionSpec"]);return e!==void 0&&U!=null&&a(e,["encryptionSpec"],U),i}function fR(t,e){let n={},i=s(t,["baseModel"]);i!=null&&a(n,["baseModel"],i);let r=s(t,["preTunedModel"]);r!=null&&a(n,["preTunedModel"],r);let o=s(t,["trainingDataset"]);o!=null&&CR(o);let l=s(t,["config"]);return l!=null&&uR(l,n),n}function dR(t,e){let n={},i=s(t,["baseModel"]);i!=null&&a(n,["baseModel"],i);let r=s(t,["preTunedModel"]);r!=null&&a(n,["preTunedModel"],r);let o=s(t,["trainingDataset"]);o!=null&&vR(o,n,e);let l=s(t,["config"]);return l!=null&&cR(l,n,e),n}function hR(t,e){let n={},i=s(t,["name"]);return i!=null&&a(n,["_url","name"],i),n}function pR(t,e){let n={},i=s(t,["name"]);return i!=null&&a(n,["_url","name"],i),n}function mR(t,e,n){let i={},r=s(t,["pageSize"]);e!==void 0&&r!=null&&a(e,["_query","pageSize"],r);let o=s(t,["pageToken"]);e!==void 0&&o!=null&&a(e,["_query","pageToken"],o);let l=s(t,["filter"]);return e!==void 0&&l!=null&&a(e,["_query","filter"],l),i}function gR(t,e,n){let i={},r=s(t,["pageSize"]);e!==void 0&&r!=null&&a(e,["_query","pageSize"],r);let o=s(t,["pageToken"]);e!==void 0&&o!=null&&a(e,["_query","pageToken"],o);let l=s(t,["filter"]);return e!==void 0&&l!=null&&a(e,["_query","filter"],l),i}function yR(t,e){let n={},i=s(t,["config"]);return i!=null&&mR(i,n),n}function _R(t,e){let n={},i=s(t,["config"]);return i!=null&&gR(i,n),n}function ER(t,e){let n={},i=s(t,["sdkHttpResponse"]);i!=null&&a(n,["sdkHttpResponse"],i);let r=s(t,["nextPageToken"]);r!=null&&a(n,["nextPageToken"],r);let o=s(t,["tunedModels"]);if(o!=null){let l=o;Array.isArray(l)&&(l=l.map(u=>Lm(u))),a(n,["tuningJobs"],l)}return n}function TR(t,e){let n={},i=s(t,["sdkHttpResponse"]);i!=null&&a(n,["sdkHttpResponse"],i);let r=s(t,["nextPageToken"]);r!=null&&a(n,["nextPageToken"],r);let o=s(t,["tuningJobs"]);if(o!=null){let l=o;Array.isArray(l)&&(l=l.map(u=>ql(u))),a(n,["tuningJobs"],l)}return n}function SR(t,e){let n={},i=s(t,["name"]);i!=null&&a(n,["model"],i);let r=s(t,["name"]);return r!=null&&a(n,["endpoint"],r),n}function CR(t,e){let n={};if(s(t,["gcsUri"])!==void 0)throw new Error("gcsUri parameter is not supported in Gemini API.");if(s(t,["vertexDatasetResource"])!==void 0)throw new Error("vertexDatasetResource parameter is not supported in Gemini API.");let i=s(t,["examples"]);if(i!=null){let r=i;Array.isArray(r)&&(r=r.map(o=>o)),a(n,["examples","examples"],r)}return n}function vR(t,e,n){let i={},r=s(n,["config","method"]);if(r===void 0&&(r="SUPERVISED_FINE_TUNING"),r==="SUPERVISED_FINE_TUNING"){let l=s(t,["gcsUri"]);e!==void 0&&l!=null&&a(e,["supervisedTuningSpec","trainingDatasetUri"],l)}else if(r==="PREFERENCE_TUNING"){let l=s(t,["gcsUri"]);e!==void 0&&l!=null&&a(e,["preferenceOptimizationSpec","trainingDatasetUri"],l)}else if(r==="DISTILLATION"){let l=s(t,["gcsUri"]);e!==void 0&&l!=null&&a(e,["distillationSpec","promptDatasetUri"],l)}let o=s(n,["config","method"]);if(o===void 0&&(o="SUPERVISED_FINE_TUNING"),o==="SUPERVISED_FINE_TUNING"){let l=s(t,["vertexDatasetResource"]);e!==void 0&&l!=null&&a(e,["supervisedTuningSpec","trainingDatasetUri"],l)}else if(o==="PREFERENCE_TUNING"){let l=s(t,["vertexDatasetResource"]);e!==void 0&&l!=null&&a(e,["preferenceOptimizationSpec","trainingDatasetUri"],l)}else if(o==="DISTILLATION"){let l=s(t,["vertexDatasetResource"]);e!==void 0&&l!=null&&a(e,["distillationSpec","promptDatasetUri"],l)}if(s(t,["examples"])!==void 0)throw new Error("examples parameter is not supported in Vertex AI.");return i}function Lm(t,e){let n={},i=s(t,["sdkHttpResponse"]);i!=null&&a(n,["sdkHttpResponse"],i);let r=s(t,["name"]);r!=null&&a(n,["name"],r);let o=s(t,["state"]);o!=null&&a(n,["state"],rm(o));let l=s(t,["createTime"]);l!=null&&a(n,["createTime"],l);let u=s(t,["tuningTask","startTime"]);u!=null&&a(n,["startTime"],u);let f=s(t,["tuningTask","completeTime"]);f!=null&&a(n,["endTime"],f);let c=s(t,["updateTime"]);c!=null&&a(n,["updateTime"],c);let d=s(t,["description"]);d!=null&&a(n,["description"],d);let h=s(t,["baseModel"]);h!=null&&a(n,["baseModel"],h);let p=s(t,["_self"]);return p!=null&&a(n,["tunedModel"],SR(p)),n}function ql(t,e){let n={},i=s(t,["sdkHttpResponse"]);i!=null&&a(n,["sdkHttpResponse"],i);let r=s(t,["name"]);r!=null&&a(n,["name"],r);let o=s(t,["state"]);o!=null&&a(n,["state"],rm(o));let l=s(t,["createTime"]);l!=null&&a(n,["createTime"],l);let u=s(t,["startTime"]);u!=null&&a(n,["startTime"],u);let f=s(t,["endTime"]);f!=null&&a(n,["endTime"],f);let c=s(t,["updateTime"]);c!=null&&a(n,["updateTime"],c);let d=s(t,["error"]);d!=null&&a(n,["error"],d);let h=s(t,["description"]);h!=null&&a(n,["description"],h);let p=s(t,["baseModel"]);p!=null&&a(n,["baseModel"],p);let m=s(t,["tunedModel"]);m!=null&&a(n,["tunedModel"],m);let _=s(t,["preTunedModel"]);_!=null&&a(n,["preTunedModel"],_);let E=s(t,["supervisedTuningSpec"]);E!=null&&a(n,["supervisedTuningSpec"],E);let T=s(t,["preferenceOptimizationSpec"]);T!=null&&a(n,["preferenceOptimizationSpec"],T);let A=s(t,["distillationSpec"]);A!=null&&a(n,["distillationSpec"],A);let L=s(t,["tuningDataStats"]);L!=null&&a(n,["tuningDataStats"],L);let D=s(t,["encryptionSpec"]);D!=null&&a(n,["encryptionSpec"],D);let O=s(t,["partnerModelTuningSpec"]);O!=null&&a(n,["partnerModelTuningSpec"],O);let U=s(t,["customBaseModel"]);U!=null&&a(n,["customBaseModel"],U);let R=s(t,["evaluateDatasetRuns"]);if(R!=null){let ce=R;Array.isArray(ce)&&(ce=ce.map(Ce=>Ce)),a(n,["evaluateDatasetRuns"],ce)}let q=s(t,["experiment"]);q!=null&&a(n,["experiment"],q);let K=s(t,["fullFineTuningSpec"]);K!=null&&a(n,["fullFineTuningSpec"],K);let M=s(t,["labels"]);M!=null&&a(n,["labels"],M);let J=s(t,["outputUri"]);J!=null&&a(n,["outputUri"],J);let z=s(t,["pipelineJob"]);z!=null&&a(n,["pipelineJob"],z);let Q=s(t,["serviceAccount"]);Q!=null&&a(n,["serviceAccount"],Q);let oe=s(t,["tunedModelDisplayName"]);oe!=null&&a(n,["tunedModelDisplayName"],oe);let j=s(t,["tuningJobState"]);j!=null&&a(n,["tuningJobState"],j);let re=s(t,["veoTuningSpec"]);re!=null&&a(n,["veoTuningSpec"],re);let ue=s(t,["distillationSamplingSpec"]);ue!=null&&a(n,["distillationSamplingSpec"],ue);let we=s(t,["tuningJobMetadata"]);return we!=null&&a(n,["tuningJobMetadata"],we),n}function AR(t,e){let n={},i=s(t,["sdkHttpResponse"]);i!=null&&a(n,["sdkHttpResponse"],i);let r=s(t,["name"]);r!=null&&a(n,["name"],r);let o=s(t,["metadata"]);o!=null&&a(n,["metadata"],o);let l=s(t,["done"]);l!=null&&a(n,["done"],l);let u=s(t,["error"]);return u!=null&&a(n,["error"],u),n}function $a(t,e){let n={},i=s(t,["gcsUri"]);i!=null&&a(n,["validationDatasetUri"],i);let r=s(t,["vertexDatasetResource"]);return r!=null&&a(n,["validationDatasetUri"],r),n}var Bl=class extends Qe{constructor(e){super(),this.apiClient=e,this.list=async(n={})=>new _t(yt.PAGED_ITEM_TUNING_JOBS,i=>this.listInternal(i),await this.listInternal(n),n),this.get=async n=>await this.getInternal(n),this.tune=async n=>{var i;if(this.apiClient.isVertexAI())if(n.baseModel.startsWith("projects/")){let r={tunedModelName:n.baseModel};!((i=n.config)===null||i===void 0)&&i.preTunedModelCheckpointId&&(r.checkpointId=n.config.preTunedModelCheckpointId);let o=Object.assign(Object.assign({},n),{preTunedModel:r});return o.baseModel=void 0,await this.tuneInternal(o)}else{let r=Object.assign({},n);return await this.tuneInternal(r)}else{let r=Object.assign({},n),o=await this.tuneMldevInternal(r),l="";return o.metadata!==void 0&&o.metadata.tunedModel!==void 0?l=o.metadata.tunedModel:o.name!==void 0&&o.name.includes("/operations/")&&(l=o.name.split("/operations/")[0]),{name:l,state:Wa.JOB_STATE_QUEUED}}}}async getInternal(e){var n,i,r,o;let l,u="",f={};if(this.apiClient.isVertexAI()){let c=pR(e);return u=B("{name}",c._url),f=c._query,delete c._url,delete c._query,l=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(c),httpMethod:"GET",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json().then(h=>{let p=h;return p.sdkHttpResponse={headers:d.headers},p})),l.then(d=>ql(d))}else{let c=hR(e);return u=B("{name}",c._url),f=c._query,delete c._url,delete c._query,l=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(c),httpMethod:"GET",httpOptions:(r=e.config)===null||r===void 0?void 0:r.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(d=>d.json().then(h=>{let p=h;return p.sdkHttpResponse={headers:d.headers},p})),l.then(d=>Lm(d))}}async listInternal(e){var n,i,r,o;let l,u="",f={};if(this.apiClient.isVertexAI()){let c=_R(e);return u=B("tuningJobs",c._url),f=c._query,delete c._url,delete c._query,l=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(c),httpMethod:"GET",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json().then(h=>{let p=h;return p.sdkHttpResponse={headers:d.headers},p})),l.then(d=>{let h=TR(d),p=new Lr;return Object.assign(p,h),p})}else{let c=yR(e);return u=B("tunedModels",c._url),f=c._query,delete c._url,delete c._query,l=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(c),httpMethod:"GET",httpOptions:(r=e.config)===null||r===void 0?void 0:r.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(d=>d.json().then(h=>{let p=h;return p.sdkHttpResponse={headers:d.headers},p})),l.then(d=>{let h=ER(d),p=new Lr;return Object.assign(p,h),p})}}async cancel(e){var n,i,r,o;let l,u="",f={};if(this.apiClient.isVertexAI()){let c=sR(e);return u=B("{name}:cancel",c._url),f=c._query,delete c._url,delete c._query,l=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(c),httpMethod:"POST",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(d=>d.json().then(h=>{let p=h;return p.sdkHttpResponse={headers:d.headers},p})),l.then(d=>{let h=lR(d),p=new Or;return Object.assign(p,h),p})}else{let c=oR(e);return u=B("{name}:cancel",c._url),f=c._query,delete c._url,delete c._query,l=this.apiClient.request({path:u,queryParams:f,body:JSON.stringify(c),httpMethod:"POST",httpOptions:(r=e.config)===null||r===void 0?void 0:r.httpOptions,abortSignal:(o=e.config)===null||o===void 0?void 0:o.abortSignal}).then(d=>d.json().then(h=>{let p=h;return p.sdkHttpResponse={headers:d.headers},p})),l.then(d=>{let h=aR(d),p=new Or;return Object.assign(p,h),p})}}async tuneInternal(e){var n,i;let r,o="",l={};if(this.apiClient.isVertexAI()){let u=dR(e,e);return o=B("tuningJobs",u._url),l=u._query,delete u._url,delete u._query,r=this.apiClient.request({path:o,queryParams:l,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json().then(c=>{let d=c;return d.sdkHttpResponse={headers:f.headers},d})),r.then(f=>ql(f))}else throw new Error("This method is only supported by the Vertex AI.")}async tuneMldevInternal(e){var n,i;let r,o="",l={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{let u=fR(e);return o=B("tunedModels",u._url),l=u._query,delete u._url,delete u._query,r=this.apiClient.request({path:o,queryParams:l,body:JSON.stringify(u),httpMethod:"POST",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(i=e.config)===null||i===void 0?void 0:i.abortSignal}).then(f=>f.json().then(c=>{let d=c;return d.sdkHttpResponse={headers:f.headers},d})),r.then(f=>AR(f))}}},Om=1024*1024*8,Fm=3,Gm=1e3,qm=2,Rt="x-goog-upload-status";async function wR(t,e,n,i){var r;let o=await Bm(t,e,n,i),l=await o?.json();if(((r=o?.headers)===null||r===void 0?void 0:r[Rt])!=="final")throw new Error("Failed to upload file: Upload status is not finalized.");return l.file}async function IR(t,e,n,i){var r;let o=await Bm(t,e,n,i),l=await o?.json();if(((r=o?.headers)===null||r===void 0?void 0:r[Rt])!=="final")throw new Error("Failed to upload file: Upload status is not finalized.");let u=Jl(l),f=new Br;return Object.assign(f,u),f}async function Bm(t,e,n,i){var r,o,l;let u=e,f=i?.baseUrl||((r=n.clientOptions.httpOptions)===null||r===void 0?void 0:r.baseUrl);if(f){let m=new URL(f),_=new URL(e);_.protocol=m.protocol,_.host=m.host,_.port=m.port,u=_.toString()}let c=0,d=0,h=new Jt(new Response),p="upload";for(c=t.size;d<c;){let m=Math.min(Om,c-d),_=t.slice(d,d+m);d+m>=c&&(p+=", finalize");let E=0,T=Gm;for(;E<Fm;){let A=Object.assign(Object.assign({},i?.headers||{}),{"X-Goog-Upload-Command":p,"X-Goog-Upload-Offset":String(d),"Content-Length":String(m)});if(h=await n.request({path:"",body:_,httpMethod:"POST",httpOptions:Object.assign(Object.assign({},i),{apiVersion:"",baseUrl:u,headers:A})}),!((o=h?.headers)===null||o===void 0)&&o[Rt])break;E++,await Vm(T),T=T*qm}if(d+=m,((l=h?.headers)===null||l===void 0?void 0:l[Rt])!=="active")break;if(c<=d)throw new Error("All content has been uploaded, but the upload status is not finalized.")}return h}async function RR(t){return{size:t.size,type:t.type}}function Vm(t){return new Promise(e=>setTimeout(e,t))}var Vl=class{async stat(e){let n={size:0,type:void 0};if(typeof e=="string"){let i=await so.stat(e);return n.size=i.size,n.type=this.inferMimeType(e),n}else return await RR(e)}async upload(e,n,i,r){return typeof e=="string"?await this.uploadFileFromPath(e,n,i,r):wR(e,n,i,r)}async uploadToFileSearchStore(e,n,i,r){return typeof e=="string"?await this.uploadFileToFileSearchStoreFromPath(e,n,i,r):IR(e,n,i,r)}inferMimeType(e){let n=e.slice(e.lastIndexOf(".")+1);return{aac:"audio/aac",abw:"application/x-abiword",arc:"application/x-freearc",avi:"video/x-msvideo",azw:"application/vnd.amazon.ebook",bin:"application/octet-stream",bmp:"image/bmp",bz:"application/x-bzip",bz2:"application/x-bzip2",csh:"application/x-csh",css:"text/css",csv:"text/csv",doc:"application/msword",docx:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",eot:"application/vnd.ms-fontobject",epub:"application/epub+zip",gz:"application/gzip",gif:"image/gif",htm:"text/html",html:"text/html",ico:"image/vnd.microsoft.icon",ics:"text/calendar",jar:"application/java-archive",jpeg:"image/jpeg",jpg:"image/jpeg",js:"text/javascript",json:"application/json",jsonld:"application/ld+json",kml:"application/vnd.google-earth.kml+xml",kmz:"application/vnd.google-earth.kmz+xml",mjs:"text/javascript",mp3:"audio/mpeg",mp4:"video/mp4",mpeg:"video/mpeg",mpkg:"application/vnd.apple.installer+xml",odt:"application/vnd.oasis.opendocument.text",oga:"audio/ogg",ogv:"video/ogg",ogx:"application/ogg",opus:"audio/opus",otf:"font/otf",png:"image/png",pdf:"application/pdf",php:"application/x-httpd-php",ppt:"application/vnd.ms-powerpoint",pptx:"application/vnd.openxmlformats-officedocument.presentationml.presentation",rar:"application/vnd.rar",rtf:"application/rtf",sh:"application/x-sh",svg:"image/svg+xml",swf:"application/x-shockwave-flash",tar:"application/x-tar",tif:"image/tiff",tiff:"image/tiff",ts:"video/mp2t",ttf:"font/ttf",txt:"text/plain",vsd:"application/vnd.visio",wav:"audio/wav",weba:"audio/webm",webm:"video/webm",webp:"image/webp",woff:"font/woff",woff2:"font/woff2",xhtml:"application/xhtml+xml",xls:"application/vnd.ms-excel",xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",xml:"application/xml",xul:"application/vnd.mozilla.xul+xml",zip:"application/zip","3gp":"video/3gpp","3g2":"video/3gpp2","7z":"application/x-7z-compressed"}[n.toLowerCase()]}async uploadFileFromPath(e,n,i,r){var o;let l=await this.uploadFileFromPathInternal(e,n,i,r),u=await l?.json();if(((o=l?.headers)===null||o===void 0?void 0:o[Rt])!=="final")throw new Error("Failed to upload file: Upload status is not finalized.");return u.file}async uploadFileToFileSearchStoreFromPath(e,n,i,r){var o;let l=await this.uploadFileFromPathInternal(e,n,i,r),u=await l?.json();if(((o=l?.headers)===null||o===void 0?void 0:o[Rt])!=="final")throw new Error("Failed to upload file: Upload status is not finalized.");let f=Jl(u),c=new Br;return Object.assign(c,f),c}async uploadFileFromPathInternal(e,n,i,r){var o,l,u;let f=n,c=r?.baseUrl||((o=i.clientOptions.httpOptions)===null||o===void 0?void 0:o.baseUrl);if(c){let T=new URL(c),A=new URL(n);A.protocol=T.protocol,A.host=T.host,A.port=T.port,f=A.toString()}let d=0,h=0,p=new Jt(new Response),m="upload",_,E=zp.basename(e);try{if(_=await so.open(e,"r"),!_)throw new Error("Failed to open file");for(d=(await _.stat()).size;h<d;){let T=Math.min(Om,d-h);h+T>=d&&(m+=", finalize");let A=new Uint8Array(T),{bytesRead:L}=await _.read(A,0,T,h);if(L!==T)throw new Error(`Failed to read ${T} bytes from file at offset ${h}. bytes actually read: ${L}`);let D=new Blob([A]),O=0,U=Gm;for(;O<Fm;){let R=Object.assign(Object.assign({},r?.headers||{}),{"X-Goog-Upload-Command":m,"X-Goog-Upload-Offset":String(h),"Content-Length":String(L),"X-Goog-Upload-File-Name":E});if(p=await i.request({path:"",body:D,httpMethod:"POST",httpOptions:Object.assign(Object.assign({},r),{apiVersion:"",baseUrl:f,headers:R})}),!((l=p?.headers)===null||l===void 0)&&l[Rt])break;O++,await Vm(U),U=U*qm}if(h+=L,((u=p?.headers)===null||u===void 0?void 0:u[Rt])!=="active")break;if(d<=h)throw new Error("All content has been uploaded, but the upload status is not finalized.")}return p}finally{_&&await _.close()}}};var Hl=class extends ml{async registerFiles(e){if(typeof process>"u"||!process.versions||!process.versions.node)throw new Error("registerFiles is only supported in Node.js environments.");let i=await e.auth.getRequestHeaders(),r=e.config||{},o=r.httpOptions||{},l=Object.assign({},o.headers||{});if(i)if(typeof i[Symbol.iterator]=="function")for(let[u,f]of i)l[u]=f;else for(let[u,f]of Object.entries(i))l[u]=f;return this._registerFiles({uris:e.uris,config:Object.assign(Object.assign({},r),{httpOptions:Object.assign(Object.assign({},o),{headers:l})})})}};var PR="gl-node/",Kp=class{get interactions(){var e;if(this._interactions!==void 0)return this._interactions;console.warn("GoogleGenAI.interactions: Interactions usage is experimental and may change in future versions.");let n=this.httpOptions;n?.extraBody&&console.warn("GoogleGenAI.interactions: Client level httpOptions.extraBody is not supported by the interactions client and will be ignored.");let i=new de({baseURL:this.apiClient.getBaseUrl(),apiKey:this.apiKey,apiVersion:this.apiClient.getApiVersion(),clientAdapter:this.apiClient,defaultHeaders:this.apiClient.getDefaultHeaders(),timeout:n?.timeout,maxRetries:(e=n?.retryOptions)===null||e===void 0?void 0:e.attempts});return this._interactions=i.interactions,this._interactions}constructor(e){var n,i,r,o,l,u;if((e.project||e.location)&&e.apiKey)throw new Error("Project/location and API key are mutually exclusive in the client initializer.");this.vertexai=(i=(n=e.vertexai)!==null&&n!==void 0?n:NR("GOOGLE_GENAI_USE_VERTEXAI"))!==null&&i!==void 0?i:!1;let f=kR(),c=$t("GOOGLE_CLOUD_PROJECT"),d=$t("GOOGLE_CLOUD_LOCATION");this.apiKey=(r=e.apiKey)!==null&&r!==void 0?r:f,this.project=(o=e.project)!==null&&o!==void 0?o:c,this.location=(l=e.location)!==null&&l!==void 0?l:d,!this.vertexai&&!this.apiKey&&console.warn("API key should be set when using the Gemini API."),e.vertexai&&(!((u=e.googleAuthOptions)===null||u===void 0)&&u.credentials&&(console.debug("The user provided Google Cloud credentials will take precedence over the API key from the environment variable."),this.apiKey=void 0),(c||d)&&e.apiKey?(console.debug("The user provided Vertex AI API key will take precedence over the project/location from the environment variables."),this.project=void 0,this.location=void 0):(e.project||e.location)&&f?(console.debug("The user provided project/location will take precedence over the API key from the environment variables."),this.apiKey=void 0):(c||d)&&f&&(console.debug("The project/location from the environment variables will take precedence over the API key from the environment variables."),this.apiKey=void 0),!this.location&&!this.apiKey&&(this.location="global"));let h=$S(e.httpOptions,e.vertexai,$t("GOOGLE_VERTEX_BASE_URL"),$t("GOOGLE_GEMINI_BASE_URL"));h&&(e.httpOptions?e.httpOptions.baseUrl=h:e.httpOptions={baseUrl:h}),this.apiVersion=e.apiVersion,this.httpOptions=e.httpOptions;let p=new Ll({apiKey:this.apiKey,googleAuthOptions:e.googleAuthOptions});this.apiClient=new El({auth:p,project:this.project,location:this.location,apiVersion:this.apiVersion,apiKey:this.apiKey,vertexai:this.vertexai,httpOptions:this.httpOptions,userAgentExtra:PR+process.version,uploader:new Vl,downloader:new Ol}),this.models=new Al(this.apiClient),this.live=new Cl(this.apiClient,p,new Fl),this.batches=new fl(this.apiClient),this.chats=new hl(this.models,this.apiClient),this.caches=new dl(this.apiClient),this.files=new Hl(this.apiClient),this.operations=new wl(this.apiClient),this.authTokens=new Il(this.apiClient),this.tunings=new Bl(this.apiClient),this.fileSearchStores=new Pl(this.apiClient)}};function $t(t){var e,n,i;return(i=(n=(e=process==null?void 0:process.env)===null||e===void 0?void 0:e[t])===null||n===void 0?void 0:n.trim())!==null&&i!==void 0?i:void 0}function NR(t){return xR($t(t))}function xR(t){return t===void 0?!1:t.toLowerCase()==="true"}function kR(){let t=$t("GOOGLE_API_KEY"),e=$t("GEMINI_API_KEY");return t&&e&&console.warn("Both GOOGLE_API_KEY and GEMINI_API_KEY are set. Using GOOGLE_API_KEY."),t||e||void 0}export{Wh as ActivityHandling,yh as AdapterSize,Eh as AggregationMetric,$r as ApiError,Qd as ApiSpec,zd as AuthType,fl as Batches,jd as Behavior,dh as BlockedReason,dl as Caches,Or as CancelTuningJobResponse,pl as Chat,hl as Chats,Za as ComputeTokensResponse,yp as ContentReferenceImage,pp as ControlReferenceImage,xh as ControlReferenceType,Ur as CountTokensResponse,rl as CreateFileResponse,Fr as DeleteCachedContentResponse,ol as DeleteFileResponse,Dr as DeleteModelResponse,Ch as DocumentState,eh as DynamicRetrievalConfigMode,Ya as EditImageResponse,Mh as EditMode,xr as EmbedContentResponse,Nr as EmbeddingApiType,Jh as EndSensitivity,Yd as Environment,sp as EvaluateDatasetResponse,Ih as FeatureSelectionPreference,Gh as FileSource,Fh as FileState,ml as Files,lh as FinishReason,th as FunctionCallingConfigMode,ep as FunctionResponse,Qh as FunctionResponseBlob,Zh as FunctionResponseFileData,jh as FunctionResponsePart,Kd as FunctionResponseScheduling,Ht as GenerateContentResponse,ip as GenerateContentResponsePromptFeedback,rp as GenerateContentResponseUsageMetadata,kr as GenerateImagesResponse,br as GenerateVideosOperation,op as GenerateVideosResponse,Kp as GoogleGenAI,sh as HarmBlockMethod,ah as HarmBlockThreshold,oh as HarmCategory,uh as HarmProbability,ch as HarmSeverity,Xd as HttpElementLocation,Jt as HttpResponse,Ph as ImagePromptLanguage,nl as ImportFileOperation,ap as ImportFileResponse,cp as InlinedEmbedContentResponse,lp as InlinedResponse,Wa as JobState,Jd as Language,qr as ListBatchJobsResponse,Gr as ListCachedContentsResponse,ja as ListDocumentsResponse,el as ListFileSearchStoresResponse,il as ListFilesResponse,Mr as ListModelsResponse,Lr as ListTuningJobsResponse,Cl as Live,_p as LiveClientToolResponse,Tn as LiveMusicPlaybackControl,ll as LiveMusicServerMessage,Ep as LiveSendToolResponseParameters,al as LiveServerMessage,hp as MaskReferenceImage,Nh as MaskReferenceMode,Bh as MediaModality,mh as MediaResolution,Pr as Modality,ph as ModelStage,Al as Models,zh as MusicGenerationMode,wl as Operations,Wd as Outcome,yt as PagedItem,_t as Pager,Th as PairwiseChoice,vh as PartMediaResolutionLevel,ih as PersonGeneration,Zd as PhishBlockThreshold,rh as ProminentPeople,dp as RawReferenceImage,Xa as RecontextImageResponse,sl as RegisterFilesResponse,fp as ReplayResponse,Ka as ResourceScope,Rh as SafetyFilterLevel,Yh as Scale,Qa as SegmentImageResponse,Dh as SegmentMode,wh as ServiceTier,vl as Session,up as SingleEmbedContentResponse,$h as StartSensitivity,mp as StyleReferenceImage,gp as SubjectReferenceImage,kh as SubjectReferenceType,nh as ThinkingLevel,Il as Tokens,Xh as ToolResponse,Ah as ToolType,hh as TrafficType,_h as TuningJobState,Oh as TuningMethod,gh as TuningMode,Sh as TuningTask,qh as TurnCompleteReason,Kh as TurnCoverage,It as Type,Br as UploadToFileSearchStoreOperation,Tp as UploadToFileSearchStoreResponse,tl as UploadToFileSearchStoreResumableResponse,za as UpscaleImageResponse,fh as UrlRetrievalStatus,Vh as VadSignalType,Lh as VideoCompressionQuality,bh as VideoGenerationMaskMode,Uh as VideoGenerationReferenceType,Hh as VoiceActivityType,SN as createFunctionResponsePartFromBase64,CN as createFunctionResponsePartFromUri,xN as createModelContent,IN as createPartFromBase64,RN as createPartFromCodeExecutionResult,PN as createPartFromExecutableCode,AN as createPartFromFunctionCall,wN as createPartFromFunctionResponse,tp as createPartFromText,vN as createPartFromUri,NN as createUserContent,kN as mcpToTool,TN as setDefaultBaseUrls};
50
+ /*! Bundled license information:
51
+
52
+ safe-buffer/index.js:
53
+ (*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> *)
54
+
55
+ @google/genai/dist/node/index.mjs:
56
+ (**
57
+ * @license
58
+ * Copyright 2025 Google LLC
59
+ * SPDX-License-Identifier: Apache-2.0
60
+ *)
61
+
62
+ @google/genai/dist/node/index.mjs:
63
+ (**
64
+ * @license
65
+ * Copyright 2025 Google LLC
66
+ * SPDX-License-Identifier: Apache-2.0
67
+ *)
68
+ */